class Net::NTLM::Message
@private false
Public Class Methods
decode64(str)
click to toggle source
# File lib/net/ntlm/message.rb, line 65 def decode64(str) parse(Base64.decode64(str)) end
parse(str)
click to toggle source
# File lib/net/ntlm/message.rb, line 49 def parse(str) m = Type0.new m.parse(str) case m.type when 1 t = Type1.new.parse(str) when 2 t = Type2.new.parse(str) when 3 t = Type3.new.parse(str) else raise ArgumentError, "unknown type: #{m.type}" end t end
Public Instance Methods
data_edge()
click to toggle source
# File lib/net/ntlm/message.rb, line 131 def data_edge security_buffers.map{ |n, f| f.active ? f.offset : size}.min end
data_size()
click to toggle source
# File lib/net/ntlm/message.rb, line 110 def data_size security_buffers.inject(0){|sum, a| sum += a[1].data_size} end
decode64(str)
click to toggle source
# File lib/net/ntlm/message.rb, line 104 def decode64(str) parse(Base64.decode64(str)) end
deflag()
click to toggle source
# File lib/net/ntlm/message.rb, line 123 def deflag security_buffers.inject(head_size){|cur, a| a[1].offset = cur cur += a[1].data_size has_flag?(:UNICODE) ? cur + cur % 2 : cur } end
dump_flags()
click to toggle source
# File lib/net/ntlm/message.rb, line 91 def dump_flags FLAG_KEYS.each{ |k| print(k, "=", has_flag?(k), "\n") } end
encode64()
click to toggle source
# File lib/net/ntlm/message.rb, line 100 def encode64 Base64.encode64(serialize).gsub(/\n/, '') end
has_flag?(flag)
click to toggle source
# File lib/net/ntlm/message.rb, line 83 def has_flag?(flag) (self[:flag].value & FLAGS[flag]) == FLAGS[flag] end
parse(str)
click to toggle source
@return [self]
Calls superclass method
Net::NTLM::FieldSet#parse
# File lib/net/ntlm/message.rb, line 71 def parse(str) super while has_disabled_fields? && serialize.size < str.size # enable the next disabled field self.class.names.find { |name| !self[name].active && enable(name) } super end self end
security_buffers()
click to toggle source
# File lib/net/ntlm/message.rb, line 119 def security_buffers @alist.find_all{|n, f| f.instance_of?(SecurityBuffer)} end
serialize()
click to toggle source
Calls superclass method
Net::NTLM::FieldSet#serialize
# File lib/net/ntlm/message.rb, line 95 def serialize deflag super + security_buffers.map{|n, f| f.value + (has_flag?(:UNICODE) ? "\x00".b * (f.value.length % 2) : '')}.join end
set_flag(flag)
click to toggle source
# File lib/net/ntlm/message.rb, line 87 def set_flag(flag) self[:flag].value |= FLAGS[flag] end
size()
click to toggle source
# File lib/net/ntlm/message.rb, line 114 def size head_size + data_size end
Also aliased as: head_size