[Pkg-openldap-devel] r846 - in openldap/trunk-2.3: . build clients/tools doc/guide/admin doc/man/man1 doc/man/man5 doc/man/man8 include libraries/liblber libraries/libldap libraries/libldap_r libraries/liblutil servers/slapd servers/slapd/back-bdb servers/slapd/back-ldap servers/slapd/back-ldbm servers/slapd/back-meta servers/slapd/back-perl servers/slapd/back-relay servers/slapd/back-sql servers/slapd/overlays servers/slapd/schema servers/slurpd

Matthijs Mohlmann matthijs at alioth.debian.org
Sat Sep 15 10:44:57 UTC 2007


Author: matthijs
Date: 2007-09-15 10:44:57 +0000 (Sat, 15 Sep 2007)
New Revision: 846

Added:
   openldap/trunk-2.3/servers/slapd/schema/corba.schema
   openldap/trunk-2.3/servers/slapd/schema/core.ldif
   openldap/trunk-2.3/servers/slapd/schema/core.schema
   openldap/trunk-2.3/servers/slapd/schema/cosine.schema
   openldap/trunk-2.3/servers/slapd/schema/java.schema
   openldap/trunk-2.3/servers/slapd/schema/ppolicy.schema
Modified:
   openldap/trunk-2.3/CHANGES
   openldap/trunk-2.3/build/openldap.m4
   openldap/trunk-2.3/build/version.var
   openldap/trunk-2.3/clients/tools/common.c
   openldap/trunk-2.3/clients/tools/common.h
   openldap/trunk-2.3/clients/tools/ldapcompare.c
   openldap/trunk-2.3/clients/tools/ldapdelete.c
   openldap/trunk-2.3/clients/tools/ldapmodify.c
   openldap/trunk-2.3/clients/tools/ldapmodrdn.c
   openldap/trunk-2.3/clients/tools/ldappasswd.c
   openldap/trunk-2.3/clients/tools/ldapsearch.c
   openldap/trunk-2.3/clients/tools/ldapwhoami.c
   openldap/trunk-2.3/configure
   openldap/trunk-2.3/configure.in
   openldap/trunk-2.3/doc/guide/admin/guide.html
   openldap/trunk-2.3/doc/man/man1/ldapsearch.1
   openldap/trunk-2.3/doc/man/man5/slapd-bdb.5
   openldap/trunk-2.3/doc/man/man5/slapd.conf.5
   openldap/trunk-2.3/doc/man/man5/slapo-dynlist.5
   openldap/trunk-2.3/doc/man/man5/slapo-ppolicy.5
   openldap/trunk-2.3/doc/man/man8/slapadd.8
   openldap/trunk-2.3/include/portable.hin
   openldap/trunk-2.3/libraries/liblber/sockbuf.c
   openldap/trunk-2.3/libraries/libldap/abandon.c
   openldap/trunk-2.3/libraries/libldap/addentry.c
   openldap/trunk-2.3/libraries/libldap/ldap-int.h
   openldap/trunk-2.3/libraries/libldap/os-ip.c
   openldap/trunk-2.3/libraries/libldap/os-local.c
   openldap/trunk-2.3/libraries/libldap/request.c
   openldap/trunk-2.3/libraries/libldap/search.c
   openldap/trunk-2.3/libraries/libldap_r/thr_debug.c
   openldap/trunk-2.3/libraries/liblutil/getpeereid.c
   openldap/trunk-2.3/libraries/liblutil/passfile.c
   openldap/trunk-2.3/libraries/liblutil/sockpair.c
   openldap/trunk-2.3/servers/slapd/back-bdb/add.c
   openldap/trunk-2.3/servers/slapd/back-bdb/back-bdb.h
   openldap/trunk-2.3/servers/slapd/back-bdb/config.c
   openldap/trunk-2.3/servers/slapd/back-bdb/filterindex.c
   openldap/trunk-2.3/servers/slapd/back-bdb/index.c
   openldap/trunk-2.3/servers/slapd/back-bdb/init.c
   openldap/trunk-2.3/servers/slapd/back-bdb/modify.c
   openldap/trunk-2.3/servers/slapd/back-bdb/search.c
   openldap/trunk-2.3/servers/slapd/back-bdb/tools.c
   openldap/trunk-2.3/servers/slapd/back-ldap/chain.c
   openldap/trunk-2.3/servers/slapd/back-ldap/extended.c
   openldap/trunk-2.3/servers/slapd/back-ldap/search.c
   openldap/trunk-2.3/servers/slapd/back-ldbm/compare.c
   openldap/trunk-2.3/servers/slapd/back-ldbm/ldbm.c
   openldap/trunk-2.3/servers/slapd/back-meta/search.c
   openldap/trunk-2.3/servers/slapd/back-perl/SampleLDAP.pm
   openldap/trunk-2.3/servers/slapd/back-relay/config.c
   openldap/trunk-2.3/servers/slapd/back-relay/op.c
   openldap/trunk-2.3/servers/slapd/back-sql/entry-id.c
   openldap/trunk-2.3/servers/slapd/backend.c
   openldap/trunk-2.3/servers/slapd/backglue.c
   openldap/trunk-2.3/servers/slapd/backover.c
   openldap/trunk-2.3/servers/slapd/bconfig.c
   openldap/trunk-2.3/servers/slapd/connection.c
   openldap/trunk-2.3/servers/slapd/daemon.c
   openldap/trunk-2.3/servers/slapd/dn.c
   openldap/trunk-2.3/servers/slapd/entry.c
   openldap/trunk-2.3/servers/slapd/init.c
   openldap/trunk-2.3/servers/slapd/main.c
   openldap/trunk-2.3/servers/slapd/overlays/Makefile.in
   openldap/trunk-2.3/servers/slapd/overlays/dynlist.c
   openldap/trunk-2.3/servers/slapd/overlays/pcache.c
   openldap/trunk-2.3/servers/slapd/overlays/ppolicy.c
   openldap/trunk-2.3/servers/slapd/overlays/rwm.c
   openldap/trunk-2.3/servers/slapd/overlays/rwmmap.c
   openldap/trunk-2.3/servers/slapd/overlays/syncprov.c
   openldap/trunk-2.3/servers/slapd/overlays/translucent.c
   openldap/trunk-2.3/servers/slapd/overlays/valsort.c
   openldap/trunk-2.3/servers/slapd/proto-slap.h
   openldap/trunk-2.3/servers/slapd/result.c
   openldap/trunk-2.3/servers/slapd/sasl.c
   openldap/trunk-2.3/servers/slapd/schema_init.c
   openldap/trunk-2.3/servers/slapd/slap.h
   openldap/trunk-2.3/servers/slapd/syncrepl.c
   openldap/trunk-2.3/servers/slurpd/st.c
Log:
 * New upstream release 2.3.38


/svn/pkg-openldap/hooks/commit-email.pl: `/usr/bin/svnlook diff /svn/pkg-openldap -r 846' failed with this output:
Modified: openldap/trunk-2.3/CHANGES
===================================================================
--- openldap/trunk-2.3/CHANGES	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/CHANGES	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,74 @@
 OpenLDAP 2.3 Change Log
 
+OpenLDAP 2.3.38 Release (2007/08/20)
+	Fixed slapadd check for ';binary' when required (ITS#5071)
+	Fixed slapd select_backend/ManageDSAit (ITS#4986)
+	Fixed slapd integer/pointer types and overflow (ITS#5035)
+	Fixed slapd AVA_Sort on multivalued RDNs (ITS#5057)
+	Fixed slapd LDIF parsing error handling (ITS#5090)
+	Fixed slapd syncrepl searchbase scope (ITS#5073)
+	Fixed slapd-bdb missing index warning (ITS#5037)
+	Fixed slapd-bdb Quick index for ID 0 (ITS#5052)
+	Fixed slapd-bdb spurious empty DN warnings during add (ITS#5079)
+	Fixed slapd-hdb slapacl behavior (ITS#5087)
+	Fixed slapd-relay configuration (ITS#4322,ITS#4340)
+	Fixed slapd-sql structuralObjectClass issue (ITS#5088)
+	Fixed slapo-ppolicy double-free on shutdown (ITS#5094)
+	Fixed slapo-rwm/slapd-meta dup attrs after mapping (ITS#5091)
+	Fixed slapo-syncprov uninit'd vars (ITS#5048,#5049)
+	Fixed libldap ldap_add_result_entry (ITS#5056)
+	Added client tools support for ppolicy response (ITS#5061)
+	Removed lint
+	Build Environment
+		Fixed macro definition of open() in glibc 2.6 (ITS#5075)
+	Documentation
+		aspell --lang=en_US -c <manpage> (ITS#5076)
+		Debug messages cleaned up (ITS#5085)
+
+OpenLDAP 2.3.37 Release (2007/07/20)
+	Fixed slapd-glue/syncprov interaction (ITS#4623)
+	Fixed slapd-ldap search reference crash (ITS#5025)
+	Fixed slapd-ldbm crash on Compare op (ITS#5044)
+	Fixed slapo-rwm searchFilter double free (ITS#5043)
+	Clarified slapd-perl SampleLDAP.pm usage (ITS#4995)
+	Documentation
+		Fixed slapd.conf(5) for default loglevel (ITS#5027)
+
+OpenLDAP 2.3.36 Release (2007/06/17)
+	Fixed slapd error code on Windows (ITS#4945, #4606)
+	Fixed slapd mutex bug after failed startup (ITS#4957)
+	Fixed slapd sasl failed Bind bug (ITS#4954)
+	Fixed slapd sasl ssf logging (ITS#5001)
+	Fixed slapd tool op init (ITS#4911)
+	Fixed slapd-bdb no-op crasher (ITS#4925)
+	Fixed slapd-config olcLogLevel (ITS#4949)
+	Fixed slapd-config olcModuleLoad replace (ITS#4921,ITS#4923)
+	Fixed slapd-relay crash when no database can be selected (ITS#4958)
+	Fixed slapo-chain RFC3062 passwd exop handling (ITS#4964)
+	Fixed slapo-dynlist multiple group/url[/member] config (ITS#4989)
+	Fixed slapo-pcache handling of abandoned Operations (#5015)
+	Fixed slapo-pcache and -rwm interaction (ITS#4991)
+	Fixed slapo-ppolicy pwdReset/pwdMinAge (ITS#4970)
+	Fixed slapo-ppolicy control cleanup from ITS#4665
+	Fixed slapo-syncprov cookie parsing error (ITS#4977)
+	Fixed slapo-valsort crash on delete op (ITS#4966)
+	Fixed liblber compilation problem (ITS#5007)
+	Fixed libldap referral chasing loop (ITS#4955)
+	Fixed libldap response code handling on rebind (ITS#4924)
+	Fixed libldap SASL_MAX_BUFF_SIZE (ITS#4935)
+	Fixed libldap cldap assert (ITS#4992)
+	Fixed libldap_r thread debug issues (ITS#4972)
+	Fixed liblutil reading passwd from pipe (ITS#4875)
+	Fixed ldap client usage typo (ITS#4939)
+	Build Environment
+		Fixed --disable-overlays Makefile problem (ITS#4988)
+		Fixed HP-UX socklen_t problem (ITS#4629)
+	Documentation
+		Updated ldapsearch(1) with details on -C option (ITS#5009)
+		Updated slapadd(8) with details on -s option
+		Fixed slapd.conf(5) for correct loglevel packets (ITS#5011)
+		Fixed slapo-ppolicy(5) permanent pwdAccountLockedTime (ITS#4978)
+
 OpenLDAP 2.3.35 Release (2007/04/09)
 	Fixed ldapmodify to use correct memory free functions (ITS#4901)
 	Fixed slapd acl set minor typo (ITS#4874)
@@ -178,7 +247,7 @@
 	Fixed slapo-syncprov need new CSN with delete syncID sets (ITS#4534)
 	Fixed slapo-syncprov startup when lastmod is off (ITS#4613)
 	Fixed slapo-accesslog cn=config purge bug (ITS#4595)
-	Fixes slapo-auditlog DB initialization
+	Fixed slapo-auditlog DB initialization
 	Fixed slapo-ppolicy password hashing bug (ITS#4575)
 	Fixed slapo-ppolicy password modify pwdMustChange reset bug (ITS#4576)
 	Fixed slapo-ppolicy control can be critical (ITS#4596)
@@ -364,7 +433,7 @@
 OpenLDAP 2.3.16 Release (2006/01/08)
 	Fixed slapd-bdb reindexing via cn=config not noticed issue (ITS#4260)
 	Fixed slapd-monitor connection search crash (ITS#4300)
-	Flapd slapd cn=config bad ACL syntax modify crash (ITS#4306)
+	Fixed slapd cn=config bad ACL syntax modify crash (ITS#4306)
 	Fixed slapd ACL/suffix configuration issue (ITS#4307)
 	Fixed slapd-bdb/hdb cache issue (ITS#4308)
 	Fixed slapd-bdb/hdb/ldbm suffix add with default referral issue (ITS#4310)

Modified: openldap/trunk-2.3/build/openldap.m4
===================================================================
--- openldap/trunk-2.3/build/openldap.m4	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/build/openldap.m4	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 dnl OpenLDAP Autoconf Macros
-dnl $OpenLDAP: pkg/ldap/build/openldap.m4,v 1.140.2.12 2007/02/13 04:35:39 kurt Exp $
+dnl $OpenLDAP: pkg/ldap/build/openldap.m4,v 1.140.2.13 2007/08/06 12:32:51 ando Exp $
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl Copyright 1998-2007 The OpenLDAP Foundation.
@@ -627,9 +627,9 @@
 	}
 
 #if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1)
-	rc = env->open( env, NULL, flags, 0 );
+	rc = (env->open)( env, NULL, flags, 0 );
 #else
-	rc = env->open( env, NULL, NULL, flags, 0 );
+	rc = (env->open)( env, NULL, NULL, flags, 0 );
 #endif
 
 	if ( rc == 0 ) {

Modified: openldap/trunk-2.3/build/version.var
===================================================================
--- openldap/trunk-2.3/build/version.var	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/build/version.var	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $OpenLDAP: pkg/ldap/build/version.var,v 1.7.2.85 2007/04/09 17:22:49 quanah Exp $
+# $OpenLDAP: pkg/ldap/build/version.var,v 1.7.2.94 2007/08/20 17:43:48 kurt Exp $
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
 ## Copyright 1998-2007 The OpenLDAP Foundation.
@@ -15,9 +15,9 @@
 ol_package=OpenLDAP
 ol_major=2
 ol_minor=3
-ol_patch=35
-ol_api_inc=20335
+ol_patch=38
+ol_api_inc=20338
 ol_api_current=2
-ol_api_revision=23
+ol_api_revision=26
 ol_api_age=2
-ol_release_date="2007/04/09"
+ol_release_date="2007/08/20"

Modified: openldap/trunk-2.3/clients/tools/common.c
===================================================================
--- openldap/trunk-2.3/clients/tools/common.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/common.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* common.c - common routines for the ldap client tools */
-/* $OpenLDAP: pkg/ldap/clients/tools/common.c,v 1.39.2.11 2007/04/01 22:44:09 quanah Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/common.c,v 1.39.2.13 2007/08/13 20:03:51 ando Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -46,6 +46,8 @@
 #include "ldap_defaults.h"
 #include "ldap_pvt.h"
 #include "lber_pvt.h"
+#include "lutil.h"
+#include "ldif.h"
 
 #include "common.h"
 
@@ -87,6 +89,7 @@
 int   referrals = 0;
 int   protocol = -1;
 int   verbose = 0;
+int   ldif = 0;
 int   version = 0;
 
 #ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR
@@ -155,7 +158,7 @@
 N_("             abandon, cancel (SIGINT sends abandon/cancel; not really controls)\n")
 N_("  -f file    read operations from `file'\n"),
 N_("  -h host    LDAP server\n"),
-N_("  -H URI     LDAP Uniform Resource Indentifier(s)\n"),
+N_("  -H URI     LDAP Uniform Resource Identifier(s)\n"),
 N_("  -I         use SASL Interactive mode\n"),
 N_("  -k         use Kerberos authentication\n"),
 N_("  -K         like -k, but do only step 1 of the Kerberos bind\n"),
@@ -1272,3 +1275,126 @@
 	return 0;
 }
 
+#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
+static int
+print_ppolicy( LDAP *ld, LDAPControl *ctrl )
+{
+	int expire = 0, grace = 0, rc;
+	LDAPPasswordPolicyError	pperr;
+
+	rc = ldap_parse_passwordpolicy_control( ld, ctrl,
+		&expire, &grace, &pperr );
+	if ( rc == LDAP_SUCCESS ) {
+		char	buf[ BUFSIZ ], *ptr = buf;
+
+		if ( expire != -1 ) {
+			ptr += snprintf( ptr, sizeof( buf ) - ( ptr - buf ),
+				"expire=%d", expire );
+		}
+
+		if ( grace != -1 ) {
+			ptr += snprintf( ptr, sizeof( buf ) - ( ptr - buf ),
+				"%sgrace=%d", ptr == buf ? "" : " ", grace );
+		}
+
+		if ( pperr != PP_noError ) {
+			ptr += snprintf( ptr, sizeof( buf ) - ( ptr - buf ),
+				"%serror=%d (%s)", ptr == buf ? "" : " ",
+				pperr,
+				ldap_passwordpolicy_err2txt( pperr ) );
+		}
+
+		tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+			"ppolicy", buf, ptr - buf );
+	}
+
+	return rc;
+}
+#endif
+
+void tool_print_ctrls(
+	LDAP		*ld,
+	LDAPControl	**ctrls )
+{
+	int	i;
+	char	*ptr;
+
+	for ( i = 0; ctrls[i] != NULL; i++ ) {
+		/* control: OID criticality base64value */
+		struct berval b64 = BER_BVNULL;
+		ber_len_t len;
+		char *str;
+		int j;
+
+		len = ldif ? 2 : 0;
+		len += strlen( ctrls[i]->ldctl_oid );
+
+		/* add enough for space after OID and the critical value itself */
+		len += ctrls[i]->ldctl_iscritical
+			? sizeof("true") : sizeof("false");
+
+		/* convert to base64 */
+		if ( ctrls[i]->ldctl_value.bv_len ) {
+			b64.bv_len = LUTIL_BASE64_ENCODE_LEN(
+				ctrls[i]->ldctl_value.bv_len ) + 1;
+			b64.bv_val = ber_memalloc( b64.bv_len + 1 );
+
+			b64.bv_len = lutil_b64_ntop(
+				(unsigned char *) ctrls[i]->ldctl_value.bv_val,
+				ctrls[i]->ldctl_value.bv_len,
+				b64.bv_val, b64.bv_len );
+		}
+
+		if ( b64.bv_len ) {
+			len += 1 + b64.bv_len;
+		}
+
+		ptr = str = malloc( len + 1 );
+		if ( ldif ) {
+			ptr = lutil_strcopy( ptr, ": " );
+		}
+		ptr = lutil_strcopy( ptr, ctrls[i]->ldctl_oid );
+		ptr = lutil_strcopy( ptr, ctrls[i]->ldctl_iscritical
+			? " true" : " false" );
+
+		if ( b64.bv_len ) {
+			ptr = lutil_strcopy( ptr, " " );
+			ptr = lutil_strcopy( ptr, b64.bv_val );
+		}
+
+		if ( ldif < 2 ) {
+			tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+				"control", str, len );
+		}
+
+		free( str );
+		if ( b64.bv_len ) {
+			ber_memfree( b64.bv_val );
+		}
+
+		/* known controls */
+		if ( 0 ) {
+			/* dummy */ ;
+#ifdef LDAP_CONTROL_PASSWORDPOLICYREQUEST
+		} else if ( strcmp( LDAP_CONTROL_PASSWORDPOLICYRESPONSE, ctrls[i]->ldctl_oid ) == 0 ) {
+			(void)print_ppolicy( ld, ctrls[i] );
+#endif
+		}
+	}
+}
+
+int
+tool_write_ldif( int type, char *name, char *value, ber_len_t vallen )
+{
+	char	*ldif;
+
+	if (( ldif = ldif_put( type, name, value, vallen )) == NULL ) {
+		return( -1 );
+	}
+
+	fputs( ldif, stdout );
+	ber_memfree( ldif );
+
+	return( 0 );
+}
+

Modified: openldap/trunk-2.3/clients/tools/common.h
===================================================================
--- openldap/trunk-2.3/clients/tools/common.h	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/common.h	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* common.h - common definitions for the ldap client tools */
-/* $OpenLDAP: pkg/ldap/clients/tools/common.h,v 1.11.2.7 2007/01/02 21:43:41 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/common.h,v 1.11.2.8 2007/08/13 20:03:51 ando Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -61,6 +61,7 @@
 extern int   referrals;
 extern int   protocol;
 extern int   verbose;
+extern int   ldif;
 extern int   version;
 
 /* Defined in common.c, set in main() */
@@ -89,6 +90,8 @@
 	char *matched,
 	char *info,
 	char **refs ));
+void tool_print_ctrls LDAP_P(( LDAP *ld, LDAPControl **ctrls ));
+int tool_write_ldif LDAP_P(( int type, char *name, char *value, ber_len_t vallen ));
 
 LDAP_END_DECL
 

Modified: openldap/trunk-2.3/clients/tools/ldapcompare.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapcompare.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapcompare.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapcompare.c -- LDAP compare tool */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapcompare.c,v 1.34.2.5 2007/01/02 21:43:41 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapcompare.c,v 1.34.2.6 2007/08/13 18:04:39 quanah Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -238,6 +238,7 @@
 	char		*matcheddn;
 	char		*text;
 	char		**refs;
+	LDAPControl **ctrls = NULL;
 
 	if ( not ) {
 		return LDAP_SUCCESS;
@@ -270,7 +271,7 @@
 		}
 	}
 
-	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, NULL, 1 );
+	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, &ctrls, 1 );
 
 	if( rc != LDAP_SUCCESS ) {
 		fprintf( stderr, "%s: ldap_parse_result: %s (%d)\n",
@@ -300,10 +301,6 @@
 		}
 	}
 
-	ber_memfree( text );
-	ber_memfree( matcheddn );
-	ber_memvfree( (void **) refs );
-
 	/* if we were told to be quiet, use the return value. */
 	if ( !quiet ) {
 		if ( code == LDAP_COMPARE_TRUE ) {
@@ -315,6 +312,15 @@
 		}
 	}
 
+	if ( ctrls ) {
+		tool_print_ctrls( ld, ctrls );
+		ldap_controls_free( ctrls );
+	}
+
+	ber_memfree( text );
+	ber_memfree( matcheddn );
+	ber_memvfree( (void **) refs );
+
 	return( code );
 }
 

Modified: openldap/trunk-2.3/clients/tools/ldapdelete.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapdelete.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapdelete.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapdelete.c - simple program to delete an entry using LDAP */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapdelete.c,v 1.109.2.6 2007/01/02 21:43:41 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapdelete.c,v 1.109.2.7 2007/08/13 18:04:39 quanah Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -211,6 +211,7 @@
 	int id;
 	int	rc, code;
 	char *matcheddn = NULL, *text = NULL, **refs = NULL;
+	LDAPControl **ctrls = NULL;
 	LDAPMessage *res;
 
 	if ( verbose ) {
@@ -255,7 +256,7 @@
 		}
 	}
 
-	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, NULL, 1 );
+	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, &ctrls, 1 );
 
 	if( rc != LDAP_SUCCESS ) {
 		fprintf( stderr, "%s: ldap_parse_result: %s (%d)\n",
@@ -287,6 +288,11 @@
 		}
 	}
 
+	if (ctrls) {
+		tool_print_ctrls( ld, ctrls );
+		ldap_controls_free( ctrls );
+    }
+
 	ber_memfree( text );
 	ber_memfree( matcheddn );
 	ber_memvfree( (void **) refs );

Modified: openldap/trunk-2.3/clients/tools/ldapmodify.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapmodify.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapmodify.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapmodify.c - generic program to modify or add entries using LDAP */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapmodify.c,v 1.158.2.12 2007/04/01 22:44:23 quanah Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapmodify.c,v 1.158.2.13 2007/08/13 20:03:51 ando Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -1165,9 +1165,51 @@
 	}
 
 	if ( ldap_msgtype( res ) != LDAP_RES_INTERMEDIATE ) {
-		rc = ldap_result2error( ld, res, 1 );
-		if( rc != LDAP_SUCCESS ) ldap_perror( ld, opstr );
-		return rc;
+		int code;
+		char *matcheddn = NULL, *text = NULL, **refs = NULL;
+		LDAPControl **ctrls = NULL;
+		rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, &ctrls, 1 );
+
+		if ( rc != LDAP_SUCCESS ) {
+			fprintf( stderr, "%s: ldap_parse_result: %s (%d)\n",
+				prog, ldap_err2string( rc ), rc );
+			return rc;
+		}
+
+		if ( code != LDAP_SUCCESS ) {
+			tool_perror( prog, code, NULL, matcheddn, text, refs );
+		} else if ( verbose && 
+			((matcheddn && *matcheddn) || (text && *text) || (refs && *refs) ))
+		{
+			printf( _("Delete Result: %s (%d)\n"),
+				ldap_err2string( code ), code );
+
+			if ( text && *text ) {
+				printf( _("Additional info: %s\n"), text );
+			}
+
+			if ( matcheddn && *matcheddn ) {
+				printf( _("Matched DN: %s\n"), matcheddn );
+			}
+
+			if ( refs ) {
+				int i;
+				for( i=0; refs[i]; i++ ) {
+					printf(_("Referral: %s\n"), refs[i] );
+				}
+			}
+		}
+
+		if (ctrls) {
+			tool_print_ctrls( ld, ctrls );
+			ldap_controls_free( ctrls );
+		}
+
+		ber_memfree( text );
+		ber_memfree( matcheddn );
+		ber_memvfree( (void **) refs );
+
+		return code;
 	}
 
 #ifdef LDAP_GROUP_TRANSACTION

Modified: openldap/trunk-2.3/clients/tools/ldapmodrdn.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapmodrdn.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapmodrdn.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapmodrdn.c - generic program to modify an entry's RDN using LDAP */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapmodrdn.c,v 1.106.2.6 2007/01/02 21:43:41 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapmodrdn.c,v 1.106.2.7 2007/08/13 18:04:39 quanah Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -242,6 +242,7 @@
 {
 	int rc, code, id;
 	char *matcheddn=NULL, *text=NULL, **refs=NULL;
+	LDAPControl **ctrls = NULL;
 	LDAPMessage *res;
 
     if ( verbose ) {
@@ -285,7 +286,7 @@
 		}
 	}
 
-	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, NULL, 1 );
+	rc = ldap_parse_result( ld, res, &code, &matcheddn, &text, &refs, &ctrls, 1 );
 
 	if( rc != LDAP_SUCCESS ) {
 		fprintf( stderr, "%s: ldap_parse_result: %s (%d)\n",
@@ -315,6 +316,11 @@
 		}
 	}
 
+	if (ctrls) {
+		tool_print_ctrls( ld, ctrls );
+		ldap_controls_free( ctrls );
+    }
+
 	ber_memfree( text );
 	ber_memfree( matcheddn );
 	ber_memvfree( (void **) refs );

Modified: openldap/trunk-2.3/clients/tools/ldappasswd.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldappasswd.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldappasswd.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldappasswd -- a tool for change LDAP passwords */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldappasswd.c,v 1.127.2.6 2007/01/02 21:43:42 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldappasswd.c,v 1.127.2.7 2007/08/13 18:04:39 quanah Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -177,6 +177,7 @@
 	char *matcheddn = NULL, *text = NULL, **refs = NULL;
 	char	*retoid = NULL;
 	struct berval *retdata = NULL;
+	LDAPControl **ctrls = NULL;
 
     tool_init();
 	prog = lutil_progname( "ldappasswd", argc, argv );
@@ -310,6 +311,8 @@
 		goto done;
 	}
 
+	tool_server_controls( ld, NULL, 0);
+
 	rc = ldap_extended_operation( ld,
 		LDAP_EXOP_MODIFY_PASSWD, bv.bv_val ? &bv : NULL, 
 		NULL, NULL, &id );
@@ -344,7 +347,7 @@
 	}
 
 	rc = ldap_parse_result( ld, res,
-		&code, &matcheddn, &text, &refs, NULL, 0 );
+		&code, &matcheddn, &text, &refs, &ctrls, 0 );
 	if( rc != LDAP_SUCCESS ) {
 		ldap_perror( ld, "ldap_parse_result" );
 		rc = EXIT_FAILURE;
@@ -380,9 +383,17 @@
 		}
 
 		ber_free( ber, 1 );
+
+	} else if ( code == LDAP_SUCCESS && newpw.bv_val == NULL ) {
+		tool_perror( "ldap_parse_extended_result", LDAP_DECODING_ERROR,
+			" new password expected", NULL, NULL, NULL );
 	}
 
-	if( verbose || code != LDAP_SUCCESS || matcheddn || text || refs ) {
+skip:
+	if( verbose || code != LDAP_SUCCESS ||
+		matcheddn || text || refs || ctrls )
+	{
+
 		printf( _("Result: %s (%d)\n"), ldap_err2string( code ), code );
 
 		if( text && *text ) {
@@ -399,6 +410,11 @@
 				printf(_("Referral: %s\n"), refs[i] );
 			}
 		}
+
+		if( ctrls ) {
+			tool_print_ctrls( ld, ctrls );
+			ldap_controls_free( ctrls );
+		}
 	}
 
 	ber_memfree( text );

Modified: openldap/trunk-2.3/clients/tools/ldapsearch.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapsearch.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapsearch.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapsearch -- a tool for searching LDAP directories */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.207.2.11 2007/01/02 21:43:42 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.207.2.12 2007/08/13 20:03:51 ando Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -163,12 +163,6 @@
 static void print_ctrls(
 	LDAPControl **ctrls );
 
-static int write_ldif LDAP_P((
-	int type,
-	char *name,
-	char *value,
-	ber_len_t vallen ));
-
 static int dosearch LDAP_P((
 	LDAP	*ld,
 	char	*base,
@@ -186,7 +180,7 @@
 static char *urlpre = NULL;
 static char	*base = NULL;
 static char	*sortattr = NULL;
-static int  includeufn, vals2tmp = 0, ldif = 0;
+static int  includeufn, vals2tmp = 0;
 
 static int subentries = 0, valuesReturnFilter = 0;
 static char	*vrFilter = NULL;
@@ -1183,9 +1177,9 @@
 
 	if ( ldif < 2 ) {
 		ufn = ldap_dn2ufn( bv.bv_val );
-		write_ldif( LDIF_PUT_COMMENT, NULL, ufn, ufn ? strlen( ufn ) : 0 );
+		tool_write_ldif( LDIF_PUT_COMMENT, NULL, ufn, ufn ? strlen( ufn ) : 0 );
 	}
-	write_ldif( LDIF_PUT_VALUE, "dn", bv.bv_val, bv.bv_len );
+	tool_write_ldif( LDIF_PUT_VALUE, "dn", bv.bv_val, bv.bv_len );
 
 	rc = ldap_get_entry_controls( ld, entry, &ctrls );
 	if( rc != LDAP_SUCCESS ) {
@@ -1203,7 +1197,7 @@
 		if( ufn == NULL ) {
 			ufn = ldap_dn2ufn( bv.bv_val );
 		}
-		write_ldif( LDIF_PUT_VALUE, "ufn", ufn, ufn ? strlen( ufn ) : 0 );
+		tool_write_ldif( LDIF_PUT_VALUE, "ufn", ufn, ufn ? strlen( ufn ) : 0 );
 	}
 
 	if( ufn != NULL ) ldap_memfree( ufn );
@@ -1217,7 +1211,7 @@
 		if (bv.bv_val == NULL) break;
 
 		if ( attrsonly ) {
-			write_ldif( LDIF_PUT_NOVALUE, bv.bv_val, NULL, 0 );
+			tool_write_ldif( LDIF_PUT_NOVALUE, bv.bv_val, NULL, 0 );
 
 		} else if ( bvals ) {
 			for ( i = 0; bvals[i].bv_val != NULL; i++ ) {
@@ -1257,10 +1251,10 @@
 						&tmpfname[strlen(tmpdir) + sizeof(LDAP_DIRSEP) - 1] );
 
 					urlize( url );
-					write_ldif( LDIF_PUT_URL, bv.bv_val, url, strlen( url ));
+					tool_write_ldif( LDIF_PUT_URL, bv.bv_val, url, strlen( url ));
 
 				} else {
-					write_ldif( LDIF_PUT_VALUE, bv.bv_val,
+					tool_write_ldif( LDIF_PUT_VALUE, bv.bv_val,
 						bvals[ i ].bv_val, bvals[ i ].bv_len );
 				}
 			}
@@ -1295,7 +1289,7 @@
 	if( refs ) {
 		int i;
 		for( i=0; refs[i] != NULL; i++ ) {
-			write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+			tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
 				"ref", refs[i], strlen(refs[i]) );
 		}
 		ber_memvfree( (void **) refs );
@@ -1328,14 +1322,14 @@
 	}
 
 	if ( ldif < 2 ) {
-		write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+		tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
 			"extended", retoid, retoid ? strlen(retoid) : 0 );
 	}
 	ber_memfree( retoid );
 
 	if(retdata) {
 		if ( ldif < 2 ) {
-			write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_BINARY,
+			tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_BINARY,
 				"data", retdata->bv_val, retdata->bv_len );
 		}
 		ber_bvfree( retdata );
@@ -1366,7 +1360,7 @@
 	}
 
 	if ( ldif < 2 ) {
-		write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+		tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
 			"partial", retoid, retoid ? strlen(retoid) : 0 );
 	}
 
@@ -1374,7 +1368,7 @@
 
 	if( retdata ) {
 		if ( ldif < 2 ) {
-			write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_BINARY,
+			tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_BINARY,
 				"data", retdata->bv_val, retdata->bv_len );
 		}
 
@@ -1426,7 +1420,7 @@
 	if( matcheddn ) {
 		if( *matcheddn ) {
 		if( !ldif ) {
-			write_ldif( LDIF_PUT_VALUE,
+			tool_write_ldif( LDIF_PUT_VALUE,
 				"matchedDN", matcheddn, strlen(matcheddn) );
 		} else {
 			fprintf( stderr, _("Matched DN: %s\n"), matcheddn );
@@ -1439,7 +1433,7 @@
 	if( text ) {
 		if( *text ) {
 		if( !ldif ) {
-			write_ldif( LDIF_PUT_TEXT, "text",
+			tool_write_ldif( LDIF_PUT_TEXT, "text",
 				text, strlen(text) );
 		} else {
 			fprintf( stderr, _("Additional information: %s\n"), text );
@@ -1453,7 +1447,7 @@
 		int i;
 		for( i=0; refs[i] != NULL; i++ ) {
 			if( !ldif ) {
-				write_ldif( LDIF_PUT_VALUE, "ref", refs[i], strlen(refs[i]) );
+				tool_write_ldif( LDIF_PUT_VALUE, "ref", refs[i], strlen(refs[i]) );
 			} else {
 				fprintf( stderr, _("Referral: %s\n"), refs[i] );
 			}
@@ -1521,7 +1515,7 @@
 		}
 
 		if ( ldif < 2 ) {
-			write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
+			tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
 				"control", str, len );
 		}
 
@@ -1530,22 +1524,6 @@
 	}
 }
 
-static int
-write_ldif( int type, char *name, char *value, ber_len_t vallen )
-{
-	char	*ldif;
-
-	if (( ldif = ldif_put( type, name, value, vallen )) == NULL ) {
-		return( -1 );
-	}
-
-	fputs( ldif, stdout );
-	ber_memfree( ldif );
-
-	return( 0 );
-}
-
-
 #ifdef LDAP_CONTROL_PAGEDRESULTS
 static int 
 parse_page_control(

Modified: openldap/trunk-2.3/clients/tools/ldapwhoami.c
===================================================================
--- openldap/trunk-2.3/clients/tools/ldapwhoami.c	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/clients/tools/ldapwhoami.c	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 /* ldapwhoami.c -- a tool for asking the directory "Who Am I?" */
-/* $OpenLDAP: pkg/ldap/clients/tools/ldapwhoami.c,v 1.33.2.5 2007/01/02 21:43:42 kurt Exp $ */
+/* $OpenLDAP: pkg/ldap/clients/tools/ldapwhoami.c,v 1.33.2.6 2007/08/13 18:04:39 quanah Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
  * Copyright 1998-2007 The OpenLDAP Foundation.
@@ -118,6 +118,7 @@
 	struct berval	*retdata = NULL;
 	int		id, code=0;
 	LDAPMessage	*res;
+	LDAPControl	**ctrls = NULL;
 
 	tool_init();
 	prog = lutil_progname( "ldapwhoami", argc, argv );
@@ -161,7 +162,7 @@
 	rc = ldap_whoami( ld, NULL, NULL, &id ); 
 
 	if( rc != LDAP_SUCCESS ) {
-		ldap_perror( ld, "ldap_extended_operation" );
+		ldap_perror( ld, "ldap_whoami" );
 		rc = EXIT_FAILURE;
 		goto skip;
 	}
@@ -188,7 +189,7 @@
 	}
 
 	rc = ldap_parse_result( ld, res,
-		&code, &matcheddn, &text, &refs, NULL, 0 );
+		&code, &matcheddn, &text, &refs, &ctrls, 0 );
 
 	if( rc != LDAP_SUCCESS ) {
 		ldap_perror( ld, "ldap_parse_result" );
@@ -212,7 +213,10 @@
 		}
 	}
 
-	if( verbose || ( code != LDAP_SUCCESS ) || matcheddn || text || refs ) {
+skip:
+	if ( verbose || ( code != LDAP_SUCCESS ) ||
+		matcheddn || text || refs || ctrls )
+	{
 		printf( _("Result: %s (%d)\n"), ldap_err2string( code ), code );
 
 		if( text && *text ) {
@@ -229,6 +233,11 @@
 				printf(_("Referral: %s\n"), refs[i] );
 			}
 		}
+
+		if (ctrls) {
+			tool_print_ctrls( ld, ctrls );
+			ldap_controls_free( ctrls );
+		}
 	}
 
 	ber_memfree( text );
@@ -237,7 +246,6 @@
 	ber_memfree( retoid );
 	ber_bvfree( retdata );
 
-skip:
 	/* disconnect from server */
 	tool_unbind( ld );
 	tool_destroy();

Modified: openldap/trunk-2.3/configure
===================================================================
--- openldap/trunk-2.3/configure	2007-09-15 10:39:00 UTC (rev 845)
+++ openldap/trunk-2.3/configure	2007-09-15 10:44:57 UTC (rev 846)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.560.2.32 2007/01/02 21:43:40 kurt Exp .
+# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.560.2.33 2007/06/10 18:39:53 hallvard Exp .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59.
 #
@@ -35722,9 +35722,9 @@
 	}
 
 #if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1)
-	rc = env->open( env, NULL, flags, 0 );
+	rc = (env->open)( env, NULL, flags, 0 );
 #else
-	rc = env->open( env, NULL, NULL, flags, 0 );
+	rc = (env->open)( env, NULL, NULL, flags, 0 );
 #endif
 
 	if ( rc == 0 ) {
@@ -39558,6 +39558,7 @@
 fi
 
 
+
 echo "$as_me:$LINENO: checking for socklen_t" >&5
 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6
 if test "${ac_cv_type_socklen_t+set}" = set; then
@@ -39574,7 +39575,6 @@
 #include <sys/socket.h>
 #endif
 
-
 int
 main ()
 {
@@ -39619,14 +39619,86 @@
 fi
 echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
 echo "${ECHO_T}$ac_cv_type_socklen_t" >&6
-if test $ac_cv_type_socklen_t = yes; then
-  :
+
+
+echo "$as_me:$LINENO: checking the type of arg 3 to accept()" >&5
+echo $ECHO_N "checking the type of arg 3 to accept()... $ECHO_C" >&6
+if test "${ol_cv_type_ber_socklen_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+	set socklen_t int unsigned "unsigned long" long size_t
+	test "$ac_cv_type_socklen_t" = yes || shift
+	ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+	for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+		cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+
+int
+main ()
+{
+
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+	done ; done
+fi
+
+echo "$as_me:$LINENO: result: $guessing$ol_cv_type_ber_socklen_t *" >&5
+echo "${ECHO_T}$guessing$ol_cv_type_ber_socklen_t *" >&6
+
 cat >>confdefs.h <<_ACEOF
-#define socklen_t int
+#define ber_socklen_t $ol_cv_type_ber_socklen_t
 _ACEOF
 
+
+if test "$ac_cv_type_socklen_t" != yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define socklen_t $ol_cv_type_ber_socklen_t
+_ACEOF
+
 fi
 
 

Modified: openldap/trunk-2.3/configure.in
===================================================================



More information about the Pkg-openldap-devel mailing list