module GSSAPI::LibGSSAPI
Constants
- GSSAPI_LIB_TYPE
- GSS_C_ACCEPT
- GSS_C_ANON_FLAG
- GSS_C_BOTH
Credential usage options
- GSS_C_CALLING_ERRORS
- GSS_C_CALLING_ERROR_OFFSET
Message Offsets
- GSS_C_CONF_FLAG
- GSS_C_DELEG_FLAG
Flag bits for context-level services.
- GSS_C_DELEG_POLICY_FLAG
- GSS_C_EMPTY_BUFFER
- GSS_C_GSS_CODE
- GSS_C_INDEFINITE
Misc Constants
- GSS_C_INITIATE
- GSS_C_INTEG_FLAG
- GSS_C_MECH_CODE
- GSS_C_MUTUAL_FLAG
- GSS_C_NO_BUFFER
- GSS_C_NO_CHANNEL_BINDINGS
- GSS_C_NO_CONTEXT
- GSS_C_NO_CREDENTIAL
- GSS_C_NO_NAME
Various Null values. (gssapi.h)
- GSS_C_NO_OID
- GSS_C_NO_OID_SET
- GSS_C_PROT_READY_FLAG
- GSS_C_QOP_DEFAULT
QOP (Quality of Protection)
- GSS_C_REPLAY_FLAG
- GSS_C_ROUTINE_ERRORS
- GSS_C_ROUTINE_ERROR_OFFSET
- GSS_C_SEQUENCE_FLAG
- GSS_C_SUPPLEMENTARY_CODES
- GSS_C_SUPPLEMENTARY_OFFSET
- GSS_C_TRANS_FLAG
- GSS_IOV_BUFFER_FLAG_ALLOCATE
- GSS_IOV_BUFFER_FLAG_ALLOCATED
- GSS_IOV_BUFFER_FLAG_MASK
Flags
- GSS_IOV_BUFFER_TYPE_DATA
- GSS_IOV_BUFFER_TYPE_EMPTY
IOV Buffer Types (gssapi_ext.h)
- GSS_IOV_BUFFER_TYPE_HEADER
- GSS_IOV_BUFFER_TYPE_MECH_PARAMS
- GSS_IOV_BUFFER_TYPE_PADDING
- GSS_IOV_BUFFER_TYPE_SIGN_ONLY
- GSS_IOV_BUFFER_TYPE_STREAM
- GSS_IOV_BUFFER_TYPE_TRAILER
- GSS_S_COMPLETE
GSSAPI Status & Error Codes
Public Class Methods
load_heimdal()
click to toggle source
# File lib/gssapi/lib_gssapi_loader.rb, line 44 def self.load_heimdal host_os = RbConfig::CONFIG['host_os'] case host_os when /linux/ gssapi_lib = 'libgssapi.so.3' when /darwin/ # use Heimdal Kerberos since Mac MIT Kerberos is OLD. Do a "require 'gssapi/heimdal'" first gssapi_lib = '/usr/heimdal/lib/libgssapi.dylib' else raise LoadError, "This host OS (#{host_os}) is not supported by ruby gssapi and the Heimdal libraries." end ffi_lib gssapi_lib, FFI::Library::LIBC # ------------------ Heimdal Specifics ------------------ attach_variable :__gss_c_nt_hostbased_service_oid_desc, GssOID attach_variable :__gss_c_nt_export_name_oid_desc, GssOID LibGSSAPI.const_set("GSS_C_NT_HOSTBASED_SERVICE", FFI::Pointer.new(__gss_c_nt_hostbased_service_oid_desc.to_ptr)) LibGSSAPI.const_set("GSS_C_NT_EXPORT_NAME", FFI::Pointer.new(__gss_c_nt_export_name_oid_desc.to_ptr)) end
load_mit()
click to toggle source
# File lib/gssapi/lib_gssapi_loader.rb, line 19 def self.load_mit host_os = RbConfig::CONFIG['host_os'] case host_os when /linux/ gssapi_lib = 'libgssapi_krb5.so.2' ffi_lib gssapi_lib, FFI::Library::LIBC when /darwin/ gssapi_lib = '/usr/lib/libgssapi_krb5.dylib' ffi_lib gssapi_lib, FFI::Library::LIBC when /mswin|mingw32|windows/ # Pull the gssapi32 path from the environment if it exist, otherwise use the default in Program Files gssapi32_path = ENV['gssapi32'] ? ENV['gssapi32'] : 'C:\Program Files (x86)\MIT\Kerberos\bin\gssapi32.dll' ffi_lib gssapi32_path, FFI::Library::LIBC # Required the MIT Kerberos libraries to be installed ffi_convention :stdcall else raise LoadError, "This host OS (#{host_os}) is not supported by ruby gssapi and the MIT libraries." end # -------------------- MIT Specifics -------------------- attach_variable :__GSS_C_NT_HOSTBASED_SERVICE, :GSS_C_NT_HOSTBASED_SERVICE, :pointer # type gss_OID attach_variable :__GSS_C_NT_EXPORT_NAME, :GSS_C_NT_EXPORT_NAME, :pointer # type gss_OID LibGSSAPI.const_set("GSS_C_NT_HOSTBASED_SERVICE", __GSS_C_NT_HOSTBASED_SERVICE) LibGSSAPI.const_set("GSS_C_NT_EXPORT_NAME", __GSS_C_NT_EXPORT_NAME) end