Class: Cul::Handles::SessionSetupRequest

Inherits:
BaseRequest show all
Includes:
Hdl
Defined in:
lib/cul/handles/session_request.rb

Constant Summary collapse

KEYMAX =
(2**513)-1

Constants included from Hdl

Hdl::ENV_FLAG_COMPRESSED, Hdl::ENV_FLAG_ENCRYPTED, Hdl::ENV_FLAG_TRUNCATED, Hdl::INDEX_ADMIN_HANDLE, Hdl::INDEX_AUTH, Hdl::INDEX_MAINTAINER_HANDLE, Hdl::MSG_FLAG_AUTH, Hdl::MSG_FLAG_AUTH_INDEX, Hdl::MSG_FLAG_CACR, Hdl::MSG_FLAG_CACR_INDEX, Hdl::MSG_FLAG_CERT, Hdl::MSG_FLAG_CERT_INDEX, Hdl::MSG_FLAG_CONT, Hdl::MSG_FLAG_CONT_INDEX, Hdl::MSG_FLAG_ENCR, Hdl::MSG_FLAG_ENCR_INDEX, Hdl::MSG_FLAG_KPAL, Hdl::MSG_FLAG_KPAL_INDEX, Hdl::MSG_FLAG_PUBL, Hdl::MSG_FLAG_PUBL_INDEX, Hdl::MSG_FLAG_RECU, Hdl::MSG_FLAG_RECU_INDEX, Hdl::MSG_FLAG_RRDG, Hdl::MSG_FLAG_RRDG_INDEX, Hdl::OC_ADD_VALUE, Hdl::OC_CHALLENGE_RESPONSE, Hdl::OC_CREATE_HANDLE, Hdl::OC_DELETE_HANDLE, Hdl::OC_GET_SITEINFO, Hdl::OC_LIST_HANDLE, Hdl::OC_LIST_NA, Hdl::OC_MODIFY_VALUE, Hdl::OC_REMOVE_VALUE, Hdl::OC_RESERVED, Hdl::OC_RESOLUTION, Hdl::OC_SESSION_EXCHANGEKEY, Hdl::OC_SESSION_SETUP, Hdl::OC_SESSION_TERMINATE, Hdl::OC_VERIFY_RESPONSE, Hdl::PERM_ADD_ADMIN, Hdl::PERM_ADD_HANDLE, Hdl::PERM_ADD_NA, Hdl::PERM_ADD_VALUE, Hdl::PERM_ALL, Hdl::PERM_DELETE_HANDLE, Hdl::PERM_DELETE_NA, Hdl::PERM_LIST_HDLS, Hdl::PERM_MODIFY_ADMIN, Hdl::PERM_MODIFY_VALUE, Hdl::PERM_READ_VALUE, Hdl::PERM_REMOVE_ADMIN, Hdl::PERM_REMOVE_VALUE, Hdl::RC_ACCESS_DENIED, Hdl::RC_AUTHEN_FAILED, Hdl::RC_AUTHEN_NEEDED, Hdl::RC_AUTHEN_TIMEOUT, Hdl::RC_ERROR, Hdl::RC_EXPIRED_SITE_INFO, Hdl::RC_FORWARDED, Hdl::RC_HANDLE_ALREADY_EXIST, Hdl::RC_HANDLE_NOT_FOUND, Hdl::RC_INVALID_CREDENTIAL, Hdl::RC_INVALID_HANDLE, Hdl::RC_NA_DELEGATE, Hdl::RC_NOT_AUTHORIZED, Hdl::RC_NO_SESSION_KEY, Hdl::RC_OPERATION_DENIED, Hdl::RC_PROTOCOL_ERROR, Hdl::RC_QUEUED, Hdl::RC_RECUR_LIMIT_EXCEEDED, Hdl::RC_RESERVED, Hdl::RC_SERVER_BUSY, Hdl::RC_SERVER_NOT_RESP, Hdl::RC_SERVICE_REFERRAL, Hdl::RC_SESSION_FAILED, Hdl::RC_SESSION_KEY_INVALID, Hdl::RC_SESSION_NO_SUPPORT, Hdl::RC_SESSION_TIMEOUT, Hdl::RC_SUCCESS, Hdl::RC_TRYING, Hdl::RC_UNABLE_TO_AUTHEN, Hdl::RC_VALUE_ALREADY_EXIST, Hdl::RC_VALUE_INVALID, Hdl::RC_VALUE_NOT_FOUND

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Hdl

#asBytes, #calculateValueLen, #convert16t8, #decodeAdminData, #encodeAdminData, #fromBytes, #readByteArray, #readIntArray, #readProtocolString, #toProtocolString

Methods inherited from BaseRequest

#body, #bodyLength, #credential, #digest, #encodeBody, #encodeCredential, #envelope, #expirationTime, #expirationTime=, #header, #messageFlag, #messageFlag=, #messageLength, #opCode, #opCode=, #opFlag, #opFlag=, #packet, #recursionCount, #recursionCount=, #requestId, #requestId=, #responseCode, #responseCode=, #sequenceNumber, #sequenceNumber=, #sessionId, #sessionId=, #siteInfoSerial, #siteInfoSerial=, #valid?

Methods inherited from BaseMessage

#authoritative, #authoritative=, #cacheCertify, #cacheCertify=, #certify, #certify=, #continuous, #continuous=, #digestAlg=, #encrypt, #encrypt=, #keepAlive, #keepAlive=, #publicOnly, #publicOnly=, #recursive, #recursive=, #returnRequestDigest, #returnRequestDigest=

Constructor Details

#initialize(authHandle, authIndex) ⇒ SessionSetupRequest

Returns a new instance of SessionSetupRequest.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cul/handles/session_request.rb', line 7

def initialize(authHandle, authIndex)
  super()
  @opCode = asBytes(OC_SESSION_SETUP)
  @sessionId = [0,0,0,0]
  @requestId = [0,0,0,0]
  @siteInfoSerial = [0,0,0,0]
  self.responseCode = 0
  self.authoritative=true
  self.returnRequestDigest=true
  self.encrypt=false
  self.publicOnly=false
  self.certify=true
  self.cacheCertify=true
  self.recursive=true
  self.continuous=false
  self.keepAlive=false
  self.expirationTime=0
  @dh = DH.new(53,5,KEYMAX)
  while(not @dh.valid?)
    @dh.generate
  end
  self.body= getAttributes(authHandle, authIndex)
end

Instance Attribute Details

#dhObject (readonly)

Returns the value of attribute dh.



5
6
7
# File 'lib/cul/handles/session_request.rb', line 5

def dh
  @dh
end

Instance Method Details

#credentialDigestAlgObject



65
66
67
# File 'lib/cul/handles/session_request.rb', line 65

def credentialDigestAlg()
  return []
end

#credentialOptionsObject



56
57
58
# File 'lib/cul/handles/session_request.rb', line 56

def credentialOptions()
  return []
end

#credentialReservedObject



53
54
55
# File 'lib/cul/handles/session_request.rb', line 53

def credentialReserved()
  return []
end

#credentialSignerObject



59
60
61
# File 'lib/cul/handles/session_request.rb', line 59

def credentialSigner()
  return []
end

#credentialTypeObject



62
63
64
# File 'lib/cul/handles/session_request.rb', line 62

def credentialType()
  return []
end

#credentialVersionObject



50
51
52
# File 'lib/cul/handles/session_request.rb', line 50

def credentialVersion()
  return []
end

#getAttributes(authHandle, authIndex) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/cul/handles/session_request.rb', line 30

def getAttributes(authHandle, authIndex)
  # identity att
  identity = toProtocolString("HS_SESSION_IDENTITIY")
  identity.concat(toProtocolString(authHandle))
  identity.concat(asBytes(authIndex))
  # key exchange att
  exchange = toProtocolString("HS_SESSION_KEY_EXCHANGE")
  exchange.concat(toProtocolString("DIFFIE_HELLMAN"))
  exchange.concat(@dh.encodeKeyParms)
  # timeout att
  timeout = toProtocolString("HS_SESSION_TIMEOUT")
  timeout.concat([0,0,0,120])
  [0,0,0,2].concat(identity).concat(timeout)
end

#indexListObject



44
45
46
# File 'lib/cul/handles/session_request.rb', line 44

def indexList
  [0,0,0,0] 
end

#typeListObject



47
48
49
# File 'lib/cul/handles/session_request.rb', line 47

def typeList
  [0,0,0,0]
end