`sig
type sasl_mechanism = (module Netsys_sasl_types.SASL_MECHANISM)
type credentials = (string * string * (string * string) list) list
module Info :
sig
val mechanism_name : Netsys_sasl.sasl_mechanism -> string
val client_first :
Netsys_sasl.sasl_mechanism -> [ `No | `Optional | `Required ]
val server_sends_final_data : Netsys_sasl.sasl_mechanism -> bool
val supports_authz : Netsys_sasl.sasl_mechanism -> bool
end
module Client :
sig
type session
val create_session :
mech:Netsys_sasl.sasl_mechanism ->
user:string ->
authz:string ->
creds:Netsys_sasl.credentials ->
params:(string * string * bool) list ->
unit -> Netsys_sasl.Client.session
val state :
Netsys_sasl.Client.session -> Netsys_sasl_types.client_state
val configure_channel_binding :
Netsys_sasl.Client.session -> Netsys_sasl_types.cb -> unit
val restart : Netsys_sasl.Client.session -> unit
val process_challenge : Netsys_sasl.Client.session -> string -> unit
val emit_response : Netsys_sasl.Client.session -> string
val channel_binding :
Netsys_sasl.Client.session -> Netsys_sasl_types.cb
val user_name : Netsys_sasl.Client.session -> string
val authz_name : Netsys_sasl.Client.session -> string
val stash_session : Netsys_sasl.Client.session -> string
val resume_session :
Netsys_sasl.sasl_mechanism -> string -> Netsys_sasl.Client.session
val session_id : Netsys_sasl.Client.session -> string option
val prop : Netsys_sasl.Client.session -> string -> string
val gssapi_props :
Netsys_sasl.Client.session -> Netsys_gssapi.client_props
end
module Server :
sig
type session
type 'credentials init_credentials =
(string * string * (string * string) list) list -> 'credentials
type lookup = {
lookup :
'c.
Netsys_sasl.sasl_mechanism ->
'c Netsys_sasl.Server.init_credentials ->
string -> string -> 'c option;
}
val create_session :
mech:Netsys_sasl.sasl_mechanism ->
lookup:Netsys_sasl.Server.lookup ->
params:(string * string * bool) list ->
unit -> Netsys_sasl.Server.session
val process_response : Netsys_sasl.Server.session -> string -> unit
val process_response_restart :
Netsys_sasl.Server.session -> string -> bool -> bool
val emit_challenge : Netsys_sasl.Server.session -> string
val stash_session : Netsys_sasl.Server.session -> string
val resume_session :
mech:Netsys_sasl.sasl_mechanism ->
lookup:Netsys_sasl.Server.lookup ->
string -> Netsys_sasl.Server.session
val session_id : Netsys_sasl.Server.session -> string option
val prop : Netsys_sasl.Server.session -> string -> string
val gssapi_props :
Netsys_sasl.Server.session -> Netsys_gssapi.server_props
val user_name : Netsys_sasl.Server.session -> string
val authz_name : Netsys_sasl.Server.session -> string
val channel_binding :
Netsys_sasl.Server.session -> Netsys_sasl_types.cb
end
end`