module KRB5::Mixin::Unpacker
Public Instance Methods
unpack_bytes(length)
click to toggle source
Unpack raw bytes
@param length [Integer] number of bytes to unpack @return [Array] raw bytes
# File lib/krb5/mixin/unpacker.rb, line 25 def unpack_bytes(length) data = bytes[@index, length] @index += length data end
unpack_data()
click to toggle source
Generic method to unpack Kerberos data
data ::=
length (16 bits) value (length bytes)
See: web.mit.edu/kerberos/krb5-1.16/doc/formats/keytab_file_format.html
@return [String]
# File lib/krb5/mixin/unpacker.rb, line 14 def unpack_data length = unpack_int16 data = unpack_bytes(length) end
unpack_int16()
click to toggle source
# File lib/krb5/mixin/unpacker.rb, line 39 def unpack_int16 data = bytes[@index, 2].unpack('s>').first @index += 2 data end
unpack_int32()
click to toggle source
# File lib/krb5/mixin/unpacker.rb, line 46 def unpack_int32 data = bytes[@index, 4].unpack('l>').first @index += 4 data end
unpack_int8()
click to toggle source
# File lib/krb5/mixin/unpacker.rb, line 32 def unpack_int8 data = bytes[@index].unpack('c').first @index += 1 data end