Sha256: d255a5921506256b53cb0ad81e6dfe4bb09b6fdb7f246c1e2621179d12ec10cb

Contents?: true

Size: 1.82 KB

Versions: 15

Compression:

Stored size: 1.82 KB

Contents

# -*- coding: binary -*-

require 'rex/proto/ipmi/utils'

module Rex
module Proto
module IPMI
  require 'bit-struct'
  require 'rex/proto/ipmi/channel_auth_reply'
  require 'rex/proto/ipmi/open_session_reply'
  require 'rex/proto/ipmi/rakp2'

  #
  # Move these into an IPMI stack or mixin at some point
  #

  #
  # Payload types were identified from xCAT-server source code (IPMI.pm)
  #
  PAYLOAD_IPMI = 0
  PAYLOAD_SOL  = 1
  PAYLOAD_RMCPPLUSOPEN_REQ = 0x10
  PAYLOAD_RMCPPLUSOPEN_REP = 0x11
  PAYLOAD_RAKP1 = 0x12
  PAYLOAD_RAKP2 = 0x13
  PAYLOAD_RAKP3 = 0x14
  PAYLOAD_RAKP4 = 0x15


  #
  # Payload types were copied from xCAT-server source code (IPMI.pm)
  #
  RMCP_ERRORS = {
    1 => "Insufficient resources to create new session (wait for existing sessions to timeout)",
    2 => "Invalid Session ID", #this shouldn't occur...
    3 => "Invalid payload type",#shouldn't occur..
    4 => "Invalid authentication algorithm", #if this happens, we need to enhance our mechanism for detecting supported auth algorithms
    5 => "Invalid integrity algorithm", #same as above
    6 => "No matching authentication payload",
    7 => "No matching integrity payload",
    8 => "Inactive Session ID", #this suggests the session was timed out while trying to negotiate, shouldn't happen
    9 => "Invalid role",
    0xa => "Unauthorised role or privilege level requested",
    0xb => "Insufficient resources to create a session at the requested role",
    0xc => "Invalid username length",
    0xd => "Unauthorized name",
    0xe => "Unauthorized GUID",
    0xf => "Invalid integrity check value",
    0x10 => "Invalid confidentiality algorithm",
    0x11 => "No cipher suite match with proposed security algorithms",
    0x12 => "Illegal or unrecognized parameter", #have never observed this, would most likely mean a bug in xCAT or IPMI device
  }


end
end
end

Version data entries

15 entries across 15 versions & 3 rubygems

Version Path
rex-2.0.13 lib/rex/proto/ipmi.rb
rex-2.0.12 lib/rex/proto/ipmi.rb
rex-2.0.11 lib/rex/proto/ipmi.rb
rex-2.0.10 lib/rex/proto/ipmi.rb
rex-2.0.9 lib/rex/proto/ipmi.rb
rex-2.0.8 lib/rex/proto/ipmi.rb
rex-2.0.7 lib/rex/proto/ipmi.rb
rex-2.0.5 lib/rex/proto/ipmi.rb
rex-2.0.4 lib/rex/proto/ipmi.rb
dstruct-0.0.1 lib/rex/proto/ipmi.rb
rex-2.0.3 lib/rex/proto/ipmi.rb
librex-0.0.999 lib/rex/proto/ipmi.rb
rex-2.0.2 lib/rex/proto/ipmi.rb
librex-0.0.71 lib/rex/proto/ipmi.rb
librex-0.0.70 lib/rex/proto/ipmi.rb