Module: KRB5::Mixin::Unpacker
- Included in:
- KeytabParser
- Defined in:
- lib/krb5/mixin/unpacker.rb
Instance Method Summary collapse
-
#unpack_bytes(length) ⇒ Array
Unpack raw bytes.
-
#unpack_data ⇒ String
Generic method to unpack Kerberos data.
- #unpack_int16 ⇒ Object
- #unpack_int32 ⇒ Object
- #unpack_int8 ⇒ Object
Instance Method Details
#unpack_bytes(length) ⇒ Array
Unpack raw bytes
25 26 27 28 29 30 |
# File 'lib/krb5/mixin/unpacker.rb', line 25 def unpack_bytes(length) data = bytes[@index, length] @index += length data end |
#unpack_data ⇒ String
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
14 15 16 17 |
# File 'lib/krb5/mixin/unpacker.rb', line 14 def unpack_data length = unpack_int16 data = unpack_bytes(length) end |
#unpack_int16 ⇒ Object
39 40 41 42 43 44 |
# File 'lib/krb5/mixin/unpacker.rb', line 39 def unpack_int16 data = bytes[@index, 2].unpack('s>').first @index += 2 data end |
#unpack_int32 ⇒ Object
46 47 48 49 50 51 |
# File 'lib/krb5/mixin/unpacker.rb', line 46 def unpack_int32 data = bytes[@index, 4].unpack('l>').first @index += 4 data end |
#unpack_int8 ⇒ Object
32 33 34 35 36 37 |
# File 'lib/krb5/mixin/unpacker.rb', line 32 def unpack_int8 data = bytes[@index].unpack('c').first @index += 1 data end |