1
0
forked from pool/openldap2
OBS User unknown 2007-01-12 16:15:22 +00:00 committed by Git OBS Bridge
parent 778482e49e
commit ef802c5464
9 changed files with 53 additions and 1219 deletions

View File

@ -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 );
{

View File

@ -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 <http://www.openldap.org/>.
-##
-## 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
-## <http://www.OpenLDAP.org/license.html>.
-
-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 <http://www.openldap.org/>.
+##
+## 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
+## <http://www.OpenLDAP.org/license.html>.
+
+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 <ldap.h>
+.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 <ldap.h>
+.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 <ldap.h>
+.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 <ldap.h>
+.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 <ldap.h>.
+routines. Return values are contained in <ldap.h>.
.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

View File

@ -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 ] ) ) {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eaad67982a1612526bea8ab31dce95f87ecf6d14406a3f8a3209063d84e3777d
size 2901710

3
openldap-2.3.32.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:581ea79e5082961f503253085142dda18c848cb269730e09ac1af8011d34d3b2
size 2906492

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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