`sig
type result_code =
[ `AdminLimitExceeded
| `AffectsMultipleDSAs
| `AliasDereferencingProblem
| `AliasProblem
| `AttributeOrValueExists
| `AuthMethodNotSupported
| `Busy
| `CompareFalse
| `CompareTrue
| `ConfidentialityRequired
| `ConstraintViolation
| `EntryAlreadyExists
| `InappropriateAuthentication
| `InappropriateMatching
| `InsufficientAccessRights
| `InvalidAttributeSyntax
| `InvalidCredentials
| `InvalidDNSyntax
| `LoopDetect
| `NamingViolation
| `NoSuchAttribute
| `NoSuchObject
| `NotAllowedOnNonLeaf
| `NotAllowedOnRDN
| `ObjectClassModsProhibited
| `ObjectClassViolation
| `OperationsError
| `Other
| `ProtocolError
| `Referral
| `SaslBindInProgress
| `SizeLimitExceeded
| `StrongAuthRequired
| `Success
| `TimeLimitExceeded
| `Unavailable
| `UnavailableCriticalExtension
| `UndefinedAttributeType
| `Unknown_code of int
| `UnwillingToPerform ]
exception Timeout
exception LDAP_error of Netldap.result_code * string
exception Auth_error of string
type tls_mode =
[ `Disabled | `Immediate | `StartTLS | `StartTLS_if_possible ]
class type ldap_server =
object
method ldap_endpoint : Netsockaddr.socksymbol
method ldap_peer_name : string option
method ldap_timeout : float
method ldap_tls_config : (module Netsys_crypto_types.TLS_CONFIG) option
method ldap_tls_mode : Netldap.tls_mode
end
val ldap_server :
?timeout:float ->
?peer_name:string ->
?tls_config:(module Netsys_crypto_types.TLS_CONFIG) ->
?tls_mode:Netldap.tls_mode ->
Netsockaddr.socksymbol -> Netldap.ldap_server
val ldap_server_of_url :
?timeout:float ->
?tls_config:(module Netsys_crypto_types.TLS_CONFIG) ->
?tls_mode:Netldap.tls_mode -> Neturl.url -> Netldap.ldap_server
type bind_creds
val anon_bind_creds : Netldap.bind_creds
val simple_bind_creds : dn:string -> pw:string -> Netldap.bind_creds
val sasl_bind_creds :
dn:string ->
user:string ->
authz:string ->
creds:(string * string * (string * string) list) list ->
params:(string * string * bool) list ->
(module Netsys_sasl_types.SASL_MECHANISM) -> Netldap.bind_creds
type ldap_connection
val connect_e :
?proxy:#Uq_engines.client_endpoint_connector ->
Netldap.ldap_server ->
Unixqueue.event_system -> Netldap.ldap_connection Uq_engines.engine
val connect :
?proxy:#Uq_engines.client_endpoint_connector ->
Netldap.ldap_server -> Netldap.ldap_connection
val close_e : Netldap.ldap_connection -> unit Uq_engines.engine
val close : Netldap.ldap_connection -> unit
val abort : Netldap.ldap_connection -> unit
val conn_bind_e :
Netldap.ldap_connection -> Netldap.bind_creds -> unit Uq_engines.engine
val conn_bind : Netldap.ldap_connection -> Netldap.bind_creds -> unit
val tls_session_props :
Netldap.ldap_connection -> Nettls_support.tls_session_props option
class type ['a] ldap_result =
object
method code : Netldap.result_code
method diag_msg : string
method matched_dn : string
method partial_value : 'a
method referral : string list
method value : 'a
end
exception Notification of string Netldap.ldap_result
type scope = [ `Base | `One | `Sub ]
type deref_aliases =
[ `Always | `Finding_base_obj | `In_searching | `Never ]
type filter =
[ `And of Netldap.filter list
| `Approx_match of string * string
| `Equality_match of string * string
| `Extensible_match of string option * string option * string * bool
| `Greater_or_equal of string * string
| `Less_or_equal of string * string
| `Not of Netldap.filter
| `Or of Netldap.filter list
| `Present of string
| `Substrings of string * string option * string list * string option ]
type search_result =
[ `Entry of string * (string * string list) list
| `Reference of string list ]
val search_e :
Netldap.ldap_connection ->
base:string ->
scope:Netldap.scope ->
deref_aliases:Netldap.deref_aliases ->
size_limit:int ->
time_limit:int ->
types_only:bool ->
filter:Netldap.filter ->
attributes:string list ->
unit -> Netldap.search_result list Netldap.ldap_result Uq_engines.engine
val search :
Netldap.ldap_connection ->
base:string ->
scope:Netldap.scope ->
deref_aliases:Netldap.deref_aliases ->
size_limit:int ->
time_limit:int ->
types_only:bool ->
filter:Netldap.filter ->
attributes:string list ->
unit -> Netldap.search_result list Netldap.ldap_result
val compare_e :
Netldap.ldap_connection ->
dn:string ->
attr:string ->
value:string -> unit -> bool Netldap.ldap_result Uq_engines.engine
val compare :
Netldap.ldap_connection ->
dn:string ->
attr:string -> value:string -> unit -> bool Netldap.ldap_result
val add_e :
Netldap.ldap_connection ->
dn:string ->
attributes:(string * string list) list ->
unit -> unit Netldap.ldap_result Uq_engines.engine
val add :
Netldap.ldap_connection ->
dn:string ->
attributes:(string * string list) list ->
unit -> unit Netldap.ldap_result
val delete_e :
Netldap.ldap_connection ->
dn:string -> unit -> unit Netldap.ldap_result Uq_engines.engine
val delete :
Netldap.ldap_connection -> dn:string -> unit -> unit Netldap.ldap_result
type operation = [ `Add | `Delete | `Replace ]
val modify_e :
Netldap.ldap_connection ->
dn:string ->
changes:(Netldap.operation * (string * string list)) list ->
unit -> unit Netldap.ldap_result Uq_engines.engine
val modify :
Netldap.ldap_connection ->
dn:string ->
changes:(Netldap.operation * (string * string list)) list ->
unit -> unit Netldap.ldap_result
val modify_dn_e :
Netldap.ldap_connection ->
dn:string ->
new_rdn:string ->
delete_old_rdn:bool ->
new_superior:string option ->
unit -> unit Netldap.ldap_result Uq_engines.engine
val modify_dn :
Netldap.ldap_connection ->
dn:string ->
new_rdn:string ->
delete_old_rdn:bool ->
new_superior:string option -> unit -> unit Netldap.ldap_result
val modify_password_e :
Netldap.ldap_connection ->
uid:string option ->
old_pw:string option ->
new_pw:string option ->
unit -> string option Netldap.ldap_result Uq_engines.engine
val modify_password :
Netldap.ldap_connection ->
uid:string option ->
old_pw:string option ->
new_pw:string option -> unit -> string option Netldap.ldap_result
val test_bind_e :
?proxy:#Uq_engines.client_endpoint_connector ->
Netldap.ldap_server ->
Netldap.bind_creds -> Unixqueue.event_system -> bool Uq_engines.engine
val test_bind :
?proxy:#Uq_engines.client_endpoint_connector ->
Netldap.ldap_server -> Netldap.bind_creds -> bool
val retr_password_e :
dn:string ->
Netldap.ldap_server ->
Netldap.bind_creds ->
Unixqueue.event_system ->
(string * string * (string * string) list) list Uq_engines.engine
val retr_password :
dn:string ->
Netldap.ldap_server ->
Netldap.bind_creds -> (string * string * (string * string) list) list
module Debug : sig val enable : bool Stdlib.ref end
end`