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 - [email protected] + +- 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 <<EOF -/usr/include/lber.h -/usr/include/lber_types.h -/usr/include/ldap*.h -/usr/include/slapi-plugin.h +/usr/include/*.h %{_libdir}/liblber.a %{_libdir}/liblber.so %{_libdir}/libldap*.a openldap2.spec: same change ++++++ 0001-build-adjustments.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From f8a35cec5591b61c3a39bb76a5410439e79d6aaf Mon Sep 17 00:00:00 2001 +From 43a8df1cab3f7bafb34b3356833779e6e2f0eaf1 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Wed, 16 Jun 2010 14:04:07 +0200 Subject: build-adjustments @@ -20,10 +20,10 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@$(ldap_subdir) diff --git a/configure.in b/configure.in -index 0e44858..4f15898 100644 +index 0872d81..225647b 100644 --- a/configure.in +++ b/configure.in -@@ -67,7 +67,9 @@ dnl Determine host platform +@@ -69,7 +69,9 @@ dnl Determine host platform dnl we try not to use this for much AC_CANONICAL_TARGET([]) ++++++ 0002-slapd.conf.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From cd4cb8676956b0db50fae7cc0ccb110d40788644 Mon Sep 17 00:00:00 2001 +From 3a5f7ce7960e64d49ad104cc9abc7941b454d933 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Wed, 16 Jun 2010 14:05:49 +0200 Subject: slapd.conf ++++++ 0003-LDAPI-socket-location.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From dcee2b0d5e2fdcc3224ea315c49057bb6b763fac Mon Sep 17 00:00:00 2001 +From c5b25d50557bb79a54654699d47af29342157ad9 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Wed, 16 Jun 2010 14:06:42 +0200 Subject: LDAPI socket location ++++++ 0004-libldap-use-gethostbyname_r.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From 642b5d51f4fec7047de3692c5da3521a6a749ec2 Mon Sep 17 00:00:00 2001 +From 119f2c14aac61a04d98719b399266c1ed235793a Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Wed, 16 Jun 2010 14:08:03 +0200 Subject: libldap use gethostbyname_r ++++++ 0005-pie-compile.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From fea5da62cd357a4fe5811b6399c5b32a1b43f455 Mon Sep 17 00:00:00 2001 +From 34e2af586533bf43e2fec55e707fa4d51ca6634c Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Fri, 12 Nov 2010 09:39:11 +0100 Subject: pie compile ++++++ 0006-assorted-fixes-for-back-config-DELETE-support.dif ++++++ --- /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 @@ -1,14 +1,14 @@ -From a9a050afc3983cfcaba8a96085c97b5a213199f5 Mon Sep 17 00:00:00 2001 +From 1b23710affd68704d8fb66ba42901fa7aed1a379 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Wed, 16 Jun 2010 14:08:56 +0200 Subject: assorted fixes for back-config DELETE support diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c -index 623940b..47671bc 100644 +index 006647b..3354c09 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c -@@ -5973,13 +5973,26 @@ config_back_delete( Operation *op, SlapReply *rs ) +@@ -6050,13 +6050,26 @@ config_back_delete( Operation *op, SlapReply *rs ) rs->sr_err = LDAP_UNWILLING_TO_PERFORM; } else if ( op->o_abandon ) { rs->sr_err = SLAPD_ABANDON; @@ -37,7 +37,7 @@ /* remove CfEntryInfo from the siblings list */ if ( ce->ce_parent->ce_kids == ce ) { -@@ -6041,6 +6054,7 @@ config_back_delete( Operation *op, SlapReply *rs ) +@@ -6118,6 +6131,7 @@ config_back_delete( Operation *op, SlapReply *rs ) #else rs->sr_err = LDAP_UNWILLING_TO_PERFORM; #endif /* SLAP_CONFIG_DELETE */ ++++++ 0007-No-Build-date-and-time-in-binaries.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From ffa5afc69917bbe153dcbddfbfac7d7b30eb0f9a Mon Sep 17 00:00:00 2001 +From 708185d30ee5a94ca4d98707521620291c8ddd1d Mon Sep 17 00:00:00 2001 From: Cristian Rodriguez <[email protected]> Date: Tue, 5 Oct 2010 13:59:40 +0200 Subject: No Build date and time in binaries ++++++ 0008-Recover-on-DB-version-change.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From 6821a349975bad1bb6b85c4bf6ab82be92b5c51e Mon Sep 17 00:00:00 2001 +From 1ae2909f2464955fde817f3c8447724e4d5035c3 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> Date: Tue, 5 Oct 2010 14:20:22 +0200 Subject: Recover on DB version change ++++++ 0009-unregister_supported_control-backport.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From bf8d97b961515d698a7c9816e2af1feaa538b6bf Mon Sep 17 00:00:00 2001 +From 601cde61e0ad14e804a4f1bf54b6fac934aaad4b Mon Sep 17 00:00:00 2001 From: ralf <ralf> Date: Wed, 30 Jun 2010 10:38:01 +0000 Subject: unregister_supported_control() backport @@ -15,10 +15,10 @@ overlay_unregister_control(). diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c -index e3a6b7c..4e86bfb 100644 +index cad81ab..56bcf65 100644 --- a/servers/slapd/backover.c +++ b/servers/slapd/backover.c -@@ -1074,14 +1074,22 @@ overlay_register_control( BackendDB *be, const char *oid ) +@@ -1076,14 +1076,22 @@ overlay_register_control( BackendDB *be, const char *oid ) gotit = 1; } @@ -43,7 +43,7 @@ be->bd_self->be_ctrls[ SLAP_MAX_CIDS ] = 1; } -@@ -1089,6 +1097,34 @@ overlay_register_control( BackendDB *be, const char *oid ) +@@ -1091,6 +1099,34 @@ overlay_register_control( BackendDB *be, const char *oid ) } void @@ -122,10 +122,10 @@ * One-time initialization of internal controls. */ diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h -index 494d201..9ed6901 100644 +index 4d0e1bb..1aebece 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(( +@@ -657,6 +657,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)) ++++++ 0010-Fix-exposure-of-SSS-VLV-controls-ITS-6647.dif ++++++ --- /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 @@ -1,4 +1,4 @@ -From aa567ba586b3f78ce9199929f2a058c17d0a6e29 Mon Sep 17 00:00:00 2001 +From b5ddeac919d767a390d7d9e3c2dac092cc4232e1 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) @@ -11,10 +11,10 @@ is removed (additional fix for ITS#6647) diff --git a/servers/slapd/overlays/sssvlv.c b/servers/slapd/overlays/sssvlv.c -index bb779e6..010a0b9 100644 +index ce3da34..7ffed1b 100644 --- a/servers/slapd/overlays/sssvlv.c +++ b/servers/slapd/overlays/sssvlv.c -@@ -1292,6 +1292,10 @@ static int sssvlv_db_init( +@@ -1295,6 +1295,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 ); @@ -25,7 +25,7 @@ return rc; } } -@@ -1327,6 +1331,15 @@ static int sssvlv_db_destroy( +@@ -1330,6 +1334,15 @@ static int sssvlv_db_destroy( ldap_pvt_thread_mutex_destroy( &sort_conns_mutex ); } ++++++ 0011-config-delete-overlay-fixes.dif ++++++ >From 0ca1fbc64f2f02cbdff0827e4ca1bbe312bebc2f Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp <[email protected]> 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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
