module Netsys_gssapi:sig..end
typeoid =int array
GSS_C_NO_OID.typeoid_set =oid list
GSS_C_NO_OID_SET.typecredential =< otype : [ `Credential ] >
Invalid_argument.typecontext =< otype : [ `Context ]; valid : bool >
credential.
The method valid is true as long as the context is not
deleted.
typetoken =string
typeinterprocess_token =string
typecalling_error =[ `Bad_structure | `Inaccessible_read | `Inaccessible_write | `None ]
typeroutine_error =[ `Bad_QOP
| `Bad_bindings
| `Bad_mech
| `Bad_mic
| `Bad_name
| `Bad_nametype
| `Bad_status
| `Context_expired
| `Credentials_expired
| `Defective_credential
| `Defective_token
| `Duplicate_element
| `Failure
| `Name_not_mn
| `No_context
| `No_cred
| `None
| `Unauthorized
| `Unavailable ]
typesuppl_status =[ `Continue_needed
| `Duplicate_token
| `Gap_token
| `Old_token
| `Unseq_token ]
typemajor_status =calling_error * routine_error *
suppl_status list
typeminor_status =int32
int32 is signed.typename =< otype : [ `Name ] >
credential.typeaddress =[ `Inet of Unix.inet_addr
| `Local of string
| `Nulladdr
| `Other of int32 * string
| `Unspecified of string ]
typechannel_bindings =address * address * string
(initiator_address, acceptor_address, application_data)typecred_usage =[ `Accept | `Both | `Initiate ]
typeqop =< otype : [ `QOP ] >
typemessage =Netsys_types.mstring list
mstringtyperet_flag =[ `Anon_flag
| `Conf_flag
| `Deleg_flag
| `Integ_flag
| `Mutual_flag
| `Prot_ready_flag
| `Replay_flag
| `Sequence_flag
| `Trans_flag ]
accept_sec_context methodtypereq_flag =[ `Anon_flag
| `Conf_flag
| `Deleg_flag
| `Integ_flag
| `Mutual_flag
| `Replay_flag
| `Sequence_flag ]
init_sec_context method
Errors should be reported using the major_status and minor_status
codes as much as possible.
Invalid_argument may be raised for clear violations of calling
requirements, e.g. when an opaque object is passed to this interface
that was not returned by it before.
m : 't . arg1 -> ... -> argN -> out:( ret1 -> ... -> retM -> 't ) -> 't
where args are input arguments (with the exception of context
which is in/out), and where outputs are passed back by calling the out
functions with the outputs. The return value of out is the return
value of the method call.
For example, if only output_token of the accept_sec_context method
is needed, one could call this method as in
let output_token =
gss_api # accept_sec_context
...
~out:(fun ~src_name ~mech_type ~output_token ~ret_flags
~time_rec ~delegated_cred_handle ~minor_status
~major_status ->
output_token
)
Output values may not be defined when major_status indicates
an error. (But see the RFC for details; especially init_sec_contect
and accept_sec_context may emit tokens even when major_status
indicates an error.)
The names of the parameters are taken from RFC 2744, only
suffixes like _handle have been removed. When the prefixes
input_ and output_ are meaningless, they are also removed.
All prefixes like "GSS" are removed anyway.
class type gss_api =object..end
val string_of_calling_error : calling_error -> string
val string_of_routine_error : routine_error -> string
val string_of_suppl_status : suppl_status -> string
val string_of_major_status : major_status -> stringval nt_hostbased_service : oidval nt_user_name : oidval nt_machine_uid_name : oidval nt_string_uid_name : oidval nt_anonymous : oidval nt_export_name : oidval parse_hostbased_service : string -> string * stringservice,host) for "serviceNetoid:
oid_to_string is now Netoid.to_string_curlystring_to_oid is now Netoid.of_string_curlyNetgssapi_support.Netgssapi_support