sig
type oid = int array
type oid_set = Netsys_gssapi.oid list
type token = string
type interprocess_token = string
type calling_error =
[ `Bad_structure | `Inaccessible_read | `Inaccessible_write | `None ]
type routine_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 ]
type suppl_status =
[ `Continue_needed
| `Duplicate_token
| `Gap_token
| `Old_token
| `Unseq_token ]
type major_status =
Netsys_gssapi.calling_error * Netsys_gssapi.routine_error *
Netsys_gssapi.suppl_status list
type minor_status = int32
type address =
[ `Inet of Unix.inet_addr
| `Local of string
| `Nulladdr
| `Other of int32 * string
| `Unspecified of string ]
type channel_bindings =
Netsys_gssapi.address * Netsys_gssapi.address * string
type cred_usage = [ `Accept | `Both | `Initiate ]
type qop = int32
type message = Netsys_types.mstring list
type ret_flag =
[ `Anon_flag
| `Conf_flag
| `Deleg_flag
| `Integ_flag
| `Mutual_flag
| `Prot_ready_flag
| `Replay_flag
| `Sequence_flag
| `Trans_flag ]
type req_flag =
[ `Anon_flag
| `Conf_flag
| `Deleg_flag
| `Integ_flag
| `Mutual_flag
| `Replay_flag
| `Sequence_flag ]
type time = [ `Indefinite | `This of float ]
class type ['credential, 'name, 'context] poly_gss_api =
object
method accept_sec_context :
context:'context option ->
acceptor_cred:'credential ->
input_token:Netsys_gssapi.token ->
chan_bindings:Netsys_gssapi.channel_bindings option ->
out:(src_name:'name ->
mech_type:Netsys_gssapi.oid ->
output_context:'context option ->
output_token:Netsys_gssapi.token ->
ret_flags:Netsys_gssapi.ret_flag list ->
time_rec:Netsys_gssapi.time ->
delegated_cred:'credential ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method acquire_cred :
desired_name:'name ->
time_req:Netsys_gssapi.time ->
desired_mechs:Netsys_gssapi.oid_set ->
cred_usage:Netsys_gssapi.cred_usage ->
out:(cred:'credential ->
actual_mechs:Netsys_gssapi.oid_set ->
time_rec:Netsys_gssapi.time ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method add_cred :
input_cred:'credential ->
desired_name:'name ->
desired_mech:Netsys_gssapi.oid ->
cred_usage:Netsys_gssapi.cred_usage ->
initiator_time_req:Netsys_gssapi.time ->
acceptor_time_req:Netsys_gssapi.time ->
out:(output_cred:'credential ->
actual_mechs:Netsys_gssapi.oid_set ->
initiator_time_rec:Netsys_gssapi.time ->
acceptor_time_rec:Netsys_gssapi.time ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method canonicalize_name :
input_name:'name ->
mech_type:Netsys_gssapi.oid ->
out:(output_name:'name ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method compare_name :
name1:'name ->
name2:'name ->
out:(name_equal:bool ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method context_time :
context:'context ->
out:(time_rec:Netsys_gssapi.time ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method delete_sec_context :
context:'context ->
out:(minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method display_minor_status :
status_value:Netsys_gssapi.minor_status ->
mech_type:Netsys_gssapi.oid ->
out:(status_strings:string list ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method display_name :
input_name:'name ->
out:(output_name:string ->
output_name_type:Netsys_gssapi.oid ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method duplicate_name :
name:'name ->
out:(dest_name:'name ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method export_name :
name:'name ->
out:(exported_name:string ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method export_sec_context :
context:'context ->
out:(interprocess_token:Netsys_gssapi.interprocess_token ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method get_mic :
context:'context ->
qop_req:Netsys_gssapi.qop ->
message:Netsys_gssapi.message ->
out:(msg_token:Netsys_gssapi.token ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method import_name :
input_name:string ->
input_name_type:Netsys_gssapi.oid ->
out:(output_name:'name ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method import_sec_context :
interprocess_token:Netsys_gssapi.interprocess_token ->
out:(context:'context option ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method indicate_mechs :
out:(mech_set:Netsys_gssapi.oid_set ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method init_sec_context :
initiator_cred:'credential ->
context:'context option ->
target_name:'name ->
mech_type:Netsys_gssapi.oid ->
req_flags:Netsys_gssapi.req_flag list ->
time_req:float option ->
chan_bindings:Netsys_gssapi.channel_bindings option ->
input_token:Netsys_gssapi.token option ->
out:(actual_mech_type:Netsys_gssapi.oid ->
output_context:'context option ->
output_token:Netsys_gssapi.token ->
ret_flags:Netsys_gssapi.ret_flag list ->
time_rec:Netsys_gssapi.time ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method inquire_context :
context:'context ->
out:(src_name:'name ->
targ_name:'name ->
lifetime_req:Netsys_gssapi.time ->
mech_type:Netsys_gssapi.oid ->
ctx_flags:Netsys_gssapi.ret_flag list ->
locally_initiated:bool ->
is_open:bool ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method inquire_cred :
cred:'credential ->
out:(name:'name ->
lifetime:Netsys_gssapi.time ->
cred_usage:Netsys_gssapi.cred_usage ->
mechanisms:Netsys_gssapi.oid_set ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method inquire_cred_by_mech :
cred:'credential ->
mech_type:Netsys_gssapi.oid ->
out:(name:'name ->
initiator_lifetime:Netsys_gssapi.time ->
acceptor_lifetime:Netsys_gssapi.time ->
cred_usage:Netsys_gssapi.cred_usage ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method inquire_mechs_for_name :
name:'name ->
out:(mech_types:Netsys_gssapi.oid_set ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method inquire_names_for_mech :
mechanism:Netsys_gssapi.oid ->
out:(name_types:Netsys_gssapi.oid_set ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method is_no_credential : 'credential -> bool
method is_no_name : 'name -> bool
method no_credential : 'credential
method no_name : 'name
method process_context_token :
context:'context ->
token:Netsys_gssapi.token ->
out:(minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method provider : string
method unwrap :
context:'context ->
input_message:Netsys_gssapi.message ->
output_message_preferred_type:[ `Bytes | `Memory ] ->
out:(output_message:Netsys_gssapi.message ->
conf_state:bool ->
qop_state:Netsys_gssapi.qop ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method verify_mic :
context:'context ->
message:Netsys_gssapi.message ->
token:Netsys_gssapi.token ->
out:(qop_state:Netsys_gssapi.qop ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method wrap :
context:'context ->
conf_req:bool ->
qop_req:Netsys_gssapi.qop ->
input_message:Netsys_gssapi.message ->
output_message_preferred_type:[ `Bytes | `Memory ] ->
out:(conf_state:bool ->
output_message:Netsys_gssapi.message ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
method wrap_size_limit :
context:'context ->
conf_req:bool ->
qop_req:Netsys_gssapi.qop ->
req_output_size:int ->
out:(max_input_size:int ->
minor_status:Netsys_gssapi.minor_status ->
major_status:Netsys_gssapi.major_status -> unit -> 't) ->
unit -> 't
end
module type GSSAPI =
sig
type credential
type context
type name
exception Credential of Netsys_gssapi.GSSAPI.credential
exception Context of Netsys_gssapi.GSSAPI.context
exception Name of Netsys_gssapi.GSSAPI.name
class type gss_api =
[Netsys_gssapi.GSSAPI.credential, Netsys_gssapi.GSSAPI.name,
Netsys_gssapi.GSSAPI.context]
poly_gss_api
val interface : Netsys_gssapi.GSSAPI.gss_api
end
val string_of_calling_error : Netsys_gssapi.calling_error -> string
val string_of_routine_error : Netsys_gssapi.routine_error -> string
val string_of_suppl_status : Netsys_gssapi.suppl_status -> string
val string_of_major_status : Netsys_gssapi.major_status -> string
val string_of_flag : Netsys_gssapi.ret_flag -> string
val nt_hostbased_service : Netsys_gssapi.oid
val nt_hostbased_service_alt : Netsys_gssapi.oid
val nt_user_name : Netsys_gssapi.oid
val nt_machine_uid_name : Netsys_gssapi.oid
val nt_string_uid_name : Netsys_gssapi.oid
val nt_anonymous : Netsys_gssapi.oid
val nt_export_name : Netsys_gssapi.oid
val nt_krb5_principal_name : Netsys_gssapi.oid
val parse_hostbased_service : string -> string * string
type support_level = [ `If_possible | `None | `Required ]
class type client_config =
object
method flags :
(Netsys_gssapi.req_flag * Netsys_gssapi.support_level) list
method initiator_cred : exn option
method initiator_name : (string * Netsys_gssapi.oid) option
method integrity : Netsys_gssapi.support_level
method mech_type : Netsys_gssapi.oid
method privacy : Netsys_gssapi.support_level
method target_name : (string * Netsys_gssapi.oid) option
end
val create_client_config :
?mech_type:Netsys_gssapi.oid ->
?initiator_name:string * Netsys_gssapi.oid ->
?initiator_cred:exn ->
?target_name:string * Netsys_gssapi.oid ->
?privacy:Netsys_gssapi.support_level ->
?integrity:Netsys_gssapi.support_level ->
?flags:(Netsys_gssapi.req_flag * Netsys_gssapi.support_level) list ->
unit -> Netsys_gssapi.client_config
class type client_props =
object
method flags : Netsys_gssapi.ret_flag list
method mech_type : Netsys_gssapi.oid
method time : Netsys_gssapi.time
end
val marshal_client_props : Netsys_gssapi.client_props -> string
val unmarshal_client_props : string -> Netsys_gssapi.client_props
class type server_config =
object
method acceptor_name : (string * Netsys_gssapi.oid) option
method flags :
(Netsys_gssapi.req_flag * Netsys_gssapi.support_level) list
method integrity : Netsys_gssapi.support_level
method mech_types : Netsys_gssapi.oid list
method privacy : Netsys_gssapi.support_level
end
val create_server_config :
?mech_types:Netsys_gssapi.oid list ->
?acceptor_name:string * Netsys_gssapi.oid ->
?privacy:Netsys_gssapi.support_level ->
?integrity:Netsys_gssapi.support_level ->
?flags:(Netsys_gssapi.req_flag * Netsys_gssapi.support_level) list ->
unit -> Netsys_gssapi.server_config
class type server_props =
object
method deleg_credential : (exn * Netsys_gssapi.time) option
method flags : Netsys_gssapi.ret_flag list
method initiator_name : string * Netsys_gssapi.oid
method initiator_name_exported : string
method mech_type : Netsys_gssapi.oid
method time : Netsys_gssapi.time
end
val marshal_server_props : Netsys_gssapi.server_props -> string
val unmarshal_server_props : string -> Netsys_gssapi.server_props
end