This commit is contained in:
parent
39cc7380c6
commit
14b479698a
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 12 10:09:28 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Backported fix for a crash in back-config when adding entries with
|
||||
a too large index (ITS#5684)
|
||||
- Backported fix for a crash when adding an invalid olcBdbConfig
|
||||
Entry to back-config (ITS#5698)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 9 17:22:18 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Removed getaddrinfo workaround. Recent glibc doesn't need it
|
||||
anymore (bnc#288879, ITS#5251)
|
||||
- Server requires libldap of the same version.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 8 16:07:47 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Import back-config support for deleting databases from CVS HEAD
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 2 09:18:05 CEST 2008 - rhafer@suse.de
|
||||
|
||||
|
@ -26,6 +26,8 @@ BuildRequires: -pwdutils
|
||||
%if %sles_version == 10
|
||||
BuildRequires: -db-devel -pwdutils libdb-4_5-devel
|
||||
%endif
|
||||
Version: 2.4.11
|
||||
Release: 26
|
||||
Url: http://www.openldap.org
|
||||
License: BSD 3-Clause
|
||||
%if "%{name}" == "openldap2"
|
||||
@ -33,6 +35,7 @@ Group: Productivity/Networking/LDAP/Clients
|
||||
Provides: ldap2 openldap2-back-ldap openldap2-back-monitor
|
||||
Obsoletes: openldap2-back-ldap openldap2-back-monitor
|
||||
Conflicts: openldap
|
||||
Requires: libldap-2_4-2 = %{version}
|
||||
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
|
||||
Summary: OpenLDAP Client Utilities
|
||||
%else
|
||||
@ -41,8 +44,6 @@ Conflicts: openldap-client
|
||||
Summary: OpenLDAP Client Utilities
|
||||
%endif
|
||||
AutoReqProv: on
|
||||
Version: 2.4.11
|
||||
Release: 21
|
||||
Source: openldap-%{version}.tar.bz2
|
||||
Source1: openldap-rc.tgz
|
||||
Source2: addonschema.tar.gz
|
||||
@ -57,9 +58,11 @@ Patch3: ldap_conf.dif
|
||||
Patch4: ldapi_url.dif
|
||||
Patch6: libldap-gethostbyname_r.dif
|
||||
Patch7: pie-compile.dif
|
||||
Patch8: slapd_getaddrinfo_dupl.dif
|
||||
Patch9: openldap2-add-gnu-source.diff
|
||||
Patch10: slapd-overlay_register_control.dif
|
||||
Patch11: slapd-bconfig-del-db.dif
|
||||
Patch12: slapd-bconfig-adjust-idx.dif
|
||||
Patch13: slapd-bdb-stop-checkpoint.dif
|
||||
Patch100: openldap-2.3.37.dif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
@ -159,9 +162,11 @@ Authors:
|
||||
%if %suse_version > 920
|
||||
%patch7
|
||||
%endif
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10
|
||||
%patch11
|
||||
%patch12
|
||||
%patch13
|
||||
cp %{SOURCE5} .
|
||||
cd ../openldap-2.3.37
|
||||
%patch100
|
||||
@ -487,6 +492,17 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Sep 12 2008 rhafer@suse.de
|
||||
- Backported fix for a crash in back-config when adding entries with
|
||||
a too large index (ITS#5684)
|
||||
- Backported fix for a crash when adding an invalid olcBdbConfig
|
||||
Entry to back-config (ITS#5698)
|
||||
* Tue Sep 09 2008 rhafer@suse.de
|
||||
- Removed getaddrinfo workaround. Recent glibc doesn't need it
|
||||
anymore (bnc#288879, ITS#5251)
|
||||
- Server requires libldap of the same version.
|
||||
* Mon Sep 08 2008 rhafer@suse.de
|
||||
- Import back-config support for deleting databases from CVS HEAD
|
||||
* Tue Sep 02 2008 rhafer@suse.de
|
||||
- Dropped evolution specific ntlm-bind Patch (Fate#303480)
|
||||
* Thu Aug 28 2008 rhafer@suse.de
|
||||
|
@ -1,3 +1,23 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 12 10:09:28 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Backported fix for a crash in back-config when adding entries with
|
||||
a too large index (ITS#5684)
|
||||
- Backported fix for a crash when adding an invalid olcBdbConfig
|
||||
Entry to back-config (ITS#5698)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 9 17:22:18 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Removed getaddrinfo workaround. Recent glibc doesn't need it
|
||||
anymore (bnc#288879, ITS#5251)
|
||||
- Server requires libldap of the same version.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 8 16:07:47 CEST 2008 - rhafer@suse.de
|
||||
|
||||
- Import back-config support for deleting databases from CVS HEAD
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 2 09:18:05 CEST 2008 - rhafer@suse.de
|
||||
|
||||
|
@ -26,6 +26,8 @@ BuildRequires: -pwdutils
|
||||
%if %sles_version == 10
|
||||
BuildRequires: -db-devel -pwdutils libdb-4_5-devel
|
||||
%endif
|
||||
Version: 2.4.11
|
||||
Release: 24
|
||||
Url: http://www.openldap.org
|
||||
License: BSD 3-Clause; openldap 2.8
|
||||
%if "%{name}" == "openldap2"
|
||||
@ -33,6 +35,7 @@ Group: Productivity/Networking/LDAP/Servers
|
||||
Provides: ldap2 openldap2-back-ldap openldap2-back-monitor
|
||||
Obsoletes: openldap2-back-ldap openldap2-back-monitor
|
||||
Conflicts: openldap
|
||||
Requires: libldap-2_4-2 = %{version}
|
||||
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
|
||||
Summary: The OpenLDAP Server
|
||||
%else
|
||||
@ -41,8 +44,6 @@ Conflicts: openldap-client
|
||||
Summary: The OpenLDAP Server
|
||||
%endif
|
||||
AutoReqProv: on
|
||||
Version: 2.4.11
|
||||
Release: 20
|
||||
Source: openldap-%{version}.tar.bz2
|
||||
Source1: openldap-rc.tgz
|
||||
Source2: addonschema.tar.gz
|
||||
@ -57,9 +58,11 @@ Patch3: ldap_conf.dif
|
||||
Patch4: ldapi_url.dif
|
||||
Patch6: libldap-gethostbyname_r.dif
|
||||
Patch7: pie-compile.dif
|
||||
Patch8: slapd_getaddrinfo_dupl.dif
|
||||
Patch9: openldap2-add-gnu-source.diff
|
||||
Patch10: slapd-overlay_register_control.dif
|
||||
Patch11: slapd-bconfig-del-db.dif
|
||||
Patch12: slapd-bconfig-adjust-idx.dif
|
||||
Patch13: slapd-bdb-stop-checkpoint.dif
|
||||
Patch100: openldap-2.3.37.dif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
@ -162,9 +165,11 @@ Authors:
|
||||
%if %suse_version > 920
|
||||
%patch7
|
||||
%endif
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10
|
||||
%patch11
|
||||
%patch12
|
||||
%patch13
|
||||
cp %{SOURCE5} .
|
||||
cd ../openldap-2.3.37
|
||||
%patch100
|
||||
@ -490,6 +495,17 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Sep 12 2008 rhafer@suse.de
|
||||
- Backported fix for a crash in back-config when adding entries with
|
||||
a too large index (ITS#5684)
|
||||
- Backported fix for a crash when adding an invalid olcBdbConfig
|
||||
Entry to back-config (ITS#5698)
|
||||
* Tue Sep 09 2008 rhafer@suse.de
|
||||
- Removed getaddrinfo workaround. Recent glibc doesn't need it
|
||||
anymore (bnc#288879, ITS#5251)
|
||||
- Server requires libldap of the same version.
|
||||
* Mon Sep 08 2008 rhafer@suse.de
|
||||
- Import back-config support for deleting databases from CVS HEAD
|
||||
* Tue Sep 02 2008 rhafer@suse.de
|
||||
- Dropped evolution specific ntlm-bind Patch (Fate#303480)
|
||||
* Thu Aug 28 2008 rhafer@suse.de
|
||||
|
17
slapd-bconfig-adjust-idx.dif
Normal file
17
slapd-bconfig-adjust-idx.dif
Normal file
@ -0,0 +1,17 @@
|
||||
Index: servers/slapd/bconfig.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/bconfig.c,v
|
||||
retrieving revision 1.341
|
||||
retrieving revision 1.342
|
||||
diff -u -r1.341 -r1.342
|
||||
--- servers/slapd/bconfig.c 30 Jun 2008 21:16:02 -0000 1.341
|
||||
+++ servers/slapd/bconfig.c 4 Sep 2008 11:56:31 -0000 1.342
|
||||
@@ -3881,7 +3881,7 @@
|
||||
if ( isconfig && index == -1 ) {
|
||||
index = 0;
|
||||
}
|
||||
- if ( !isfrontend && index == -1 ) {
|
||||
+ if (( !isfrontend && index == -1 ) || ( index > nsibs ) ){
|
||||
index = nsibs;
|
||||
}
|
||||
|
49
slapd-bconfig-del-db.dif
Normal file
49
slapd-bconfig-del-db.dif
Normal file
@ -0,0 +1,49 @@
|
||||
Index: servers/slapd/bconfig.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/bconfig.c,v
|
||||
retrieving revision 1.342
|
||||
retrieving revision 1.344
|
||||
diff -u -r1.342 -r1.344
|
||||
--- servers/slapd/bconfig.c 4 Sep 2008 11:56:31 -0000 1.342
|
||||
+++ servers/slapd/bconfig.c 4 Sep 2008 15:12:07 -0000 1.344
|
||||
@@ -5245,15 +5245,28 @@
|
||||
if ( last )
|
||||
rs->sr_matched = last->ce_entry->e_name.bv_val;
|
||||
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
||||
- } if ( ce->ce_kids ) {
|
||||
+ } else if ( ce->ce_kids ) {
|
||||
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
|
||||
- } else if ( ce->ce_type == Cft_Overlay ){
|
||||
+ } else if ( ce->ce_type == Cft_Overlay || ce->ce_type == Cft_Database ){
|
||||
char *iptr;
|
||||
int count, ixold, rc;
|
||||
|
||||
ldap_pvt_thread_pool_pause( &connection_pool );
|
||||
-
|
||||
- overlay_remove( ce->ce_be, (slap_overinst *)ce->ce_bi );
|
||||
+
|
||||
+ if ( ce->ce_type == Cft_Overlay ){
|
||||
+ overlay_remove( ce->ce_be, (slap_overinst *)ce->ce_bi );
|
||||
+ } else { /* 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";
|
||||
+ ldap_pvt_thread_pool_resume( &connection_pool );
|
||||
+ goto out;
|
||||
+ }
|
||||
+ if ( ce->ce_be->bd_info->bi_db_close ) {
|
||||
+ ce->ce_be->bd_info->bi_db_close( ce->ce_be, NULL );
|
||||
+ }
|
||||
+ backend_destroy_one( ce->ce_be, 1);
|
||||
+ }
|
||||
|
||||
/* remove CfEntryInfo from the siblings list */
|
||||
if ( ce->ce_parent->ce_kids == ce ) {
|
||||
@@ -5315,6 +5328,7 @@
|
||||
#else
|
||||
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
|
||||
#endif /* SLAP_CONFIG_DELETE */
|
||||
+out:
|
||||
send_ldap_result( op, rs );
|
||||
return rs->sr_err;
|
||||
}
|
26
slapd-bdb-stop-checkpoint.dif
Normal file
26
slapd-bdb-stop-checkpoint.dif
Normal file
@ -0,0 +1,26 @@
|
||||
Index: servers/slapd/back-bdb/init.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-bdb/init.c,v
|
||||
retrieving revision 1.293
|
||||
retrieving revision 1.294
|
||||
diff -u -r1.293 -r1.294
|
||||
--- servers/slapd/back-bdb/init.c 27 Aug 2008 20:28:16 -0000 1.293
|
||||
+++ servers/slapd/back-bdb/init.c 12 Sep 2008 07:53:40 -0000 1.294
|
||||
@@ -640,6 +640,17 @@
|
||||
{
|
||||
struct bdb_info *bdb = (struct bdb_info *) be->be_private;
|
||||
|
||||
+ /* stop and remove checkpoint task */
|
||||
+ if ( bdb->bi_txn_cp_task ) {
|
||||
+ struct re_s *re = bdb->bi_txn_cp_task;
|
||||
+ bdb->bi_txn_cp_task = NULL;
|
||||
+ ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
|
||||
+ if ( ldap_pvt_runqueue_isrunning( &slapd_rq, re ) )
|
||||
+ ldap_pvt_runqueue_stoptask( &slapd_rq, re );
|
||||
+ ldap_pvt_runqueue_remove( &slapd_rq, re );
|
||||
+ ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );
|
||||
+ }
|
||||
+
|
||||
/* monitor handling */
|
||||
(void)bdb_monitor_db_destroy( be );
|
||||
|
@ -1,102 +0,0 @@
|
||||
Index: openldap-2.4.7/servers/slapd/daemon.c
|
||||
===================================================================
|
||||
--- openldap-2.4.7.orig/servers/slapd/daemon.c
|
||||
+++ openldap-2.4.7/servers/slapd/daemon.c
|
||||
@@ -1120,7 +1120,8 @@ slap_get_listener_addresses(
|
||||
{
|
||||
#ifdef HAVE_GETADDRINFO
|
||||
struct addrinfo hints, *res, *sai;
|
||||
- int n, err;
|
||||
+ struct sockaddr **sap2;
|
||||
+ int n, err, cmpres;
|
||||
char serv[7];
|
||||
|
||||
memset( &hints, '\0', sizeof(hints) );
|
||||
@@ -1146,43 +1147,60 @@ slap_get_listener_addresses(
|
||||
*sap = NULL;
|
||||
|
||||
for ( sai=res; sai; sai=sai->ai_next ) {
|
||||
+ cmpres=1;
|
||||
if( sai->ai_addr == NULL ) {
|
||||
Debug( LDAP_DEBUG_ANY, "slap_get_listener_addresses: "
|
||||
"getaddrinfo ai_addr is NULL?\n", 0, 0, 0 );
|
||||
freeaddrinfo(res);
|
||||
goto errexit;
|
||||
}
|
||||
-
|
||||
- switch (sai->ai_family) {
|
||||
-# ifdef LDAP_PF_INET6
|
||||
- case AF_INET6:
|
||||
- *sap = ch_malloc(sizeof(struct sockaddr_in6));
|
||||
- if (*sap == NULL) {
|
||||
- freeaddrinfo(res);
|
||||
- goto errexit;
|
||||
+ /* check for duplicates */
|
||||
+ for ( sap2 = *sal; sap && *sap2; sap2++ ){
|
||||
+ if ( sai->ai_family == (*sap2)->sa_family ) {
|
||||
+ if (sai->ai_family == AF_INET6) {
|
||||
+ cmpres = memcmp(sai->ai_addr, *sap2,
|
||||
+ sizeof(struct sockaddr_in6));
|
||||
+ } else if (sai->ai_family == AF_INET) {
|
||||
+ cmpres = memcmp(sai->ai_addr, *sap2,
|
||||
+ sizeof(struct sockaddr_in));
|
||||
+ }
|
||||
+ if (! cmpres ){
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
- *(struct sockaddr_in6 *)*sap =
|
||||
- *((struct sockaddr_in6 *)sai->ai_addr);
|
||||
- break;
|
||||
+ }
|
||||
+ if (cmpres){
|
||||
+ switch (sai->ai_family) {
|
||||
+# ifdef LDAP_PF_INET6
|
||||
+ case AF_INET6:
|
||||
+ *sap = ch_malloc(sizeof(struct sockaddr_in6));
|
||||
+ if (*sap == NULL) {
|
||||
+ freeaddrinfo(res);
|
||||
+ goto errexit;
|
||||
+ }
|
||||
+ *(struct sockaddr_in6 *)*sap =
|
||||
+ *((struct sockaddr_in6 *)sai->ai_addr);
|
||||
+ break;
|
||||
# endif /* LDAP_PF_INET6 */
|
||||
- case AF_INET:
|
||||
- *sap = ch_malloc(sizeof(struct sockaddr_in));
|
||||
- if (*sap == NULL) {
|
||||
- freeaddrinfo(res);
|
||||
- goto errexit;
|
||||
+ case AF_INET:
|
||||
+ *sap = ch_malloc(sizeof(struct sockaddr_in));
|
||||
+ if (*sap == NULL) {
|
||||
+ freeaddrinfo(res);
|
||||
+ goto errexit;
|
||||
+ }
|
||||
+ *(struct sockaddr_in *)*sap =
|
||||
+ *((struct sockaddr_in *)sai->ai_addr);
|
||||
+ break;
|
||||
+ default:
|
||||
+ *sap = NULL;
|
||||
+ break;
|
||||
}
|
||||
- *(struct sockaddr_in *)*sap =
|
||||
- *((struct sockaddr_in *)sai->ai_addr);
|
||||
- break;
|
||||
- default:
|
||||
- *sap = NULL;
|
||||
- break;
|
||||
- }
|
||||
|
||||
- if (*sap != NULL) {
|
||||
- (*sap)->sa_family = sai->ai_family;
|
||||
- sap++;
|
||||
- *sap = NULL;
|
||||
+ if (*sap != NULL) {
|
||||
+ (*sap)->sa_family = sai->ai_family;
|
||||
+ sap++;
|
||||
+ *sap = NULL;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user