package ocamldap

  1. Overview
  2. Docs
exception LDAP_Encoder of string
exception LDAP_Decoder of string
type ldap_resultcode = [
  1. | `ADMINLIMIT_EXCEEDED
  2. | `AFFECTS_MULTIPLE_DSAS
  3. | `ALIAS_DEREF_PROBLEM
  4. | `ALIAS_PROBLEM
  5. | `ALREADY_EXISTS
  6. | `AUTH_METHOD_NOT_SUPPORTED
  7. | `AUTH_UNKNOWN
  8. | `BUSY
  9. | `CLIENT_LOOP
  10. | `COMPARE_FALSE
  11. | `COMPARE_TRUE
  12. | `CONFIDENTIALITY_REQUIRED
  13. | `CONNECT_ERROR
  14. | `CONSTRAINT_VIOLATION
  15. | `CONTROL_NOT_FOUND
  16. | `DECODING_ERROR
  17. | `ENCODING_ERROR
  18. | `FILTER_ERROR
  19. | `INAPPROPRIATE_AUTH
  20. | `INAPPROPRIATE_MATCHING
  21. | `INSUFFICIENT_ACCESS
  22. | `INVALID_CREDENTIALS
  23. | `INVALID_DN_SYNTAX
  24. | `INVALID_SYNTAX
  25. | `IS_LEAF
  26. | `LOCAL_ERROR
  27. | `LOOP_DETECT
  28. | `MORE_RESULTS_TO_RETURN
  29. | `NAMING_VIOLATION
  30. | `NOT_ALLOWED_ON_NONLEAF
  31. | `NOT_ALLOWED_ON_RDN
  32. | `NOT_SUPPORTED
  33. | `NO_MEMORY
  34. | `NO_OBJECT_CLASS_MODS
  35. | `NO_RESULTS_RETURNED
  36. | `NO_SUCH_ATTRIBUTE
  37. | `NO_SUCH_OBJECT
  38. | `OBJECT_CLASS_VIOLATION
  39. | `OPERATIONS_ERROR
  40. | `OTHER
  41. | `PARAM_ERROR
  42. | `PROTOCOL_ERROR
  43. | `REFERRAL
  44. | `REFERRAL_LIMIT_EXCEEDED
  45. | `SASL_BIND_IN_PROGRESS
  46. | `SERVER_DOWN
  47. | `SIZELIMIT_EXCEEDED
  48. | `STRONG_AUTH_REQUIRED
  49. | `SUCCESS
  50. | `TIMELIMIT_EXCEEDED
  51. | `TIMEOUT
  52. | `TYPE_OR_VALUE_EXISTS
  53. | `UNAVAILABLE
  54. | `UNAVAILABLE_CRITICAL_EXTENSION
  55. | `UNDEFINED_TYPE
  56. | `UNKNOWN_ERROR of int
  57. | `UNWILLING_TO_PERFORM
  58. | `USER_CANCELLED
]
type ldap_result = {
  1. result_code : ldap_resultcode;
  2. matched_dn : string;
  3. error_message : string;
  4. ldap_referral : string list option;
}
type ldap_ext_return = {
  1. ext_matched_dn : string;
  2. ext_referral : string list option;
}
exception LDAP_Failure of ldap_resultcode * string * ldap_ext_return
type saslCredentials = {
  1. sasl_mechanism : string;
  2. sasl_credentials : string option;
}
type authentication =
  1. | Simple of string
  2. | Sasl of saslCredentials
type bind_request = {
  1. bind_version : int;
  2. bind_name : string;
  3. bind_authentication : authentication;
}
type bind_response = {
  1. bind_result : ldap_result;
  2. bind_serverSaslCredentials : string option;
}
type attribute = {
  1. attr_type : string;
  2. attr_vals : string list;
}
type dn = attribute list
type search_result_entry = {
  1. sr_dn : string;
  2. sr_attributes : attribute list;
}
type search_scope = [
  1. | `BASE
  2. | `ONELEVEL
  3. | `SUBTREE
]
type alias_deref = [
  1. | `DEREFALWAYS
  2. | `DEREFFINDINGBASE
  3. | `DEREFINSEARCHING
  4. | `NEVERDEREFALIASES
]
type attribute_value_assertion = {
  1. attributeDesc : string;
  2. assertionValue : string;
}
type matching_rule_assertion = {
  1. matchingRule : string option;
  2. ruletype : string option;
  3. matchValue : string;
  4. dnAttributes : bool;
}
type substring_component = {
  1. substr_initial : string list;
  2. substr_any : string list;
  3. substr_final : string list;
}
type substring_filter = {
  1. attrtype : string;
  2. substrings : substring_component;
}
type filter = [
  1. | `And of filter list
  2. | `ApproxMatch of attribute_value_assertion
  3. | `EqualityMatch of attribute_value_assertion
  4. | `ExtensibleMatch of matching_rule_assertion
  5. | `GreaterOrEqual of attribute_value_assertion
  6. | `LessOrEqual of attribute_value_assertion
  7. | `Not of filter
  8. | `Or of filter list
  9. | `Present of string
  10. | `Substrings of substring_filter
]
type search_request = {
  1. baseObject : string;
  2. scope : search_scope;
  3. derefAliases : alias_deref;
  4. sizeLimit : int32;
  5. timeLimit : int32;
  6. typesOnly : bool;
  7. filter : filter;
  8. s_attributes : string list;
}
type modify_optype = [
  1. | `ADD
  2. | `DELETE
  3. | `REPLACE
]
type modify_op = {
  1. mod_op : modify_optype;
  2. mod_value : attribute;
}
type modify_request = {
  1. mod_dn : string;
  2. modification : modify_op list;
}
type modify_dn_request = {
  1. modn_dn : string;
  2. modn_newrdn : string;
  3. modn_deleteoldrdn : bool;
  4. modn_newSuperior : string option;
}
type compare_request = {
  1. cmp_dn : string;
  2. cmp_ava : attribute_value_assertion;
}
type extended_request = {
  1. ext_requestName : string;
  2. ext_requestValue : string option;
}
type extended_response = {
  1. ext_result : ldap_result;
  2. ext_responseName : string option;
  3. ext_response : string option;
}
type protocol_op =
  1. | Bind_request of bind_request
  2. | Bind_response of bind_response
  3. | Unbind_request
  4. | Search_request of search_request
  5. | Search_result_entry of search_result_entry
  6. | Search_result_reference of string list
  7. | Search_result_done of ldap_result
  8. | Modify_request of modify_request
  9. | Modify_response of ldap_result
  10. | Add_request of search_result_entry
  11. | Add_response of ldap_result
  12. | Delete_request of string
  13. | Delete_response of ldap_result
  14. | Modify_dn_request of modify_dn_request
  15. | Modify_dn_response of ldap_result
  16. | Compare_request of compare_request
  17. | Compare_response of ldap_result
  18. | Abandon_request of Int32.t
  19. | Extended_request of extended_request
  20. | Extended_response of extended_response
type ldap_control = {
  1. controlType : string;
  2. criticality : bool;
  3. controlValue : string option;
}
type ldap_controls = ldap_control list
type ldap_message = {
  1. messageID : Int32.t;
  2. protocolOp : protocol_op;
  3. controls : ldap_controls option;
}
type con_mech = [
  1. | `PLAIN
  2. | `SSL
]
type ldap_url = {
  1. url_mech : con_mech;
  2. url_host : string option;
  3. url_port : string option;
  4. url_dn : string option;
  5. url_attributes : string list option;
  6. url_scope : search_scope option;
  7. url_filter : filter option;
  8. url_ext : (bool * string * string) list option;
}
type ldap_grouping_type = [
  1. | `LDAP_GROUP_TXN
]
OCaml

Innovation. Community. Security.