X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fldap.h;h=b7603745370ec97599d76883227682ed3ce9856a;hb=09abc9f8ae2485adb67dbd91be4d02a4b4bb454c;hp=ecad4b550ef873373ca9568737553f8be8acce18;hpb=79d52b6f392c48b040c371dacc3690b28d7f98f1;p=openldap diff --git a/include/ldap.h b/include/ldap.h index ecad4b550e..b760374537 100644 --- a/include/ldap.h +++ b/include/ldap.h @@ -76,7 +76,7 @@ LDAP_BEGIN_DECL #define LDAP_ALL_USER_ATTRIBUTES "*" #define LDAP_ALL_OPERATIONAL_ATTRIBUTES "+" /* RFC 3673 */ -/* RFC 2251: maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- */ +/* RFC 4511: maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- */ #define LDAP_MAXINT (2147483647) /* @@ -95,16 +95,17 @@ LDAP_BEGIN_DECL #define LDAP_OPT_REFERRALS 0x0008 #define LDAP_OPT_RESTART 0x0009 /* 0x0a - 0x10 not defined */ -#define LDAP_OPT_PROTOCOL_VERSION 0x0011 -#define LDAP_OPT_SERVER_CONTROLS 0x0012 -#define LDAP_OPT_CLIENT_CONTROLS 0x0013 +#define LDAP_OPT_PROTOCOL_VERSION 0x0011 +#define LDAP_OPT_SERVER_CONTROLS 0x0012 +#define LDAP_OPT_CLIENT_CONTROLS 0x0013 /* 0x14 not defined */ -#define LDAP_OPT_API_FEATURE_INFO 0x0015 +#define LDAP_OPT_API_FEATURE_INFO 0x0015 /* 0x16 - 0x2f not defined */ #define LDAP_OPT_HOST_NAME 0x0030 -#define LDAP_OPT_RESULT_CODE 0x0031 -#define LDAP_OPT_ERROR_NUMBER LDAP_OPT_RESULT_CODE -#define LDAP_OPT_ERROR_STRING 0x0032 +#define LDAP_OPT_RESULT_CODE 0x0031 +#define LDAP_OPT_ERROR_NUMBER LDAP_OPT_RESULT_CODE +#define LDAP_OPT_DIAGNOSTIC_MESSAGE 0x0032 +#define LDAP_OPT_ERROR_STRING LDAP_OPT_DIAGNOSTIC_MESSAGE #define LDAP_OPT_MATCHED_DN 0x0033 /* 0x0034 - 0x3fff not defined */ @@ -120,10 +121,11 @@ LDAP_BEGIN_DECL #define LDAP_OPT_URI 0x5006 #define LDAP_OPT_REFERRAL_URLS 0x5007 /* Referral URLs */ #define LDAP_OPT_SOCKBUF 0x5008 /* sockbuf */ +#define LDAP_OPT_DEFBASE 0x5009 /* searchbase */ /* OpenLDAP TLS options */ #define LDAP_OPT_X_TLS 0x6000 -#define LDAP_OPT_X_TLS_CTX 0x6001 /* SSL CTX */ +#define LDAP_OPT_X_TLS_CTX 0x6001 /* OpenSSL CTX */ #define LDAP_OPT_X_TLS_CACERTFILE 0x6002 #define LDAP_OPT_X_TLS_CACERTDIR 0x6003 #define LDAP_OPT_X_TLS_CERTFILE 0x6004 @@ -137,6 +139,7 @@ LDAP_BEGIN_DECL #define LDAP_OPT_X_TLS_CONNECT_CB 0x600c #define LDAP_OPT_X_TLS_CONNECT_ARG 0x600d #define LDAP_OPT_X_TLS_DHFILE 0x600e +#define LDAP_OPT_X_TLS_NEWCTX 0x600f #define LDAP_OPT_X_TLS_NEVER 0 #define LDAP_OPT_X_TLS_HARD 1 @@ -205,13 +208,14 @@ typedef struct ldapcontrol { /* LDAP Controls */ /* standard track controls */ #define LDAP_CONTROL_MANAGEDSAIT "2.16.840.1.113730.3.4.2" /* RFC 3296 */ -#define LDAP_CONTROL_PROXY_AUTHZ "2.16.840.1.113730.3.4.18" /* RFC TBD */ +#define LDAP_CONTROL_PROXY_AUTHZ "2.16.840.1.113730.3.4.18" /* RFC 4370 */ #define LDAP_CONTROL_SUBENTRIES "1.3.6.1.4.1.4203.1.10.1" /* RFC 3672 */ -#define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.334810.2.3"/* RFC 3876 */ -#define LDAP_CONTROL_ASSERT "1.3.6.1.1.12" /* RFC TBD */ -#define LDAP_CONTROL_PRE_READ "1.3.6.1.1.13.1" /* RFC TBD */ -#define LDAP_CONTROL_POST_READ "1.3.6.1.1.13.2" /* RFC TBD */ +#define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.3344810.2.3"/* RFC 3876 */ + +#define LDAP_CONTROL_ASSERT "1.3.6.1.1.12" /* RFC 4528 */ +#define LDAP_CONTROL_PRE_READ "1.3.6.1.1.13.1" /* RFC 4527 */ +#define LDAP_CONTROL_POST_READ "1.3.6.1.1.13.2" /* RFC 4527 */ /* standard track - not implemented in slapd(8) */ #define LDAP_CONTROL_SORTREQUEST "1.2.840.113556.1.4.473" /* RFC 2891 */ @@ -220,7 +224,7 @@ typedef struct ldapcontrol { /* non-standard track controls */ #define LDAP_CONTROL_PAGEDRESULTS "1.2.840.113556.1.4.319" /* RFC 2696 */ -/* LDAP Sync -- draft-zeilenga-ldup-sync *//* RFC TBD */ +/* LDAP Content Synchronization Operation -- RFC 4533 */ #define LDAP_SYNC_OID "1.3.6.1.4.1.4203.1.9.1" #define LDAP_CONTROL_SYNC LDAP_SYNC_OID ".1" #define LDAP_CONTROL_SYNC_STATE LDAP_SYNC_OID ".2" @@ -259,7 +263,8 @@ typedef struct ldapcontrol { /* various works in progress */ #define LDAP_CONTROL_NOOP "1.3.6.1.4.1.4203.666.5.2" #define LDAP_CONTROL_NO_SUBORDINATES "1.3.6.1.4.1.4203.666.5.11" -#define LDAP_CONTROL_MANAGEDIT "1.3.6.1.4.1.4203.666.5.12" +#define LDAP_CONTROL_RELAX "1.3.6.1.4.1.4203.666.5.12" +#define LDAP_CONTROL_MANAGEDIT LDAP_CONTROL_RELAX #define LDAP_CONTROL_SLURP "1.3.6.1.4.1.4203.666.5.13" #define LDAP_CONTROL_VALSORT "1.3.6.1.4.1.4203.666.5.14" #define LDAP_CONTROL_DONTUSECOPY "1.3.6.1.4.1.4203.666.5.15" @@ -268,14 +273,12 @@ typedef struct ldapcontrol { /* LDAP Chaining Behavior Control *//* work in progress */ /* ; * see also LDAP_NO_REFERRALS_FOUND, LDAP_CANNOT_CHAIN */ -#ifdef LDAP_DEVEL #define LDAP_CONTROL_X_CHAINING_BEHAVIOR "1.3.6.1.4.1.4203.666.11.3" #define LDAP_CHAINING_PREFERRED 0 #define LDAP_CHAINING_REQUIRED 1 #define LDAP_REFERRALS_PREFERRED 2 #define LDAP_REFERRALS_REQUIRED 3 -#endif /* MS Active Directory controls (for compatibility) */ #define LDAP_CONTROL_X_INCREMENTAL_VALUES "1.2.840.113556.1.4.802" @@ -310,11 +313,11 @@ typedef struct ldapcontrol { /* LDAP Unsolicited Notifications */ -#define LDAP_NOTICE_OF_DISCONNECTION "1.3.6.1.4.1.1466.20036" /* RFC 2251 */ +#define LDAP_NOTICE_OF_DISCONNECTION "1.3.6.1.4.1.1466.20036" /* RFC 4511 */ #define LDAP_NOTICE_DISCONNECT LDAP_NOTICE_OF_DISCONNECTION /* LDAP Extended Operations */ -#define LDAP_EXOP_START_TLS "1.3.6.1.4.1.1466.20037" /* RFC 2830 */ +#define LDAP_EXOP_START_TLS "1.3.6.1.4.1.1466.20037" /* RFC 4511 */ #define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1" /* RFC 3062 */ #define LDAP_TAG_EXOP_MODIFY_PASSWD_ID ((ber_tag_t) 0x80U) @@ -322,7 +325,7 @@ typedef struct ldapcontrol { #define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW ((ber_tag_t) 0x82U) #define LDAP_TAG_EXOP_MODIFY_PASSWD_GEN ((ber_tag_t) 0x80U) -#define LDAP_EXOP_CANCEL "1.3.6.1.1.8" /* RFC 3909 */ +#define LDAP_EXOP_CANCEL "1.3.6.1.1.8" /* RFC 3909 */ #define LDAP_EXOP_X_CANCEL LDAP_EXOP_CANCEL #define LDAP_EXOP_REFRESH "1.3.6.1.4.1.1466.101.119.1" /* RFC 2589 */ @@ -330,16 +333,15 @@ typedef struct ldapcontrol { #define LDAP_TAG_EXOP_REFRESH_REQ_TTL ((ber_tag_t) 0x81U) #define LDAP_TAG_EXOP_REFRESH_RES_TTL ((ber_tag_t) 0x80U) -/* various works in progress */ -#define LDAP_EXOP_WHO_AM_I "1.3.6.1.4.1.4203.1.11.3" +#define LDAP_EXOP_WHO_AM_I "1.3.6.1.4.1.4203.1.11.3" /* RFC 4532 */ #define LDAP_EXOP_X_WHO_AM_I LDAP_EXOP_WHO_AM_I -#define LDAP_EXOP_X_TURN "1.3.6.1.4.1.4203.666.6.4" +/* various works in progress */ +#define LDAP_EXOP_TURN "1.3.6.1.1.19" /* RFC 4531 */ +#define LDAP_EXOP_X_TURN LDAP_EXOP_TURN /* LDAP Distributed Procedures */ /* a work in progress */ -#ifdef LDAP_DEVEL -/* FIXME: allocate an OID arc under OpenLDAP experimental arc */ #define LDAP_X_DISTPROC_BASE "1.3.6.1.4.1.4203.666.11.6" #define LDAP_EXOP_X_CHAINEDREQUEST LDAP_X_DISTPROC_BASE ".1" #define LDAP_FEATURE_X_CANCHAINOPS LDAP_X_DISTPROC_BASE ".2" @@ -353,6 +355,13 @@ typedef struct ldapcontrol { #define LDAP_URLEXT_X_REFTYPE "x-referenceType" #define LDAP_URLEXT_X_SEARCHEDSUBTREE "x-searchedSubtree" #define LDAP_URLEXT_X_FAILEDNAME "x-failedName" + +#ifdef LDAP_DEVEL +#define LDAP_X_TXN "1.3.6.1.4.1.4203.666.11.7" /* tmp */ +#define LDAP_EXOP_X_TXN_START LDAP_X_TXN ".1" +#define LDAP_CONTROL_X_TXN_SPEC LDAP_X_TXN ".2" +#define LDAP_EXOP_X_TXN_END LDAP_X_TXN ".3" +#define LDAP_EXOP_X_TXN_ABORTED_NOTICE LDAP_X_TXN ".4" #endif /* LDAP Features */ @@ -364,12 +373,10 @@ typedef struct ldapcontrol { #define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5" #define LDAP_FEATURE_MODIFY_INCREMENT "1.3.6.1.1.14" -#ifdef LDAP_DEVEL /* LDAP Experimental (works in progress) Features */ #define LDAP_FEATURE_SUBORDINATE_SCOPE \ "1.3.6.1.4.1.4203.666.8.1" /* "children" */ #define LDAP_FEATURE_CHILDREN_SCOPE LDAP_FEATURE_SUBORDINATE_SCOPE -#endif /* * specific LDAP instantiations of BER types we know about @@ -544,7 +551,7 @@ typedef struct ldapcontrol { #define LDAP_SECURITY_ERROR(n) LDAP_RANGE((n),0x2F,0x32) /* 47-50 */ -#define LDAP_PROXY_AUTHZ_FAILURE 0x2F /* LDAPv3 proxy authorization */ +#define LDAP_X_PROXY_AUTHZ_FAILURE 0x2F /* LDAPv3 proxy authorization */ #define LDAP_INAPPROPRIATE_AUTH 0x30 #define LDAP_INVALID_CREDENTIALS 0x31 #define LDAP_INSUFFICIENT_ACCESS 0x32 @@ -585,6 +592,8 @@ typedef struct ldapcontrol { /* Assertion control (122) */ #define LDAP_ASSERTION_FAILED 0x7A +/* Proxied Authorization Denied (123) */ +#define LDAP_PROXIED_AUTHORIZATION_DENIED 0x7B /* Experimental result codes */ #define LDAP_E_ERROR(n) LDAP_RANGE((n),0x1000,0x3FFF) @@ -614,6 +623,11 @@ typedef struct ldapcontrol { #define LDAP_X_INVALIDREFERENCE 0x4112 #endif +#ifdef LDAP_X_TXN +#define LDAP_X_TXN_SPECIFY_OKAY 0x4120 +#define LDAP_X_TXN_ID_INVALID 0x4121 +#endif + /* API Error Codes * * Based on draft-ietf-ldap-c-api-xx @@ -765,6 +779,19 @@ ldap_set_nextref_proc LDAP_P(( LDAP_NEXTREF_PROC *nextref_proc, void *params )); +/* V3 URLLIST Function Callback Prototype */ +typedef int (LDAP_URLLIST_PROC) LDAP_P(( + LDAP *ld, + LDAPURLDesc **urllist, + LDAPURLDesc **url, + void *params )); + +LDAP_F( int ) +ldap_set_urllist_proc LDAP_P(( + LDAP *ld, + LDAP_URLLIST_PROC *urllist_proc, + void *params )); + /* * in controls.c: */ @@ -856,9 +883,9 @@ ldap_abandon_ext LDAP_P(( LDAPControl **serverctrls, LDAPControl **clientctrls )); -#if LDAP_DEPRECATED +#if LDAP_DEPRECATED LDAP_F( int ) -ldap_abandon LDAP_P(( /* deprecated */ +ldap_abandon LDAP_P(( /* deprecated, use ldap_abandon_ext */ LDAP *ld, int msgid )); #endif @@ -885,13 +912,13 @@ ldap_add_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_add LDAP_P(( /* deprecated */ +ldap_add LDAP_P(( /* deprecated, use ldap_add_ext */ LDAP *ld, LDAP_CONST char *dn, LDAPMod **attrs )); LDAP_F( int ) -ldap_add_s LDAP_P(( /* deprecated */ +ldap_add_s LDAP_P(( /* deprecated, use ldap_add_ext_s */ LDAP *ld, LDAP_CONST char *dn, LDAPMod **attrs )); @@ -964,14 +991,14 @@ ldap_parse_sasl_bind_result LDAP_P(( * (deprecated) */ LDAP_F( int ) -ldap_bind LDAP_P(( /* deprecated */ +ldap_bind LDAP_P(( /* deprecated, use ldap_sasl_bind */ LDAP *ld, LDAP_CONST char *who, LDAP_CONST char *passwd, int authmethod )); LDAP_F( int ) -ldap_bind_s LDAP_P(( /* deprecated */ +ldap_bind_s LDAP_P(( /* deprecated, use ldap_sasl_bind_s */ LDAP *ld, LDAP_CONST char *who, LDAP_CONST char *cred, @@ -981,13 +1008,13 @@ ldap_bind_s LDAP_P(( /* deprecated */ * in sbind.c: */ LDAP_F( int ) -ldap_simple_bind LDAP_P(( /* deprecated */ +ldap_simple_bind LDAP_P(( /* deprecated, use ldap_sasl_bind */ LDAP *ld, LDAP_CONST char *who, LDAP_CONST char *passwd )); LDAP_F( int ) -ldap_simple_bind_s LDAP_P(( /* deprecated */ +ldap_simple_bind_s LDAP_P(( /* deprecated, use ldap_sasl_bind_s */ LDAP *ld, LDAP_CONST char *who, LDAP_CONST char *passwd )); @@ -995,7 +1022,7 @@ ldap_simple_bind_s LDAP_P(( /* deprecated */ /* * in kbind.c: - * (deprecated) + * (deprecated - use SASL instead) */ LDAP_F( int ) ldap_kerberos_bind_s LDAP_P(( /* deprecated */ @@ -1048,14 +1075,14 @@ ldap_compare_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_compare LDAP_P(( /* deprecated */ +ldap_compare LDAP_P(( /* deprecated, use ldap_compare_ext */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *attr, LDAP_CONST char *value )); LDAP_F( int ) -ldap_compare_s LDAP_P(( /* deprecated */ +ldap_compare_s LDAP_P(( /* deprecated, use ldap_compare_ext_s */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *attr, @@ -1083,12 +1110,12 @@ ldap_delete_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_delete LDAP_P(( /* deprecated */ +ldap_delete LDAP_P(( /* deprecated, use ldap_delete_ext */ LDAP *ld, LDAP_CONST char *dn )); LDAP_F( int ) -ldap_delete_s LDAP_P(( /* deprecated */ +ldap_delete_s LDAP_P(( /* deprecated, use ldap_delete_ext_s */ LDAP *ld, LDAP_CONST char *dn )); #endif @@ -1114,13 +1141,13 @@ ldap_err2string LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_result2error LDAP_P(( /* deprecated */ +ldap_result2error LDAP_P(( /* deprecated, use ldap_parse_result */ LDAP *ld, LDAPMessage *r, int freeit )); LDAP_F( void ) -ldap_perror LDAP_P(( /* deprecated */ +ldap_perror LDAP_P(( /* deprecated, use ldap_err2string */ LDAP *ld, LDAP_CONST char *s )); #endif @@ -1148,13 +1175,13 @@ ldap_modify_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_modify LDAP_P(( /* deprecated */ +ldap_modify LDAP_P(( /* deprecated, use ldap_modify_ext */ LDAP *ld, LDAP_CONST char *dn, LDAPMod **mods )); LDAP_F( int ) -ldap_modify_s LDAP_P(( /* deprecated */ +ldap_modify_s LDAP_P(( /* deprecated, use ldap_modify_ext_s */ LDAP *ld, LDAP_CONST char *dn, LDAPMod **mods )); @@ -1187,7 +1214,7 @@ ldap_rename_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_rename2 LDAP_P(( /* deprecated */ +ldap_rename2 LDAP_P(( /* deprecated, use ldap_rename */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn, @@ -1195,7 +1222,7 @@ ldap_rename2 LDAP_P(( /* deprecated */ int deleteoldrdn )); LDAP_F( int ) -ldap_rename2_s LDAP_P(( /* deprecated */ +ldap_rename2_s LDAP_P(( /* deprecated, use ldap_rename_s */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn, @@ -1203,26 +1230,26 @@ ldap_rename2_s LDAP_P(( /* deprecated */ int deleteoldrdn )); LDAP_F( int ) -ldap_modrdn LDAP_P(( /* deprecated */ +ldap_modrdn LDAP_P(( /* deprecated, use ldap_rename */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn )); LDAP_F( int ) -ldap_modrdn_s LDAP_P(( /* deprecated */ +ldap_modrdn_s LDAP_P(( /* deprecated, use ldap_rename_s */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn )); LDAP_F( int ) -ldap_modrdn2 LDAP_P(( /* deprecated */ +ldap_modrdn2 LDAP_P(( /* deprecated, use ldap_rename */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn, int deleteoldrdn )); LDAP_F( int ) -ldap_modrdn2_s LDAP_P(( /* deprecated */ +ldap_modrdn2_s LDAP_P(( /* deprecated, use ldap_rename_s */ LDAP *ld, LDAP_CONST char *dn, LDAP_CONST char *newrdn, @@ -1235,12 +1262,12 @@ ldap_modrdn2_s LDAP_P(( /* deprecated */ */ #if LDAP_DEPRECATED LDAP_F( LDAP * ) -ldap_init LDAP_P(( /* deprecated */ +ldap_init LDAP_P(( /* deprecated, use ldap_create or ldap_initialize */ LDAP_CONST char *host, int port )); LDAP_F( LDAP * ) -ldap_open LDAP_P(( /* deprecated */ +ldap_open LDAP_P(( /* deprecated, use ldap_create or ldap_initialize */ LDAP_CONST char *host, int port )); #endif @@ -1464,16 +1491,16 @@ ldap_dn_normalize LDAP_P(( char **out, unsigned oflags )); LDAP_F( char * ) -ldap_dn2ufn LDAP_P(( /* deprecated */ +ldap_dn2ufn LDAP_P(( /* deprecated, use ldap_str2dn/dn2str */ LDAP_CONST char *dn )); LDAP_F( char ** ) -ldap_explode_dn LDAP_P(( /* deprecated */ +ldap_explode_dn LDAP_P(( /* deprecated, ldap_str2dn */ LDAP_CONST char *dn, int notypes )); LDAP_F( char ** ) -ldap_explode_rdn LDAP_P(( /* deprecated */ +ldap_explode_rdn LDAP_P(( /* deprecated, ldap_str2rdn */ LDAP_CONST char *rdn, int notypes )); @@ -1485,13 +1512,16 @@ ldap_X509dn2bv LDAP_P(( void *x509_name, struct berval *dn, LDAPDN_rewrite_func *func, unsigned flags )); LDAP_F( char * ) -ldap_dn2dcedn LDAP_P(( LDAP_CONST char *dn )); /* deprecated */ +ldap_dn2dcedn LDAP_P(( /* deprecated, ldap_str2dn/dn2str */ + LDAP_CONST char *dn )); LDAP_F( char * ) -ldap_dcedn2dn LDAP_P(( LDAP_CONST char *dce )); /* deprecated */ +ldap_dcedn2dn LDAP_P(( /* deprecated, ldap_str2dn/dn2str */ + LDAP_CONST char *dce )); LDAP_F( char * ) -ldap_dn2ad_canonical LDAP_P(( LDAP_CONST char *dn )); /* deprecated */ +ldap_dn2ad_canonical LDAP_P(( /* deprecated, ldap_str2dn/dn2str */ + LDAP_CONST char *dn )); LDAP_F( int ) ldap_get_dn_ber LDAP_P(( @@ -1537,17 +1567,17 @@ ldap_value_free_len LDAP_P(( #if LDAP_DEPRECATED LDAP_F( char ** ) -ldap_get_values LDAP_P(( /* deprecated */ +ldap_get_values LDAP_P(( /* deprecated, use ldap_get_values_len */ LDAP *ld, LDAPMessage *entry, LDAP_CONST char *target )); LDAP_F( int ) -ldap_count_values LDAP_P(( /* deprecated */ +ldap_count_values LDAP_P(( /* deprecated, use ldap_count_values_len */ char **vals )); LDAP_F( void ) -ldap_value_free LDAP_P(( /* deprecated */ +ldap_value_free LDAP_P(( /* deprecated, use ldap_values_free_len */ char **vals )); #endif @@ -1618,7 +1648,7 @@ ldap_search_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_search LDAP_P(( /* deprecated */ +ldap_search LDAP_P(( /* deprecated, use ldap_search_ext */ LDAP *ld, LDAP_CONST char *base, int scope, @@ -1627,7 +1657,7 @@ ldap_search LDAP_P(( /* deprecated */ int attrsonly )); LDAP_F( int ) -ldap_search_s LDAP_P(( /* deprecated */ +ldap_search_s LDAP_P(( /* deprecated, use ldap_search_ext_s */ LDAP *ld, LDAP_CONST char *base, int scope, @@ -1637,7 +1667,7 @@ ldap_search_s LDAP_P(( /* deprecated */ LDAPMessage **res )); LDAP_F( int ) -ldap_search_st LDAP_P(( /* deprecated */ +ldap_search_st LDAP_P(( /* deprecated, use ldap_search_ext_s */ LDAP *ld, LDAP_CONST char *base, int scope, @@ -1665,11 +1695,11 @@ ldap_unbind_ext_s LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) -ldap_unbind LDAP_P(( /* deprecated */ +ldap_unbind LDAP_P(( /* deprecated, use ldap_unbind_ext */ LDAP *ld )); LDAP_F( int ) -ldap_unbind_s LDAP_P(( /* deprecated */ +ldap_unbind_s LDAP_P(( /* deprecated, use ldap_unbind_ext_s */ LDAP *ld )); #endif @@ -1719,7 +1749,7 @@ ldap_mods_free LDAP_P(( #if LDAP_DEPRECATED /* - * in sort.c (deprecated) + * in sort.c (deprecated, use custom code instead) */ typedef int (LDAP_SORT_AD_CMP_PROC) LDAP_P(( /* deprecated */ LDAP_CONST char *left, @@ -1840,6 +1870,7 @@ ldap_create_page_control LDAP_P(( #if LDAP_DEPRECATED LDAP_F( int ) ldap_parse_page_control LDAP_P(( + /* deprecated, use ldap_parse_pageresponse_control */ LDAP *ld, LDAPControl **ctrls, ber_int_t *count, @@ -2028,7 +2059,7 @@ ldap_passwordpolicy_err2txt LDAP_P(( LDAPPasswordPolicyError )); #endif /* LDAP_CONTROL_PASSWORDPOLICYREQUEST */ /* - * LDAP Dynamic Directory Services Refresh RFC2589 + * LDAP Dynamic Directory Services Refresh -- RFC 2589 * in dds.c */ #define LDAP_API_FEATURE_REFRESH 1000 @@ -2056,5 +2087,38 @@ ldap_refresh_s LDAP_P(( LDAPControl **sctrls, LDAPControl **cctrls )); +/* + * LDAP Transactions + */ +#ifdef LDAP_X_TXN +LDAP_F( int ) +ldap_txn_start LDAP_P(( LDAP *ld, + LDAPControl **sctrls, + LDAPControl **cctrls, + int *msgidp )); + +LDAP_F( int ) +ldap_txn_start_s LDAP_P(( LDAP *ld, + LDAPControl **sctrl, + LDAPControl **cctrl, + struct berval **rettxnid )); + +LDAP_F( int ) +ldap_txn_end LDAP_P(( LDAP *ld, + int commit, + struct berval *txnid, + LDAPControl **sctrls, + LDAPControl **cctrls, + int *msgidp )); + +LDAP_F( int ) +ldap_txn_end_s LDAP_P(( LDAP *ld, + int commit, + struct berval *txnid, + LDAPControl **sctrl, + LDAPControl **cctrl, + int *retidp )); +#endif + LDAP_END_DECL #endif /* _LDAP_H */