[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