forked from jengelh/openldap2
This commit is contained in:
parent
ce208a426b
commit
03f19c1c7d
@ -1,64 +0,0 @@
|
||||
Index: libraries/libldap/pagectrl.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap/pagectrl.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -r1.10 -r1.11
|
||||
--- libraries/libldap/pagectrl.c 9 Jan 2008 12:28:09 -0000 1.10
|
||||
+++ libraries/libldap/pagectrl.c 21 Oct 2008 14:17:41 -0000 1.11
|
||||
@@ -71,6 +71,7 @@
|
||||
|
||||
value->bv_val = NULL;
|
||||
value->bv_len = 0;
|
||||
+ ld->ld_errno = LDAP_SUCCESS;
|
||||
|
||||
if ( cookie == NULL ) {
|
||||
cookie = &null_cookie;
|
||||
Index: libraries/libldap/sortctrl.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap/sortctrl.c,v
|
||||
retrieving revision 1.24
|
||||
retrieving revision 1.25
|
||||
diff -u -r1.24 -r1.25
|
||||
--- libraries/libldap/sortctrl.c 7 Jan 2008 23:20:04 -0000 1.24
|
||||
+++ libraries/libldap/sortctrl.c 21 Oct 2008 14:17:41 -0000 1.25
|
||||
@@ -304,6 +304,7 @@
|
||||
|
||||
value->bv_val = NULL;
|
||||
value->bv_len = 0;
|
||||
+ ld->ld_errno = LDAP_SUCCESS;
|
||||
|
||||
ber = ldap_alloc_ber_with_options( ld );
|
||||
if ( ber == NULL) {
|
||||
Index: libraries/libldap/vlvctrl.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap/vlvctrl.c,v
|
||||
retrieving revision 1.25
|
||||
retrieving revision 1.26
|
||||
diff -u -r1.25 -r1.26
|
||||
--- libraries/libldap/vlvctrl.c 7 Jan 2008 23:20:05 -0000 1.25
|
||||
+++ libraries/libldap/vlvctrl.c 21 Oct 2008 14:17:41 -0000 1.26
|
||||
@@ -101,6 +101,7 @@
|
||||
|
||||
value->bv_val = NULL;
|
||||
value->bv_len = 0;
|
||||
+ ld->ld_errno = LDAP_SUCCESS;
|
||||
|
||||
ber = ldap_alloc_ber_with_options( ld );
|
||||
if ( ber == NULL ) {
|
||||
Index: libraries/libldap/stctrl.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap/stctrl.c,v
|
||||
retrieving revision 1.4
|
||||
retrieving revision 1.5
|
||||
diff -u -r1.4 -r1.5
|
||||
--- libraries/libldap/stctrl.c 7 Jan 2008 23:20:04 -0000 1.4
|
||||
+++ libraries/libldap/stctrl.c 21 Oct 2008 14:17:41 -0000 1.5
|
||||
@@ -60,6 +60,7 @@
|
||||
}
|
||||
|
||||
assert( LDAP_VALID( ld ) );
|
||||
+ ld->ld_errno = LDAP_SUCCESS;
|
||||
|
||||
/* check sizes according to I.D. */
|
||||
if ( sessionSourceIp == NULL ) {
|
@ -1,18 +0,0 @@
|
||||
Index: libraries/libldap_r/tpool.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/libraries/libldap_r/tpool.c,v
|
||||
retrieving revision 1.97
|
||||
retrieving revision 1.98
|
||||
diff -u -r1.97 -r1.98
|
||||
--- libraries/libldap_r/tpool.c 10 Mar 2008 12:21:24 -0000 1.97
|
||||
+++ libraries/libldap_r/tpool.c 9 Dec 2008 09:57:15 -0000 1.98
|
||||
@@ -785,8 +785,7 @@
|
||||
SET_VARY_OPEN_COUNT(pool);
|
||||
pool->ltp_work_list = &pool->ltp_pending_list;
|
||||
|
||||
- if (!pool->ltp_finishing)
|
||||
- ldap_pvt_thread_cond_broadcast(&pool->ltp_cond);
|
||||
+ ldap_pvt_thread_cond_broadcast(&pool->ltp_cond);
|
||||
|
||||
ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
|
||||
return(0);
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5cd0553141bc9c7e8266338656d89e9dcd9328be1d7f6c70dbeadce7b5906291
|
||||
size 3996921
|
3
openldap-2.4.15.tar.bz2
Normal file
3
openldap-2.4.15.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eaf8580b315c78d1b8862600546fb953c98e9f65cffaaeb7939e5b38f4eb3aa4
|
||||
size 4104966
|
@ -1,3 +1,42 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 20 14:00:20 CET 2009 - rhafer@suse.de
|
||||
|
||||
- Update to 2.4.15. Most important changes:
|
||||
* Fixed slapd bconfig conversion again (ITS#5346)
|
||||
* Fixed slapd behavior with superior objectClasses again (ITS#5517)
|
||||
* Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968)
|
||||
* Fixed slapd corrupt contextCSN (ITS#5947)
|
||||
* Fixed slapd syncrepl order to match on add/delete (ITS#5954)
|
||||
* Fixed slapd adding rdn with other values (ITS#5965)
|
||||
* Fixed slapd-bdb/hdb behavior with unallocatable shm (ITS#5956)
|
||||
* Fixed slapd-ldap/meta with entries with invalid attrs (ITS#5959)
|
||||
* Fixed slapo-pcache caching invalid entries (ITS#5927)
|
||||
* Fixed slapo-syncprov csn updates (ITS#5969)
|
||||
* Added libldap option to disable SASL host canonicalization (ITS#5812)
|
||||
* Fixed libldap chasing multiple referrals (ITS#5853)
|
||||
* Fixed libldap setuid usage with .ldaprc (ITS#4750)
|
||||
* Fixed libldap deref handling (ITS#5768)
|
||||
* Fixed libldap NULL pointer deref (ITS#5934)
|
||||
* Fixed libldap peer cert memory leak (ITS#5849)
|
||||
* Fixed libldap intermediate response behavior (ITS#5896)
|
||||
* Fixed libldap IPv6 address handling (ITS#5937)
|
||||
* Fixed libldap_r deref building (ITS#5768)
|
||||
* Fixed libldap_r slapd lockup when paused during shutdown (ITS#5841)
|
||||
* Fixed slapd acl checks on ADD (ITS#4556,ITS#5723)
|
||||
* Fixed slapd acl application to newly created backends (ITS#5572)
|
||||
* Fixed slapd bconfig to return error codes (ITS#5867)
|
||||
* Fixed slapd bconfig encoding incorrectly (ITS#5897)
|
||||
* Fixed slapd bconfig dangling pointers (ITS#5924)
|
||||
* Fixed slapd epoll handling (ITS#5886)
|
||||
* Fixed slapd glue with MMR (ITS#5925)
|
||||
* Fixed slapd listener comparison (ITS#5613)
|
||||
* Fixed various syncrepl issues (ITS#5809,ITS#5850, ITS#5843,
|
||||
ITS#5866, ITS#5901, ITS#5881, ITS#5935, ITS#5710,
|
||||
ITS#5781, ITS#5809, ITS#5798, ITS#5826)
|
||||
* Fixed slapd-bdb/hdb dncachesize handling (ITS#5860)
|
||||
* Fixed slapd-bdb/hdb trickle task usage (ITS#5864)
|
||||
* Fixed slapd-hdb idlcache with empty suffix (ITS#5859)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 7 12:34:56 CET 2009 - olh@suse.de
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package openldap2-client (Version 2.4.12)
|
||||
# spec file for package openldap2-client (Version 2.4.15)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -21,13 +21,13 @@
|
||||
Name: openldap2-client
|
||||
BuildRequires: cyrus-sasl-devel db-devel libopenssl-devel openslp-devel tcpd-devel
|
||||
%if %sles_version == 9
|
||||
BuildRequires: -libopenssl-devel -pwdutils openssl-devel
|
||||
BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-devel
|
||||
%endif
|
||||
%if %sles_version == 10
|
||||
BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-devel
|
||||
%endif
|
||||
Version: 2.4.12
|
||||
Release: 7
|
||||
Version: 2.4.15
|
||||
Release: 1
|
||||
Url: http://www.openldap.org
|
||||
License: BSD 3-Clause
|
||||
%if "%{name}" == "openldap2"
|
||||
@ -52,7 +52,6 @@ Source4: sasl-slapd.conf
|
||||
Source5: README.update
|
||||
Source100: openldap-2.3.37.tar.bz2
|
||||
Patch: openldap2.dif
|
||||
Patch1: secpatch.dif
|
||||
Patch2: slapd_conf.dif
|
||||
Patch3: ldap_conf.dif
|
||||
Patch4: ldapi_url.dif
|
||||
@ -60,16 +59,10 @@ Patch6: libldap-gethostbyname_r.dif
|
||||
Patch7: pie-compile.dif
|
||||
Patch9: openldap2-add-gnu-source.diff
|
||||
Patch11: slapd-bconfig-del-db.dif
|
||||
Patch13: slapd-bdb-stop-checkpoint.dif
|
||||
Patch14: slapo-collect-include.dif
|
||||
Patch15: libldap_ctrl_lderrno.dif
|
||||
Patch16: slapd-privdb-config-its5736.dif
|
||||
Patch17: slapo-chain-dangling-its5742.dif
|
||||
Patch18: slapd-db-close-error-its5745.dif
|
||||
Patch19: slapo-syncprov-skip-its5709.dif
|
||||
Patch20: slapadd-no-trickle.dif
|
||||
Patch21: libldap_r-tpool-resume-ITS5841.diff
|
||||
Patch15: slapd-ldap_back_entry_get_rw-ITS6003.diff
|
||||
Patch100: openldap-2.3.37.dif
|
||||
Patch200: slapd_getaddrinfo_dupl.dif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -132,7 +125,11 @@ Obsoletes: openldap2-devel-64bit
|
||||
%endif
|
||||
#
|
||||
Conflicts: openldap-devel
|
||||
%if %suse_version >= 1110
|
||||
Requires: libldap-2_4-2 = %{version} cyrus-sasl-devel libopenssl-devel
|
||||
%else
|
||||
Requires: libldap-2_4-2 = %{version} cyrus-sasl-devel openssl-devel
|
||||
%endif
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n openldap2-devel
|
||||
@ -165,7 +162,6 @@ Authors:
|
||||
%prep
|
||||
%setup -q -n openldap-%{version} -a1 -a2 -b100
|
||||
%patch
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
@ -175,18 +171,14 @@ Authors:
|
||||
%endif
|
||||
%patch9 -p1
|
||||
%patch11
|
||||
%patch13
|
||||
%patch14 -p1
|
||||
%patch15
|
||||
%patch16
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
%patch20 -p1
|
||||
%patch21
|
||||
cp %{SOURCE5} .
|
||||
cd ../openldap-2.3.37
|
||||
%patch100
|
||||
%if %suse_version == 1100
|
||||
%patch200 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
%{?suse_update_config:%{suse_update_config -f build}}
|
||||
@ -361,6 +353,7 @@ cat > openldap2-client.filelist <<EOF
|
||||
/usr/bin/ldapmodrdn
|
||||
/usr/bin/ldapsearch
|
||||
/usr/bin/ldappasswd
|
||||
/usr/bin/ldapurl
|
||||
/usr/bin/ldapwhoami
|
||||
%doc %{_mandir}/man1/ldap*
|
||||
%doc %{_mandir}/man5/ldap.conf*
|
||||
@ -545,6 +538,42 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Mar 20 2009 rhafer@suse.de
|
||||
- Update to 2.4.15. Most important changes:
|
||||
* Fixed slapd bconfig conversion again (ITS#5346)
|
||||
* Fixed slapd behavior with superior objectClasses again (ITS#5517)
|
||||
* Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968)
|
||||
* Fixed slapd corrupt contextCSN (ITS#5947)
|
||||
* Fixed slapd syncrepl order to match on add/delete (ITS#5954)
|
||||
* Fixed slapd adding rdn with other values (ITS#5965)
|
||||
* Fixed slapd-bdb/hdb behavior with unallocatable shm (ITS#5956)
|
||||
* Fixed slapd-ldap/meta with entries with invalid attrs (ITS#5959)
|
||||
* Fixed slapo-pcache caching invalid entries (ITS#5927)
|
||||
* Fixed slapo-syncprov csn updates (ITS#5969)
|
||||
* Added libldap option to disable SASL host canonicalization (ITS#5812)
|
||||
* Fixed libldap chasing multiple referrals (ITS#5853)
|
||||
* Fixed libldap setuid usage with .ldaprc (ITS#4750)
|
||||
* Fixed libldap deref handling (ITS#5768)
|
||||
* Fixed libldap NULL pointer deref (ITS#5934)
|
||||
* Fixed libldap peer cert memory leak (ITS#5849)
|
||||
* Fixed libldap intermediate response behavior (ITS#5896)
|
||||
* Fixed libldap IPv6 address handling (ITS#5937)
|
||||
* Fixed libldap_r deref building (ITS#5768)
|
||||
* Fixed libldap_r slapd lockup when paused during shutdown (ITS#5841)
|
||||
* Fixed slapd acl checks on ADD (ITS#4556,ITS#5723)
|
||||
* Fixed slapd acl application to newly created backends (ITS#5572)
|
||||
* Fixed slapd bconfig to return error codes (ITS#5867)
|
||||
* Fixed slapd bconfig encoding incorrectly (ITS#5897)
|
||||
* Fixed slapd bconfig dangling pointers (ITS#5924)
|
||||
* Fixed slapd epoll handling (ITS#5886)
|
||||
* Fixed slapd glue with MMR (ITS#5925)
|
||||
* Fixed slapd listener comparison (ITS#5613)
|
||||
* Fixed various syncrepl issues (ITS#5809,ITS#5850, ITS#5843,
|
||||
ITS#5866, ITS#5901, ITS#5881, ITS#5935, ITS#5710,
|
||||
ITS#5781, ITS#5809, ITS#5798, ITS#5826)
|
||||
* Fixed slapd-bdb/hdb dncachesize handling (ITS#5860)
|
||||
* Fixed slapd-bdb/hdb trickle task usage (ITS#5864)
|
||||
* Fixed slapd-hdb idlcache with empty suffix (ITS#5859)
|
||||
* Wed Jan 07 2009 olh@suse.de
|
||||
- obsolete old -XXbit packages (bnc#437293)
|
||||
* Fri Dec 12 2008 rhafer@suse.de
|
||||
|
@ -1,3 +1,42 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 20 14:00:20 CET 2009 - rhafer@suse.de
|
||||
|
||||
- Update to 2.4.15. Most important changes:
|
||||
* Fixed slapd bconfig conversion again (ITS#5346)
|
||||
* Fixed slapd behavior with superior objectClasses again (ITS#5517)
|
||||
* Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968)
|
||||
* Fixed slapd corrupt contextCSN (ITS#5947)
|
||||
* Fixed slapd syncrepl order to match on add/delete (ITS#5954)
|
||||
* Fixed slapd adding rdn with other values (ITS#5965)
|
||||
* Fixed slapd-bdb/hdb behavior with unallocatable shm (ITS#5956)
|
||||
* Fixed slapd-ldap/meta with entries with invalid attrs (ITS#5959)
|
||||
* Fixed slapo-pcache caching invalid entries (ITS#5927)
|
||||
* Fixed slapo-syncprov csn updates (ITS#5969)
|
||||
* Added libldap option to disable SASL host canonicalization (ITS#5812)
|
||||
* Fixed libldap chasing multiple referrals (ITS#5853)
|
||||
* Fixed libldap setuid usage with .ldaprc (ITS#4750)
|
||||
* Fixed libldap deref handling (ITS#5768)
|
||||
* Fixed libldap NULL pointer deref (ITS#5934)
|
||||
* Fixed libldap peer cert memory leak (ITS#5849)
|
||||
* Fixed libldap intermediate response behavior (ITS#5896)
|
||||
* Fixed libldap IPv6 address handling (ITS#5937)
|
||||
* Fixed libldap_r deref building (ITS#5768)
|
||||
* Fixed libldap_r slapd lockup when paused during shutdown (ITS#5841)
|
||||
* Fixed slapd acl checks on ADD (ITS#4556,ITS#5723)
|
||||
* Fixed slapd acl application to newly created backends (ITS#5572)
|
||||
* Fixed slapd bconfig to return error codes (ITS#5867)
|
||||
* Fixed slapd bconfig encoding incorrectly (ITS#5897)
|
||||
* Fixed slapd bconfig dangling pointers (ITS#5924)
|
||||
* Fixed slapd epoll handling (ITS#5886)
|
||||
* Fixed slapd glue with MMR (ITS#5925)
|
||||
* Fixed slapd listener comparison (ITS#5613)
|
||||
* Fixed various syncrepl issues (ITS#5809,ITS#5850, ITS#5843,
|
||||
ITS#5866, ITS#5901, ITS#5881, ITS#5935, ITS#5710,
|
||||
ITS#5781, ITS#5809, ITS#5798, ITS#5826)
|
||||
* Fixed slapd-bdb/hdb dncachesize handling (ITS#5860)
|
||||
* Fixed slapd-bdb/hdb trickle task usage (ITS#5864)
|
||||
* Fixed slapd-hdb idlcache with empty suffix (ITS#5859)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 7 12:34:56 CET 2009 - olh@suse.de
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package openldap2 (Version 2.4.12)
|
||||
# spec file for package openldap2 (Version 2.4.15)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -21,13 +21,13 @@
|
||||
Name: openldap2
|
||||
BuildRequires: cyrus-sasl-devel db-devel libopenssl-devel openslp-devel tcpd-devel
|
||||
%if %sles_version == 9
|
||||
BuildRequires: -libopenssl-devel -pwdutils openssl-devel
|
||||
BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-devel
|
||||
%endif
|
||||
%if %sles_version == 10
|
||||
BuildRequires: -db-devel -libopenssl-devel -pwdutils libdb-4_5-devel openssl-devel
|
||||
%endif
|
||||
Version: 2.4.12
|
||||
Release: 7
|
||||
Version: 2.4.15
|
||||
Release: 1
|
||||
Url: http://www.openldap.org
|
||||
License: BSD 3-Clause; openldap 2.8
|
||||
%if "%{name}" == "openldap2"
|
||||
@ -52,7 +52,6 @@ Source4: sasl-slapd.conf
|
||||
Source5: README.update
|
||||
Source100: openldap-2.3.37.tar.bz2
|
||||
Patch: openldap2.dif
|
||||
Patch1: secpatch.dif
|
||||
Patch2: slapd_conf.dif
|
||||
Patch3: ldap_conf.dif
|
||||
Patch4: ldapi_url.dif
|
||||
@ -60,16 +59,10 @@ Patch6: libldap-gethostbyname_r.dif
|
||||
Patch7: pie-compile.dif
|
||||
Patch9: openldap2-add-gnu-source.diff
|
||||
Patch11: slapd-bconfig-del-db.dif
|
||||
Patch13: slapd-bdb-stop-checkpoint.dif
|
||||
Patch14: slapo-collect-include.dif
|
||||
Patch15: libldap_ctrl_lderrno.dif
|
||||
Patch16: slapd-privdb-config-its5736.dif
|
||||
Patch17: slapo-chain-dangling-its5742.dif
|
||||
Patch18: slapd-db-close-error-its5745.dif
|
||||
Patch19: slapo-syncprov-skip-its5709.dif
|
||||
Patch20: slapadd-no-trickle.dif
|
||||
Patch21: libldap_r-tpool-resume-ITS5841.diff
|
||||
Patch15: slapd-ldap_back_entry_get_rw-ITS6003.diff
|
||||
Patch100: openldap-2.3.37.dif
|
||||
Patch200: slapd_getaddrinfo_dupl.dif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -135,7 +128,11 @@ Obsoletes: openldap2-devel-64bit
|
||||
%endif
|
||||
#
|
||||
Conflicts: openldap-devel
|
||||
%if %suse_version >= 1110
|
||||
Requires: libldap-2_4-2 = %{version} cyrus-sasl-devel libopenssl-devel
|
||||
%else
|
||||
Requires: libldap-2_4-2 = %{version} cyrus-sasl-devel openssl-devel
|
||||
%endif
|
||||
Group: Development/Libraries/C and C++
|
||||
|
||||
%description -n openldap2-devel
|
||||
@ -168,7 +165,6 @@ Authors:
|
||||
%prep
|
||||
%setup -q -n openldap-%{version} -a1 -a2 -b100
|
||||
%patch
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
@ -178,18 +174,14 @@ Authors:
|
||||
%endif
|
||||
%patch9 -p1
|
||||
%patch11
|
||||
%patch13
|
||||
%patch14 -p1
|
||||
%patch15
|
||||
%patch16
|
||||
%patch17
|
||||
%patch18
|
||||
%patch19
|
||||
%patch20 -p1
|
||||
%patch21
|
||||
cp %{SOURCE5} .
|
||||
cd ../openldap-2.3.37
|
||||
%patch100
|
||||
%if %suse_version == 1100
|
||||
%patch200 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
%{?suse_update_config:%{suse_update_config -f build}}
|
||||
@ -364,6 +356,7 @@ cat > openldap2-client.filelist <<EOF
|
||||
/usr/bin/ldapmodrdn
|
||||
/usr/bin/ldapsearch
|
||||
/usr/bin/ldappasswd
|
||||
/usr/bin/ldapurl
|
||||
/usr/bin/ldapwhoami
|
||||
%doc %{_mandir}/man1/ldap*
|
||||
%doc %{_mandir}/man5/ldap.conf*
|
||||
@ -548,6 +541,42 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Mar 20 2009 rhafer@suse.de
|
||||
- Update to 2.4.15. Most important changes:
|
||||
* Fixed slapd bconfig conversion again (ITS#5346)
|
||||
* Fixed slapd behavior with superior objectClasses again (ITS#5517)
|
||||
* Fixed slapd RFC4512 behavior with same attr in RDN (ITS#5968)
|
||||
* Fixed slapd corrupt contextCSN (ITS#5947)
|
||||
* Fixed slapd syncrepl order to match on add/delete (ITS#5954)
|
||||
* Fixed slapd adding rdn with other values (ITS#5965)
|
||||
* Fixed slapd-bdb/hdb behavior with unallocatable shm (ITS#5956)
|
||||
* Fixed slapd-ldap/meta with entries with invalid attrs (ITS#5959)
|
||||
* Fixed slapo-pcache caching invalid entries (ITS#5927)
|
||||
* Fixed slapo-syncprov csn updates (ITS#5969)
|
||||
* Added libldap option to disable SASL host canonicalization (ITS#5812)
|
||||
* Fixed libldap chasing multiple referrals (ITS#5853)
|
||||
* Fixed libldap setuid usage with .ldaprc (ITS#4750)
|
||||
* Fixed libldap deref handling (ITS#5768)
|
||||
* Fixed libldap NULL pointer deref (ITS#5934)
|
||||
* Fixed libldap peer cert memory leak (ITS#5849)
|
||||
* Fixed libldap intermediate response behavior (ITS#5896)
|
||||
* Fixed libldap IPv6 address handling (ITS#5937)
|
||||
* Fixed libldap_r deref building (ITS#5768)
|
||||
* Fixed libldap_r slapd lockup when paused during shutdown (ITS#5841)
|
||||
* Fixed slapd acl checks on ADD (ITS#4556,ITS#5723)
|
||||
* Fixed slapd acl application to newly created backends (ITS#5572)
|
||||
* Fixed slapd bconfig to return error codes (ITS#5867)
|
||||
* Fixed slapd bconfig encoding incorrectly (ITS#5897)
|
||||
* Fixed slapd bconfig dangling pointers (ITS#5924)
|
||||
* Fixed slapd epoll handling (ITS#5886)
|
||||
* Fixed slapd glue with MMR (ITS#5925)
|
||||
* Fixed slapd listener comparison (ITS#5613)
|
||||
* Fixed various syncrepl issues (ITS#5809,ITS#5850, ITS#5843,
|
||||
ITS#5866, ITS#5901, ITS#5881, ITS#5935, ITS#5710,
|
||||
ITS#5781, ITS#5809, ITS#5798, ITS#5826)
|
||||
* Fixed slapd-bdb/hdb dncachesize handling (ITS#5860)
|
||||
* Fixed slapd-bdb/hdb trickle task usage (ITS#5864)
|
||||
* Fixed slapd-hdb idlcache with empty suffix (ITS#5859)
|
||||
* Wed Jan 07 2009 olh@suse.de
|
||||
- obsolete old -XXbit packages (bnc#437293)
|
||||
* Fri Dec 12 2008 rhafer@suse.de
|
||||
|
16
secpatch.dif
16
secpatch.dif
@ -1,16 +0,0 @@
|
||||
--- libraries/libldap/init.c 2004/01/08 10:44:36 1.1
|
||||
+++ libraries/libldap/init.c 2004/01/08 10:44:45
|
||||
@@ -558,6 +558,7 @@
|
||||
#endif
|
||||
|
||||
openldap_ldap_init_w_sysconf(LDAP_CONF_FILE);
|
||||
+ if( getuid() == geteuid() ){
|
||||
openldap_ldap_init_w_userconf(LDAP_USERRC_FILE);
|
||||
|
||||
{
|
||||
@@ -611,4 +612,5 @@
|
||||
}
|
||||
|
||||
openldap_ldap_init_w_env(gopts, NULL);
|
||||
+ }
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
Index: openldap-2.4.12/servers/slapd/back-bdb/tools.c
|
||||
===================================================================
|
||||
--- openldap-2.4.12.orig/servers/slapd/back-bdb/tools.c
|
||||
+++ openldap-2.4.12/servers/slapd/back-bdb/tools.c
|
||||
@@ -75,11 +75,7 @@ static ldap_pvt_thread_mutex_t bdb_tool_
|
||||
static ldap_pvt_thread_cond_t bdb_tool_index_cond_main;
|
||||
static ldap_pvt_thread_cond_t bdb_tool_index_cond_work;
|
||||
|
||||
-static ldap_pvt_thread_mutex_t bdb_tool_trickle_mutex;
|
||||
-static ldap_pvt_thread_cond_t bdb_tool_trickle_cond;
|
||||
-
|
||||
static void * bdb_tool_index_task( void *ctx, void *ptr );
|
||||
-static void * bdb_tool_trickle_task( void *ctx, void *ptr );
|
||||
|
||||
int bdb_tool_entry_open(
|
||||
BackendDB *be, int mode )
|
||||
@@ -106,10 +102,6 @@ int bdb_tool_entry_open(
|
||||
/* Set up for threaded slapindex */
|
||||
if (( slapMode & (SLAP_TOOL_QUICK|SLAP_TOOL_READONLY)) == SLAP_TOOL_QUICK ) {
|
||||
if ( !bdb_tool_info ) {
|
||||
- ldap_pvt_thread_mutex_init( &bdb_tool_trickle_mutex );
|
||||
- ldap_pvt_thread_cond_init( &bdb_tool_trickle_cond );
|
||||
- ldap_pvt_thread_pool_submit( &connection_pool, bdb_tool_trickle_task, bdb->bi_dbenv );
|
||||
-
|
||||
ldap_pvt_thread_mutex_init( &bdb_tool_index_mutex );
|
||||
ldap_pvt_thread_cond_init( &bdb_tool_index_cond_main );
|
||||
ldap_pvt_thread_cond_init( &bdb_tool_index_cond_work );
|
||||
@@ -137,9 +129,6 @@ int bdb_tool_entry_close(
|
||||
{
|
||||
if ( bdb_tool_info ) {
|
||||
slapd_shutdown = 1;
|
||||
- ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
|
||||
- ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond );
|
||||
- ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
|
||||
ldap_pvt_thread_mutex_lock( &bdb_tool_index_mutex );
|
||||
bdb_tool_index_tcount = slap_tool_thread_max - 1;
|
||||
ldap_pvt_thread_cond_broadcast( &bdb_tool_index_cond_work );
|
||||
@@ -522,12 +511,6 @@ ID bdb_tool_entry_put(
|
||||
goto done;
|
||||
}
|
||||
|
||||
- if (( slapMode & SLAP_TOOL_QUICK ) && (( e->e_id & 0xfff ) == 0xfff )) {
|
||||
- ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
|
||||
- ldap_pvt_thread_cond_signal( &bdb_tool_trickle_cond );
|
||||
- ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
|
||||
- }
|
||||
-
|
||||
if ( !bdb->bi_linear_index )
|
||||
rc = bdb_tool_index_add( &op, tid, e );
|
||||
if( rc != 0 ) {
|
||||
@@ -1100,25 +1083,6 @@ int bdb_tool_idl_add(
|
||||
#endif
|
||||
|
||||
static void *
|
||||
-bdb_tool_trickle_task( void *ctx, void *ptr )
|
||||
-{
|
||||
- DB_ENV *env = ptr;
|
||||
- int wrote;
|
||||
-
|
||||
- ldap_pvt_thread_mutex_lock( &bdb_tool_trickle_mutex );
|
||||
- while ( 1 ) {
|
||||
- ldap_pvt_thread_cond_wait( &bdb_tool_trickle_cond,
|
||||
- &bdb_tool_trickle_mutex );
|
||||
- if ( slapd_shutdown )
|
||||
- break;
|
||||
- env->memp_trickle( env, 30, &wrote );
|
||||
- }
|
||||
- ldap_pvt_thread_mutex_unlock( &bdb_tool_trickle_mutex );
|
||||
-
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
-static void *
|
||||
bdb_tool_index_task( void *ctx, void *ptr )
|
||||
{
|
||||
int base = *(int *)ptr;
|
@ -1,27 +1,19 @@
|
||||
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;
|
||||
--- servers/slapd/bconfig.c.orig
|
||||
+++ servers/slapd/bconfig.c
|
||||
@@ -5379,13 +5379,26 @@ config_back_delete( Operation *op, SlapR
|
||||
rs->sr_err = LDAP_NO_SUCH_OBJECT;
|
||||
- } else if ( ce->ce_kids ) {
|
||||
+ } else 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;
|
||||
int count, ixold;
|
||||
|
||||
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*/
|
||||
@ -39,7 +31,7 @@ diff -u -r1.342 -r1.344
|
||||
|
||||
/* remove CfEntryInfo from the siblings list */
|
||||
if ( ce->ce_parent->ce_kids == ce ) {
|
||||
@@ -5315,6 +5328,7 @@
|
||||
@@ -5447,6 +5460,7 @@ config_back_delete( Operation *op, SlapR
|
||||
#else
|
||||
rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
|
||||
#endif /* SLAP_CONFIG_DELETE */
|
||||
|
@ -1,26 +0,0 @@
|
||||
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,238 +0,0 @@
|
||||
Index: servers/slapd/back-bdb/init.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-bdb/init.c,v
|
||||
retrieving revision 1.298
|
||||
retrieving revision 1.299
|
||||
diff -u -r1.298 -r1.299
|
||||
--- servers/slapd/back-bdb/init.c 2 Nov 2008 22:06:11 -0000 1.298
|
||||
+++ servers/slapd/back-bdb/init.c 3 Nov 2008 12:00:00 -0000 1.299
|
||||
@@ -584,6 +584,17 @@
|
||||
ber_bvarray_free( bdb->bi_db_config );
|
||||
bdb->bi_db_config = NULL;
|
||||
|
||||
+ if( bdb->bi_dbenv ) {
|
||||
+ /* Free cache locker if we enabled locking.
|
||||
+ * TXNs must all be closed before DBs...
|
||||
+ */
|
||||
+ if ( !( slapMode & SLAP_TOOL_QUICK ) && bdb->bi_cache.c_txn ) {
|
||||
+ TXN_ABORT( bdb->bi_cache.c_txn );
|
||||
+ bdb->bi_cache.c_txn = NULL;
|
||||
+ }
|
||||
+ bdb_reader_flush( bdb->bi_dbenv );
|
||||
+ }
|
||||
+
|
||||
while( bdb->bi_databases && bdb->bi_ndatabases-- ) {
|
||||
db = bdb->bi_databases[bdb->bi_ndatabases];
|
||||
rc = db->bdi_db->close( db->bdi_db, 0 );
|
||||
@@ -614,13 +625,6 @@
|
||||
|
||||
/* close db environment */
|
||||
if( bdb->bi_dbenv ) {
|
||||
- /* Free cache locker if we enabled locking */
|
||||
- if ( !( slapMode & SLAP_TOOL_QUICK ) && bdb->bi_cache.c_txn ) {
|
||||
- TXN_ABORT( bdb->bi_cache.c_txn );
|
||||
- bdb->bi_cache.c_txn = NULL;
|
||||
- }
|
||||
- bdb_reader_flush( bdb->bi_dbenv );
|
||||
-
|
||||
/* force a checkpoint, but not if we were ReadOnly,
|
||||
* and not in Quick mode since there are no transactions there.
|
||||
*/
|
||||
Index: servers/slapd/backend.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/backend.c,v
|
||||
retrieving revision 1.403
|
||||
retrieving revision 1.404
|
||||
diff -u -r1.403 -r1.404
|
||||
--- servers/slapd/backend.c 2 Nov 2008 06:58:50 -0000 1.403
|
||||
+++ servers/slapd/backend.c 3 Nov 2008 12:23:05 -0000 1.404
|
||||
@@ -349,11 +349,13 @@
|
||||
}
|
||||
|
||||
if ( be->bd_info->bi_db_close ) {
|
||||
- be->bd_info->bi_db_close( be, NULL );
|
||||
+ rc = be->bd_info->bi_db_close( be, NULL );
|
||||
+ if ( rc ) return rc;
|
||||
}
|
||||
|
||||
if( be->bd_info->bi_close ) {
|
||||
- be->bd_info->bi_close( be->bd_info );
|
||||
+ rc = be->bd_info->bi_close( be->bd_info );
|
||||
+ if ( rc ) return rc;
|
||||
}
|
||||
|
||||
return 0;
|
||||
Index: servers/slapd/slapacl.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapacl.c,v
|
||||
retrieving revision 1.31
|
||||
retrieving revision 1.32
|
||||
diff -u -r1.31 -r1.32
|
||||
--- servers/slapd/slapacl.c 7 Jan 2008 23:20:09 -0000 1.31
|
||||
+++ servers/slapd/slapacl.c 3 Nov 2008 12:23:05 -0000 1.32
|
||||
@@ -399,7 +399,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
|
||||
return rc;
|
||||
}
|
||||
Index: servers/slapd/slapadd.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapadd.c,v
|
||||
retrieving revision 1.54
|
||||
retrieving revision 1.55
|
||||
diff -u -r1.54 -r1.55
|
||||
--- servers/slapd/slapadd.c 22 Mar 2008 15:01:23 -0000 1.54
|
||||
+++ servers/slapd/slapadd.c 3 Nov 2008 12:23:05 -0000 1.55
|
||||
@@ -447,7 +447,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
|
||||
return rc;
|
||||
}
|
||||
Index: servers/slapd/slapauth.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapauth.c,v
|
||||
retrieving revision 1.13
|
||||
retrieving revision 1.14
|
||||
diff -u -r1.13 -r1.14
|
||||
--- servers/slapd/slapauth.c 7 Jan 2008 23:20:09 -0000 1.13
|
||||
+++ servers/slapd/slapauth.c 3 Nov 2008 12:23:05 -0000 1.14
|
||||
@@ -166,7 +166,8 @@
|
||||
if ( !BER_BVISNULL( &authzID ) ) {
|
||||
op->o_tmpfree( authzID.bv_val, op->o_tmpmemctx );
|
||||
}
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
|
||||
return rc;
|
||||
}
|
||||
Index: servers/slapd/slapcat.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapcat.c,v
|
||||
retrieving revision 1.12
|
||||
retrieving revision 1.13
|
||||
diff -u -r1.12 -r1.13
|
||||
--- servers/slapd/slapcat.c 11 Apr 2008 10:20:01 -0000 1.12
|
||||
+++ servers/slapd/slapcat.c 3 Nov 2008 12:23:05 -0000 1.13
|
||||
@@ -134,6 +134,7 @@
|
||||
|
||||
be->be_entry_close( be );
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
return rc;
|
||||
}
|
||||
Index: servers/slapd/slapcommon.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapcommon.c,v
|
||||
retrieving revision 1.88
|
||||
retrieving revision 1.89
|
||||
diff -u -r1.88 -r1.89
|
||||
--- servers/slapd/slapcommon.c 7 Jan 2008 23:20:09 -0000 1.88
|
||||
+++ servers/slapd/slapcommon.c 3 Nov 2008 12:23:05 -0000 1.89
|
||||
@@ -740,13 +740,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
-void slap_tool_destroy( void )
|
||||
+int slap_tool_destroy( void )
|
||||
{
|
||||
+ int rc = 0;
|
||||
if ( !dryrun ) {
|
||||
if ( need_shutdown ) {
|
||||
- slap_shutdown( be );
|
||||
+ if ( slap_shutdown( be ))
|
||||
+ rc = EXIT_FAILURE;
|
||||
}
|
||||
- slap_destroy();
|
||||
+ if ( slap_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
}
|
||||
#ifdef SLAPD_MODULES
|
||||
if ( slapMode == SLAP_SERVER_MODE ) {
|
||||
@@ -772,4 +775,5 @@
|
||||
if ( ldiffp && ldiffp != &dummy ) {
|
||||
ldif_close( ldiffp );
|
||||
}
|
||||
+ return rc;
|
||||
}
|
||||
Index: servers/slapd/slapcommon.h
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapcommon.h,v
|
||||
retrieving revision 1.19
|
||||
retrieving revision 1.20
|
||||
diff -u -r1.19 -r1.20
|
||||
--- servers/slapd/slapcommon.h 7 Jan 2008 23:20:09 -0000 1.19
|
||||
+++ servers/slapd/slapcommon.h 3 Nov 2008 12:23:05 -0000 1.20
|
||||
@@ -101,6 +101,6 @@
|
||||
int tool,
|
||||
int argc, char **argv ));
|
||||
|
||||
-void slap_tool_destroy LDAP_P((void));
|
||||
+int slap_tool_destroy LDAP_P((void));
|
||||
|
||||
#endif /* SLAPCOMMON_H_ */
|
||||
Index: servers/slapd/slapdn.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapdn.c,v
|
||||
retrieving revision 1.10
|
||||
retrieving revision 1.11
|
||||
diff -u -r1.10 -r1.11
|
||||
--- servers/slapd/slapdn.c 7 Jan 2008 23:20:09 -0000 1.10
|
||||
+++ servers/slapd/slapdn.c 3 Nov 2008 12:23:05 -0000 1.11
|
||||
@@ -99,7 +99,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
|
||||
return rc;
|
||||
}
|
||||
Index: servers/slapd/slapindex.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slapindex.c,v
|
||||
retrieving revision 1.7
|
||||
retrieving revision 1.8
|
||||
diff -u -r1.7 -r1.8
|
||||
--- servers/slapd/slapindex.c 7 Jan 2008 23:20:09 -0000 1.7
|
||||
+++ servers/slapd/slapindex.c 3 Nov 2008 12:23:05 -0000 1.8
|
||||
@@ -99,6 +99,7 @@
|
||||
|
||||
(void) be->be_entry_close( be );
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
return( rc );
|
||||
}
|
||||
Index: servers/slapd/slaptest.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slaptest.c,v
|
||||
retrieving revision 1.11
|
||||
retrieving revision 1.12
|
||||
diff -u -r1.11 -r1.12
|
||||
--- servers/slapd/slaptest.c 7 Jan 2008 23:20:09 -0000 1.11
|
||||
+++ servers/slapd/slaptest.c 3 Nov 2008 12:23:05 -0000 1.12
|
||||
@@ -108,7 +108,8 @@
|
||||
fprintf( stderr, "config file testing succeeded\n");
|
||||
}
|
||||
|
||||
- slap_tool_destroy();
|
||||
+ if ( slap_tool_destroy())
|
||||
+ rc = EXIT_FAILURE;
|
||||
|
||||
return rc;
|
||||
}
|
19
slapd-ldap_back_entry_get_rw-ITS6003.diff
Normal file
19
slapd-ldap_back_entry_get_rw-ITS6003.diff
Normal file
@ -0,0 +1,19 @@
|
||||
Index: servers/slapd/back-ldap/search.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-ldap/search.c,v
|
||||
retrieving revision 1.201.2.20
|
||||
retrieving revision 1.201.2.21
|
||||
diff -u -r1.201.2.20 -r1.201.2.21
|
||||
--- servers/slapd/back-ldap/search.c 5 Mar 2009 18:22:14 -0000 1.201.2.20
|
||||
+++ servers/slapd/back-ldap/search.c 6 Mar 2009 07:14:56 -0000 1.201.2.21
|
||||
@@ -929,8 +929,8 @@
|
||||
|
||||
/* TODO: timeout? */
|
||||
rc = ldap_pvt_search_s( lc->lc_ld, ndn->bv_val, LDAP_SCOPE_BASE, filter,
|
||||
- attrp, 0, ctrls, NULL,
|
||||
- NULL, LDAP_NO_LIMIT, op->ors_deref, &result );
|
||||
+ attrp, LDAP_DEREF_NEVER, ctrls, NULL,
|
||||
+ NULL, LDAP_NO_LIMIT, 0, &result );
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
if ( rc == LDAP_SERVER_DOWN && do_retry ) {
|
||||
do_retry = 0;
|
@ -1,267 +0,0 @@
|
||||
Index: servers/slapd/overlays/translucent.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/translucent.c,v
|
||||
retrieving revision 1.54
|
||||
retrieving revision 1.55
|
||||
diff -u -r1.54 -r1.55
|
||||
--- servers/slapd/overlays/translucent.c 6 Oct 2008 23:59:52 -0000 1.54
|
||||
+++ servers/slapd/overlays/translucent.c 12 Oct 2008 18:20:47 -0000 1.55
|
||||
@@ -95,14 +95,6 @@
|
||||
{ NULL, NULL, 0, 0, 0, ARG_IGNORED }
|
||||
};
|
||||
|
||||
-static ConfigTable transdummy[] = {
|
||||
- { "", "", 0, 0, 0, ARG_IGNORED,
|
||||
- NULL, "( OLcfgGlAt:13 NAME 'olcDatabase' "
|
||||
- "DESC 'The backend type for a database instance' "
|
||||
- "SUP olcBackend SINGLE-VALUE X-ORDERED 'SIBLINGS' )", NULL, NULL },
|
||||
- { NULL, NULL, 0, 0, 0, ARG_IGNORED }
|
||||
-};
|
||||
-
|
||||
static ConfigOCs translucentocs[] = {
|
||||
{ "( OLcfgOvOc:14.1 "
|
||||
"NAME 'olcTranslucentConfig' "
|
||||
@@ -115,7 +107,7 @@
|
||||
{ "( OLcfgOvOc:14.2 "
|
||||
"NAME 'olcTranslucentDatabase' "
|
||||
"DESC 'Translucent target database configuration' "
|
||||
- "AUXILIARY )", Cft_Misc, transdummy, translucent_ldadd },
|
||||
+ "AUXILIARY )", Cft_Misc, olcDatabaseDummy, translucent_ldadd },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
||||
/* for translucent_init() */
|
||||
Index: servers/slapd/overlays/pcache.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/pcache.c,v
|
||||
retrieving revision 1.153
|
||||
retrieving revision 1.154
|
||||
diff -u -r1.153 -r1.154
|
||||
--- servers/slapd/overlays/pcache.c 4 Sep 2008 05:43:19 -0000 1.153
|
||||
+++ servers/slapd/overlays/pcache.c 12 Oct 2008 18:20:47 -0000 1.154
|
||||
@@ -2655,15 +2655,6 @@
|
||||
{ NULL, NULL, 0, 0, 0, ARG_IGNORED }
|
||||
};
|
||||
|
||||
-/* Need to no-op this keyword for dynamic config */
|
||||
-static ConfigTable pcdummy[] = {
|
||||
- { "", "", 0, 0, 0, ARG_IGNORED,
|
||||
- NULL, "( OLcfgGlAt:13 NAME 'olcDatabase' "
|
||||
- "DESC 'The backend type for a database instance' "
|
||||
- "SUP olcBackend SINGLE-VALUE X-ORDERED 'SIBLINGS' )", NULL, NULL },
|
||||
- { NULL, NULL, 0, 0, 0, ARG_IGNORED }
|
||||
-};
|
||||
-
|
||||
static ConfigOCs pcocs[] = {
|
||||
{ "( OLcfgOvOc:2.1 "
|
||||
"NAME 'olcPcacheConfig' "
|
||||
@@ -2675,7 +2666,7 @@
|
||||
{ "( OLcfgOvOc:2.2 "
|
||||
"NAME 'olcPcacheDatabase' "
|
||||
"DESC 'Cache database configuration' "
|
||||
- "AUXILIARY )", Cft_Misc, pcdummy, pc_ldadd },
|
||||
+ "AUXILIARY )", Cft_Misc, olcDatabaseDummy, pc_ldadd },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
||||
|
||||
@@ -3995,11 +3986,6 @@
|
||||
code = config_register_schema( pccfg, pcocs );
|
||||
if ( code ) return code;
|
||||
|
||||
- {
|
||||
- const char *text;
|
||||
- code = slap_str2ad( "olcDatabase", &pcdummy[0].ad, &text );
|
||||
- if ( code ) return code;
|
||||
- }
|
||||
return overlay_register( &pcache );
|
||||
}
|
||||
|
||||
Index: servers/slapd/back-monitor/database.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-monitor/database.c,v
|
||||
retrieving revision 1.97
|
||||
retrieving revision 1.98
|
||||
diff -u -r1.97 -r1.98
|
||||
--- servers/slapd/back-monitor/database.c 26 May 2008 18:53:16 -0000 1.97
|
||||
+++ servers/slapd/back-monitor/database.c 12 Oct 2008 18:20:46 -0000 1.98
|
||||
@@ -160,12 +160,12 @@
|
||||
"monitor_subsys_database_init: "
|
||||
"missing suffix for %s\n",
|
||||
rdnval, 0, 0 );
|
||||
- return -1;
|
||||
- }
|
||||
- attr_merge( e, slap_schema.si_ad_namingContexts,
|
||||
+ } else {
|
||||
+ attr_merge( e, slap_schema.si_ad_namingContexts,
|
||||
be->be_suffix, be->be_nsuffix );
|
||||
- attr_merge( e_database, slap_schema.si_ad_namingContexts,
|
||||
+ attr_merge( e_database, slap_schema.si_ad_namingContexts,
|
||||
be->be_suffix, be->be_nsuffix );
|
||||
+ }
|
||||
}
|
||||
|
||||
(void)init_readOnly( mi, e, be->be_restrictops );
|
||||
Index: servers/slapd/back-ldap/chain.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-ldap/chain.c,v
|
||||
retrieving revision 1.69
|
||||
retrieving revision 1.70
|
||||
diff -u -r1.69 -r1.70
|
||||
--- servers/slapd/back-ldap/chain.c 7 Jan 2008 23:20:11 -0000 1.69
|
||||
+++ servers/slapd/back-ldap/chain.c 12 Oct 2008 18:20:46 -0000 1.70
|
||||
@@ -63,6 +63,7 @@
|
||||
LDAP_CH_RES,
|
||||
LDAP_CH_ERR
|
||||
} ldap_chain_status_t;
|
||||
+
|
||||
static BackendInfo *lback;
|
||||
|
||||
typedef struct ldap_chain_t {
|
||||
@@ -1096,7 +1097,7 @@
|
||||
"NAME 'olcChainDatabase' "
|
||||
"DESC 'Chain remote server configuration' "
|
||||
"AUXILIARY )",
|
||||
- Cft_Misc, chaincfg, chain_ldadd },
|
||||
+ Cft_Misc, olcDatabaseDummy, chain_ldadd },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
||||
|
||||
@@ -1187,6 +1188,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ ca->ca_private = on;
|
||||
+
|
||||
done:;
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
(void)ldap_chain_db_destroy_one( ca->be, NULL );
|
||||
@@ -1510,17 +1513,11 @@
|
||||
ldap_chain_t *lc = NULL;
|
||||
|
||||
if ( lback == NULL ) {
|
||||
- static BackendInfo lback2;
|
||||
-
|
||||
lback = backend_info( "ldap" );
|
||||
|
||||
if ( lback == NULL ) {
|
||||
return 1;
|
||||
}
|
||||
-
|
||||
- lback2 = *lback;
|
||||
- lback2.bi_type = ldapchain.on_bi.bi_type;
|
||||
- lback = &lback2;
|
||||
}
|
||||
|
||||
lc = ch_malloc( sizeof( ldap_chain_t ) );
|
||||
@@ -2062,7 +2059,8 @@
|
||||
int
|
||||
chain_initialize( void )
|
||||
{
|
||||
- int rc;
|
||||
+ int rc;
|
||||
+ const char *text;
|
||||
|
||||
/* Make sure we don't exceed the bits reserved for userland */
|
||||
config_check_userland( CH_LAST );
|
||||
Index: servers/slapd/config.h
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/config.h,v
|
||||
retrieving revision 1.50
|
||||
retrieving revision 1.51
|
||||
diff -u -r1.50 -r1.51
|
||||
--- servers/slapd/config.h 18 Feb 2008 22:11:12 -0000 1.50
|
||||
+++ servers/slapd/config.h 12 Oct 2008 18:20:46 -0000 1.51
|
||||
@@ -201,6 +201,8 @@
|
||||
extern slap_verbmasks *slap_ldap_response_code;
|
||||
extern int slap_ldap_response_code_register( struct berval *bv, int err );
|
||||
|
||||
+extern ConfigTable olcDatabaseDummy[];
|
||||
+
|
||||
LDAP_END_DECL
|
||||
|
||||
#endif /* CONFIG_H */
|
||||
Index: servers/slapd/bconfig.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/bconfig.c,v
|
||||
retrieving revision 1.348
|
||||
retrieving revision 1.350
|
||||
diff -u -r1.348 -r1.350
|
||||
--- servers/slapd/bconfig.c 29 Sep 2008 20:08:29 -0000 1.348
|
||||
+++ servers/slapd/bconfig.c 12 Oct 2008 18:20:46 -0000 1.350
|
||||
@@ -696,6 +696,15 @@
|
||||
NULL, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
+/* Need to no-op this keyword for dynamic config */
|
||||
+ConfigTable olcDatabaseDummy[] = {
|
||||
+ { "", "", 0, 0, 0, ARG_IGNORED,
|
||||
+ NULL, "( OLcfgGlAt:13 NAME 'olcDatabase' "
|
||||
+ "DESC 'The backend type for a database instance' "
|
||||
+ "SUP olcBackend SINGLE-VALUE X-ORDERED 'SIBLINGS' )", NULL, NULL },
|
||||
+ { NULL, NULL, 0, 0, 0, ARG_IGNORED }
|
||||
+};
|
||||
+
|
||||
/* Routines to check if a child can be added to this type */
|
||||
static ConfigLDAPadd cfAddSchema, cfAddInclude, cfAddDatabase,
|
||||
cfAddBackend, cfAddModule, cfAddOverlay;
|
||||
@@ -3253,7 +3262,7 @@
|
||||
ConfigArgs *ca;
|
||||
Entry *frontend;
|
||||
Entry *config;
|
||||
- int got_frontend;
|
||||
+ int got_frontend;
|
||||
int got_config;
|
||||
} setup_cookie;
|
||||
|
||||
@@ -3262,15 +3271,18 @@
|
||||
{
|
||||
if ( rs->sr_type == REP_SEARCH ) {
|
||||
setup_cookie *sc = op->o_callback->sc_private;
|
||||
+ struct berval pdn;
|
||||
|
||||
sc->cfb->cb_got_ldif = 1;
|
||||
/* Does the frontend exist? */
|
||||
if ( !sc->got_frontend ) {
|
||||
if ( !strncmp( rs->sr_entry->e_nname.bv_val,
|
||||
- "olcDatabase", STRLENOF( "olcDatabase" ))) {
|
||||
+ "olcDatabase", STRLENOF( "olcDatabase" )))
|
||||
+ {
|
||||
if ( strncmp( rs->sr_entry->e_nname.bv_val +
|
||||
STRLENOF( "olcDatabase" ), "={-1}frontend",
|
||||
- STRLENOF( "={-1}frontend" ))) {
|
||||
+ STRLENOF( "={-1}frontend" )))
|
||||
+ {
|
||||
struct berval rdn;
|
||||
int i = op->o_noop;
|
||||
sc->ca->be = frontendDB;
|
||||
@@ -3293,13 +3305,19 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+ dnParent( &rs->sr_entry->e_nname, &pdn );
|
||||
+
|
||||
/* Does the configDB exist? */
|
||||
if ( sc->got_frontend && !sc->got_config &&
|
||||
!strncmp( rs->sr_entry->e_nname.bv_val,
|
||||
- "olcDatabase", STRLENOF( "olcDatabase" ))) {
|
||||
+ "olcDatabase", STRLENOF( "olcDatabase" )) &&
|
||||
+ dn_match( &config_rdn, &pdn ) )
|
||||
+ {
|
||||
if ( strncmp( rs->sr_entry->e_nname.bv_val +
|
||||
STRLENOF( "olcDatabase" ), "={0}config",
|
||||
- STRLENOF( "={0}config" ))) {
|
||||
+ STRLENOF( "={0}config" )))
|
||||
+ {
|
||||
struct berval rdn;
|
||||
int i = op->o_noop;
|
||||
sc->ca->be = LDAP_STAILQ_FIRST( &backendDB );
|
||||
@@ -6466,6 +6484,9 @@
|
||||
i = config_register_schema( ct, cf_ocs );
|
||||
if ( i ) return i;
|
||||
|
||||
+ i = slap_str2ad( "olcDatabase", &olcDatabaseDummy[0].ad, &text );
|
||||
+ if ( i ) return i;
|
||||
+
|
||||
/* setup olcRootPW to be base64-encoded when written in LDIF form;
|
||||
* basically, we don't care if it fails */
|
||||
i = slap_str2ad( "olcRootPW", &ad, &text );
|
102
slapd_getaddrinfo_dupl.dif
Normal file
102
slapd_getaddrinfo_dupl.dif
Normal file
@ -0,0 +1,102 @@
|
||||
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;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
@ -1,138 +0,0 @@
|
||||
Index: servers/slapd/result.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/result.c,v
|
||||
retrieving revision 1.316
|
||||
retrieving revision 1.317
|
||||
diff -u -r1.316 -r1.317
|
||||
--- servers/slapd/result.c 13 Oct 2008 08:18:15 -0000 1.316
|
||||
+++ servers/slapd/result.c 16 Oct 2008 22:03:17 -0000 1.317
|
||||
@@ -1273,6 +1273,7 @@
|
||||
BerElement *ber = (BerElement *) &berbuf;
|
||||
int rc = 0;
|
||||
int bytes;
|
||||
+ char *edn = rs->sr_entry ? rs->sr_entry->e_name.bv_val : "(null)";
|
||||
|
||||
AttributeDescription *ad_ref = slap_schema.si_ad_ref;
|
||||
AttributeDescription *ad_entry = slap_schema.si_ad_entry;
|
||||
@@ -1287,7 +1288,7 @@
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
"=> send_search_reference: dn=\"%s\"\n",
|
||||
- rs->sr_entry ? rs->sr_entry->e_name.bv_val : "(null)", 0, 0 );
|
||||
+ edn, 0, 0 );
|
||||
|
||||
if ( rs->sr_entry && ! access_allowed( op, rs->sr_entry,
|
||||
ad_entry, NULL, ACL_READ, NULL ) )
|
||||
@@ -1313,7 +1314,7 @@
|
||||
if( op->o_domain_scope ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"send_search_reference: domainScope control in (%s)\n",
|
||||
- rs->sr_entry->e_dn, 0, 0 );
|
||||
+ edn, 0, 0 );
|
||||
rc = 0;
|
||||
goto rel;
|
||||
}
|
||||
@@ -1321,7 +1322,7 @@
|
||||
if( rs->sr_ref == NULL ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
"send_search_reference: null ref in (%s)\n",
|
||||
- rs->sr_entry ? rs->sr_entry->e_dn : "(null)", 0, 0 );
|
||||
+ edn, 0, 0 );
|
||||
rc = 1;
|
||||
goto rel;
|
||||
}
|
||||
@@ -1371,6 +1372,7 @@
|
||||
|
||||
rc = 0;
|
||||
if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE ) {
|
||||
+ assert( rs->sr_entry != NULL );
|
||||
be_entry_release_rw( op, rs->sr_entry, 0 );
|
||||
rs->sr_flags ^= REP_ENTRY_MUSTRELEASE;
|
||||
rs->sr_entry = NULL;
|
||||
@@ -1520,8 +1522,8 @@
|
||||
LDAPControl c;
|
||||
Operation myop;
|
||||
|
||||
- Debug( LDAP_DEBUG_ANY, "slap_read_controls: (%s) %s\n",
|
||||
- oid->bv_val, e->e_dn, 0 );
|
||||
+ Debug( LDAP_DEBUG_ANY, "%s slap_read_controls: (%s) %s\n",
|
||||
+ op->o_log_prefix, oid->bv_val, e->e_dn );
|
||||
|
||||
rs->sr_entry = e;
|
||||
rs->sr_attrs = ( oid == &slap_pre_read_bv ) ?
|
||||
Index: servers/slapd/back-ldap/chain.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-ldap/chain.c,v
|
||||
retrieving revision 1.70
|
||||
retrieving revision 1.71
|
||||
diff -u -r1.70 -r1.71
|
||||
--- servers/slapd/back-ldap/chain.c 12 Oct 2008 18:20:46 -0000 1.70
|
||||
+++ servers/slapd/back-ldap/chain.c 16 Oct 2008 22:06:12 -0000 1.71
|
||||
@@ -597,6 +597,8 @@
|
||||
struct berval odn = op->o_req_dn,
|
||||
ondn = op->o_req_ndn;
|
||||
slap_response *save_response = op->o_callback->sc_response;
|
||||
+ Entry *save_entry = rs->sr_entry;
|
||||
+ slap_mask_t save_flags = rs->sr_flags;
|
||||
|
||||
int rc = LDAP_OTHER,
|
||||
first_rc = -1;
|
||||
@@ -761,7 +763,8 @@
|
||||
op->o_req_ndn = ondn;
|
||||
op->o_callback->sc_response = save_response;
|
||||
rs->sr_type = REP_SEARCHREF;
|
||||
- rs->sr_entry = NULL;
|
||||
+ rs->sr_entry = save_entry;
|
||||
+ rs->sr_flags = save_flags;
|
||||
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
/* couldn't chase any of the referrals */
|
||||
Index: tests/scripts/test032-chain
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/tests/scripts/test032-chain,v
|
||||
retrieving revision 1.13
|
||||
retrieving revision 1.14
|
||||
diff -u -r1.13 -r1.14
|
||||
--- tests/scripts/test032-chain 7 Jan 2008 23:20:17 -0000 1.13
|
||||
+++ tests/scripts/test032-chain 16 Oct 2008 22:07:15 -0000 1.14
|
||||
@@ -128,7 +128,7 @@
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- echo "Reading the referral entry "ou=Other,$BASEDN" as anonymous on port $P..."
|
||||
+ echo "Reading the referral entry \"ou=Other,$BASEDN\" as anonymous on port $P..."
|
||||
$LDAPSEARCH -h $LOCALHOST -p $P -b "ou=Other,$BASEDN" -S "" \
|
||||
> $SEARCHOUT 2>&1
|
||||
|
||||
@@ -304,6 +304,31 @@
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
+# ITS#57??
|
||||
+$LDAPADD -h $LOCALHOST -p $PORT1 \
|
||||
+ -D "$MANAGERDN" -w secret \
|
||||
+ >> $TESTOUT 2>&1 \
|
||||
+ << EOMODS
|
||||
+dn: ou=Can't Contact,dc=example,dc=com
|
||||
+changetype: add
|
||||
+objectclass: referral
|
||||
+objectclass: extensibleobject
|
||||
+ou: Can't Contact
|
||||
+# invalid URI to test broken connectivity handling (search only)
|
||||
+ref: ${URI3}ou=Can't%20Contact,dc=example,dc=com
|
||||
+EOMODS
|
||||
+
|
||||
+echo "Reading the referral entry \"ou=Can't Contact,$BASEDN\" as anonymous on port $PORT1..."
|
||||
+$LDAPSEARCH -h $LOCALHOST -p $PORT1 -b "$BASEDN" -S "" "(cn=Can't Contact)" \
|
||||
+ > $SEARCHOUT 2>&1
|
||||
+
|
||||
+RC=$?
|
||||
+if test $RC != 0 ; then
|
||||
+ echo "ldapsearch failed ($RC)!"
|
||||
+ test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
+ exit $RC
|
||||
+fi
|
||||
+
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
|
||||
echo ">>>>> Test succeeded"
|
@ -1,296 +0,0 @@
|
||||
Index: servers/slapd/proto-slap.h
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/proto-slap.h,v
|
||||
retrieving revision 1.762
|
||||
retrieving revision 1.763
|
||||
diff -u -r1.762 -r1.763
|
||||
--- servers/slapd/proto-slap.h 1 Nov 2008 14:16:49 -0000 1.762
|
||||
+++ servers/slapd/proto-slap.h 2 Nov 2008 21:16:20 -0000 1.763
|
||||
@@ -804,7 +804,7 @@
|
||||
LDAP_SLAPD_V( const struct berval ) slap_ldapsync_bv;
|
||||
LDAP_SLAPD_V( const struct berval ) slap_ldapsync_cn_bv;
|
||||
LDAP_SLAPD_F (void) slap_get_commit_csn LDAP_P((
|
||||
- Operation *, struct berval *maxcsn ));
|
||||
+ Operation *, struct berval *maxcsn, int *foundit ));
|
||||
LDAP_SLAPD_F (void) slap_rewind_commit_csn LDAP_P(( Operation * ));
|
||||
LDAP_SLAPD_F (void) slap_graduate_commit_csn LDAP_P(( Operation * ));
|
||||
LDAP_SLAPD_F (Entry *) slap_create_context_csn_entry LDAP_P(( Backend *, struct berval *));
|
||||
Index: servers/slapd/overlays/syncprov.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/syncprov.c,v
|
||||
retrieving revision 1.249
|
||||
retrieving revision 1.250
|
||||
diff -u -r1.249 -r1.250
|
||||
--- servers/slapd/overlays/syncprov.c 28 Oct 2008 19:33:46 -0000 1.249
|
||||
+++ servers/slapd/overlays/syncprov.c 2 Nov 2008 14:26:25 -0000 1.250
|
||||
@@ -1604,12 +1604,12 @@
|
||||
{
|
||||
struct berval maxcsn = BER_BVNULL;
|
||||
char cbuf[LDAP_LUTIL_CSNSTR_BUFSIZE];
|
||||
- int do_check = 0, have_psearches;
|
||||
+ int do_check = 0, have_psearches, foundit;
|
||||
|
||||
/* Update our context CSN */
|
||||
cbuf[0] = '\0';
|
||||
ldap_pvt_thread_rdwr_wlock( &si->si_csn_rwlock );
|
||||
- slap_get_commit_csn( op, &maxcsn );
|
||||
+ slap_get_commit_csn( op, &maxcsn, &foundit );
|
||||
if ( BER_BVISNULL( &maxcsn ) && SLAP_GLUE_SUBORDINATE( op->o_bd )) {
|
||||
/* syncrepl queues the CSN values in the db where
|
||||
* it is configured , not where the changes are made.
|
||||
@@ -1618,7 +1618,7 @@
|
||||
*/
|
||||
BackendDB *be = op->o_bd;
|
||||
op->o_bd = select_backend( &be->be_nsuffix[0], 1);
|
||||
- slap_get_commit_csn( op, &maxcsn );
|
||||
+ slap_get_commit_csn( op, &maxcsn, &foundit );
|
||||
op->o_bd = be;
|
||||
}
|
||||
if ( !BER_BVISNULL( &maxcsn ) ) {
|
||||
@@ -1641,7 +1641,7 @@
|
||||
sizeof(int));
|
||||
si->si_sids[i] = sid;
|
||||
}
|
||||
- } else {
|
||||
+ } else if ( !foundit ) {
|
||||
/* internal ops that aren't meant to be replicated */
|
||||
ldap_pvt_thread_rdwr_wunlock( &si->si_csn_rwlock );
|
||||
return SLAP_CB_CONTINUE;
|
||||
@@ -1678,8 +1678,11 @@
|
||||
ldap_pvt_thread_rdwr_runlock( &si->si_csn_rwlock );
|
||||
}
|
||||
|
||||
- opc->sctxcsn.bv_len = maxcsn.bv_len;
|
||||
- opc->sctxcsn.bv_val = cbuf;
|
||||
+ /* only update consumer ctx if this is the greatest csn */
|
||||
+ if ( bvmatch( &maxcsn, &op->o_csn )) {
|
||||
+ opc->sctxcsn.bv_len = maxcsn.bv_len;
|
||||
+ opc->sctxcsn.bv_val = cbuf;
|
||||
+ }
|
||||
|
||||
/* Handle any persistent searches */
|
||||
ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );
|
||||
Index: servers/slapd/ctxcsn.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/ctxcsn.c,v
|
||||
retrieving revision 1.47
|
||||
retrieving revision 1.50
|
||||
diff -u -r1.47 -r1.50
|
||||
--- servers/slapd/ctxcsn.c 10 Feb 2008 01:18:22 -0000 1.47
|
||||
+++ servers/slapd/ctxcsn.c 2 Nov 2008 21:16:20 -0000 1.50
|
||||
@@ -33,71 +33,72 @@
|
||||
void
|
||||
slap_get_commit_csn(
|
||||
Operation *op,
|
||||
- struct berval *maxcsn
|
||||
+ struct berval *maxcsn,
|
||||
+ int *foundit
|
||||
)
|
||||
{
|
||||
struct slap_csn_entry *csne, *committed_csne = NULL;
|
||||
+ BackendDB *be = op->o_bd->bd_self;
|
||||
|
||||
if ( maxcsn ) {
|
||||
BER_BVZERO( maxcsn );
|
||||
}
|
||||
+ if ( foundit ) {
|
||||
+ *foundit = 0;
|
||||
+ }
|
||||
|
||||
- ldap_pvt_thread_mutex_lock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_lock( &be->be_pcl_mutex );
|
||||
|
||||
- LDAP_TAILQ_FOREACH( csne, op->o_bd->be_pending_csn_list, ce_csn_link ) {
|
||||
+ LDAP_TAILQ_FOREACH( csne, be->be_pending_csn_list, ce_csn_link ) {
|
||||
if ( csne->ce_opid == op->o_opid && csne->ce_connid == op->o_connid ) {
|
||||
csne->ce_state = SLAP_CSN_COMMIT;
|
||||
+ if ( foundit ) *foundit = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- LDAP_TAILQ_FOREACH( csne, op->o_bd->be_pending_csn_list, ce_csn_link ) {
|
||||
+ LDAP_TAILQ_FOREACH( csne, be->be_pending_csn_list, ce_csn_link ) {
|
||||
if ( csne->ce_state == SLAP_CSN_COMMIT ) committed_csne = csne;
|
||||
if ( csne->ce_state == SLAP_CSN_PENDING ) break;
|
||||
}
|
||||
|
||||
if ( committed_csne && maxcsn ) *maxcsn = committed_csne->ce_csn;
|
||||
- ldap_pvt_thread_mutex_unlock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_unlock( &be->be_pcl_mutex );
|
||||
}
|
||||
|
||||
void
|
||||
slap_rewind_commit_csn( Operation *op )
|
||||
{
|
||||
struct slap_csn_entry *csne;
|
||||
+ BackendDB *be = op->o_bd->bd_self;
|
||||
|
||||
- ldap_pvt_thread_mutex_lock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_lock( &be->be_pcl_mutex );
|
||||
|
||||
- LDAP_TAILQ_FOREACH( csne, op->o_bd->be_pending_csn_list, ce_csn_link ) {
|
||||
+ LDAP_TAILQ_FOREACH( csne, be->be_pending_csn_list, ce_csn_link ) {
|
||||
if ( csne->ce_opid == op->o_opid && csne->ce_connid == op->o_connid ) {
|
||||
csne->ce_state = SLAP_CSN_PENDING;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- ldap_pvt_thread_mutex_unlock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_unlock( &be->be_pcl_mutex );
|
||||
}
|
||||
|
||||
void
|
||||
slap_graduate_commit_csn( Operation *op )
|
||||
{
|
||||
struct slap_csn_entry *csne;
|
||||
+ BackendDB *be;
|
||||
|
||||
if ( op == NULL ) return;
|
||||
if ( op->o_bd == NULL ) return;
|
||||
+ be = op->o_bd->bd_self;
|
||||
|
||||
-#if 0
|
||||
- /* it is NULL when we get here from the frontendDB;
|
||||
- * alternate fix: initialize frontendDB like all other backends */
|
||||
- assert( op->o_bd->be_pcl_mutexp != NULL );
|
||||
-#endif
|
||||
-
|
||||
- if ( op->o_bd->be_pcl_mutexp == NULL ) return;
|
||||
-
|
||||
- ldap_pvt_thread_mutex_lock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_lock( &be->be_pcl_mutex );
|
||||
|
||||
- LDAP_TAILQ_FOREACH( csne, op->o_bd->be_pending_csn_list, ce_csn_link ) {
|
||||
+ LDAP_TAILQ_FOREACH( csne, be->be_pending_csn_list, ce_csn_link ) {
|
||||
if ( csne->ce_opid == op->o_opid && csne->ce_connid == op->o_connid ) {
|
||||
- LDAP_TAILQ_REMOVE( op->o_bd->be_pending_csn_list,
|
||||
+ LDAP_TAILQ_REMOVE( be->be_pending_csn_list,
|
||||
csne, ce_csn_link );
|
||||
Debug( LDAP_DEBUG_SYNC, "slap_graduate_commit_csn: removing %p %s\n",
|
||||
csne->ce_csn.bv_val, csne->ce_csn.bv_val, 0 );
|
||||
@@ -110,7 +111,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- ldap_pvt_thread_mutex_unlock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_unlock( &be->be_pcl_mutex );
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -161,22 +162,23 @@
|
||||
struct berval *csn )
|
||||
{
|
||||
struct slap_csn_entry *pending;
|
||||
+ BackendDB *be = op->o_bd->bd_self;
|
||||
|
||||
pending = (struct slap_csn_entry *) ch_calloc( 1,
|
||||
sizeof( struct slap_csn_entry ));
|
||||
|
||||
Debug( LDAP_DEBUG_SYNC, "slap_queue_csn: queing %p %s\n", csn->bv_val, csn->bv_val, 0 );
|
||||
|
||||
- ldap_pvt_thread_mutex_lock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_lock( &be->be_pcl_mutex );
|
||||
|
||||
ber_dupbv( &pending->ce_csn, csn );
|
||||
ber_bvreplace_x( &op->o_csn, &pending->ce_csn, op->o_tmpmemctx );
|
||||
pending->ce_connid = op->o_connid;
|
||||
pending->ce_opid = op->o_opid;
|
||||
pending->ce_state = SLAP_CSN_PENDING;
|
||||
- LDAP_TAILQ_INSERT_TAIL( op->o_bd->be_pending_csn_list,
|
||||
+ LDAP_TAILQ_INSERT_TAIL( be->be_pending_csn_list,
|
||||
pending, ce_csn_link );
|
||||
- ldap_pvt_thread_mutex_unlock( op->o_bd->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_unlock( &be->be_pcl_mutex );
|
||||
}
|
||||
|
||||
int
|
||||
Index: servers/slapd/frontend.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/frontend.c,v
|
||||
retrieving revision 1.26
|
||||
retrieving revision 1.27
|
||||
diff -u -r1.26 -r1.27
|
||||
--- servers/slapd/frontend.c 19 Sep 2008 18:37:11 -0000 1.26
|
||||
+++ servers/slapd/frontend.c 2 Nov 2008 06:58:50 -0000 1.27
|
||||
@@ -108,11 +108,7 @@
|
||||
frontendDB->be_def_limit.lms_s_pr_hide = 0; /* don't hide number of entries left */
|
||||
frontendDB->be_def_limit.lms_s_pr_total = 0; /* number of total entries returned by pagedResults equal to hard limit */
|
||||
|
||||
-#if 0
|
||||
- /* FIXME: do we need this? */
|
||||
- frontendDB->be_pcl_mutexp = &frontendDB->be_pcl_mutex;
|
||||
- ldap_pvt_thread_mutex_init( frontendDB->be_pcl_mutexp );
|
||||
-#endif
|
||||
+ ldap_pvt_thread_mutex_init( &frontendDB->be_pcl_mutex );
|
||||
|
||||
/* suffix */
|
||||
frontendDB->be_suffix = ch_calloc( 2, sizeof( struct berval ) );
|
||||
Index: servers/slapd/slap.h
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/slap.h,v
|
||||
retrieving revision 1.860
|
||||
retrieving revision 1.861
|
||||
diff -u -r1.860 -r1.861
|
||||
--- servers/slapd/slap.h 1 Nov 2008 14:16:49 -0000 1.860
|
||||
+++ servers/slapd/slap.h 2 Nov 2008 06:58:50 -0000 1.861
|
||||
@@ -1895,7 +1895,6 @@
|
||||
BerVarray be_update_refs; /* where to refer modifying clients to */
|
||||
struct be_pcl *be_pending_csn_list;
|
||||
ldap_pvt_thread_mutex_t be_pcl_mutex;
|
||||
- ldap_pvt_thread_mutex_t *be_pcl_mutexp;
|
||||
struct syncinfo_s *be_syncinfo; /* For syncrepl */
|
||||
|
||||
void *be_pb; /* Netscape plugin */
|
||||
Index: servers/slapd/overlays/pcache.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/pcache.c,v
|
||||
retrieving revision 1.157
|
||||
retrieving revision 1.158
|
||||
diff -u -r1.157 -r1.158
|
||||
--- servers/slapd/overlays/pcache.c 24 Oct 2008 16:57:38 -0000 1.157
|
||||
+++ servers/slapd/overlays/pcache.c 2 Nov 2008 06:58:50 -0000 1.158
|
||||
@@ -3145,7 +3145,7 @@
|
||||
cm->db = *be;
|
||||
SLAP_DBFLAGS(&cm->db) |= SLAP_DBFLAG_NO_SCHEMA_CHECK;
|
||||
cm->db.be_private = NULL;
|
||||
- cm->db.be_pcl_mutexp = &cm->db.be_pcl_mutex;
|
||||
+ cm->db.bd_self = &cm->db;
|
||||
cm->qm = qm;
|
||||
cm->numattrsets = 0;
|
||||
cm->num_entries_limit = 5;
|
||||
Index: servers/slapd/overlays/translucent.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/translucent.c,v
|
||||
retrieving revision 1.56
|
||||
retrieving revision 1.57
|
||||
diff -u -r1.56 -r1.57
|
||||
--- servers/slapd/overlays/translucent.c 17 Oct 2008 15:40:49 -0000 1.56
|
||||
+++ servers/slapd/overlays/translucent.c 2 Nov 2008 06:58:50 -0000 1.57
|
||||
@@ -1268,7 +1268,6 @@
|
||||
on->on_bi.bi_private = ov;
|
||||
ov->db = *be;
|
||||
ov->db.be_private = NULL;
|
||||
- ov->db.be_pcl_mutexp = &ov->db.be_pcl_mutex;
|
||||
ov->defer_db_open = 1;
|
||||
|
||||
if ( !backend_db_init( "ldap", &ov->db, -1, NULL )) {
|
||||
Index: servers/slapd/backend.c
|
||||
===================================================================
|
||||
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/backend.c,v
|
||||
retrieving revision 1.402
|
||||
retrieving revision 1.403
|
||||
diff -u -r1.402 -r1.403
|
||||
--- servers/slapd/backend.c 1 Nov 2008 14:16:49 -0000 1.402
|
||||
+++ servers/slapd/backend.c 2 Nov 2008 06:58:50 -0000 1.403
|
||||
@@ -594,8 +594,7 @@
|
||||
be->be_requires = frontendDB->be_requires;
|
||||
be->be_ssf_set = frontendDB->be_ssf_set;
|
||||
|
||||
- be->be_pcl_mutexp = &be->be_pcl_mutex;
|
||||
- ldap_pvt_thread_mutex_init( be->be_pcl_mutexp );
|
||||
+ ldap_pvt_thread_mutex_init( &be->be_pcl_mutex );
|
||||
|
||||
/* assign a default depth limit for alias deref */
|
||||
be->be_max_deref_depth = SLAPD_DEFAULT_MAXDEREFDEPTH;
|
Loading…
Reference in New Issue
Block a user