Plasma GitLab Archive
Projects Blog Knowledge

sig
  type oid = int array
  type oid_set = Netgssapi.oid list
  type credential = < otype : [ `Credential ] >
  type context = < otype : [ `Context ]; valid : bool >
  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 =
      Netgssapi.calling_error * Netgssapi.routine_error *
      Netgssapi.suppl_status list
  type minor_status = int32
  type name = < otype : [ `Name ] >
  type address =
      [ `Inet of Unix.inet_addr
      | `Local of string
      | `Nulladdr
      | `Other of int32 * string
      | `Unspecified of string ]
  type channel_bindings = Netgssapi.address * Netgssapi.address * string
  type cred_usage = [ `Accept | `Both | `Initiate ]
  type qop = < otype : [ `QOP ] >
  type message = Xdr_mstring.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 ]
  class type gss_api =
    object
      method accept_sec_context :
        context:Netgssapi.context option ->
        acceptor_cred:Netgssapi.credential ->
        input_token:Netgssapi.token ->
        chan_bindings:Netgssapi.channel_bindings option ->
        out:(src_name:Netgssapi.name ->
             mech_type:Netgssapi.oid ->
             output_context:Netgssapi.context option ->
             output_token:Netgssapi.token ->
             ret_flags:Netgssapi.ret_flag list ->
             time_rec:[ `Indefinite | `This of float ] ->
             delegated_cred:Netgssapi.credential ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method acquire_cred :
        desired_name:Netgssapi.name ->
        time_req:[ `Indefinite | `None | `This of float ] ->
        desired_mechs:Netgssapi.oid_set ->
        cred_usage:Netgssapi.cred_usage ->
        out:(cred:Netgssapi.credential ->
             actual_mechs:Netgssapi.oid_set ->
             time_rec:[ `Indefinite | `This of float ] ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method add_cred :
        input_cred:Netgssapi.credential ->
        desired_name:Netgssapi.name ->
        desired_mech:Netgssapi.oid ->
        cred_usage:Netgssapi.cred_usage ->
        initiator_time_req:[ `Indefinite | `None | `This of float ] ->
        acceptor_time_req:[ `Indefinite | `None | `This of float ] ->
        out:(output_cred:Netgssapi.credential ->
             actual_mechs:Netgssapi.oid_set ->
             initiator_time_rec:[ `Indefinite | `This of float ] ->
             acceptor_time_rec:[ `Indefinite | `This of float ] ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method canonicalize_name :
        input_name:Netgssapi.name ->
        mech_type:Netgssapi.oid ->
        out:(output_name:Netgssapi.name ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method compare_name :
        name1:Netgssapi.name ->
        name2:Netgssapi.name ->
        out:(name_equal:bool ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method context_time :
        context:Netgssapi.context ->
        out:(time_rec:[ `Indefinite | `This of float ] ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method delete_sec_context :
        context:Netgssapi.context ->
        out:(minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method display_minor_status :
        minor_status:Netgssapi.minor_status ->
        mech_type:Netgssapi.oid ->
        out:(status_strings:string list ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method display_name :
        input_name:Netgssapi.name ->
        out:(output_name:string ->
             output_name_type:Netgssapi.oid ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method export_name :
        name:Netgssapi.name ->
        out:(exported_name:string ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method export_sec_context :
        context:Netgssapi.context ->
        out:(interprocess_token:Netgssapi.interprocess_token ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method get_mic :
        context:Netgssapi.context ->
        qop_req:Netgssapi.qop option ->
        message:Netgssapi.message ->
        out:(msg_token:Netgssapi.token ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method import_name :
        input_name:string ->
        input_name_type:Netgssapi.oid ->
        out:(output_name:Netgssapi.name ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method import_sec_context :
        interprocess_token:Netgssapi.interprocess_token ->
        out:(context:Netgssapi.context option ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method indicate_mechs :
        out:(mech_set:Netgssapi.oid_set ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method init_sec_context :
        initiator_cred:Netgssapi.credential ->
        context:Netgssapi.context option ->
        target_name:Netgssapi.name ->
        mech_type:Netgssapi.oid ->
        req_flags:Netgssapi.req_flag list ->
        time_rec:float option ->
        chan_bindings:Netgssapi.channel_bindings option ->
        input_token:Netgssapi.token option ->
        out:(actual_mech_type:Netgssapi.oid ->
             output_context:Netgssapi.context option ->
             output_token:Netgssapi.token ->
             ret_flags:Netgssapi.ret_flag list ->
             time_rec:[ `Indefinite | `This of float ] ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method inquire_context :
        context:Netgssapi.context ->
        out:(src_name:Netgssapi.name ->
             targ_name:Netgssapi.name ->
             lifetime_req:[ `Indefinite | `This of float ] ->
             mech_type:Netgssapi.oid ->
             ctx_flags:Netgssapi.ret_flag list ->
             locally_initiated:bool ->
             is_open:bool ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method inquire_cred :
        cred:Netgssapi.credential ->
        out:(name:Netgssapi.name ->
             lifetime:[ `Indefinite | `This of float ] ->
             cred_usage:Netgssapi.cred_usage ->
             mechanisms:Netgssapi.oid_set ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method inquire_cred_by_mech :
        cred:Netgssapi.credential ->
        mech_type:Netgssapi.oid ->
        out:(name:Netgssapi.name ->
             initiator_lifetime:[ `Indefinite | `This of float ] ->
             acceptor_lifetime:[ `Indefinite | `This of float ] ->
             cred_usage:Netgssapi.cred_usage ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method inquire_mechs_for_name :
        name:Netgssapi.name ->
        out:(mech_types:Netgssapi.oid_set ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method inquire_names_for_mech :
        mechanism:Netgssapi.oid ->
        out:(name_types:Netgssapi.oid_set ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method no_credential : Netgssapi.credential
      method no_name : Netgssapi.name
      method process_context_token :
        context:Netgssapi.context ->
        token:Netgssapi.token ->
        out:(minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method provider : string
      method unwrap :
        context:Netgssapi.context ->
        input_message:Netgssapi.message ->
        output_message_preferred_type:[ `Memory | `String ] ->
        out:(output_message:Netgssapi.message ->
             conf_state:bool ->
             qop_state:Netgssapi.qop ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method verify_mic :
        context:Netgssapi.context ->
        message:Netgssapi.message ->
        token:Netgssapi.token ->
        out:(qop_state:Netgssapi.qop ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method wrap :
        context:Netgssapi.context ->
        conf_req:bool ->
        qop_req:Netgssapi.qop option ->
        input_message:Netgssapi.message ->
        output_message_preferred_type:[ `Memory | `String ] ->
        out:(conf_state:bool ->
             output_message:Netgssapi.message ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
      method wrap_size_limit :
        context:Netgssapi.context ->
        conf_req:bool ->
        qop_req:Netgssapi.qop option ->
        req_output_size:int ->
        out:(max_input_size:int ->
             minor_status:Netgssapi.minor_status ->
             major_status:Netgssapi.major_status -> unit -> 't) ->
        unit -> 't
    end
  val string_of_calling_error : Netgssapi.calling_error -> string
  val string_of_routine_error : Netgssapi.routine_error -> string
  val string_of_suppl_status : Netgssapi.suppl_status -> string
  val string_of_major_status : Netgssapi.major_status -> string
  val nt_hostbased_service : Netgssapi.oid
  val nt_user_name : Netgssapi.oid
  val nt_machine_uid_name : Netgssapi.oid
  val nt_string_uid_name : Netgssapi.oid
  val nt_anonymous : Netgssapi.oid
  val nt_export_name : Netgssapi.oid
  val parse_hostbased_service : string -> string * string
  val oid_to_string : Netgssapi.oid -> string
  val string_to_oid : string -> Netgssapi.oid
  val oid_to_der : Netgssapi.oid -> string
  val der_to_oid : string -> int Pervasives.ref -> Netgssapi.oid
  val wire_encode_token : Netgssapi.oid -> Netgssapi.token -> string
  val wire_decode_token :
    string -> int Pervasives.ref -> Netgssapi.oid * Netgssapi.token
  val encode_exported_name : Netgssapi.oid -> string -> string
  val decode_exported_name :
    string -> int Pervasives.ref -> Netgssapi.oid * string
  val create_mic_token :
    sent_by_acceptor:bool ->
    acceptor_subkey:bool ->
    sequence_number:int64 ->
    get_mic:(Netgssapi.message -> string) ->
    message:Netgssapi.message -> string
  val parse_mic_token_header : string -> bool * bool * int64
  val verify_mic_token :
    get_mic:(Netgssapi.message -> string) ->
    message:Netgssapi.message -> token:string -> bool
  val create_wrap_token_conf :
    sent_by_acceptor:bool ->
    acceptor_subkey:bool ->
    sequence_number:int64 ->
    get_ec:(int -> int) ->
    encrypt_and_sign:(Netgssapi.message -> Netgssapi.message) ->
    message:Netgssapi.message -> Netgssapi.message
  val parse_wrap_token_header :
    Netgssapi.message -> bool * bool * bool * int64
  val unwrap_wrap_token_conf :
    decrypt_and_verify:(Netgssapi.message -> Netgssapi.message) ->
    token:Netgssapi.message -> Netgssapi.message
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml