class KerberosAuthenticator::Krb5::Data
Generic Kerberos library data structure. @see web.mit.edu/kerberos/krb5-1.14/doc/appdev/refs/types/krb5_data.html krb5_data
Public Class Methods
new(pointer = nil)
click to toggle source
Allocates and zeroes a new krb5_data struct or cast some existing memory to one. @param pointer [Pointer] a pointer to existing memory to cast to a krb5_data struct @see github.com/ffi/ffi/wiki/Structs Structs
Calls superclass method
# File lib/kerberos_authenticator/krb5/data.rb, line 13 def initialize(pointer = nil) unless pointer pointer = FFI::MemoryPointer.new :char, self.class.size # HACK: AutoPointer won't accept a MemoryPointer, only a Pointer pointer.autorelease = false pointer = FFI::Pointer.new(pointer) end super(pointer) end
release(pointer)
click to toggle source
Frees the contents of a Data
struct @api private @see web.mit.edu/kerberos/krb5-1.14/doc/appdev/refs/api/krb5_free_data_contents.html krb5_free_data_contents
# File lib/kerberos_authenticator/krb5/data.rb, line 35 def self.release(pointer) Krb5.free_data_contents(Context.context.ptr, pointer) end
Public Instance Methods
read_string()
click to toggle source
Reads the data into a string. @return [String]
# File lib/kerberos_authenticator/krb5/data.rb, line 27 def read_string return '' if self[:length].zero? self[:data_ptr].read_bytes(self[:length]) end