Hello community,
here is the log from the commit of package openldap2 for openSUSE:Factory
checked in at Fri Feb 18 13:41:36 CET 2011.
--------
--- openldap2/openldap2-client.changes 2011-01-19 17:54:57.000000000 +0100
+++ /mounts/work_src_done/STABLE/openldap2/openldap2-client.changes 2011-02-14 14:58:46.000000000 +0100
@@ -1,0 +2,39 @@
+Mon Feb 14 11:09:36 UTC 2011 - rhafer@suse.de
+
+- Updated to 2.4.24, important changes:
+ * Added libldap_r,libldap formal concurrency API (ITS#6625,ITS#5421)
+ * Added slapadd attribute value checking (ITS#6592)
+ * Added slapcat continue mode for problematic DBs (ITS#6482)
+ * Added slapd syncrepl suffixmassage support (ITS#6781)
+ * Fixed liblber to not close invalid sockets (ITS#6585)
+ * Fixed libldap referral chasing (ITS#6602)
+ * Fixed libldap leak when chasing referrals (ITS#6744)
+ * Fixed slapd acl parsing overflow (ITS#6611)
+ * Fixed slapd acl when resuming parsing (ITS#6804)
+ * Fixed slapd default config acls with overlays (ITS#6822)
+ * Fixed slapd config leak with olcDbDirectory (ITS#6634)
+ * Fixed slapd when first acl is value dependent (ITS#6693)
+ * Fixed slapd-bdb slapadd -q with glued dbs (ITS#6794)
+ * Fixed slapo-ppolicy don't update opattrs on consumers (ITS#6608)
+ * Fixed slapo-ppolicy to allow userPassword deletion (ITS#6620)
+ * Fixed slapo-syncprov to send error if consumer is newer (ITS#6606)
+ * Fixed slapo-syncprov filter race condition (ITS#6708)
+ * Fixed slapo-syncprov active mod race (ITS#6709)
+ * Fixed slapo-syncprov to refresh if context is dirty (ITS#6710)
+ * Fixed slapo-syncprov CSN updates to all replicas (ITS#6718)
+ * Fixed slapo-syncprov sessionlog ordering (ITS#6716)
+ * Fixed slapo-syncprov sessionlog with adds (ITS#6503)
+ * Fixed slapo-syncprov mutex (ITS#6438)
+ * Fixed slapo-syncprov mincsn check with MMR (ITS#6717)
+ * Fixed slapo-syncprov control leak (ITS#6795)
+ * Fixed slapo-syncprov error codes (ITS#6812)
+ * For a comprehensive list of changes please consult the CHANGES
+ file
+- removed unneeded openSUSE 11.0 specifc patch
+
+-------------------------------------------------------------------
+Tue Feb 1 10:08:06 UTC 2011 - rhafer@suse.de
+
+- slapadd -q could crash for glued bdb/hdb databases
+
+-------------------------------------------------------------------
openldap2.changes: same change
calling whatdependson for head-i586
Old:
----
0009-List-static-overlays-backends-when-with-VVV.dif
openldap-2.4.23.tar.bz2
slapd_getaddrinfo_dupl.dif
New:
----
0009-unregister_supported_control-backport.dif
0010-Fix-exposure-of-SSS-VLV-controls-ITS-6647.dif
openldap-2.4.24.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openldap2-client.spec ++++++
--- /var/tmp/diff_new_pack.ALsxDz/_old 2011-02-18 13:41:27.000000000 +0100
+++ /var/tmp/diff_new_pack.ALsxDz/_new 2011-02-18 13:41:27.000000000 +0100
@@ -24,8 +24,8 @@
%if %sles_version == 9 || %sles_version == 10
BuildRequires: -libopenssl-devel -pwdutils openssl-devel
%endif
-Version: 2.4.23
-Release: 6
+Version: 2.4.24
+Release: 1
Url: http://www.openldap.org
License: BSD3c(or similar) ; openldap 2.8
%if "%{name}" == "openldap2"
@@ -62,9 +62,9 @@
Patch6: 0006-assorted-fixes-for-back-config-DELETE-support.dif
Patch7: 0007-No-Build-date-and-time-in-binaries.dif
Patch8: 0008-Recover-on-DB-version-change.dif
-Patch9: 0009-List-static-overlays-backends-when-with-VVV.dif
+Patch9: 0009-unregister_supported_control-backport.dif
+Patch10: 0010-Fix-exposure-of-SSS-VLV-controls-ITS-6647.dif
Patch100: openldap-2.3.37.dif
-Patch200: slapd_getaddrinfo_dupl.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if "%{name}" == "openldap2"
@@ -239,9 +239,7 @@
%patch7 -p1
%patch8 -p1
%patch9 -p1
-%if %suse_version == 1100
-%patch200 -p1
-%endif
+%patch10 -p1
cp %{SOURCE5} .
cp %{SOURCE6} .
cd ../openldap-2.3.37
openldap2.spec: same change
++++++ 0001-build-adjustments.dif ++++++
--- /var/tmp/diff_new_pack.ALsxDz/_old 2011-02-18 13:41:27.000000000 +0100
+++ /var/tmp/diff_new_pack.ALsxDz/_new 2011-02-18 13:41:27.000000000 +0100
@@ -1,15 +1,13 @@
-From 5ea89a18adad1c9e03fc8792dd95a4ad80603025 Mon Sep 17 00:00:00 2001
+From 437222f39c2199913ba818cae0acdebf2283c28f Mon Sep 17 00:00:00 2001
From: Ralf Haferkamp
From c07b502530f87626e53400c36d6468f8348f863b Mon Sep 17 00:00:00 2001 From: ralf <ralf> Date: Wed, 30 Jun 2010 10:38:01 +0000 Subject: unregister_supported_control() backport
The fix for bnc#648479/ITS#6647 makes use of this call Original log-message: new call unregister_supported_control(), will be needed for cn=config delete support Also included: use be_ctrls[cid] for counting the number of overlay instances that have registered the control for a specific BackendDB to make sure that the control is unregistered only after the last instance calls overlay_unregister_control(). diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c index e3a6b7c..4e86bfb 100644 --- a/servers/slapd/backover.c +++ b/servers/slapd/backover.c @@ -1074,14 +1074,22 @@ overlay_register_control( BackendDB *be, const char *oid ) gotit = 1; } - bd->be_ctrls[ cid ] = 1; + /* overlays can be instanciated multiple times, use + * be_ctrls[ cid ] as an instance counter, so that the + * overlay's controls are only really disabled after the + * last instance called overlay_register_control() */ + bd->be_ctrls[ cid ]++; bd->be_ctrls[ SLAP_MAX_CIDS ] = 1; } } if ( !gotit ) { - be->bd_self->be_ctrls[ cid ] = 1; + /* overlays can be instanciated multiple times, use + * be_ctrls[ cid ] as an instance counter, so that the + * overlay's controls are only really unregistered after the + * last instance called overlay_register_control() */ + be->bd_self->be_ctrls[ cid ]++; be->bd_self->be_ctrls[ SLAP_MAX_CIDS ] = 1; } @@ -1089,6 +1097,34 @@ overlay_register_control( BackendDB *be, const char *oid ) } void +overlay_unregister_control( BackendDB *be, const char *oid ) +{ + int gotit = 0; + int cid; + + if ( slap_find_control_id( oid, &cid ) == LDAP_CONTROL_NOT_FOUND ) { + return; + } + + if ( SLAP_ISGLOBALOVERLAY( be ) ) { + BackendDB *bd; + + /* remove from all backends... */ + LDAP_STAILQ_FOREACH( bd, &backendDB, be_next ) { + if ( bd == be->bd_self ) { + gotit = 1; + } + + bd->be_ctrls[ cid ]--; + } + } + + if ( !gotit ) { + be->bd_self->be_ctrls[ cid ]--; + } +} + +void overlay_destroy_one( BackendDB *be, slap_overinst *on ) { slap_overinfo *oi = on->on_info; diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c index 96df34e..8d079c5 100644 --- a/servers/slapd/controls.c +++ b/servers/slapd/controls.c @@ -344,6 +344,38 @@ register_supported_control2(const char *controloid, return LDAP_SUCCESS; } +#ifdef SLAP_CONFIG_DELETE +int +unregister_supported_control( const char *controloid ) +{ + struct slap_control *sc; + int i; + + if ( controloid == NULL || (sc = find_ctrl( controloid )) == NULL ){ + return -1; + } + + for ( i = 0; slap_known_controls[ i ]; i++ ) { + if ( strcmp( controloid, slap_known_controls[ i ] ) == 0 ) { + do { + slap_known_controls[ i ] = slap_known_controls[ i+1 ]; + } while ( slap_known_controls[ i++ ] ); + num_known_controls--; + break; + } + } + + LDAP_SLIST_REMOVE(&controls_list, sc, slap_control, sc_next); + ch_free( sc->sc_oid ); + if ( sc->sc_extendedopsbv != NULL ) { + ber_bvarray_free( sc->sc_extendedopsbv ); + } + ch_free( sc ); + + return 0; +} +#endif /* SLAP_CONFIG_DELETE */ + /* * One-time initialization of internal controls. */ diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 494d201..9ed6901 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -656,6 +656,10 @@ LDAP_SLAPD_F (int) register_supported_control2 LDAP_P(( int *controlcid )); #define register_supported_control(oid, mask, exops, fn, cid) \ register_supported_control2((oid), (mask), (exops), (fn), 0, (cid)) +#ifdef SLAP_CONFIG_DELETE +LDAP_SLAPD_F (int) unregister_supported_control LDAP_P(( + const char* controloid )); +#endif /* SLAP_CONFIG_DELETE */ LDAP_SLAPD_F (int) slap_controls_init LDAP_P ((void)); LDAP_SLAPD_F (void) controls_destroy LDAP_P ((void)); LDAP_SLAPD_F (int) controls_root_dse_info LDAP_P ((Entry *e)); -- 1.7.3.4 ++++++ 0010-Fix-exposure-of-SSS-VLV-controls-ITS-6647.dif ++++++
From 297c178d36f1e09f1112e97cb139b9843a53ef7c Mon Sep 17 00:00:00 2001 From: ralf <ralf> Date: Fri, 22 Jan 2010 17:01:25 +0000 Subject: Fix exposure of SSS/VLV controls (ITS#6647)
Fixes bnc#648479 Contains the following upstream commits: - Unregister VLV control as well when last overlay instance is removed (additional fix for ITS#6647) diff --git a/servers/slapd/overlays/sssvlv.c b/servers/slapd/overlays/sssvlv.c index ab52b3a..93d98b5 100644 --- a/servers/slapd/overlays/sssvlv.c +++ b/servers/slapd/overlays/sssvlv.c @@ -1276,6 +1276,10 @@ static int sssvlv_db_init( if ( rc != LDAP_SUCCESS ) { Debug( LDAP_DEBUG_ANY, "Failed to register VLV Request control '%s' (%d)\n", LDAP_CONTROL_VLVREQUEST, rc, 0 ); +#ifdef SLAP_CONFIG_DELETE + overlay_unregister_control( be, LDAP_CONTROL_SORTREQUEST ); + unregister_supported_control( LDAP_CONTROL_SORTREQUEST ); +#endif /* SLAP_CONFIG_DELETE */ return rc; } } @@ -1311,6 +1315,15 @@ static int sssvlv_db_destroy( ldap_pvt_thread_mutex_destroy( &sort_conns_mutex ); } +#ifdef SLAP_CONFIG_DELETE + overlay_unregister_control( be, LDAP_CONTROL_SORTREQUEST ); + overlay_unregister_control( be, LDAP_CONTROL_VLVREQUEST ); + if ( ov_count == 0 ) { + unregister_supported_control( LDAP_CONTROL_SORTREQUEST ); + unregister_supported_control( LDAP_CONTROL_VLVREQUEST ); + } +#endif /* SLAP_CONFIG_DELETE */ + if ( si ) { ch_free( si ); on->on_bi.bi_private = NULL; -- 1.7.3.4 ++++++ openldap-2.4.23.tar.bz2 -> openldap-2.4.24.tar.bz2 ++++++ ++++ 92298 lines of diff (skipped) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org