diff --git a/libldap-manpages.dif b/libldap-manpages.dif new file mode 100644 index 0000000..3d5d93e --- /dev/null +++ b/libldap-manpages.dif @@ -0,0 +1,721 @@ +Index: openldap-2.3.19/doc/man/man3/ldap.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap.3 ++++ openldap-2.3.19/doc/man/man3/ldap.3 +@@ -39,16 +39,21 @@ created using + and set the protocol version to 3 by calling + .BR ldap_set_option (3). + The underlying session is established first operation is +-issued. This would generally be a Start TLS or Bind operation. ++issued. This would generally be a Start TLS or Bind operation, ++or a Search operation to read attributes of the Root DSE. + A Start TLS operation is performed by calling + .BR ldap_start_tls_s (3). + A LDAP bind operation is performed by calling + .BR ldap_sasl_bind (3) +-or one of its friends. Subsequently, other operations are performed ++or one of its friends. ++A Search operation is performed by calling ldap_search_ext_s(3) ++or one of its friends. ++ ++Subsequently, additional operations are performed + by calling one of the synchronous or asynchronous routines (e.g., +-.BR ldap_search_ext_s (3) ++.BR ldap_compare_ext_s (3) + or +-.BR ldap_search_ext (3) ++.BR ldap_compare_ext (3) + followed by + .BR ldap_result (3)). + Results returned from these routines are interpreted by calling the +Index: openldap-2.3.19/doc/man/man3/ldap_bind.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_bind.3 ++++ openldap-2.3.19/doc/man/man3/ldap_bind.3 +@@ -1,9 +1,9 @@ + .TH LDAP_BIND 3 "RELEASEDATE" "OpenLDAP LDVERSION" +-.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_bind.3,v 1.16.2.5 2007/01/02 21:43:44 kurt Exp $ ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_bind.3,v 1.19 2006/01/03 22:12:04 kurt Exp $ + .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. + .\" Copying restrictions apply. See COPYRIGHT/LICENSE. + .SH NAME +-ldap_bind, ldap_bind_s, ldap_simple_bind, ldap_simple_bind_s, ldap_sasl_bind, ldap_sasl_bind_s, ldap_sasl_interactive_bind_s, ldap_parse_sasl_bind_result, ldap_unbind, ldap_unbind_s \- LDAP bind routines ++ldap_bind, ldap_bind_s, ldap_simple_bind, ldap_simple_bind_s, ldap_sasl_bind, ldap_sasl_bind_s, ldap_sasl_interactive_bind_s, ldap_parse_sasl_bind_result, ldap_unbind, ldap_unbind_s, ldap_unbind_ext, ldap_unbind_ext_s, ldap_set_rebind_proc \- LDAP bind routines + .SH LIBRARY + OpenLDAP LDAP (libldap, -lldap) + .SH SYNOPSIS +@@ -58,6 +58,18 @@ OpenLDAP LDAP (libldap, -lldap) + .\" .ft + .\" LDAP *ld; + .\" int (*rebindproc)(); ++.LP ++.BI "int ldap_unbind_ext(LDAP *" ld ", LDAPControl *" sctrls "[]," ++.RS ++.BI LDAPControl *" cctrls "[]);" ++.RE ++.LP ++.BI "int ldap_unbind_ext_s(LDAP *" ld ", LDAPControl *" sctrls "[]," ++.RS ++.BI LDAPControl *" cctrls "[]);" ++.RE ++.LP ++.BI "int ldap_set_rebind_proc (LDAP *" ld ", LDAP_REBIND_PROC *" ldap_proc ", void *" params);" + .SH DESCRIPTION + .LP + These routines provide various interfaces to the LDAP bind operation. +@@ -79,7 +91,6 @@ Both synchronous and asynchronous versio + call are provided. All routines + take \fIld\fP as their first parameter, as returned from + .BR ldap_init (3). +-.LP + .SH SIMPLE AUTHENTICATION + The simplest form of the bind call is + .BR ldap_simple_bind_s() . +@@ -110,6 +121,41 @@ returns the message id of the request it + returns an LDAP error indication. + .SH SASL AUTHENTICATION + Description still under construction... ++.SH REBINDING ++.LP ++The ++.B ldap_set_rebind_proc ++function() sets the process to use for binding when an operation returns a ++referral. This function is used when an application needs to bind to another server ++in order to follow a referral or search continuation reference. ++.LP ++The function takes \fIld\fP, the \fIrebind\fP function, and the \fIparams\fP, ++the arbitrary data like state information which the client might need to properly rebind. ++The LDAP_OPT_REFERRALS option in the \fIld\fP must be set to ON for the libraries ++to use the rebind function. Use the ++.BR ldap_set_option ++function to set the value. ++.LP ++The rebind function has the following syntax. ++.B int rebind_function (LDAP *ld, const char *url,int request,ber_int_t msgid); ++.LP ++The \fIld\fP parameter must be used by the application when binding to the ++referred server if the application wants the libraries to follow the referral. ++.LP ++The \fIurl\fP parameter points to the URL referral string received from the LDAP server. ++The LDAP application can use the ++.BR ldap_url_parse() ++.LP ++The \fIrequest\fP parameter specifies the request operation that generated the referral. ++function to parse the string into its components. ++.LP ++The \fImsgid\fP parameter specifies the message ID of the request generating the referral. ++.LP ++The LDAP libraries set all the parameters when they call the rebind function. The application ++should not attempt to free either the ld or the url structures in the rebind function. ++.LP ++The application must supply to the rebind function the required authentication information such as, ++user name, password, and certificates. The rebind function must use a synchronous bind method. + .SH UNBINDING + The + .B ldap_unbind() +@@ -154,16 +200,32 @@ both of these calls are synchronous in n + .\" If anything but LDAP_SUCCESS is returned by the first call to + .\" the rebindproc, then referral processing is stopped and that error code + .\" is returned for the original LDAP operation. ++.LP ++The ++.B ldap_unbind_ext() ++and ++.B ldap_unbind_ext_s() ++allows the operations to sepicify controls. + .SH ERRORS + Asynchronous routines will return -1 in case of error, setting the + \fIld_errno\fP parameter of the \fIld\fP structure. Synchronous + routines return whatever \fIld_errno\fP is set to. See + .BR ldap_error (3) + for more information. ++.SH NOTES ++If an anonymous bind is sufficient for the application,the rebind process ++need not be provided. The LDAP libraries with the LDAP_OPT_REFERRALS option ++set to ON (default value) will automatically follow referrals using an anonymous bind. ++.LP ++If the application needs stronger authentication than an anonymous bind, ++you need to provide a rebind process for that authentication method. ++The bind method must be synchronous. + .SH SEE ALSO + .BR ldap (3), + .BR ldap_error (3), + .BR ldap_open (3), ++.BR ldap_set_option (3), ++.BR ldap_url_parse (3) + .B RFC 2222 + (http://www.ietf.org), + .B Cyrus SASL +Index: openldap-2.3.19/doc/man/man3/ldap_bind.3.links +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_bind.3.links ++++ openldap-2.3.19/doc/man/man3/ldap_bind.3.links +@@ -7,3 +7,4 @@ ldap_unbind.3 + ldap_unbind_ext.3 + ldap_unbind_s.3 + ldap_unbind_ext_s.3 ++ldap_set_rebind_proc.3 +Index: openldap-2.3.19/doc/man/man3/ldap_compare.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_compare.3 ++++ openldap-2.3.19/doc/man/man3/ldap_compare.3 +@@ -1,9 +1,9 @@ + .TH LDAP_COMPARE 3 "RELEASEDATE" "OpenLDAP LDVERSION" +-.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_compare.3,v 1.13.2.4 2007/01/02 21:43:44 kurt Exp $ ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_compare.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ + .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. + .\" Copying restrictions apply. See COPYRIGHT/LICENSE. + .SH NAME +-ldap_compare, ldap_compare_s \- Perform an LDAP compare operation ++ldap_compare, ldap_compare_s, ldap_compare_ext, ldap_compare_ext_s \- Perform an LDAP compare operation. + .SH LIBRARY + OpenLDAP LDAP (libldap, -lldap) + .SH SYNOPSIS +@@ -22,6 +22,23 @@ int ldap_compare(ld, dn, attr, value) + .ft + LDAP *ld; + char *dn, *attr, *value; ++.LP ++.ft B ++int ldap_compare_ext(ld, dn, attr, bvalue, serverctrls, clientctrls, msgidp) ++.ft ++LDAP *ld; ++char *dn, *attr; ++const struct berval *bvalue; ++LDAPControl **serverctrls, **clientctrls; ++int *msgidp; ++.LP ++.ft B ++int ldap_compare_ext_s(ld, dn, attr, bvalue, serverctrls, clientctrls) ++.ft ++LDAP *ld; ++char *dn, *attr; ++const struct berval *bvalue; ++LDAPControl **serverctrls, **clientctrls; + .SH DESCRIPTION + The + .B ldap_compare_s() +@@ -40,6 +57,20 @@ asynchronously. It takes the same param + but returns the message id of the request it initiated. The result of + the compare can be obtained by a subsequent call to + .BR ldap_result (3). ++.LP ++The ++.B ldap_compare_ext() ++routine allows server and client controls to be ++specified to extend the compare request. This routine is asynchronous like ++ldap_compare(), but its return value is an LDAP error code. It stores the ++message id of the request in the integer pointed to by msgidp. ++.LP ++The ++.B ldap_compare_ext_s() ++routine is the synchronous version of ++.BR ldap_compare_ext(). ++It also returns an LDAP error code indicating success ++or failure of the operation. + .SH ERRORS + .B ldap_compare_s() + returns an LDAP error code which can be interpreted +@@ -48,6 +79,12 @@ by calling one of + and friends. ldap_compare() returns + -1 if something went wrong initiating the request. It returns the + non-negative message id of the request if things went ok. ++.LP ++.B ldap_compare_ext_s() ++and ++.B ldap_compare_ext() ++return some Non-zero value other than 0x05 or 0x06 in case of failure. ++0x05 corresponds to LDAP_COMPARE_FALSE and 0x06 corresponds to LDAP_COMPARE_TRUE. + .SH BUGS + There is no way to compare binary values, but there should be. + .SH SEE ALSO +Index: openldap-2.3.19/doc/man/man3/ldap_delete.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_delete.3 ++++ openldap-2.3.19/doc/man/man3/ldap_delete.3 +@@ -1,9 +1,9 @@ + .TH LDAP_DELETE 3 "RELEASEDATE" "OpenLDAP LDVERSION" +-.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_delete.3,v 1.13.2.4 2007/01/02 21:43:44 kurt Exp $ ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_delete.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ + .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. + .\" Copying restrictions apply. See COPYRIGHT/LICENSE. + .SH NAME +-ldap_delete, ldap_delete_s \- Perform an LDAP delete operation ++ldap_delete, ldap_delete_s, ldap_delete_ext, ldap_delete_ext_s \- Perform an LDAP delete operation. + .SH LIBRARY + OpenLDAP LDAP (libldap, -lldap) + .SH SYNOPSIS +@@ -22,22 +22,51 @@ int ldap_delete(ld, dn) + .ft + LDAP *ld; + char *dn; ++.LP ++.ft B ++int ldap_delete_ext(ld, dn, serverctrls, clientctrls, msgidp) ++.ft ++LDAP *ld; ++char *dn; ++LDAPControl **serverctrls, **clientctrls; ++int *msgidp; ++.LP ++.ft B ++int ldap_delete_ext_s(ld, dn, serverctrls, clientctrls) ++.ft ++LDAP *ld; ++char *dn; ++LDAPControl **serverctrls, **clientctrls; + .SH DESCRIPTION + The + .B ldap_delete_s() + routine is used to perform an LDAP delete operation +-synchronously. It takes \fIdn\fP, the DN of the entry to be deleted. ++synchronously. It takes \fIdn\fP, the DN of the entry to be deleted. + It returns an LDAP error code, indicating the success or failure of the + operation. + .LP + The + .B ldap_delete() + routine is used to perform an LDAP delete operation +-asynchronously. It takes the same parameters as +-.BR ldap_delete_s() , +-but returns the message id of the request it initiated. The result of ++asynchronously. It takes the same parameters as ++.BR ldap_delete_s(), ++but returns the message id of the request it initiated. The result of + the delete can be obtained by a subsequent call to + .BR ldap_result (3). ++.LP ++The ++.B ldap_delete_ext() ++routine allows server and client controls to be ++specified to extend the delete request. This routine is asynchronous like ++ldap_delete(), but its return value is an LDAP error code. It stores the ++message id of the request in the integer pointed to by msgidp. ++.LP ++The ++.B ldap_delete_ext_s() ++routine is the synchronous version of ++.BR ldap_delete_ext(). ++It also returns an LDAP error code indicating success ++or failure of the operation. + .SH ERRORS + .B ldap_delete_s() + returns an LDAP error code which can be interpreted +@@ -45,8 +74,14 @@ by calling one of + .BR ldap_perror (3) + and friends. + .B ldap_delete() +-returns -1 if something went wrong initiating the request. It returns the ++returns -1 if something went wrong initiating the request. It returns the + non-negative message id of the request if things went ok. ++.LP ++.B ldap_delete_ext() ++and ++.B ldap_delete_ext_s() ++return some Non-zero value if ++something went wrong initiating the request, else return 0. + .SH SEE ALSO + .BR ldap (3), + .BR ldap_error (3) +Index: openldap-2.3.19/doc/man/man3/ldap_extended_operation.3 +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_extended_operation.3 +@@ -0,0 +1,64 @@ ++.TH LDAP_EXTENDED_OPERATION 3 "RELEASEDATE" "OpenLDAP LDVERSION" ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_extended_operation.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ ++.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. ++.\" Copying restrictions apply. See COPYRIGHT/LICENSE. ++.SH NAME ++ldap_extended_operation, ldap_extended_operation_s \- Extends the LDAP operations to the LDAP server. ++.SH LIBRARY ++OpenLDAP LDAP (libldap, -lldap) ++.SH SYNOPSIS ++.nf ++.ft B ++#include ++.LP ++.ft B ++int ldap_extended_operation( ld, requestoid, requestdata, sctrls[], cctrls[], msgidp ); ++.ft ++LDAP *ld; ++const char *requestoid; ++const struct berval *requestdata; ++LDAPControl *sctrls[], *cctrls[]; ++int *msgidp; ++.LP ++.ft B ++int ldap_extended_operation_s( ld, requestoid, requestdata, sctrls[], cctrls[], retoidp, retdatap ); ++.ft ++LDAP *ld, ++const char *requestoid; ++const struct berval *requestdata; ++LDAPControl *sctrls[], *cctrls[]; ++char **retoidp; ++struct berval **retdatap; ++.SH DESCRIPTION ++The ++.B ldap_extended_operation_s ++method is used to synchronously send an extended operation to the server. ++It takes \fIrequestoid\fP, which points to a dotted OID text string identifying ++the extended operation to perform. \fIrequestdata\fP is the data required for the ++operation, \fIseverctrls\fP is an array of LDAPControl structures to use with this ++extended operation,\fIclientctrls\fP is an array of LDAPControl structures that list ++the client controls to use with this extended operation .The input parameter ++\fIretoidp\fP points to a dotted-OID text string returned by the LDAP server. ++The memory used by the string should be freed with the ldap_memfree function. ++retdatap is an output parameter which points to a pointer to a berval structure ++that contains the returned data. If no data is returned, the server set this ++to NULL. The memory used by this structure should be freed with the ber_bvfree ++function. ++.LP ++The ++.B ldap_extended_operation ++works just like ldap_extended_operation_s, but the operation is asynchornous. ++It returns the message id of the request it initiated. ++The result of this operation can be obtained by calling ++.BR ldap_result(3). ++.SH NOTES ++The LDAP server must support the operation; otherwise an ++LDAP_NOT_SUPPORTED error is returned. ++.SH SEE ALSO ++.BR ldap_result (3), ++.BR ldap_parse_extended_result (3) ++.SH ACKNOWLEDGEMENTS ++.B OpenLDAP ++is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). ++.B OpenLDAP ++is derived from University of Michigan LDAP 3.3 Release. +Index: openldap-2.3.19/doc/man/man3/ldap_extended_operation.3.links +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_extended_operation.3.links +@@ -0,0 +1,2 @@ ++ldap_extended_operation_s.3 ++ +Index: openldap-2.3.19/doc/man/man3/ldap_parse_sort_control.3 +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_parse_sort_control.3 +@@ -0,0 +1,44 @@ ++.TH LDAP_PARSE_SORT-CONTROL 3 "RELEASEDATE" "OpenLDAP LDVERSION" ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_sort_control.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ ++.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. ++.\" Copying restrictions apply. See COPYRIGHT/LICENSE. ++.SH NAME ++ldap_parse_sort_control \- Decodes the information returned from a search operation ++that used a server-side sort control. ++.SH LIBRARY ++OpenLDAP LDAP (libldap, -lldap) ++.SH SYNOPSIS ++.nf ++.ft B ++#include ++.LP ++.ft B ++int ldap_parse_sort_control(ld, ctrls, returnCode, attribute) ++.ft ++LDAP *ld; ++LDAPControl **ctrls; ++unsigned long *returnCode; ++char **attribute; ++.SH DESCRIPTION ++This function is used to parse the results returned in a search operation ++that uses a server-side sort control. ++.LP ++It takes a null terminated array of LDAPControl structures usually obtained ++by a call to the ++.BR ldap_parse_result ++function. A returncode which points to the sort control result code,and an array ++of LDAPControl structures that list the client controls to use with the search. ++The function also takes an out parameter \fIattribute\fP and if the sort operation ++fails, the server may return a string that indicates the first attribute in the ++sortKey list that caused the failure. If this parameter is NULL, no string is ++returned. If a string is returned, the memory should be freed by calling the ++ldap_memfree function. ++.SH NOTES ++.SH SEE ALSO ++.BR ldap_result (3), ++.BR ldap_controls_free (3) ++.SH ACKNOWLEDGEMENTS ++.B OpenLDAP ++is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). ++.B OpenLDAP ++is derived from University of Michigan LDAP 3.3 Release. +Index: openldap-2.3.19/doc/man/man3/ldap_parse_vlv_control.3 +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_parse_vlv_control.3 +@@ -0,0 +1,53 @@ ++.TH LDAP_PARSE_VLV_CONTROL 3 "RELEASEDATE" "OpenLDAP LDVERSION" ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_vlv_control.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ ++.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. ++.\" Copying restrictions apply. See COPYRIGHT/LICENSE. ++.SH NAME ++ldap_parse_vlv_control \- Decodes the information returned from a search operation that ++used a VLV (virtual list view) control. ++.SH LIBRARY ++OpenLDAP LDAP (libldap, -lldap) ++.SH SYNOPSIS ++.nf ++.ft B ++#include ++.LP ++.ft B ++int ldap_parse_vlv_control( ld, ctrlp, target_posp, list_countp, contextp, errcodep ); ++.ft ++LDAP *ld; ++LDAPControl **ctrlp; ++unsigned long *target_posp, *list_countp; ++struct berval **contextp; ++int *errcodep; ++.SH DESCRIPTION ++The ++.B ldap_parse_vlv_control ++is used to decode the information returned from a search operation that used a ++VLV (virtual list view)control. It takes a null terminated array of LDAPControl ++structures, usually obtained by a call to the ++.BR ldap_parse_result function, ++a \fItarget_pos\fP which points to the list index of the target entry. If ++this parameter is NULL, the target position is not returned. The index returned ++is an approximation of the position of the target entry. It is ++not guaranteed to be exact. The parameter \fIlist_countp\fP points to ++the server's estimate of the size of the list. If this parameter is NULL, the ++size is not returned. \fIcontextp\fP is a pointer to the address of a berval ++structure that contains a server-generated context identifier if server returns ++one. If server does not return a context identifier, the server returns a NULL ++in this parameter. If this parameter is set to NULL, the context identifier is ++not returned. You should use this returned context in the next call to ++create a VLV control. When the berval structure is no longer needed, you should ++free the memory by calling the \fIber_bvfree function.e\fP ++\fIerrcodep\fP is an output paremeter, which points to the result code returned ++by the server. If this parameter is NULL, the result code is not returned. ++.LP ++See ++ldap.h for a list of possible return codes. ++.SH SEE ALSO ++.BR ldap_search (3) ++.SH ACKNOWLEDGEMENTS ++.B OpenLDAP ++is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). ++.B OpenLDAP ++is derived from University of Michigan LDAP 3.3 Release. +Index: openldap-2.3.19/doc/man/man3/ldap_rename.3 +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_rename.3 +@@ -0,0 +1,69 @@ ++.TH LDAP_RENAME 3 "RELEASEDATE" "OpenLDAP LDVERSION" ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_rename.3,v 1.17 2006/01/03 22:12:04 kurt Exp $ ++.\" Copyright 1998-2006 The OpenLDAP Foundation All Rights Reserved. ++.\" Copying restrictions apply. See COPYRIGHT/LICENSE. ++.SH NAME ++ldap_rename, ldap_rename_s \- Renames the specified entry. ++.SH LIBRARY ++OpenLDAP LDAP (libldap, -lldap) ++.SH SYNOPSIS ++.nf ++.ft B ++#include ++.LP ++.ft B ++int ldap_rename( ld, dn, newrdn, newparent, deleteoldrdn, sctrls[], cctrls[], msgidp ); ++.ft ++LDAP *ld; ++const char *dn, *newrdn, *newparent; ++int deleteoldrdn; ++LDAPControl *sctrls[], *cctrls[]; ++int *msgidp); ++.LP ++.ft B ++int ldap_rename_s( ld, dn, newrdn, newparent, deleteoldrdn, sctrls[], cctrls[] ); ++.ft ++LDAP *ld; ++const char *dn, *newrdn, *newparent; ++int deleteoldrdn; ++LDAPControl *sctrls[], *cctrls[]; ++.SH DESCRIPTION ++These routines are used to perform a LDAP rename operation. ++The function changes the leaf component of an entry's distinguished ++name and optionally moves the entry to a new parent container. The ++.B ldap_rename_s ++performs a rename operation synchronously. ++The method takes \fIdn\fP, which points to the distinguished name of ++the entry whose attribute is being compared, \fInewparent\fP,the distinguished ++name of the entry's new parent. If this parameter is NULL, only the RDN is changed. ++The root DN is specified by passing a zero length string, "". ++\fIdeleteoldrdn\fP specifies whether the old RDN should be retained or deleted. ++Zero indicates that the old RDN should be retained. If you choose this option, ++the attribute will contain both names (the old and the new). ++Non-zero indicates that the old RDN should be deleted. ++\fIserverctrls\fP points to an array of LDAPControl structures that list the ++client controls to use with this extended operation. Use NULL to specify ++no client controls. \fIclientctrls\fP points to an array of LDAPControl ++structures that list the client controls to use with the search. ++.LP ++.B ldap_rename ++works just like ++.B ldap_rename_s, ++but the operation is asynchornous. It returns the message id of the request ++it initiated. The result of this operation can be obtained by calling ++.BR ldap_result(3). ++.SH ERRORS ++.B ldap_rename() ++returns -1 in case of error initiating the request, and ++will set the \fIld_errno\fP field in the \fIld\fP parameter to ++indicate the error. ++.BR ldap_rename_s() ++returns the LDAP error code resulting from the rename operation. ++.SH SEE ALSO ++.BR ldap (3), ++.BR ldap_modify (3) ++.SH ACKNOWLEDGEMENTS ++.B OpenLDAP ++is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). ++.B OpenLDAP ++is derived from University of Michigan LDAP 3.3 Release. +Index: openldap-2.3.19/doc/man/man3/ldap_rename.3.links +=================================================================== +--- /dev/null ++++ openldap-2.3.19/doc/man/man3/ldap_rename.3.links +@@ -0,0 +1,2 @@ ++ldap_rename_s.3 ++ +Index: openldap-2.3.19/doc/man/man3/ldap_result.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_result.3 ++++ openldap-2.3.19/doc/man/man3/ldap_result.3 +@@ -1,5 +1,5 @@ + .TH LDAP_RESULT 3 "RELEASEDATE" "OpenLDAP LDVERSION" +-.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_result.3,v 1.16.2.4 2007/01/02 21:43:45 kurt Exp $ ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_result.3,v 1.20 2006/01/03 22:12:04 kurt Exp $ + .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. + .\" Copying restrictions apply. See COPYRIGHT/LICENSE. + .SH NAME +@@ -72,7 +72,8 @@ all references, all extended partial res + result have been received. + .LP + Upon success, the type of the result received is returned and the +-\fIresult\fP parameter will contain the result of the operation. This ++\fIresult\fP parameter will contain the result of the operation; ++otherwise, the \fIresult\fP parameter is undefined. This + result should be passed to the LDAP parsing routines, + .BR ldap_first_message (3) + and friends, for interpretation. +Index: openldap-2.3.19/doc/man/man3/ldap_search.3 +=================================================================== +--- openldap-2.3.19.orig/doc/man/man3/ldap_search.3 ++++ openldap-2.3.19/doc/man/man3/ldap_search.3 +@@ -1,9 +1,9 @@ + .TH LDAP_SEARCH 3 "RELEASEDATE" "OpenLDAP LDVERSION" +-.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_search.3,v 1.17.2.6 2007/01/02 21:43:45 kurt Exp $ ++.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_search.3,v 1.21 2006/01/03 22:12:04 kurt Exp $ + .\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. + .\" Copying restrictions apply. See COPYRIGHT/LICENSE. + .SH NAME +-ldap_search, ldap_search_s, ldap_search_st \- Perform an LDAP search operation ++ldap_search, ldap_search_s, ldap_search_st, ldap_search_ext, ldap_search_ext_s \- Perform an LDAP search operation + .SH LIBRARY + OpenLDAP LDAP (libldap, -lldap) + .SH SYNOPSIS +@@ -41,6 +41,35 @@ char *filter, *attrs[] + int attrsonly; + struct timeval *timeout; + LDAPMessage **res; ++.LP ++.ft B ++int ldap_search_ext(ld, base, scope, filter, attrs, attrsonly, serverctrls, ++.ft ++clientctrls, timeout, sizelimit, msgidp) ++.ft ++LDAP *ld; ++char *base; ++int scope; ++char *filter, *attrs[] ++int attrsonly; ++LDAPControl **serverctrls, **clientctrls; ++struct timeval *timeout; ++int sizelimit, *msgidp; ++.LP ++.ft B ++int ldap_search_ext_s(ld, base, scope, filter, attrs, attrsonly, serverctrls, ++.ft ++clientctrls, timeout, sizelimit, res) ++.ft ++LDAP *ld; ++char *base; ++int scope; ++char *filter, *attrs[] ++int attrsonly; ++LDAPControl **serverctrls, **clientctrls; ++struct timeval *timeout; ++int sizelimit; ++LDAPMessage **res; + .SH DESCRIPTION + These routines are used to perform LDAP search operations. + .B ldap_search_s() +@@ -59,6 +88,7 @@ LDAP_SCOPE_ONELEVEL, to search the objec + or LDAP_SCOPE_SUBTREE, to search the object and all its descendants. + .LP + \fIFilter\fP is a string ++ + representation of the filter to apply in the search. Simple filters + can be specified as \fI(attributetype=attributevalue)\fP. More complex + filters are specified using a prefix notation according to the following +@@ -99,8 +129,24 @@ To request no attributes, the type "1.1" + should be listed by itself. + .LP + \fIAttrsonly\fP should be set to 1 if +-only attribute types are wanted. It should be set to 0 if both ++only attribute types are wanted. It should be set to 0 if both + attributes types and attribute values are wanted. ++.LP ++.B ldap_search_ext() ++routine allows server and client controls to be specified to extend ++the search request. This routine is asynchronous like ++.BR ldap_search() , ++but its return value is an LDAP error code. It stores the message id ++of the request in the integer pointed to ++by ++.IR msgidp . ++.LP ++The ++.B ldap_search_ext_s() ++routine is the synchronous version of ++.BR ldap_search_ext(). ++It also returns an LDAP error code indicating success or failure ++of the operation. + .SH ERRORS + .B ldap_search_s() + and +@@ -111,15 +157,28 @@ See + for details. + .B ldap_search() + returns -1 in case of trouble. ++.LP ++.B ldap_search_s(), ++.B ldap_search_ext_s ++and ++.B ldap_search_st() ++will return the LDAP error code resulting from the search operation. ++See ++.BR ldap_error (3) ++for details. ++.B ldap_search() ++and ++.B ldap_search_ext ++returns -1 in case of trouble. + .SH NOTES + Note that both read + and list functionality are subsumed by these routines, + by using a filter like "(objectclass=*)" and a scope of LDAP_SCOPE_BASE (to + emulate read) or LDAP_SCOPE_ONELEVEL (to emulate list). + .LP +-These routines may dynamically allocate memory. The caller is ++These routines may dynamically allocate memory. The caller is + responsible for freeing such memory using supplied deallocation +-routines. Return values are contained in . ++routines. Return values are contained in . + .SH SEE ALSO + .BR ldap (3), + .BR ldap_result (3), diff --git a/openldap-2.3.32.tar.bz2 b/openldap-2.3.32.tar.bz2 deleted file mode 100644 index 807a758..0000000 --- a/openldap-2.3.32.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:581ea79e5082961f503253085142dda18c848cb269730e09ac1af8011d34d3b2 -size 2906492 diff --git a/openldap-2.3.33.tar.bz2 b/openldap-2.3.33.tar.bz2 new file mode 100644 index 0000000..9d6b352 --- /dev/null +++ b/openldap-2.3.33.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a3b6b63a3908a4408ba4dfbe4c031269e6bf44cb13b78ad1d0f5b56b1b0c184 +size 2921406 diff --git a/openldap2-client.changes b/openldap2-client.changes index d6f1789..afdaddd 100644 --- a/openldap2-client.changes +++ b/openldap2-client.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Jan 26 14:26:51 CET 2007 - rhafer@suse.de + +- Updated to Version 2.3.33. Most importan changes: + * Fixed slapd-ldap chase-referrals switch (ITS#4557) + * Fixed slapd-ldap bind behavior when idassert is always used + (ITS#4781) + * Fixed slapd-ldap response handling bugs (ITS#4782) + * Fixed slapd-ldap idassert mode=self anonymous ops (ITS#4798) + * Fixed slapd-ldap/meta privileged connections handling + (ITS#4791) + * Fixed slapd-meta retrying (ITS#4594, 4762) + * Fixed slapo-chain referral DN use (ITS#4776) + * Fixed slapo-dynlist dangling pointer after entry free + (ITS#4801) + * Fixed libldap ldap_pvt_put_filter syntax checks (ITS#4648) + ------------------------------------------------------------------- Fri Jan 12 11:04:22 CET 2007 - rhafer@suse.de diff --git a/openldap2-client.spec b/openldap2-client.spec index b5d1501..ff6aba7 100644 --- a/openldap2-client.spec +++ b/openldap2-client.spec @@ -1,5 +1,5 @@ # -# spec file for package openldap2-client (Version 2.3.32) +# spec file for package openldap2-client (Version 2.3.33) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -27,7 +27,7 @@ Conflicts: openldap-client Summary: OpenLDAP2 Client Utilities %endif Autoreqprov: on -Version: 2.3.32 +Version: 2.3.33 Release: 1 Source: openldap-%{version}.tar.bz2 Source1: openldap-rc.tgz @@ -43,6 +43,7 @@ Patch4: ldapi_url.dif Patch5: openldap-ntlm.diff Patch6: libldap-gethostbyname_r.dif Patch7: pie-compile.dif +Patch8: libldap-manpages.dif Patch9: slapd_chain_return_error.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build Prefix: %{_prefix} @@ -123,6 +124,7 @@ Authors: %if %suse_version > 920 %patch7 %endif +%patch8 -p1 %patch9 -p1 %build @@ -342,6 +344,20 @@ fi %endif %changelog -n openldap2-client +* Fri Jan 26 2007 - rhafer@suse.de +- Updated to Version 2.3.33. Most importan changes: + * Fixed slapd-ldap chase-referrals switch (ITS#4557) + * Fixed slapd-ldap bind behavior when idassert is always used + (ITS#4781) + * Fixed slapd-ldap response handling bugs (ITS#4782) + * Fixed slapd-ldap idassert mode=self anonymous ops (ITS#4798) + * Fixed slapd-ldap/meta privileged connections handling + (ITS#4791) + * Fixed slapd-meta retrying (ITS#4594, 4762) + * Fixed slapo-chain referral DN use (ITS#4776) + * Fixed slapo-dynlist dangling pointer after entry free + (ITS#4801) + * Fixed libldap ldap_pvt_put_filter syntax checks (ITS#4648) * Fri Jan 12 2007 - rhafer@suse.de - Updated to Version 2.3.32. Most important changes: * Fixed libldap unchased referral leak (ITS#4545) diff --git a/openldap2.changes b/openldap2.changes index d6f1789..afdaddd 100644 --- a/openldap2.changes +++ b/openldap2.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Jan 26 14:26:51 CET 2007 - rhafer@suse.de + +- Updated to Version 2.3.33. Most importan changes: + * Fixed slapd-ldap chase-referrals switch (ITS#4557) + * Fixed slapd-ldap bind behavior when idassert is always used + (ITS#4781) + * Fixed slapd-ldap response handling bugs (ITS#4782) + * Fixed slapd-ldap idassert mode=self anonymous ops (ITS#4798) + * Fixed slapd-ldap/meta privileged connections handling + (ITS#4791) + * Fixed slapd-meta retrying (ITS#4594, 4762) + * Fixed slapo-chain referral DN use (ITS#4776) + * Fixed slapo-dynlist dangling pointer after entry free + (ITS#4801) + * Fixed libldap ldap_pvt_put_filter syntax checks (ITS#4648) + ------------------------------------------------------------------- Fri Jan 12 11:04:22 CET 2007 - rhafer@suse.de diff --git a/openldap2.spec b/openldap2.spec index c87ebd2..c817406 100644 --- a/openldap2.spec +++ b/openldap2.spec @@ -1,5 +1,5 @@ # -# spec file for package openldap2 (Version 2.3.32) +# spec file for package openldap2 (Version 2.3.33) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -27,7 +27,7 @@ Conflicts: openldap-client Summary: The New OpenLDAP Server (LDAPv3) %endif Autoreqprov: on -Version: 2.3.32 +Version: 2.3.33 Release: 1 Source: openldap-%{version}.tar.bz2 Source1: openldap-rc.tgz @@ -43,6 +43,7 @@ Patch4: ldapi_url.dif Patch5: openldap-ntlm.diff Patch6: libldap-gethostbyname_r.dif Patch7: pie-compile.dif +Patch8: libldap-manpages.dif Patch9: slapd_chain_return_error.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build Prefix: %{_prefix} @@ -126,6 +127,7 @@ Authors: %if %suse_version > 920 %patch7 %endif +%patch8 -p1 %patch9 -p1 %build @@ -345,6 +347,20 @@ fi %endif %changelog -n openldap2 +* Fri Jan 26 2007 - rhafer@suse.de +- Updated to Version 2.3.33. Most importan changes: + * Fixed slapd-ldap chase-referrals switch (ITS#4557) + * Fixed slapd-ldap bind behavior when idassert is always used + (ITS#4781) + * Fixed slapd-ldap response handling bugs (ITS#4782) + * Fixed slapd-ldap idassert mode=self anonymous ops (ITS#4798) + * Fixed slapd-ldap/meta privileged connections handling + (ITS#4791) + * Fixed slapd-meta retrying (ITS#4594, 4762) + * Fixed slapo-chain referral DN use (ITS#4776) + * Fixed slapo-dynlist dangling pointer after entry free + (ITS#4801) + * Fixed libldap ldap_pvt_put_filter syntax checks (ITS#4648) * Fri Jan 12 2007 - rhafer@suse.de - Updated to Version 2.3.32. Most important changes: * Fixed libldap unchased referral leak (ITS#4545) diff --git a/slapd_chain_return_error.dif b/slapd_chain_return_error.dif index fd48847..bab430f 100644 --- a/slapd_chain_return_error.dif +++ b/slapd_chain_return_error.dif @@ -1,117 +1,3 @@ -Index: openldap-2.3.24/servers/slapd/back-ldap/chain.c -=================================================================== ---- openldap-2.3.24.orig/servers/slapd/back-ldap/chain.c -+++ openldap-2.3.24/servers/slapd/back-ldap/chain.c -@@ -90,10 +90,12 @@ typedef struct ldap_chain_t { - unsigned lc_flags; - #define LDAP_CHAIN_F_NONE (0x00U) - #define LDAP_CHAIN_F_CHAINING (0x01U) --#define LDAP_CHAIN_F_CACHE_URI (0x10U) -+#define LDAP_CHAIN_F_CACHE_URI (0x02U) -+#define LDAP_CHAIN_F_RETURN_ERR (0x04U) - - #define LDAP_CHAIN_CHAINING( lc ) ( ( (lc)->lc_flags & LDAP_CHAIN_F_CHAINING ) == LDAP_CHAIN_F_CHAINING ) - #define LDAP_CHAIN_CACHE_URI( lc ) ( ( (lc)->lc_flags & LDAP_CHAIN_F_CACHE_URI ) == LDAP_CHAIN_F_CACHE_URI ) -+#define LDAP_CHAIN_RETURN_ERR( lc ) ( ( (lc)->lc_flags & LDAP_CHAIN_F_RETURN_ERR ) == LDAP_CHAIN_F_RETURN_ERR ) - - #ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR - LDAPControl lc_chaining_ctrl; -@@ -475,6 +477,7 @@ static int - ldap_chain_response( Operation *op, SlapReply *rs ) - { - slap_overinst *on = (slap_overinst *)op->o_bd->bd_info; -+ ldap_chain_t *lc = (ldap_chain_t *)on->on_bi.bi_private; - void *private = op->o_bd->be_private; - slap_callback *sc = op->o_callback, - sc2 = { 0 }; -@@ -796,11 +799,16 @@ cannot_chain:; - - default: - #endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */ -- rc = SLAP_CB_CONTINUE; -- rs->sr_err = sr_err; -- rs->sr_type = sr_type; -- rs->sr_matched = matched; -- rs->sr_ref = ref; -+ if( LDAP_CHAIN_RETURN_ERR(lc) ){ -+ rs->sr_err = rc; -+ rs->sr_type = sr_type; -+ } else { -+ rc = SLAP_CB_CONTINUE; -+ rs->sr_err = sr_err; -+ rs->sr_type = sr_type; -+ rs->sr_matched = matched; -+ rs->sr_ref = ref; -+ } - #ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR - break; - } -@@ -858,7 +866,8 @@ str2chain( const char *s ) - - enum { - CH_CHAINING = 1, -- CH_CACHE_URI = 2, -+ CH_CACHE_URI, -+ CH_RETURN_ERR, - - CH_LAST - }; -@@ -880,6 +889,11 @@ static ConfigTable chaincfg[] = { - "( OLcfgOvAt:3.2 NAME 'olcCacheURI' " - "DESC 'Enables caching of URIs not present in configuration' " - "SYNTAX OMsBoolean SINGLE-VALUE )", NULL, NULL }, -+ { "chain-return-error", "TRUE/FALSE", -+ 2, 2, 0, ARG_MAGIC|ARG_ON_OFF|CH_RETURN_ERR, chain_cf_gen, -+ "( OLcfgOvAt:3.4 NAME 'olcChainReturnError' " -+ "DESC 'Errors are returned instead of the original referral' " -+ "SYNTAX OMsBoolean SINGLE-VALUE )", NULL, NULL }, - { NULL, NULL, 0, 0, 0, ARG_IGNORED } - }; - -@@ -892,7 +906,8 @@ static ConfigOCs chainocs[] = { - #ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR - "olcChainingBehavior $ " - #endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */ -- "olcCacheURI " -+ "olcCacheURI $ " -+ "olcChainReturnError " - ") )", - Cft_Overlay, chaincfg, NULL, chain_cfadd }, - { "( OLcfgOvOc:3.2 " -@@ -1109,6 +1124,9 @@ chain_cf_gen( ConfigArgs *c ) - case CH_CACHE_URI: - c->value_int = LDAP_CHAIN_CACHE_URI( lc ); - break; -+ case CH_RETURN_ERR: -+ c->value_int = LDAP_CHAIN_RETURN_ERR( lc ); -+ break; - - default: - assert( 0 ); -@@ -1124,6 +1142,9 @@ chain_cf_gen( ConfigArgs *c ) - case CH_CACHE_URI: - lc->lc_flags &= ~LDAP_CHAIN_F_CACHE_URI; - break; -+ case CH_RETURN_ERR: -+ lc->lc_flags &= ~LDAP_CHAIN_F_RETURN_ERR; -+ break; - - default: - return 1; -@@ -1256,6 +1277,13 @@ chain_cf_gen( ConfigArgs *c ) - lc->lc_flags &= ~LDAP_CHAIN_F_CACHE_URI; - } - break; -+ case CH_RETURN_ERR: -+ if ( c->value_int ) { -+ lc->lc_flags |= LDAP_CHAIN_F_RETURN_ERR; -+ } else { -+ lc->lc_flags &= ~LDAP_CHAIN_F_RETURN_ERR; -+ } -+ break; - - default: - assert( 0 ); Index: openldap-2.3.24/doc/man/man5/slapo-chain.5 =================================================================== --- openldap-2.3.24.orig/doc/man/man5/slapo-chain.5