Rebase to version 2.6.8
Avoid SSL context cleanup during library destruction Resolves: RHEL-71052, RHEL-68424
This commit is contained in:
parent
12ab8f2f02
commit
02ebaeb501
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,3 +39,4 @@
|
|||||||
/openldap-2.6.5.tgz
|
/openldap-2.6.5.tgz
|
||||||
/openldap-2.6.6.tgz
|
/openldap-2.6.6.tgz
|
||||||
/openldap-2.6.7.tgz
|
/openldap-2.6.7.tgz
|
||||||
|
/openldap-2.6.8.tgz
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
From 0b4098ca9080e78436cbd9f383047a9583888376 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Howard Chu <hyc@openldap.org>
|
|
||||||
Date: Mon, 26 Sep 2022 11:55:27 +0100
|
|
||||||
Subject: [PATCH] ITS#9921 fix vlvResult comment
|
|
||||||
|
|
||||||
---
|
|
||||||
clients/tools/common.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/clients/tools/common.c b/clients/tools/common.c
|
|
||||||
index b88f219b36..3135034ca0 100644
|
|
||||||
--- a/clients/tools/common.c
|
|
||||||
+++ b/clients/tools/common.c
|
|
||||||
@@ -2210,7 +2210,7 @@ print_vlv( LDAP *ld, LDAPControl *ctrl )
|
|
||||||
ber_memfree( bv.bv_val );
|
|
||||||
|
|
||||||
tool_write_ldif( ldif ? LDIF_PUT_COMMENT : LDIF_PUT_VALUE,
|
|
||||||
- ldif ? "vlvResult" : "vlvResult", buf, rc );
|
|
||||||
+ ldif ? "vlvResult: " : "vlvResult", buf, rc );
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
|||||||
From fb9e6a81bbee880549e7ec18f0a74ddddbd2d1ab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
|
||||||
Date: Tue, 6 Feb 2024 21:38:24 -0500
|
|
||||||
Subject: [PATCH] ITS#10171 - Explicitly cast private values
|
|
||||||
|
|
||||||
Fixes issues with -Werror=incompatible-pointer-types
|
|
||||||
|
|
||||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
|
||||||
---
|
|
||||||
servers/slapd/config.c | 2 +-
|
|
||||||
servers/slapd/overlays/constraint.c | 2 +-
|
|
||||||
servers/slapd/overlays/dyngroup.c | 2 +-
|
|
||||||
servers/slapd/overlays/valsort.c | 2 +-
|
|
||||||
4 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/servers/slapd/config.c b/servers/slapd/config.c
|
|
||||||
index 80333f359c..987c862d91 100644
|
|
||||||
--- a/servers/slapd/config.c
|
|
||||||
+++ b/servers/slapd/config.c
|
|
||||||
@@ -151,7 +151,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) {
|
|
||||||
int rc, arg_user, arg_type, arg_syn, iarg;
|
|
||||||
unsigned uiarg;
|
|
||||||
long larg;
|
|
||||||
- size_t ularg;
|
|
||||||
+ unsigned long ularg;
|
|
||||||
ber_len_t barg;
|
|
||||||
|
|
||||||
if(Conf->arg_type == ARG_IGNORED) {
|
|
||||||
diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c
|
|
||||||
index f939b37762..0d6156af4d 100644
|
|
||||||
--- a/servers/slapd/overlays/constraint.c
|
|
||||||
+++ b/servers/slapd/overlays/constraint.c
|
|
||||||
@@ -557,7 +557,7 @@ done:;
|
|
||||||
a2->restrict_filter = ap.restrict_filter;
|
|
||||||
a2->restrict_val = ap.restrict_val;
|
|
||||||
|
|
||||||
- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next )
|
|
||||||
+ for ( app = (constraint **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next )
|
|
||||||
/* Get to the end */ ;
|
|
||||||
|
|
||||||
a2->ap_next = *app;
|
|
||||||
diff --git a/servers/slapd/overlays/dyngroup.c b/servers/slapd/overlays/dyngroup.c
|
|
||||||
index 5d890d6650..e0e70af2d9 100644
|
|
||||||
--- a/servers/slapd/overlays/dyngroup.c
|
|
||||||
+++ b/servers/slapd/overlays/dyngroup.c
|
|
||||||
@@ -111,7 +111,7 @@ static int dgroup_cf( ConfigArgs *c )
|
|
||||||
*/
|
|
||||||
a2 = ch_malloc( sizeof(adpair) );
|
|
||||||
|
|
||||||
- for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next )
|
|
||||||
+ for ( app = (adpair **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next )
|
|
||||||
/* Get to the end */ ;
|
|
||||||
|
|
||||||
a2->ap_mem = ap.ap_mem;
|
|
||||||
diff --git a/servers/slapd/overlays/valsort.c b/servers/slapd/overlays/valsort.c
|
|
||||||
index 3d998e2fcb..e251500d0b 100644
|
|
||||||
--- a/servers/slapd/overlays/valsort.c
|
|
||||||
+++ b/servers/slapd/overlays/valsort.c
|
|
||||||
@@ -201,7 +201,7 @@ valsort_cf_func(ConfigArgs *c) {
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
- for ( vip = &on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next )
|
|
||||||
+ for ( vip = (valsort_info **)&on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next )
|
|
||||||
/* Get to the end */ ;
|
|
||||||
|
|
||||||
vi = ch_malloc( sizeof(valsort_info) );
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
|||||||
|
From 5f4569f0605a73eb1a282ee5251ead073ed3b26e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Simon Pichugin <spichugi@redhat.com>
|
||||||
|
Date: Tue, 26 Nov 2024 12:32:07 -0800
|
||||||
|
Subject: [PATCH] libldap: avoid SSL context cleanup during library destruction
|
||||||
|
|
||||||
|
Given that libldap can be pulled into random applications and applications
|
||||||
|
are allowed to call OPENSSL_cleanup() before exiting, the only sane thing
|
||||||
|
to do is to avoid trying to touch SSL context in ldap destructors, and just
|
||||||
|
let them leak if the application does not explicitly free the ldap context.
|
||||||
|
|
||||||
|
Add ldap_int_tls_destroy_safe() which skips SSL context cleanup while
|
||||||
|
maintaining all other cleanup operations, and use it in the library
|
||||||
|
destructor path.
|
||||||
|
|
||||||
|
Fixes: https://bugs.openldap.org/show_bug.cgi?id=9952
|
||||||
|
---
|
||||||
|
libraries/libldap/init.c | 2 +-
|
||||||
|
libraries/libldap/ldap-int.h | 1 +
|
||||||
|
libraries/libldap/tls2.c | 25 +++++++++++++++++++++----
|
||||||
|
3 files changed, 23 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
|
||||||
|
index 213276b4b5..aa017f4128 100644
|
||||||
|
--- a/libraries/libldap/init.c
|
||||||
|
+++ b/libraries/libldap/init.c
|
||||||
|
@@ -545,7 +545,7 @@ ldap_int_destroy_global_options(void)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_TLS
|
||||||
|
- ldap_int_tls_destroy( gopts );
|
||||||
|
+ ldap_int_tls_destroy_safe( gopts );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
|
||||||
|
index 7e754775e8..b73097ccc7 100644
|
||||||
|
--- a/libraries/libldap/ldap-int.h
|
||||||
|
+++ b/libraries/libldap/ldap-int.h
|
||||||
|
@@ -914,6 +914,7 @@ LDAP_F (int) ldap_int_tls_start LDAP_P(( LDAP *ld,
|
||||||
|
LDAPConn *conn, LDAPURLDesc *srv ));
|
||||||
|
|
||||||
|
LDAP_F (void) ldap_int_tls_destroy LDAP_P(( struct ldapoptions *lo ));
|
||||||
|
+LDAP_F (void) ldap_int_tls_destroy_safe LDAP_P(( struct ldapoptions *lo ));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* in getvalues.c
|
||||||
|
diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
|
||||||
|
index 0841005a59..82f8573602 100644
|
||||||
|
--- a/libraries/libldap/tls2.c
|
||||||
|
+++ b/libraries/libldap/tls2.c
|
||||||
|
@@ -97,10 +97,14 @@ tls_ctx_ref( tls_ctx *ctx )
|
||||||
|
static ldap_pvt_thread_mutex_t tls_def_ctx_mutex;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-void
|
||||||
|
-ldap_int_tls_destroy( struct ldapoptions *lo )
|
||||||
|
-{
|
||||||
|
- if ( lo->ldo_tls_ctx ) {
|
||||||
|
+/*
|
||||||
|
+ * Implementation function that handles all cleanup.
|
||||||
|
+ * skip_ctx_cleanup: 1 when called from destructor, 0 for normal operation
|
||||||
|
+ */
|
||||||
|
+static void
|
||||||
|
+ldap_int_tls_destroy_impl( struct ldapoptions *lo, int skip_ctx_cleanup )
|
||||||
|
+ {
|
||||||
|
+ if ( lo->ldo_tls_ctx && !skip_ctx_cleanup ) {
|
||||||
|
ldap_pvt_tls_ctx_free( lo->ldo_tls_ctx );
|
||||||
|
lo->ldo_tls_ctx = NULL;
|
||||||
|
}
|
||||||
|
@@ -147,6 +151,19 @@ ldap_int_tls_destroy( struct ldapoptions *lo )
|
||||||
|
BER_BVZERO( &lo->ldo_tls_pin );
|
||||||
|
}
|
||||||
|
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+ldap_int_tls_destroy( struct ldapoptions *lo )
|
||||||
|
+{
|
||||||
|
+ ldap_int_tls_destroy_impl(lo, 0);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* Safe version for destructor use */
|
||||||
|
+void ldap_int_tls_destroy_safe( struct ldapoptions *lo )
|
||||||
|
+{
|
||||||
|
+ ldap_int_tls_destroy_impl(lo, 1);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Tear down the TLS subsystem. Should only be called once.
|
||||||
|
*/
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
From c7a4bd27f5dcf93806972aab236001f1d4801e80 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Howard Chu <hyc@openldap.org>
|
|
||||||
Date: Wed, 31 Jan 2024 16:00:30 +0000
|
|
||||||
Subject: [PATCH] ITS#10166 slapi: fix plugin.c plugin_pblock_new() usage
|
|
||||||
|
|
||||||
Broken in 9142da8eaf691720f7d6288954250ef085bd3da0
|
|
||||||
---
|
|
||||||
servers/slapd/slapi/plugin.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/servers/slapd/slapi/plugin.c b/servers/slapd/slapi/plugin.c
|
|
||||||
index ca5dbead59..bfa5c10344 100644
|
|
||||||
--- a/servers/slapd/slapi/plugin.c
|
|
||||||
+++ b/servers/slapd/slapi/plugin.c
|
|
||||||
@@ -694,7 +694,7 @@ slapi_int_read_config(
|
|
||||||
int rc;
|
|
||||||
Slapi_PBlock *pPlugin;
|
|
||||||
|
|
||||||
- pPlugin = plugin_pblock_new( iType, numPluginArgc, c->argv );
|
|
||||||
+ pPlugin = plugin_pblock_new( iType, numPluginArgc, c );
|
|
||||||
if (pPlugin == NULL) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
@ -16,8 +16,8 @@
|
|||||||
%global __brp_remove_la_files %nil
|
%global __brp_remove_la_files %nil
|
||||||
|
|
||||||
Name: openldap
|
Name: openldap
|
||||||
Version: 2.6.7
|
Version: 2.6.8
|
||||||
Release: 7%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: LDAP support libraries
|
Summary: LDAP support libraries
|
||||||
License: OLDAP-2.8
|
License: OLDAP-2.8
|
||||||
URL: http://www.openldap.org/
|
URL: http://www.openldap.org/
|
||||||
@ -50,10 +50,7 @@ Patch6: openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch
|
|||||||
# System-wide default for CA certs
|
# System-wide default for CA certs
|
||||||
Patch7: openldap-openssl-manpage-defaultCA.patch
|
Patch7: openldap-openssl-manpage-defaultCA.patch
|
||||||
Patch8: openldap-add-export-symbols-LDAP_CONNECTIONLESS.patch
|
Patch8: openldap-add-export-symbols-LDAP_CONNECTIONLESS.patch
|
||||||
Patch9: openldap-explicitly-cast-private-values.patch
|
Patch9: openldap-libldap-avoid-SSL-context-cleanup-during-library-des.patch
|
||||||
# Needed for openldap-servers build
|
|
||||||
Patch10: openldap-slapi-fix-plugin-plugin_pblock_new-usage.patch
|
|
||||||
Patch11: openldap-ITS-9921-fix-vlvResult-comment.patch
|
|
||||||
|
|
||||||
# check-password module specific patches
|
# check-password module specific patches
|
||||||
Patch90: check-password-makefile.patch
|
Patch90: check-password-makefile.patch
|
||||||
@ -176,10 +173,6 @@ pushd openldap-%{version}
|
|||||||
%patch -P7 -p1
|
%patch -P7 -p1
|
||||||
%patch -P8 -p1
|
%patch -P8 -p1
|
||||||
%patch -P9 -p1
|
%patch -P9 -p1
|
||||||
%if %{with servers}
|
|
||||||
%patch -P10 -p1
|
|
||||||
%endif
|
|
||||||
%patch -P11 -p1
|
|
||||||
|
|
||||||
# build smbk5pwd with other overlays
|
# build smbk5pwd with other overlays
|
||||||
ln -s ../../../contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
|
ln -s ../../../contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
|
||||||
@ -497,6 +490,7 @@ exit 0
|
|||||||
%{_libdir}/openldap/home*
|
%{_libdir}/openldap/home*
|
||||||
%{_libdir}/openldap/lloadd*
|
%{_libdir}/openldap/lloadd*
|
||||||
%{_libdir}/openldap/memberof*
|
%{_libdir}/openldap/memberof*
|
||||||
|
%{_libdir}/openldap/nestgroup*
|
||||||
%{_libdir}/openldap/otp*
|
%{_libdir}/openldap/otp*
|
||||||
%{_libdir}/openldap/pcache*
|
%{_libdir}/openldap/pcache*
|
||||||
%{_libdir}/openldap/ppolicy*
|
%{_libdir}/openldap/ppolicy*
|
||||||
@ -566,6 +560,10 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 16 2024 Simon Pichugin <spichugi@redhat.com> - 2.6.8-1
|
||||||
|
- Rebase to version 2.6.8 (RHEL-71052)
|
||||||
|
- Avoid SSL context cleanup during library destruction (RHEL-68424)
|
||||||
|
|
||||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.6.7-7
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.6.7-7
|
||||||
- Bump release for October 2024 mass rebuild:
|
- Bump release for October 2024 mass rebuild:
|
||||||
Resolves: RHEL-64018
|
Resolves: RHEL-64018
|
||||||
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (openldap-ppolicy-check-password-1.1.tar.gz) = a92854d7438cb95fac361da80a49d084d502155e8ce0ad2ea679db9529bbe0182aa4354e6139793c775e496349375d8f017678941d23315ff1c20fefc9573cdc
|
SHA512 (openldap-ppolicy-check-password-1.1.tar.gz) = a92854d7438cb95fac361da80a49d084d502155e8ce0ad2ea679db9529bbe0182aa4354e6139793c775e496349375d8f017678941d23315ff1c20fefc9573cdc
|
||||||
SHA512 (openldap-2.6.7.tgz) = ea207b84fdb7bc6cdff2bc1201fcdde6a907f5766f9637589d956ca86ecf61d4e732ab7d80f33b18b691644e1f5fa39b00ff2c7f4084c9b85760ee693a7c451e
|
SHA512 (openldap-2.6.8.tgz) = c86bda8a0af2645e586d56a1494a5bd486ec5dd55c47859dbabcc2bb6ddc0a8307e23c6b58228d49ee3c8bc5e4d6ead305863442efdcee3dc2ab9953097b5a77
|
||||||
|
Loading…
Reference in New Issue
Block a user