Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file ldap_types.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311(* Common data types from rfc 2251 used throughout the library
Copyright (C) 2004 Eric Stokes, and The California State University
at Northridge
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
*)(** Common data types used by ocamldap. Most of these types are taken
from the ASN.1 specification for LDAP as defined in rfc2251 @see
<http://www.ietf.org/rfc/rfc2251.txt> rfc2251*)(** An encoding error has occurred, the argument contains a
description of the error This is likely a bug, so it should be
reported *)exceptionLDAP_Encoderofstring(** A decoding error has occurred, the argument contains a description
of the error. This MAY be a bug, but it may also be that the server
you are talking to is non standard. Please report these right away in
any case.*)exceptionLDAP_Decoderofstringtypeldap_resultcode=[`SUCCESS|`OPERATIONS_ERROR|`PROTOCOL_ERROR|`TIMELIMIT_EXCEEDED|`SIZELIMIT_EXCEEDED|`COMPARE_FALSE|`COMPARE_TRUE|`AUTH_METHOD_NOT_SUPPORTED|`STRONG_AUTH_REQUIRED|`REFERRAL|`ADMINLIMIT_EXCEEDED|`UNAVAILABLE_CRITICAL_EXTENSION|`CONFIDENTIALITY_REQUIRED|`SASL_BIND_IN_PROGRESS|`NO_SUCH_ATTRIBUTE|`UNDEFINED_TYPE|`INAPPROPRIATE_MATCHING|`CONSTRAINT_VIOLATION|`TYPE_OR_VALUE_EXISTS|`INVALID_SYNTAX|`NO_SUCH_OBJECT|`ALIAS_PROBLEM|`INVALID_DN_SYNTAX|`IS_LEAF|`ALIAS_DEREF_PROBLEM|`INAPPROPRIATE_AUTH|`INVALID_CREDENTIALS|`INSUFFICIENT_ACCESS|`BUSY|`UNAVAILABLE|`UNWILLING_TO_PERFORM|`LOOP_DETECT|`NAMING_VIOLATION|`OBJECT_CLASS_VIOLATION|`NOT_ALLOWED_ON_NONLEAF|`NOT_ALLOWED_ON_RDN|`ALREADY_EXISTS|`NO_OBJECT_CLASS_MODS|`AFFECTS_MULTIPLE_DSAS|`OTHER|`SERVER_DOWN|`LOCAL_ERROR|`ENCODING_ERROR|`DECODING_ERROR|`TIMEOUT|`AUTH_UNKNOWN|`FILTER_ERROR|`USER_CANCELLED|`PARAM_ERROR|`NO_MEMORY|`CONNECT_ERROR|`NOT_SUPPORTED|`CONTROL_NOT_FOUND|`NO_RESULTS_RETURNED|`MORE_RESULTS_TO_RETURN|`CLIENT_LOOP|`REFERRAL_LIMIT_EXCEEDED|`UNKNOWN_ERRORofint]typeldap_result={result_code:ldap_resultcode;matched_dn:string;error_message:string;ldap_referral:(stringlist)option;}(** extended information to return with the LDAP_Failure
exception. Contains the remaining values which are defined by the
protocol ext_matched_dn: the matched dn. Commonly set by
`NO_SUCH_OBJECT. ext_referral: a list of ldapurls returned by the
server when you attempted to do a write operation. If you use
Ldap_ooclient with referrals set to follow you will never see this*)typeldap_ext_return={ext_matched_dn:string;ext_referral:stringlistoption;}(** The exception raised to indicate all types of failure in the
higher level libraries Ldap_funclient, and Ldap_ooclient. example
[LDAP_Failure (`NO_SUCH_OBJECT, "no such object",
{ext_matched_dn=Some "o=csun";ext_referral=None})] *)exceptionLDAP_Failureofldap_resultcode*string*ldap_ext_returntypesaslCredentials={sasl_mechanism:string;sasl_credentials:stringoption;}typeauthentication=Simpleofstring|SaslofsaslCredentialstypebind_request={bind_version:int;bind_name:string;bind_authentication:authentication;}typebind_response={bind_result:ldap_result;bind_serverSaslCredentials:stringoption;}typeattribute={attr_type:string;attr_vals:stringlist;}typedn=attributelist(** the type used to encode and decode a search entry. Also the type
returned by search_s and search_a in Ldap_funclient *)typesearch_result_entry={sr_dn:string;sr_attributes:attributelist;}(** a type defining the scope of a search filter *)typesearch_scope=[`BASE(** search only at the base *)|`ONELEVEL(** search one level below the base *)|`SUBTREE(** search the entire tree under the base *)]typealias_deref=[`NEVERDEREFALIASES|`DEREFINSEARCHING|`DEREFFINDINGBASE|`DEREFALWAYS]typeattribute_value_assertion={attributeDesc:string;assertionValue:string;}typematching_rule_assertion={matchingRule:stringoption;ruletype:stringoption;matchValue:string;dnAttributes:bool;(* default false *)}typesubstring_component={(* at least one must be specified *)substr_initial:stringlist;substr_any:stringlist;substr_final:stringlist;}typesubstring_filter={attrtype:string;substrings:substring_component;}typefilter=[`Andoffilterlist|`Oroffilterlist|`Notoffilter|`EqualityMatchofattribute_value_assertion|`Substringsofsubstring_filter|`GreaterOrEqualofattribute_value_assertion|`LessOrEqualofattribute_value_assertion|`Presentofstring|`ApproxMatchofattribute_value_assertion|`ExtensibleMatchofmatching_rule_assertion]typesearch_request={baseObject:string;scope:search_scope;derefAliases:alias_deref;sizeLimit:int32;timeLimit:int32;typesOnly:bool;filter:filter;s_attributes:stringlist;}typemodify_optype=[`ADD|`DELETE|`REPLACE]typemodify_op={mod_op:modify_optype;mod_value:attribute;}typemodify_request={mod_dn:string;modification:modify_oplist}typemodify_dn_request={modn_dn:string;modn_newrdn:string;modn_deleteoldrdn:bool;modn_newSuperior:stringoption}typecompare_request={cmp_dn:string;cmp_ava:attribute_value_assertion;}typeextended_request={ext_requestName:string;ext_requestValue:stringoption;}typeextended_response={ext_result:ldap_result;ext_responseName:stringoption;ext_response:stringoption;}typeprotocol_op=Bind_requestofbind_request|Bind_responseofbind_response|Unbind_request|Search_requestofsearch_request|Search_result_entryofsearch_result_entry|Search_result_referenceofstringlist|Search_result_doneofldap_result|Modify_requestofmodify_request|Modify_responseofldap_result|Add_requestofsearch_result_entry|Add_responseofldap_result|Delete_requestofstring|Delete_responseofldap_result|Modify_dn_requestofmodify_dn_request|Modify_dn_responseofldap_result|Compare_requestofcompare_request|Compare_responseofldap_result|Abandon_requestofInt32.t|Extended_requestofextended_request|Extended_responseofextended_responsetypepaged_results_control_value={size:int;cookie:string;}typecontrol_details=[`Paged_results_controlofpaged_results_control_value|`Unknown_valueofstring]typeldap_control={criticality:bool;control_details:control_details;}typeldap_controls=ldap_controllisttypeldap_message={messageID:Int32.t;protocolOp:protocol_op;controls:ldap_controlsoption;}typecon_mech=[`SSL|`PLAIN]typeldap_url={url_mech:con_mech;url_host:stringoption;url_port:stringoption;url_dn:stringoption;url_attributes:(stringlist)option;url_scope:search_scopeoption;url_filter:filteroption;url_ext:((bool*string*string)list)option;}(** see draft-zeilenga-ldap-grouping-xx Ldap grouping is a way of
telling the server that a set of ldap operations is related, its most
interesting application is transactions across multiple objects.
This draft is not yet implemented by any present day ldap server *)typeldap_grouping_type=[`LDAP_GROUP_TXN](** a cookie that is sent with every ldap operation which is part of a
group *)typeldap_grouping_cookie