commit openldap2 for openSUSE:Factory
Hello community,
here is the log from the commit of package openldap2 for openSUSE:Factory
checked in at Mon Aug 1 09:43:30 CEST 2011.
--------
--- openldap2/openldap2-client.changes 2011-03-29 17:31:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/openldap2/openldap2-client.changes 2011-07-07 17:04:11.000000000 +0200
@@ -1,0 +2,35 @@
+Thu Jul 7 14:43:05 UTC 2011 - rhafer@suse.de
+
+- Update to 2.4.26
+ * Added libldap LDAP_OPT_X_TLS_PACKAGE (ITS#6969)
+ * Fixed libldap descriptor leak (ITS#6929)
+ * Fixed libldap socket leak (ITS#6930)
+ * Fixed libldap get option crash (ITS#6931)
+ * Fixed libldap lockup (ITS#6898)
+ * Fixed libldap ASYNC TLS setup (ITS#6828)
+ * Fixed libldap with missing \n terminations (ITS#6947)
+ * Fixed tools double free (ITS#6946)
+ * Fixed tools verbose output (ITS#6977)
+ * Fixed ldapmodify SEGV on invalid LDIF (ITS#6978)
+ * Added slapd extra_attrs database option (ITS#6513)
+ * Fixed slapd asserts (ITS#6932)
+ * Fixed slapd configfile param on windows (ITS#6933)
+ * Fixed slapd config with global chaining (ITS#6843)
+ * Fixed slapd uninitialized variables (ITS#6935)
+ * Fixed slapd config objectclass is readonly (ITS#6963)
+ * Fixed slapd entry response with control (ITS#6899)
+ * Fixed slapd with unknown attrs (ITS#6819)
+ * Fixed slapd normalization of schema RDN (ITS#6967)
+ * Fixed slapd operations cache to 10 op limit (ITS#6944)
+ * Fixed slapd syncrepl crash with non-replicated ops (ITS#6892)
+ * Fixed slapd-bdb/hdb with sparse index ranges (ITS#6961)
+ * Fixed back-ldap ppolicy updates (ITS#6711)
+ * Fixed back-ldap with id-assert (ITS#6817)
+ * Fixed various slapo-pcache issues (ITS#6823, ITS#6950,
+ ITS#6951, ITS#6953, ITS#6954)
+ * Fixed slapo-pcache database corruption (ITS#6831)
+ * Fixed slapo-syncprov with replicated subtrees (ITS#6872)
+- backported delete support for child entries of overlays from
+ master (bnc#704398)
+
+-------------------------------------------------------------------
openldap2.changes: same change
calling whatdependson for head-i586
Old:
----
openldap-2.3.37.tar.bz2
openldap-2.4.25.tar.bz2
New:
----
0011-config-delete-overlay-fixes.dif
0012-backport-ConfigLDAPdel-callback-from-current-master.dif
openldap-2.3.37.tgz
openldap-2.4.26.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openldap2-client.spec ++++++
--- /var/tmp/diff_new_pack.y6Mcu9/_old 2011-08-01 09:41:39.000000000 +0200
+++ /var/tmp/diff_new_pack.y6Mcu9/_new 2011-08-01 09:41:39.000000000 +0200
@@ -24,7 +24,7 @@
%if %sles_version == 9 || %sles_version == 10
BuildRequires: -libopenssl-devel -pwdutils openssl-devel
%endif
-Version: 2.4.25
+Version: 2.4.26
Release: 1
Url: http://www.openldap.org
License: BSD3c(or similar) ; openldap 2.8
@@ -45,7 +45,7 @@
Summary: The OpenLDAP commandline client tools
%endif
AutoReqProv: on
-Source: openldap-%{version}.tar.bz2
+Source: openldap-%{version}.tgz
Source1: openldap-rc.tgz
Source2: addonschema.tar.gz
Source3: DB_CONFIG
@@ -53,7 +53,7 @@
Source5: README.update
Source6: README.dynamic-overlays
Source7: schema2ldif
-Source100: openldap-2.3.37.tar.bz2
+Source100: openldap-2.3.37.tgz
Patch1: 0001-build-adjustments.dif
Patch2: 0002-slapd.conf.dif
Patch3: 0003-LDAPI-socket-location.dif
@@ -64,6 +64,8 @@
Patch8: 0008-Recover-on-DB-version-change.dif
Patch9: 0009-unregister_supported_control-backport.dif
Patch10: 0010-Fix-exposure-of-SSS-VLV-controls-ITS-6647.dif
+Patch11: 0011-config-delete-overlay-fixes.dif
+Patch12: 0012-backport-ConfigLDAPdel-callback-from-current-master.dif
Patch100: openldap-2.3.37.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if "%{name}" == "openldap2"
@@ -240,6 +242,8 @@
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p1
+%patch12 -p1
cp %{SOURCE5} .
cp %{SOURCE6} .
cd ../openldap-2.3.37
@@ -481,10 +485,7 @@
%{_libdir}/libldap*.so.*
EOF
cat > openldap2-devel.filelist <
From 0ca1fbc64f2f02cbdff0827e4ca1bbe312bebc2f Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp
Date: Fri, 22 Jan 2010 11:18:46 +0100 Subject: config-delete overlay fixes
- unregister controls when removing overlays from cn=config (syncprov, ppolicy, valsort, chain and sssvlv) - Send error to active psearches upon syncprov overlay removal - syncprov: reset BackendInfo to original value after checkpoint. Leaks memory otherwise (with -DSLAP_CONFIG_DELETE) bnc#548773 diff --git a/servers/slapd/back-ldap/chain.c b/servers/slapd/back-ldap/chain.c index 41bb6ef..8f37efb 100644 --- a/servers/slapd/back-ldap/chain.c +++ b/servers/slapd/back-ldap/chain.c @@ -1979,6 +1979,11 @@ ldap_chain_db_close( BackendDB *be, ConfigReply *cr ) { +#ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR +#ifdef SLAP_CONFIG_DELETE + overlay_unregister_control( be, LDAP_CONTROL_X_CHAINING_BEHAVIOR ); +#endif /* SLAP_CONFIG_DELETE */ +#endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */ return ldap_chain_db_func( be, db_close ); } diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c index 43cc345..048bf89 100644 --- a/servers/slapd/overlays/ppolicy.c +++ b/servers/slapd/overlays/ppolicy.c @@ -2308,6 +2308,11 @@ ppolicy_close( slap_overinst *on = (slap_overinst *) be->bd_info; pp_info *pi = on->on_bi.bi_private; + +#ifdef SLAP_CONFIG_DELETE + overlay_unregister_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST ); +#endif /* SLAP_CONFIG_DELETE */ + /* Perhaps backover should provide bi_destroy hooks... */ ov_count--; if ( ov_count <=0 && pwcons ) { diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 1100de7..814f95e 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -3143,6 +3143,7 @@ syncprov_db_close( { slap_overinst *on = (slap_overinst *) be->bd_info; syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private; + syncops *so, *sonext; if ( slapMode & SLAP_TOOL_MODE ) { return 0; @@ -3162,6 +3163,20 @@ syncprov_db_close( syncprov_checkpoint( op, on ); } +#ifdef SLAP_CONFIG_DELETE + ldap_pvt_thread_mutex_lock( &si->si_ops_mutex ); + for ( so=si->si_ops, sonext=so; so; so=sonext ) { + SlapReply rs = {REP_RESULT}; + rs.sr_err = LDAP_UNAVAILABLE; + send_ldap_result( so->s_op, &rs ); + sonext=so->s_next; + syncprov_drop_psearch( so, 0); + } + si->si_ops=NULL; + ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex ); + overlay_unregister_control( be, LDAP_CONTROL_SYNC ); +#endif /* SLAP_CONFIG_DELETE */ + return 0; } diff --git a/servers/slapd/overlays/valsort.c b/servers/slapd/overlays/valsort.c index 80d9382..033cbf6 100644 --- a/servers/slapd/overlays/valsort.c +++ b/servers/slapd/overlays/valsort.c @@ -490,6 +490,10 @@ valsort_destroy( slap_overinst *on = (slap_overinst *)be->bd_info; valsort_info *vi = on->on_bi.bi_private, *next; +#ifdef SLAP_CONFIG_DELETE + overlay_unregister_control( be, LDAP_CONTROL_VALSORT ); +#endif /* SLAP_CONFIG_DELETE */ + for (; vi; vi = next) { next = vi->vi_next; ch_free( vi->vi_dn.bv_val ); diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 1aebece..bb0dd63 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -484,6 +484,9 @@ LDAP_SLAPD_F (void) overlay_move LDAP_P(( #ifdef SLAP_CONFIG_DELETE LDAP_SLAPD_F (void) overlay_remove LDAP_P(( BackendDB *be, slap_overinst *on )); +LDAP_SLAPD_F (void) overlay_unregister_control LDAP_P(( + BackendDB *be, + const char *oid )); #endif /* SLAP_CONFIG_DELETE */ LDAP_SLAPD_F (int) overlay_callback_after_backover LDAP_P(( Operation *op, slap_callback *sc, int append )); -- 1.7.3.4 ++++++ 0012-backport-ConfigLDAPdel-callback-from-current-master.dif ++++++
From e9c58d8eb653e2e1fa8d84f8631dcc3fa5965db2 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp
Date: Tue, 15 Mar 2011 16:57:41 +0000 Subject: backport ConfigLDAPdel callback from current master
bnc#704398 diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 3354c09..309668e 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -6047,10 +6047,12 @@ config_back_delete( Operation *op, SlapReply *rs ) rs->sr_matched = last->ce_entry->e_name.bv_val; rs->sr_err = LDAP_NO_SUCH_OBJECT; } else if ( ce->ce_kids ) { - rs->sr_err = LDAP_UNWILLING_TO_PERFORM; + rs->sr_err = LDAP_NOT_ALLOWED_ON_NONLEAF; } else if ( op->o_abandon ) { rs->sr_err = SLAPD_ABANDON; - } else if ( ce->ce_type == Cft_Overlay || ce->ce_type == Cft_Database){ + } else if ( ce->ce_type == Cft_Overlay || + ce->ce_type == Cft_Database || + ce->ce_type == Cft_Misc ){ char *iptr; int count, ixold; @@ -6058,7 +6060,46 @@ config_back_delete( Operation *op, SlapReply *rs ) if ( ce->ce_type == Cft_Overlay ){ overlay_remove( ce->ce_be, (slap_overinst *)ce->ce_bi ); - } else { /* Cft_Database*/ + } else if ( ce->ce_type == Cft_Misc ) { + /* + * only Cft_Misc objects that have a co_lddel handler set in + * the ConfigOCs struct can be deleted. This code also + * assumes that the entry can be only have one objectclass + * with co_type == Cft_Misc + */ + ConfigOCs co, *coptr; + Attribute *oc_at; + int i; + + oc_at = attr_find( ce->ce_entry->e_attrs, + slap_schema.si_ad_objectClass ); + if ( !oc_at ) { + rs->sr_err = LDAP_OTHER; + rs->sr_text = "objectclass not found"; + ldap_pvt_thread_pool_resume( &connection_pool ); + goto out; + } + for ( i=0; !BER_BVISNULL(&oc_at->a_nvals[i]); i++ ) { + co.co_name = &oc_at->a_nvals[i]; + coptr = avl_find( CfOcTree, &co, CfOc_cmp ); + if ( coptr == NULL || coptr->co_type != Cft_Misc ) { + continue; + } + if ( ! coptr->co_lddel || coptr->co_lddel( ce, op ) ){ + rs->sr_err = LDAP_UNWILLING_TO_PERFORM; + if ( ! coptr->co_lddel ) { + rs->sr_text = "No delete handler found"; + } else { + rs->sr_err = LDAP_OTHER; + /* FIXME: We should return a helpful error message + * here */ + } + ldap_pvt_thread_pool_resume( &connection_pool ); + goto out; + } + break; + } + } else if (ce->ce_type == Cft_Database ) { if ( ce->ce_be == frontendDB || ce->ce_be == op->o_bd ){ rs->sr_err = LDAP_UNWILLING_TO_PERFORM; rs->sr_text = "Cannot delete config or frontend database"; @@ -6128,10 +6169,10 @@ config_back_delete( Operation *op, SlapReply *rs ) } else { rs->sr_err = LDAP_UNWILLING_TO_PERFORM; } +out: #else rs->sr_err = LDAP_UNWILLING_TO_PERFORM; #endif /* SLAP_CONFIG_DELETE */ -out: send_ldap_result( op, rs ); return rs->sr_err; } diff --git a/servers/slapd/config.h b/servers/slapd/config.h index 9c037d4..d79ae74 100644 --- a/servers/slapd/config.h +++ b/servers/slapd/config.h @@ -100,12 +100,21 @@ typedef int (ConfigLDAPadd)( typedef int (ConfigCfAdd)( Operation *op, SlapReply *rs, Entry *parent, struct config_args_s *ca ); +#ifdef SLAP_CONFIG_DELETE +/* Called when deleting a Cft_Misc Child object from cn=config */ +typedef int (ConfigLDAPdel)( + CfEntryInfo *ce, Operation *op ); +#endif + typedef struct ConfigOCs { const char *co_def; ConfigType co_type; ConfigTable *co_table; ConfigLDAPadd *co_ldadd; ConfigCfAdd *co_cfadd; +#ifdef SLAP_CONFIG_DELETE + ConfigLDAPdel *co_lddel; +#endif ObjectClass *co_oc; struct berval *co_name; } ConfigOCs; -- 1.7.3.4 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de