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