`sig
type op = string * string list
type op_lst = Ldap_ooclient.op list
type referral_policy = [ `FOLLOW | `RETURN ]
type changetype = [ `ADD | `DELETE | `MODDN | `MODIFY | `MODRDN ]
class type ldapentry_t =
object
method add : Ldap_ooclient.op_lst -> unit
method attributes : string list
method changes : (Ldap_types.modify_optype * string * string list) list
method changetype : Ldap_ooclient.changetype
method delete : Ldap_ooclient.op_lst -> unit
method diff :
Ldap_ooclient.ldapentry_t ->
(Ldap_types.modify_optype * string * string list) list
method dn : string
method exists : string -> bool
method flush_changes : unit
method get_value : string -> string list
method modify :
(Ldap_types.modify_optype * string * string list) list -> unit
method print : unit
method replace : Ldap_ooclient.op_lst -> unit
method set_changetype : Ldap_ooclient.changetype -> unit
method set_dn : string -> unit
end
class ldapentry :
object
method add : Ldap_ooclient.op_lst -> unit
method attributes : string list
method changes : (Ldap_types.modify_optype * string * string list) list
method changetype : Ldap_ooclient.changetype
method delete : Ldap_ooclient.op_lst -> unit
method diff :
Ldap_ooclient.ldapentry_t ->
(Ldap_types.modify_optype * string * string list) list
method dn : string
method exists : string -> bool
method flush_changes : unit
method get_value : string -> string list
method modify :
(Ldap_types.modify_optype * string * string list) list -> unit
method print : unit
method replace : Ldap_ooclient.op_lst -> unit
method set_changetype : Ldap_ooclient.changetype -> unit
method set_dn : string -> unit
end
val format_entry :
< attributes : string list; dn : string;
get_value : string -> string list; .. > ->
unit
val format_entries :
< attributes : string list; dn : string;
get_value : string -> string list; .. >
list -> unit
type changerec =
[ `Addition of Ldap_ooclient.ldapentry
| `Delete of string
| `Modification of
string * (Ldap_types.modify_optype * string * string list) list
| `Modrdn of string * int * string ]
val to_entry :
[< `Entry of Ldap_types.search_result_entry | `Referral of string list ] ->
Ldap_ooclient.ldapentry
val of_entry : Ldap_ooclient.ldapentry -> Ldap_types.search_result_entry
class ldapcon :
?connect_timeout:int ->
?referral_policy:[> `RETURN ] ->
?version:int ->
string list ->
object
method add : Ldap_ooclient.ldapentry -> unit
method bind :
?cred:string -> ?meth:Ldap_funclient.authmethod -> string -> unit
method delete : string -> unit
method modify :
string ->
(Ldap_types.modify_optype * string * string list) list -> unit
method modrdn :
string ->
?deleteoldrdn:bool -> ?newsup:string option -> string -> unit
method rawschema : Ldap_ooclient.ldapentry
method schema : Ldap_schemaparser.schema
method search :
?scope:Ldap_types.search_scope ->
?attrs:string list ->
?attrsonly:bool ->
?base:string ->
?sizelimit:Stdlib.Int32.t ->
?timelimit:Stdlib.Int32.t -> string -> Ldap_ooclient.ldapentry list
method search_a :
?scope:Ldap_types.search_scope ->
?attrs:string list ->
?attrsonly:bool ->
?base:string ->
?sizelimit:Stdlib.Int32.t ->
?timelimit:Stdlib.Int32.t ->
string -> ?abandon:bool -> unit -> Ldap_ooclient.ldapentry
method unbind : unit
method update_entry : Ldap_ooclient.ldapentry -> unit
end
val iter :
(Ldap_ooclient.ldapentry -> unit) ->
(?abandon:bool -> unit -> Ldap_ooclient.ldapentry) -> unit
val rev_map :
(Ldap_ooclient.ldapentry -> 'a) ->
(?abandon:bool -> unit -> Ldap_ooclient.ldapentry) -> 'a list
val map :
(Ldap_ooclient.ldapentry -> 'a) ->
(?abandon:bool -> unit -> Ldap_ooclient.ldapentry) -> 'a list
val fold :
(Ldap_ooclient.ldapentry -> 'a -> 'a) ->
'a -> (?abandon:bool -> unit -> Ldap_ooclient.ldapentry) -> 'a
module OrdOid :
sig
type t = Ldap_schemaparser.Oid.t
val compare : Ldap_ooclient.OrdOid.t -> Ldap_ooclient.OrdOid.t -> int
end
module Setstr :
sig
type elt = Ldap_ooclient.OrdOid.t
type t = Stdlib.Set.Make(OrdOid).t
val empty : Ldap_ooclient.Setstr.t
val is_empty : Ldap_ooclient.Setstr.t -> bool
val mem : Ldap_ooclient.Setstr.elt -> Ldap_ooclient.Setstr.t -> bool
val add :
Ldap_ooclient.Setstr.elt ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val singleton : Ldap_ooclient.Setstr.elt -> Ldap_ooclient.Setstr.t
val remove :
Ldap_ooclient.Setstr.elt ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val union :
Ldap_ooclient.Setstr.t ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val inter :
Ldap_ooclient.Setstr.t ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val diff :
Ldap_ooclient.Setstr.t ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val compare : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t -> int
val equal : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t -> bool
val subset : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t -> bool
val iter :
(Ldap_ooclient.Setstr.elt -> unit) -> Ldap_ooclient.Setstr.t -> unit
val fold :
(Ldap_ooclient.Setstr.elt -> 'a -> 'a) ->
Ldap_ooclient.Setstr.t -> 'a -> 'a
val for_all :
(Ldap_ooclient.Setstr.elt -> bool) -> Ldap_ooclient.Setstr.t -> bool
val exists :
(Ldap_ooclient.Setstr.elt -> bool) -> Ldap_ooclient.Setstr.t -> bool
val filter :
(Ldap_ooclient.Setstr.elt -> bool) ->
Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.t
val partition :
(Ldap_ooclient.Setstr.elt -> bool) ->
Ldap_ooclient.Setstr.t ->
Ldap_ooclient.Setstr.t * Ldap_ooclient.Setstr.t
val cardinal : Ldap_ooclient.Setstr.t -> int
val elements : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.elt list
val min_elt : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.elt
val max_elt : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.elt
val choose : Ldap_ooclient.Setstr.t -> Ldap_ooclient.Setstr.elt
val split :
Ldap_ooclient.Setstr.elt ->
Ldap_ooclient.Setstr.t ->
Ldap_ooclient.Setstr.t * bool * Ldap_ooclient.Setstr.t
end
type scflavor = Optimistic | Pessimistic
val attrToOid :
Ldap_schemaparser.schema ->
Ldap_schemaparser.Lcstring.t -> Ldap_schemaparser.Oid.t
val oidToAttr :
Ldap_schemaparser.schema -> Ldap_schemaparser.Oid.t -> string
val ocToOid :
Ldap_schemaparser.schema ->
Ldap_schemaparser.Lcstring.t -> Ldap_schemaparser.Oid.t
val oidToOc : Ldap_schemaparser.schema -> Ldap_schemaparser.Oid.t -> string
val getOc :
Ldap_schemaparser.schema ->
Ldap_schemaparser.Lcstring.t -> Ldap_schemaparser.objectclass
val getAttr :
Ldap_schemaparser.schema ->
Ldap_schemaparser.Lcstring.t -> Ldap_schemaparser.attribute
val equateAttrs :
Ldap_schemaparser.schema ->
Ldap_schemaparser.Lcstring.t -> Ldap_schemaparser.Lcstring.t -> bool
exception Invalid_objectclass of string
exception Invalid_attribute of string
exception Single_value of string
exception Objectclass_is_required
class scldapentry :
Ldap_schemaparser.schema ->
object
method add : Ldap_ooclient.op_lst -> unit
method attributes : string list
method changes : (Ldap_types.modify_optype * string * string list) list
method changetype : Ldap_ooclient.changetype
method delete : Ldap_ooclient.op_lst -> unit
method diff :
Ldap_ooclient.ldapentry_t ->
(Ldap_types.modify_optype * string * string list) list
method dn : string
method exists : string -> bool
method flush_changes : unit
method get_value : string -> string list
method is_allowed : string -> bool
method is_missing : string -> bool
method list_allowed : Ldap_ooclient.Setstr.elt list
method list_missing : Ldap_ooclient.Setstr.elt list
method list_present : Ldap_ooclient.Setstr.elt list
method modify :
(Ldap_types.modify_optype * string * string list) list -> unit
method of_entry :
?scflavor:Ldap_ooclient.scflavor -> Ldap_ooclient.ldapentry -> unit
method print : unit
method replace : Ldap_ooclient.op_lst -> unit
method set_changetype : Ldap_ooclient.changetype -> unit
method set_dn : string -> unit
end
type generator = {
gen_name : string;
required : string list;
genfun : Ldap_ooclient.ldapentry_t -> string list;
}
type service = {
svc_name : string;
static_attrs : (string * string list) list;
generate_attrs : string list;
depends : string list;
}
type generation_error =
Missing_required of string list
| Generator_error of string
exception No_generator of string
exception Generation_failed of Ldap_ooclient.generation_error
exception No_service of string
exception Service_dep_unsatisfiable of string
exception Generator_dep_unsatisfiable of string * string
exception Cannot_sort_dependancies of string list
class ldapaccount :
Ldap_schemaparser.schema ->
(string, Ldap_ooclient.generator) Stdlib.Hashtbl.t ->
(string, Ldap_ooclient.service) Stdlib.Hashtbl.t ->
object
method adapt_service : Ldap_ooclient.service -> Ldap_ooclient.service
method add : Ldap_ooclient.op_lst -> unit
method add_generate : string -> unit
method add_service : string -> unit
method attributes : string list
method changes : (Ldap_types.modify_optype * string * string list) list
method changetype : Ldap_ooclient.changetype
method delete : Ldap_ooclient.op_lst -> unit
method delete_generate : string -> unit
method delete_service : string -> unit
method diff :
Ldap_ooclient.ldapentry_t ->
(Ldap_types.modify_optype * string * string list) list
method dn : string
method exists : string -> bool
method flush_changes : unit
method generate : unit
method get_value : string -> string list
method is_allowed : string -> bool
method is_missing : string -> bool
method list_allowed : Ldap_ooclient.Setstr.elt list
method list_missing : Ldap_ooclient.Setstr.elt list
method list_present : Ldap_ooclient.Setstr.elt list
method modify :
(Ldap_types.modify_optype * string * string list) list -> unit
method of_entry :
?scflavor:Ldap_ooclient.scflavor -> Ldap_ooclient.ldapentry -> unit
method print : unit
method replace : Ldap_ooclient.op_lst -> unit
method service_exists : string -> bool
method services_present : string list
method set_changetype : Ldap_ooclient.changetype -> unit
method set_dn : string -> unit
end
end`