diff --git a/back-perl-init.dif b/back-perl-init.dif deleted file mode 100644 index 735b40d..0000000 --- a/back-perl-init.dif +++ /dev/null @@ -1,146 +0,0 @@ -Index: servers/slapd/back-perl/init.c -=================================================================== ---- servers/slapd/back-perl/init.c.orig -+++ servers/slapd/back-perl/init.c -@@ -35,7 +35,9 @@ perl_back_initialize( - BackendInfo *bi - ) - { -- bi->bi_open = perl_back_open; -+ char *embedding[] = { "", "-e", "0" }; -+ -+ bi->bi_open = NULL; - bi->bi_config = 0; - bi->bi_close = perl_back_close; - bi->bi_destroy = 0; -@@ -63,16 +65,7 @@ perl_back_initialize( - bi->bi_connection_init = 0; - bi->bi_connection_destroy = 0; - -- return 0; --} -- --int --perl_back_open( -- BackendInfo *bi --) --{ -- char *embedding[] = { "", "-e", "0" }; -- -+ /* injecting code from perl_back_open, because using fonction reference (bi->bi_open) is not functional */ - Debug( LDAP_DEBUG_TRACE, "perl backend open\n", 0, 0, 0 ); - - if( PERL_INTERPRETER != NULL ) { -Index: servers/slapd/back-perl/proto-perl.h -=================================================================== ---- servers/slapd/back-perl/proto-perl.h.orig -+++ servers/slapd/back-perl/proto-perl.h -@@ -22,7 +22,6 @@ LDAP_BEGIN_DECL - - extern BI_init perl_back_initialize; - --extern BI_open perl_back_open; - extern BI_close perl_back_close; - - extern BI_db_init perl_back_db_init; -Index: servers/slapd/back-perl/bind.c -=================================================================== ---- servers/slapd/back-perl/bind.c.orig -+++ servers/slapd/back-perl/bind.c -@@ -32,7 +32,7 @@ perl_back_bind( - - PerlBackend *perl_back = (PerlBackend *) op->o_bd->be_private; - --#ifdef HAVE_WIN32_ASPERL -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) - PERL_SET_CONTEXT( PERL_INTERPRETER ); - #endif - -Index: servers/slapd/back-perl/add.c -=================================================================== ---- servers/slapd/back-perl/add.c.orig -+++ servers/slapd/back-perl/add.c -@@ -26,6 +26,10 @@ perl_back_add( - int len; - int count; - -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif -+ - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - ldap_pvt_thread_mutex_lock( &entry2str_mutex ); - -Index: servers/slapd/back-perl/compare.c -=================================================================== ---- servers/slapd/back-perl/compare.c.orig -+++ servers/slapd/back-perl/compare.c -@@ -41,6 +41,10 @@ perl_back_compare( - op->orc_ava->aa_desc->ad_cname.bv_val ), "=" ), - op->orc_ava->aa_value.bv_val ); - -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif -+ - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - - { -Index: servers/slapd/back-perl/delete.c -=================================================================== ---- servers/slapd/back-perl/delete.c.orig -+++ servers/slapd/back-perl/delete.c -@@ -25,6 +25,10 @@ perl_back_delete( - PerlBackend *perl_back = (PerlBackend *) op->o_bd->be_private; - int count; - -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif -+ - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - - { -Index: servers/slapd/back-perl/modify.c -=================================================================== ---- servers/slapd/back-perl/modify.c.orig -+++ servers/slapd/back-perl/modify.c -@@ -27,7 +27,9 @@ perl_back_modify( - int count; - int i; - -- -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - - { -Index: servers/slapd/back-perl/modrdn.c -=================================================================== ---- servers/slapd/back-perl/modrdn.c.orig -+++ servers/slapd/back-perl/modrdn.c -@@ -25,6 +25,9 @@ perl_back_modrdn( - PerlBackend *perl_back = (PerlBackend *) op->o_bd->be_private; - int count; - -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - - { -Index: servers/slapd/back-perl/search.c -=================================================================== ---- servers/slapd/back-perl/search.c.orig -+++ servers/slapd/back-perl/search.c -@@ -34,6 +34,9 @@ perl_back_search( - char *buf; - int i; - -+#if defined(HAVE_WIN32_ASPERL) || defined(USE_ITHREADS) -+ PERL_SET_CONTEXT( PERL_INTERPRETER ); -+#endif - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - - { diff --git a/libldap-manpages.dif b/libldap-manpages.dif deleted file mode 100644 index c855076..0000000 --- a/libldap-manpages.dif +++ /dev/null @@ -1,994 +0,0 @@ ---- openldap-2.3.19.orig/doc/man/man3/Makefile.in -+++ openldap-2.3.19/doc/man/man3/Makefile.in -@@ -1,16 +1,16 @@ --# man3 Makefile.in for OpenLDAP --# $OpenLDAP: pkg/ldap/doc/man/man3/Makefile.in,v 1.8.2.4 2006/01/03 22:16:04 kurt Exp $ --## This work is part of OpenLDAP Software . --## --## Copyright 1998-2006 The OpenLDAP Foundation. --## All rights reserved. --## --## Redistribution and use in source and binary forms, with or without --## modification, are permitted only as authorized by the OpenLDAP --## Public License. --## --## A copy of this license is available in the file LICENSE in the --## top-level directory of the distribution or, alternatively, at --## . -- --MANSECT=3 -+# man3 Makefile.in for OpenLDAP -+# $OpenLDAP: pkg/ldap/doc/man/man3/Makefile.in,v 1.11 2006/01/03 22:12:04 kurt Exp $ -+## This work is part of OpenLDAP Software . -+## -+## Copyright 1998-2006 The OpenLDAP Foundation. -+## All rights reserved. -+## -+## Redistribution and use in source and binary forms, with or without -+## modification, are permitted only as authorized by the OpenLDAP -+## Public License. -+## -+## A copy of this license is available in the file LICENSE in the -+## top-level directory of the distribution or, alternatively, at -+## . -+ -+MANSECT=3 -Index: openldap-2.3.19/doc/man/man3/lber-decode.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/lber-decode.3 -+++ openldap-2.3.19/doc/man/man3/lber-decode.3 -@@ -1,5 +1,5 @@ - .TH LBER_DECODE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-decode.3,v 1.21.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-decode.3,v 1.23 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 -Index: openldap-2.3.19/doc/man/man3/lber-encode.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/lber-encode.3 -+++ openldap-2.3.19/doc/man/man3/lber-encode.3 -@@ -1,5 +1,5 @@ - .TH LBER_ENCODE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-encode.3,v 1.19.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-encode.3,v 1.21 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 -Index: openldap-2.3.19/doc/man/man3/lber-memory.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/lber-memory.3 -+++ openldap-2.3.19/doc/man/man3/lber-memory.3 -@@ -1,5 +1,5 @@ - .TH LBER_MEMORY 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-memory.3,v 1.12.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-memory.3,v 1.14 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 -Index: openldap-2.3.19/doc/man/man3/lber-types.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/lber-types.3 -+++ openldap-2.3.19/doc/man/man3/lber-types.3 -@@ -1,5 +1,5 @@ - .TH LBER_TYPES 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-types.3,v 1.16.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/lber-types.3,v 1.19 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 -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 -@@ -1,5 +1,5 @@ - .TH LDAP 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap.3,v 1.34.2.5 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap.3,v 1.40 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 -@@ -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_abandon.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_abandon.3 -+++ openldap-2.3.19/doc/man/man3/ldap_abandon.3 -@@ -1,5 +1,5 @@ - .TH LDAP_ABANDON 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_abandon.3,v 1.15.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_abandon.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 -Index: openldap-2.3.19/doc/man/man3/ldap_add.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_add.3 -+++ openldap-2.3.19/doc/man/man3/ldap_add.3 -@@ -1,5 +1,5 @@ - .TH LDAP_ADD 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_add.3,v 1.15.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_add.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 -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.4 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_bind.3,v 1.19 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_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.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_compare.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_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.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_delete.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_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_error.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_error.3 -+++ openldap-2.3.19/doc/man/man3/ldap_error.3 -@@ -1,5 +1,5 @@ - .TH LDAP_ERROR 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_error.3,v 1.19.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_error.3,v 1.21 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 -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_first_attribute.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_first_attribute.3 -+++ openldap-2.3.19/doc/man/man3/ldap_first_attribute.3 -@@ -1,5 +1,5 @@ - .TH LDAP_FIRST_ATTRIBUTE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_attribute.3,v 1.18.2.5 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_attribute.3,v 1.21 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 -Index: openldap-2.3.19/doc/man/man3/ldap_first_entry.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_first_entry.3 -+++ openldap-2.3.19/doc/man/man3/ldap_first_entry.3 -@@ -1,5 +1,5 @@ - .TH LDAP_FIRST_ENTRY 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_entry.3,v 1.14.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_entry.3,v 1.16 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 -Index: openldap-2.3.19/doc/man/man3/ldap_first_message.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_first_message.3 -+++ openldap-2.3.19/doc/man/man3/ldap_first_message.3 -@@ -1,5 +1,5 @@ - .TH LDAP_FIRST_MESSAGE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_message.3,v 1.9.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_message.3,v 1.11 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 -Index: openldap-2.3.19/doc/man/man3/ldap_first_reference.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_first_reference.3 -+++ openldap-2.3.19/doc/man/man3/ldap_first_reference.3 -@@ -1,5 +1,5 @@ - .TH LDAP_FIRST_REFERENCE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_reference.3,v 1.9.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_first_reference.3,v 1.11 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 -Index: openldap-2.3.19/doc/man/man3/ldap_get_dn.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_get_dn.3 -+++ openldap-2.3.19/doc/man/man3/ldap_get_dn.3 -@@ -1,5 +1,5 @@ - .TH LDAP_GET_DN 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_get_dn.3,v 1.25.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_get_dn.3,v 1.28 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 -Index: openldap-2.3.19/doc/man/man3/ldap_get_values.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_get_values.3 -+++ openldap-2.3.19/doc/man/man3/ldap_get_values.3 -@@ -1,5 +1,5 @@ - .TH LDAP_GET_VALUES 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_get_values.3,v 1.15.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_get_values.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 -Index: openldap-2.3.19/doc/man/man3/ldap_modify.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_modify.3 -+++ openldap-2.3.19/doc/man/man3/ldap_modify.3 -@@ -1,5 +1,5 @@ - .TH LDAP_MODIFY 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_modify.3,v 1.12.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_modify.3,v 1.14 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 -Index: openldap-2.3.19/doc/man/man3/ldap_modrdn.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_modrdn.3 -+++ openldap-2.3.19/doc/man/man3/ldap_modrdn.3 -@@ -1,5 +1,5 @@ - .TH LDAP_MODRDN 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_modrdn.3,v 1.12.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_modrdn.3,v 1.14 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 -Index: openldap-2.3.19/doc/man/man3/ldap_open.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_open.3 -+++ openldap-2.3.19/doc/man/man3/ldap_open.3 -@@ -1,5 +1,5 @@ - .TH LDAP_OPEN 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_open.3,v 1.13.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_open.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 -Index: openldap-2.3.19/doc/man/man3/ldap_parse_reference.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_parse_reference.3 -+++ openldap-2.3.19/doc/man/man3/ldap_parse_reference.3 -@@ -1,5 +1,5 @@ - .TH LDAP_PARSE_REFERENCE 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_reference.3,v 1.10.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_reference.3,v 1.12 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 -Index: openldap-2.3.19/doc/man/man3/ldap_parse_result.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_parse_result.3 -+++ openldap-2.3.19/doc/man/man3/ldap_parse_result.3 -@@ -1,5 +1,5 @@ - .TH LDAP_PARSE_RESULT 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_result.3,v 1.9.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_parse_result.3,v 1.11 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 -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.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_result.3,v 1.20 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 -@@ -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_schema.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_schema.3 -+++ openldap-2.3.19/doc/man/man3/ldap_schema.3 -@@ -1,5 +1,5 @@ - .TH LDAP_SCHEMA 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_schema.3,v 1.12.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_schema.3,v 1.15 2006/01/03 22:12:04 kurt Exp $ - .\" Copyright 2000-2006 The OpenLDAP Foundation All Rights Reserved. - .\" Copying restrictions apply. See COPYRIGHT/LICENSE. - .SH NAME -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.5 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_search.3,v 1.21 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_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), -Index: openldap-2.3.19/doc/man/man3/ldap_sort.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_sort.3 -+++ openldap-2.3.19/doc/man/man3/ldap_sort.3 -@@ -1,5 +1,5 @@ - .TH LDAP_SORT 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_sort.3,v 1.13.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_sort.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 -Index: openldap-2.3.19/doc/man/man3/ldap_url.3 -=================================================================== ---- openldap-2.3.19.orig/doc/man/man3/ldap_url.3 -+++ openldap-2.3.19/doc/man/man3/ldap_url.3 -@@ -1,5 +1,5 @@ - .TH LDAP_URL 3 "RELEASEDATE" "OpenLDAP LDVERSION" --.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_url.3,v 1.16.2.3 2006/01/03 22:16:04 kurt Exp $ -+.\" $OpenLDAP: pkg/ldap/doc/man/man3/ldap_url.3,v 1.18 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 diff --git a/libldap-sasl_bind-assert.dif b/libldap-sasl_bind-assert.dif deleted file mode 100644 index c591c56..0000000 --- a/libldap-sasl_bind-assert.dif +++ /dev/null @@ -1,56 +0,0 @@ -Full_Name: Howard Chu -Version: all < 2.3.29 -OS: -URL: ftp://ftp.openldap.org/incoming/ -Submission from: (NULL) (76.168.84.21) -Submitted by: hyc - - -Apparently this bug was discovered by Evgeny Legerov but was not previously -reported to anyone on the Project. The bug is now fixed in HEAD and RE23. - -Performing a SASL Bind with an authcid longer than 255 characters, with a -space -as the 255th character, will cause the length of the normalized name to be -computed incorrectly, failing to take into account the escaping of the -space -character. (The SASL Bind code truncates all incoming names longer than 255 -to -exactly 255 characters.) This triggers an assert in libldap because the -resulting string length doesn't match what we expected it to be. - -The fix is in libldap/getdn.c rev 1.134. - -The MITRE CVE record for this bug is -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5779 - ---- libraries/libldap/getdn.c 2006/10/28 02:47:58 1.133 -+++ libraries/libldap/getdn.c 2006/11/08 22:57:02 1.134 -@@ -2016,7 +2016,7 @@ - strval2strlen( struct berval *val, unsigned flags, ber_len_t *len ) - { - ber_len_t l, cl = 1; -- char *p; -+ char *p, *end; - int escaped_byte_len = LDAP_DN_IS_PRETTY( flags ) ? 1 : 3; - #ifdef PRETTY_ESCAPE - int escaped_ascii_len = LDAP_DN_IS_PRETTY( flags ) ? 2 : 3; -@@ -2030,7 +2030,8 @@ - return( 0 ); - } - -- for ( l = 0, p = val->bv_val; p < val->bv_val + val->bv_len; p += cl ) { -+ end = val->bv_val + val->bv_len - 1; -+ for ( l = 0, p = val->bv_val; p <= end; p += cl ) { - - /* - * escape '%x00' -@@ -2059,7 +2060,7 @@ - } else if ( LDAP_DN_NEEDESCAPE( p[ 0 ] ) - || LDAP_DN_SHOULDESCAPE( p[ 0 ] ) - || ( p == val->bv_val && LDAP_DN_NEEDESCAPE_LEAD( p[ 0 ] ) ) -- || ( !p[ 1 ] && LDAP_DN_NEEDESCAPE_TRAIL( p[ 0 ] ) ) ) { -+ || ( p == end && LDAP_DN_NEEDESCAPE_TRAIL( p[ 0 ] ) ) ) { - #ifdef PRETTY_ESCAPE - #if 0 - if ( LDAP_DN_WILLESCAPE_HEX( flags, p[ 0 ] ) ) { diff --git a/openldap-2.3.27.tar.bz2 b/openldap-2.3.27.tar.bz2 deleted file mode 100644 index 6a0adfb..0000000 --- a/openldap-2.3.27.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eaad67982a1612526bea8ab31dce95f87ecf6d14406a3f8a3209063d84e3777d -size 2901710 diff --git a/openldap-2.3.32.tar.bz2 b/openldap-2.3.32.tar.bz2 new file mode 100644 index 0000000..807a758 --- /dev/null +++ b/openldap-2.3.32.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:581ea79e5082961f503253085142dda18c848cb269730e09ac1af8011d34d3b2 +size 2906492 diff --git a/openldap2-client.changes b/openldap2-client.changes index 54f666c..d6f1789 100644 --- a/openldap2-client.changes +++ b/openldap2-client.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jan 12 11:04:22 CET 2007 - rhafer@suse.de + +- Updated to Version 2.3.32. Most important changes: + * Fixed libldap unchased referral leak (ITS#4545) + * Fixed libldap tls callback (ITS#4723) + * Fixed slapd memleak on failed bind (ITS#4771) + * Fixed slapd connections_shutdown assert + * Fixed slapd add redundant duplicate value check (ITS#4600) + * Fixed slapd ACL set memleak (ITS#4780) + * Fixed slapd syncrepl shutdown hang (ITS#4790) + ------------------------------------------------------------------- Fri Nov 17 10:25:44 CET 2006 - rhafer@suse.de diff --git a/openldap2-client.spec b/openldap2-client.spec index 245b1ad..b5d1501 100644 --- a/openldap2-client.spec +++ b/openldap2-client.spec @@ -1,7 +1,7 @@ # -# spec file for package openldap2-client (Version 2.3.27) +# spec file for package openldap2-client (Version 2.3.32) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -27,8 +27,8 @@ Conflicts: openldap-client Summary: OpenLDAP2 Client Utilities %endif Autoreqprov: on -Version: 2.3.27 -Release: 23 +Version: 2.3.32 +Release: 1 Source: openldap-%{version}.tar.bz2 Source1: openldap-rc.tgz Source2: openldap-admin-guide.tar.bz2 @@ -43,10 +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 -Patch10: back-perl-init.dif -Patch11: libldap-sasl_bind-assert.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build Prefix: %{_prefix} @@ -126,10 +123,7 @@ Authors: %if %suse_version > 920 %patch7 %endif -%patch8 -p1 %patch9 -p1 -%patch10 -%patch11 %build %{?suse_update_config:%{suse_update_config -f build}} @@ -348,6 +342,15 @@ fi %endif %changelog -n openldap2-client +* Fri Jan 12 2007 - rhafer@suse.de +- Updated to Version 2.3.32. Most important changes: + * Fixed libldap unchased referral leak (ITS#4545) + * Fixed libldap tls callback (ITS#4723) + * Fixed slapd memleak on failed bind (ITS#4771) + * Fixed slapd connections_shutdown assert + * Fixed slapd add redundant duplicate value check (ITS#4600) + * Fixed slapd ACL set memleak (ITS#4780) + * Fixed slapd syncrepl shutdown hang (ITS#4790) * Fri Nov 17 2006 - rhafer@suse.de - Fix for a flaw in libldap's strval2strlen() function when processing the authcid string of certain Bind Requests, which could allow attackers to diff --git a/openldap2.changes b/openldap2.changes index 54f666c..d6f1789 100644 --- a/openldap2.changes +++ b/openldap2.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jan 12 11:04:22 CET 2007 - rhafer@suse.de + +- Updated to Version 2.3.32. Most important changes: + * Fixed libldap unchased referral leak (ITS#4545) + * Fixed libldap tls callback (ITS#4723) + * Fixed slapd memleak on failed bind (ITS#4771) + * Fixed slapd connections_shutdown assert + * Fixed slapd add redundant duplicate value check (ITS#4600) + * Fixed slapd ACL set memleak (ITS#4780) + * Fixed slapd syncrepl shutdown hang (ITS#4790) + ------------------------------------------------------------------- Fri Nov 17 10:25:44 CET 2006 - rhafer@suse.de diff --git a/openldap2.spec b/openldap2.spec index aac4f49..c87ebd2 100644 --- a/openldap2.spec +++ b/openldap2.spec @@ -1,7 +1,7 @@ # -# spec file for package openldap2 (Version 2.3.27) +# spec file for package openldap2 (Version 2.3.32) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -27,8 +27,8 @@ Conflicts: openldap-client Summary: The New OpenLDAP Server (LDAPv3) %endif Autoreqprov: on -Version: 2.3.27 -Release: 23 +Version: 2.3.32 +Release: 1 Source: openldap-%{version}.tar.bz2 Source1: openldap-rc.tgz Source2: openldap-admin-guide.tar.bz2 @@ -43,10 +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 -Patch10: back-perl-init.dif -Patch11: libldap-sasl_bind-assert.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build Prefix: %{_prefix} @@ -129,10 +126,7 @@ Authors: %if %suse_version > 920 %patch7 %endif -%patch8 -p1 %patch9 -p1 -%patch10 -%patch11 %build %{?suse_update_config:%{suse_update_config -f build}} @@ -351,6 +345,15 @@ fi %endif %changelog -n openldap2 +* Fri Jan 12 2007 - rhafer@suse.de +- Updated to Version 2.3.32. Most important changes: + * Fixed libldap unchased referral leak (ITS#4545) + * Fixed libldap tls callback (ITS#4723) + * Fixed slapd memleak on failed bind (ITS#4771) + * Fixed slapd connections_shutdown assert + * Fixed slapd add redundant duplicate value check (ITS#4600) + * Fixed slapd ACL set memleak (ITS#4780) + * Fixed slapd syncrepl shutdown hang (ITS#4790) * Fri Nov 17 2006 - rhafer@suse.de - Fix for a flaw in libldap's strval2strlen() function when processing the authcid string of certain Bind Requests, which could allow attackers to