Class: Cul::Handles::BaseMessage

Inherits:
Object
  • Object
show all
Includes:
Hdl
Defined in:
lib/cul/handles/base_message.rb

Direct Known Subclasses

BaseRequest, BaseResponse

Constant Summary

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 Method Summary collapse

Methods included from Hdl

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

Constructor Details

#initializeBaseMessage

Returns a new instance of BaseMessage.



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/cul/handles/base_message.rb', line 5

def initialize
  @SHA1 = Digest::SHA1.new()
  @MD5 = Digest::MD5.new()
  @digest = [nil,@MD5,@SHA1]
  @majorVersion = 2 # default
  @minorVersion = 1 # default
  @digestAlg = 2 # SHA1 = 2, MD5 = 1
  @digestLength = 20 # SHA1 = 20 octets, MD5 = 16
  @sequenceNumber = [0,0,0,0]

end

Instance Method Details

#authoritativeObject



24
25
26
# File 'lib/cul/handles/base_message.rb', line 24

def authoritative()
  return @opFlag[MSG_FLAG_AUTH_INDEX] & MSG_FLAG_AUTH > 0
end

#authoritative=(val) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/cul/handles/base_message.rb', line 17

def authoritative=(val)
  if(val)
    @opFlag[MSG_FLAG_AUTH_INDEX] |= MSG_FLAG_AUTH
  else
    @opFlag[MSG_FLAG_AUTH_INDEX] &= ~MSG_FLAG_AUTH
  end
end

#cacheCertifyObject



64
65
66
# File 'lib/cul/handles/base_message.rb', line 64

def cacheCertify()
  return @opFlag[MSG_FLAG_CACR_INDEX] & MSG_FLAG_CACR > 0
end

#cacheCertify=(val) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/cul/handles/base_message.rb', line 57

def cacheCertify=(val)
  if(val)
    @opFlag[MSG_FLAG_CACR_INDEX] |= MSG_FLAG_CACR
  else
    @opFlag[MSG_FLAG_CACR_INDEX] &= ~MSG_FLAG_CACR
  end
end

#certifyObject



34
35
36
# File 'lib/cul/handles/base_message.rb', line 34

def certify()
  return @opFlag[MSG_FLAG_CERT_INDEX] & MSG_FLAG_CERT > 0
end

#certify=(val) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/cul/handles/base_message.rb', line 27

def certify=(val)
  if(val)
    @opFlag[MSG_FLAG_CERT_INDEX] |= MSG_FLAG_CERT
  else
  @opFlag[MSG_FLAG_CERT_INDEX] &= ~MSG_FLAG_CERT
  end
end

#continuousObject



74
75
76
# File 'lib/cul/handles/base_message.rb', line 74

def continuous()
  return @opFlag[MSG_FLAG_CONT_INDEX] & MSG_FLAG_CONT > 0
end

#continuous=(val) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/cul/handles/base_message.rb', line 67

def continuous=(val)
  if(val)
    @opFlag[MSG_FLAG_CONT_INDEX] |= MSG_FLAG_CONT
  else
  @opFlag[MSG_FLAG_CONT_INDEX] &= ~MSG_FLAG_CONT
  end
end

#digestAlg=(val) ⇒ Object



107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/cul/handles/base_message.rb', line 107

def digestAlg=(val)
  if(val == 1)
    @digest = @MD5
    @digestLength = 16
  elsif(val == 2)
    @digest = @SHA1
    @digestLength = 20
  else
    @digest = nil      
    @digestLength = 0
  end
end

#encryptObject



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

def encrypt()
  return @opFlag[MSG_FLAG_ENCR_INDEX] & MSG_FLAG_ENCR > 0
end

#encrypt=(val) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/cul/handles/base_message.rb', line 37

def encrypt=(val)
  if(val)
    @opFlag[MSG_FLAG_ENCR_INDEX] |= MSG_FLAG_ENCR
  else
    @opFlag[MSG_FLAG_ENCR_INDEX] &= ~MSG_FLAG_ENCR
  end
end

#keepAliveObject



84
85
86
# File 'lib/cul/handles/base_message.rb', line 84

def keepAlive()
  return @opFlag[MSG_FLAG_KPAL_INDEX] & MSG_FLAG_KPAL > 0
end

#keepAlive=(val) ⇒ Object



77
78
79
80
81
82
83
# File 'lib/cul/handles/base_message.rb', line 77

def keepAlive=(val)
  if(val)
    @opFlag[MSG_FLAG_KPAL_INDEX] |= MSG_FLAG_KPAL
  else
    @opFlag[MSG_FLAG_KPAL_INDEX] &= ~MSG_FLAG_KPAL
  end
end

#publicOnlyObject



94
95
96
# File 'lib/cul/handles/base_message.rb', line 94

def publicOnly()
  return @opFlag[MSG_FLAG_PUBL_INDEX] & MSG_FLAG_PUBL > 0
end

#publicOnly=(val) ⇒ Object



87
88
89
90
91
92
93
# File 'lib/cul/handles/base_message.rb', line 87

def publicOnly=(val)
  if(val)
    @opFlag[MSG_FLAG_PUBL_INDEX] |= MSG_FLAG_PUBL
  else
  @opFlag[MSG_FLAG_PUBL_INDEX] &= ~MSG_FLAG_PUBL
  end
end

#recursiveObject



54
55
56
# File 'lib/cul/handles/base_message.rb', line 54

def recursive()
  return @opFlag[MSG_FLAG_RECU_INDEX] & MSG_FLAG_RECU > 0
end

#recursive=(val) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/cul/handles/base_message.rb', line 47

def recursive=(val)
  if(val)
    @opFlag[MSG_FLAG_RECU_INDEX] |= MSG_FLAG_RECU
  else
    @opFlag[MSG_FLAG_RECU_INDEX] &= ~MSG_FLAG_RECU
  end
end

#returnRequestDigestObject



104
105
106
# File 'lib/cul/handles/base_message.rb', line 104

def returnRequestDigest()
  return @opFlag[MSG_FLAG_RRDG_INDEX] & MSG_FLAG_RRDG > 0
end

#returnRequestDigest=(val) ⇒ Object



97
98
99
100
101
102
103
# File 'lib/cul/handles/base_message.rb', line 97

def returnRequestDigest=(val)
  if(val)
    @opFlag[MSG_FLAG_RRDG_INDEX] |= MSG_FLAG_RRDG
  else
    @opFlag[MSG_FLAG_RRDG_INDEX] &= ~MSG_FLAG_RRDG
  end
end