Compare commits
29 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a09115fad0 | ||
|
|
24f6f7ee20 | ||
|
|
d2ffb52585 | ||
|
|
96644176b3 | ||
|
|
b6036115c7 | ||
|
|
529c3466fb | ||
|
|
0b7f700e16 | ||
|
|
51354adeb8 | ||
|
|
4335fd4745 | ||
|
|
e9b2e83fac |
||
|
|
7fec13e914 | ||
|
|
5aabe4c7d9 | ||
|
|
d9bd47979f | ||
|
|
eb35542760 | ||
|
|
02f7821806 | ||
|
|
126d88e16b | ||
|
|
1f131f51e6 | ||
|
|
4ca5a77fa5 | ||
|
|
4b367ea030 | ||
|
|
ab6180a2bf | ||
|
|
dae8c83930 | ||
|
|
0625ae77c6 | ||
|
|
7f901dc8a9 | ||
|
|
d0559e0c05 | ||
|
|
e1d14a261f | ||
|
|
0ed61f2f8f | ||
|
|
14bec36c6c | ||
|
|
0e7065eaf2 | ||
|
|
edea0c19a0 |
17 changed files with 1489 additions and 157 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -35,3 +35,10 @@
|
|||
/openldap-2.6.1.tgz
|
||||
/openldap-2.6.2.tgz
|
||||
/openldap-2.6.3.tgz
|
||||
/openldap-2.6.4.tgz
|
||||
/openldap-2.6.5.tgz
|
||||
/openldap-2.6.6.tgz
|
||||
/openldap-2.6.7.tgz
|
||||
/openldap-2.6.8.tgz
|
||||
/openldap-2.6.9.tgz
|
||||
/openldap-2.6.10.tgz
|
||||
|
|
|
|||
|
|
@ -52,16 +52,6 @@ function check_db_perms()
|
|||
return $retcode
|
||||
}
|
||||
|
||||
function check_major_upgrade()
|
||||
{
|
||||
retcode=0
|
||||
if [ -f "/usr/share/openldap-servers/UPGRADE_INSTRUCTIONS" ]; then
|
||||
error "You have upgraded your openldap-servers package. There are actions that need to be performed. Please, read the /usr/share/openldap-servers/UPGRADE_INSTRUCTIONS file"
|
||||
retcode=1
|
||||
fi
|
||||
return $retcode
|
||||
}
|
||||
|
||||
function check_everything()
|
||||
{
|
||||
retcode=0
|
||||
|
|
@ -76,8 +66,6 @@ if [ `id -u` -ne 0 ]; then
|
|||
exit 4
|
||||
fi
|
||||
|
||||
check_major_upgrade || return 1
|
||||
|
||||
load_sysconfig
|
||||
|
||||
if [ -n "$SLAPD_CONFIG_DIR" ]; then
|
||||
|
|
|
|||
120
openldap-ITS-10297-Defer-hostname-resolution-til-first-use.patch
Normal file
120
openldap-ITS-10297-Defer-hostname-resolution-til-first-use.patch
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
From 606349836109cfb201bc5b5b424dffb749150a68 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= <ondra@mistotebe.net>
|
||||
Date: Mon, 28 Apr 2025 14:36:24 +0100
|
||||
Subject: [PATCH] ITS#10297 Defer hostname resolution til first use
|
||||
|
||||
---
|
||||
libraries/libldap/init.c | 33 +++++++++++++++++++--------------
|
||||
libraries/libldap/ldap-int.h | 1 +
|
||||
libraries/libldap/os-ip.c | 2 ++
|
||||
libraries/libldap/tls_g.c | 3 +++
|
||||
libraries/libldap/tls_o.c | 3 +++
|
||||
6 files changed, 28 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
|
||||
index 213276b4b5..90fc34c5a6 100644
|
||||
--- a/libraries/libldap/init.c
|
||||
+++ b/libraries/libldap/init.c
|
||||
@@ -631,6 +631,25 @@ void ldap_int_initialize_global_options( struct ldapoptions *gopts, int *dbglvl
|
||||
|
||||
#if defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL)
|
||||
char * ldap_int_hostname = NULL;
|
||||
+
|
||||
+void
|
||||
+ldap_int_resolve_hostname(void)
|
||||
+{
|
||||
+ static int resolved = 0;
|
||||
+
|
||||
+ LDAP_MUTEX_LOCK( &ldap_int_hostname_mutex );
|
||||
+ if ( !resolved ) {
|
||||
+ char *name = ldap_int_hostname;
|
||||
+
|
||||
+ ldap_int_hostname = ldap_pvt_get_fqdn( name );
|
||||
+
|
||||
+ if ( name != NULL && name != ldap_int_hostname ) {
|
||||
+ LDAP_FREE( name );
|
||||
+ }
|
||||
+ resolved = 1;
|
||||
+ }
|
||||
+ LDAP_MUTEX_UNLOCK( &ldap_int_hostname_mutex );
|
||||
+}
|
||||
#endif
|
||||
|
||||
#ifdef LDAP_R_COMPILE
|
||||
@@ -688,20 +707,6 @@ void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl )
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL)
|
||||
- LDAP_MUTEX_LOCK( &ldap_int_hostname_mutex );
|
||||
- {
|
||||
- char *name = ldap_int_hostname;
|
||||
-
|
||||
- ldap_int_hostname = ldap_pvt_get_fqdn( name );
|
||||
-
|
||||
- if ( name != NULL && name != ldap_int_hostname ) {
|
||||
- LDAP_FREE( name );
|
||||
- }
|
||||
- }
|
||||
- LDAP_MUTEX_UNLOCK( &ldap_int_hostname_mutex );
|
||||
-#endif
|
||||
-
|
||||
#ifndef HAVE_POLL
|
||||
if ( ldap_int_tblsize == 0 ) ldap_int_ip_init();
|
||||
#endif
|
||||
diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
|
||||
index 7e754775e8..435b859066 100644
|
||||
--- a/libraries/libldap/ldap-int.h
|
||||
+++ b/libraries/libldap/ldap-int.h
|
||||
@@ -743,6 +743,7 @@ LDAP_F (int) ldap_int_poll( LDAP *ld, ber_socket_t s,
|
||||
|
||||
#if defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL)
|
||||
LDAP_V (char *) ldap_int_hostname;
|
||||
+LDAP_F (void) ldap_int_resolve_hostname(void);
|
||||
LDAP_F (char *) ldap_host_connected_to( Sockbuf *sb,
|
||||
const char *host );
|
||||
#endif
|
||||
diff --git a/libraries/libldap/os-ip.c b/libraries/libldap/os-ip.c
|
||||
index 6c86edd055..629b540352 100644
|
||||
--- a/libraries/libldap/os-ip.c
|
||||
+++ b/libraries/libldap/os-ip.c
|
||||
@@ -890,6 +890,8 @@ ldap_host_connected_to( Sockbuf *sb, const char *host )
|
||||
* this is necessary for kerberos to work right, since the official
|
||||
* hostname is used as the kerberos instance.
|
||||
*/
|
||||
+ if ( !ldap_int_hostname )
|
||||
+ ldap_int_resolve_hostname();
|
||||
|
||||
switch (sa->sa_family) {
|
||||
#ifdef LDAP_PF_LOCAL
|
||||
diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c
|
||||
index de5b7f7c84..d4e7ee0bf7 100644
|
||||
--- a/libraries/libldap/tls_g.c
|
||||
+++ b/libraries/libldap/tls_g.c
|
||||
@@ -597,6 +597,9 @@ tlsg_session_chkhost( LDAP *ld, tls_session *session, const char *name_in )
|
||||
int len1 = 0, len2 = 0;
|
||||
int ntype = IS_DNS;
|
||||
|
||||
+ if ( !ldap_int_hostname )
|
||||
+ ldap_int_resolve_hostname();
|
||||
+
|
||||
if( ldap_int_hostname &&
|
||||
( !name_in || !strcasecmp( name_in, "localhost" ) ) )
|
||||
{
|
||||
diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
|
||||
index 71677847a9..155f685c99 100644
|
||||
--- a/libraries/libldap/tls_o.c
|
||||
+++ b/libraries/libldap/tls_o.c
|
||||
@@ -830,6 +830,9 @@ tlso_session_chkhost( LDAP *ld, tls_session *sess, const char *name_in )
|
||||
struct in_addr addr;
|
||||
#endif
|
||||
|
||||
+ if ( !ldap_int_hostname )
|
||||
+ ldap_int_resolve_hostname();
|
||||
+
|
||||
if( ldap_int_hostname &&
|
||||
( !name_in || !strcasecmp( name_in, "localhost" ) ) )
|
||||
{
|
||||
--
|
||||
GitLab
|
||||
|
||||
906
openldap-configure-c99.patch
Normal file
906
openldap-configure-c99.patch
Normal file
|
|
@ -0,0 +1,906 @@
|
|||
commit 14f81bc47a4c462ccc609fce74feb014185e2bf9
|
||||
Author: Sam James <sam@gentoo.org>
|
||||
Date: Thu Feb 9 23:17:53 2023 +0000
|
||||
|
||||
ITS#10011 build: fix compatibility with stricter C99 compilers
|
||||
|
||||
Fix the following warnings:
|
||||
- -Wimplicit-int (fatal with Clang 16)
|
||||
- -Wimplicit-function-declaration (fatal with Clang 16)
|
||||
- -Wincompatible-function-pointer-types (fatal with Clang 16)
|
||||
- -Wint-conversion (fatal with Clang 15)
|
||||
- Old style prototypes (K&R, removed from C23)
|
||||
|
||||
These warnings-now-error led to misconfigurations and failure to build
|
||||
OpenLDAP, as the tests used during configure caused the wrong results
|
||||
to be emitted.
|
||||
|
||||
For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
|
||||
or the (new) c-std-porting mailing list [3].
|
||||
|
||||
[0] https://lwn.net/Articles/913505/
|
||||
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
|
||||
[2] https://wiki.gentoo.org/wiki/Modern_C_porting
|
||||
[3] hosted at lists.linux.dev.
|
||||
|
||||
Bug: https://bugs.gentoo.org/871288
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
|
||||
diff -ur openldap-2.6.4.orig/openldap-2.6.4/build/openldap.m4 openldap-2.6.4/openldap-2.6.4/build/openldap.m4
|
||||
--- openldap-2.6.4.orig/openldap-2.6.4/build/openldap.m4 2023-02-08 19:53:35.000000000 +0100
|
||||
+++ openldap-2.6.4/openldap-2.6.4/build/openldap.m4 2023-04-15 19:21:07.377380382 +0200
|
||||
@@ -154,6 +154,7 @@
|
||||
if test $ol_cv_header_stdc = yes; then
|
||||
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <ctype.h>
|
||||
+#include <stdlib.h>
|
||||
#ifndef HAVE_EBCDIC
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
@@ -303,8 +304,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -360,9 +365,13 @@
|
||||
AC_DEFUN([OL_PTHREAD_TEST_PROGRAM],
|
||||
[AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
OL_PTHREAD_TEST_FUNCTION
|
||||
}
|
||||
@@ -484,7 +493,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <regex.h>
|
||||
static char *pattern, *string;
|
||||
-main()
|
||||
+int main(void)
|
||||
{
|
||||
int rc;
|
||||
regex_t re;
|
||||
@@ -511,7 +520,8 @@
|
||||
[AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
#include <ctype.h>
|
||||
-main()
|
||||
+#include <stdlib.h>
|
||||
+int main(void)
|
||||
{
|
||||
if ('C' == toupper('C'))
|
||||
exit(0);
|
||||
@@ -569,7 +579,7 @@
|
||||
]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no])
|
||||
else
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
- main() {
|
||||
+ int main(void) {
|
||||
char buf[100];
|
||||
buf[0] = 0;
|
||||
strerror_r( 1, buf, sizeof buf );
|
||||
diff -ur openldap-2.6.4.orig/openldap-2.6.4/configure openldap-2.6.4/openldap-2.6.4/configure
|
||||
--- openldap-2.6.4.orig/openldap-2.6.4/configure 2023-02-08 19:53:35.000000000 +0100
|
||||
+++ openldap-2.6.4/openldap-2.6.4/configure 2023-04-15 19:23:17.437078213 +0200
|
||||
@@ -14978,6 +14966,7 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <ctype.h>
|
||||
+#include <stdlib.h>
|
||||
#ifndef HAVE_EBCDIC
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
@@ -15946,6 +15935,10 @@
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
+#include <stdlib.h>
|
||||
+#ifdef HAVE_SYS_POLL_H
|
||||
+#include <sys/epoll.h>
|
||||
+#endif
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int epfd = epoll_create(256);
|
||||
@@ -16126,7 +16119,7 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
- main() {
|
||||
+ int main(void) {
|
||||
char buf[100];
|
||||
buf[0] = 0;
|
||||
strerror_r( 1, buf, sizeof buf );
|
||||
@@ -16326,7 +16319,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <regex.h>
|
||||
static char *pattern, *string;
|
||||
-main()
|
||||
+int main(void)
|
||||
{
|
||||
int rc;
|
||||
regex_t re;
|
||||
@@ -17559,16 +17552,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -17664,8 +17665,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -17744,16 +17749,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -17854,8 +17867,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -17934,16 +17951,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18044,8 +18069,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -18124,16 +18153,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18234,8 +18271,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -18314,16 +18355,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18424,8 +18473,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -18504,16 +18557,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18615,8 +18676,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -18695,16 +18760,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18805,8 +18878,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -18885,16 +18962,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -18996,8 +19081,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -19076,16 +19165,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -19187,8 +19284,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -19267,16 +19368,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -19377,8 +19486,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -19457,16 +19570,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -19568,8 +19689,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -19648,16 +19773,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -19759,8 +19892,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -19839,16 +19976,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -19949,8 +20094,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -20029,16 +20178,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -20139,8 +20296,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -20219,16 +20380,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -20330,8 +20499,12 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
@@ -20410,16 +20583,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -20631,14 +20812,12 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
-#ifndef NULL
|
||||
-#define NULL (void*)0
|
||||
-#endif
|
||||
+pthread_t thread;
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
-pthread_detach(NULL);
|
||||
+pthread_detach(thread);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
@@ -20752,16 +20931,24 @@
|
||||
#define NULL (void*)0
|
||||
#endif
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
return (void *) (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
|
||||
/* pthread test function */
|
||||
@@ -20851,6 +21038,9 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
+#define _XOPEN_SOURCE 500 /* For pthread_setconcurrency() on glibc */
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
@@ -20861,8 +21051,12 @@
|
||||
|
||||
static int fildes[2];
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
int i;
|
||||
struct timeval tv;
|
||||
@@ -20886,9 +21080,13 @@
|
||||
exit(0); /* if we exit here, the select blocked the whole process */
|
||||
}
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
pthread_t t;
|
||||
|
||||
@@ -23241,7 +23439,8 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <ctype.h>
|
||||
-main()
|
||||
+#include <stdlib.h>
|
||||
+int main(void)
|
||||
{
|
||||
if ('C' == toupper('C'))
|
||||
exit(0);
|
||||
diff -ur openldap-2.6.4.orig/openldap-2.6.4/configure.ac openldap-2.6.4/openldap-2.6.4/configure.ac
|
||||
--- openldap-2.6.4.orig/openldap-2.6.4/configure.ac 2023-02-08 19:53:35.000000000 +0100
|
||||
+++ openldap-2.6.4/openldap-2.6.4/configure.ac 2023-04-15 19:21:07.377380382 +0200
|
||||
@@ -1003,7 +1003,11 @@
|
||||
AC_CHECK_HEADERS( sys/epoll.h )
|
||||
if test "${ac_cv_header_sys_epoll_h}" = yes; then
|
||||
AC_MSG_CHECKING(for epoll system call)
|
||||
- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
|
||||
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
|
||||
+#ifdef HAVE_SYS_POLL_H
|
||||
+#include <sys/epoll.h>
|
||||
+#endif
|
||||
+int main(int argc, char **argv)
|
||||
{
|
||||
int epfd = epoll_create(256);
|
||||
exit (epfd == -1 ? 1 : 0);
|
||||
@@ -1356,10 +1360,10 @@
|
||||
dnl pthread_create() in -lpthread (many)
|
||||
dnl pthread_create() in -lc_r (FreeBSD)
|
||||
dnl
|
||||
- dnl Check pthread (draft4) flags (depreciated)
|
||||
+ dnl Check pthread (draft4) flags (deprecated)
|
||||
dnl pthread_create() with -threads (OSF/1)
|
||||
dnl
|
||||
- dnl Check pthread (draft4) libraries (depreciated)
|
||||
+ dnl Check pthread (draft4) libraries (deprecated)
|
||||
dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
|
||||
dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
|
||||
dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
|
||||
@@ -1378,7 +1382,7 @@
|
||||
ol_link_threads=posix
|
||||
ol_link_pthreads=""
|
||||
fi
|
||||
-
|
||||
+
|
||||
dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
|
||||
OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
|
||||
OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
|
||||
@@ -1465,10 +1469,8 @@
|
||||
dnl save the flags
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <pthread.h>
|
||||
-#ifndef NULL
|
||||
-#define NULL (void*)0
|
||||
-#endif
|
||||
-]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
|
||||
+pthread_t thread;
|
||||
+]], [[pthread_detach(thread);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
|
||||
])
|
||||
|
||||
if test $ol_cv_func_pthread_detach = no ; then
|
||||
@@ -1523,6 +1525,9 @@
|
||||
AC_CACHE_CHECK([if select yields when using pthreads],
|
||||
ol_cv_pthread_select_yields,[
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
+#define _XOPEN_SOURCE 500 /* For pthread_setconcurrency() on glibc */
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
@@ -1533,8 +1538,12 @@
|
||||
|
||||
static int fildes[2];
|
||||
|
||||
+#ifdef __STDC__
|
||||
+static void *task(void *p)
|
||||
+#else
|
||||
static void *task(p)
|
||||
void *p;
|
||||
+#endif
|
||||
{
|
||||
int i;
|
||||
struct timeval tv;
|
||||
@@ -1558,9 +1567,13 @@
|
||||
exit(0); /* if we exit here, the select blocked the whole process */
|
||||
}
|
||||
|
||||
+#ifdef __STDC__
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
+#endif
|
||||
{
|
||||
pthread_t t;
|
||||
|
||||
70
openldap-explicitly-cast-private-values.patch
Normal file
70
openldap-explicitly-cast-private-values.patch
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
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,35 +1,20 @@
|
|||
Various manual pages changes:
|
||||
* removes LIBEXECDIR from slapd.8
|
||||
* removes references to non-existing manpages (bz 624616)
|
||||
|
||||
diff --git a/doc/man/man1/ldapmodify.1 b/doc/man/man1/ldapmodify.1
|
||||
index 353b075..cf37856 100644
|
||||
--- a/doc/man/man1/ldapmodify.1
|
||||
+++ b/doc/man/man1/ldapmodify.1
|
||||
@@ -382,8 +382,7 @@ exit status and a diagnostic message being written to standard error.
|
||||
.BR ldap_add_ext (3),
|
||||
.BR ldap_delete_ext (3),
|
||||
.BR ldap_modify_ext (3),
|
||||
-.BR ldap_modrdn_ext (3),
|
||||
-.BR ldif (5).
|
||||
+.BR ldif (5)
|
||||
.SH AUTHOR
|
||||
The OpenLDAP Project <http://www.openldap.org/>
|
||||
.SH ACKNOWLEDGEMENTS
|
||||
diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5
|
||||
index 17b7154..6084298 100644
|
||||
index d47481d6ed..ff86fc52ca 100644
|
||||
--- a/doc/man/man5/ldap.conf.5
|
||||
+++ b/doc/man/man5/ldap.conf.5
|
||||
@@ -338,6 +338,7 @@ certificates in separate individual files. The
|
||||
@@ -341,6 +341,7 @@ be specified, separated by a semi-colon. The
|
||||
.B TLS_CACERT
|
||||
is always used before
|
||||
.B TLS_CACERTDIR.
|
||||
.BR TLS_CACERTDIR .
|
||||
+The specified directory must be managed with the OpenSSL c_rehash utility.
|
||||
.TP
|
||||
.B TLS_CERT <filename>
|
||||
Specifies the file that contains the client certificate.
|
||||
diff --git a/doc/man/man8/slapd.8 b/doc/man/man8/slapd.8
|
||||
index 8504b37..f02f1fa 100644
|
||||
index 807634e52d..a06110687b 100644
|
||||
--- a/doc/man/man8/slapd.8
|
||||
+++ b/doc/man/man8/slapd.8
|
||||
@@ -5,7 +5,7 @@
|
||||
|
|
@ -41,16 +26,16 @@ index 8504b37..f02f1fa 100644
|
|||
[\c
|
||||
.BR \-V [ V [ V ]]
|
||||
[\c
|
||||
@@ -332,7 +332,7 @@ the LDAP databases defined in the default config file, just type:
|
||||
@@ -333,7 +333,7 @@ the LDAP databases defined in the default config file, just type:
|
||||
.LP
|
||||
.nf
|
||||
.ft tt
|
||||
- LIBEXECDIR/slapd
|
||||
+ slapd
|
||||
+ slapd
|
||||
.ft
|
||||
.fi
|
||||
.LP
|
||||
@@ -343,7 +343,7 @@ on voluminous debugging which will be printed on standard error, type:
|
||||
@@ -344,7 +344,7 @@ on voluminous debugging which will be printed on standard error, type:
|
||||
.LP
|
||||
.nf
|
||||
.ft tt
|
||||
|
|
@ -59,7 +44,7 @@ index 8504b37..f02f1fa 100644
|
|||
.ft
|
||||
.fi
|
||||
.LP
|
||||
@@ -351,7 +351,7 @@ To test whether the configuration file is correct or not, type:
|
||||
@@ -352,7 +352,7 @@ To test whether the configuration file is correct or not, type:
|
||||
.LP
|
||||
.nf
|
||||
.ft tt
|
||||
|
|
|
|||
23
openldap-slapi-fix-plugin-plugin_pblock_new-usage.patch
Normal file
23
openldap-slapi-fix-plugin-plugin_pblock_new-usage.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
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;
|
||||
}
|
||||
234
openldap.spec
234
openldap.spec
|
|
@ -6,6 +6,12 @@
|
|||
%global so_ver 2
|
||||
%global so_ver_compat 2
|
||||
|
||||
# Build openldap-servers package and its libslapi in openldap-devel and openldap-compat
|
||||
%bcond servers 1
|
||||
|
||||
# Build with argon2 support
|
||||
%bcond argon2 %{undefined rhel}
|
||||
|
||||
# When you change "Version: " to the new major version, remember to change this value too
|
||||
%global major_version 2.6
|
||||
|
||||
|
|
@ -13,10 +19,10 @@
|
|||
%global __brp_remove_la_files %nil
|
||||
|
||||
Name: openldap
|
||||
Version: 2.6.3
|
||||
Release: 2%{?dist}
|
||||
Version: 2.6.10
|
||||
Release: 6%{?dist}
|
||||
Summary: LDAP support libraries
|
||||
License: OpenLDAP
|
||||
License: OLDAP-2.8
|
||||
URL: http://www.openldap.org/
|
||||
|
||||
Source0: https://openldap.org/software/download/OpenLDAP/openldap-release/openldap-%{version}.tgz
|
||||
|
|
@ -24,7 +30,7 @@ Source1: slapd.service
|
|||
Source2: slapd.tmpfiles
|
||||
Source3: slapd.ldif
|
||||
Source4: ldap.conf
|
||||
Source5: UPGRADE_INSTRUCTIONS
|
||||
Source6: openldap.sysusers
|
||||
Source10: https://github.com/ltb-project/openldap-ppolicy-check-password/archive/v%{check_password_version}/openldap-ppolicy-check-password-%{check_password_version}.tar.gz
|
||||
Source50: libexec-functions
|
||||
Source52: libexec-check-config.sh
|
||||
|
|
@ -46,6 +52,8 @@ Patch6: openldap-switch-to-lt_dlopenadvise-to-get-RTLD_GLOBAL-set.patch
|
|||
# System-wide default for CA certs
|
||||
Patch7: openldap-openssl-manpage-defaultCA.patch
|
||||
Patch8: openldap-add-export-symbols-LDAP_CONNECTIONLESS.patch
|
||||
Patch9: openldap-libldap-avoid-SSL-context-cleanup-during-library-des.patch
|
||||
Patch10: openldap-ITS-10297-Defer-hostname-resolution-til-first-use.patch
|
||||
|
||||
# check-password module specific patches
|
||||
Patch90: check-password-makefile.patch
|
||||
|
|
@ -58,6 +66,7 @@ BuildRequires: groff
|
|||
BuildRequires: krb5-devel
|
||||
BuildRequires: libtool-ltdl-devel
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: libxcrypt-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: perl(ExtUtils::Embed)
|
||||
|
|
@ -65,6 +74,12 @@ BuildRequires: perl-devel
|
|||
BuildRequires: perl-generators
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: unixODBC-devel
|
||||
BuildRequires: cracklib-devel
|
||||
BuildRequires: systemd
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%if %{with argon2}
|
||||
BuildRequires: libsodium-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
OpenLDAP is an open source suite of LDAP (Lightweight Directory Access
|
||||
|
|
@ -96,30 +111,35 @@ Requires: openldap%{?_isa} = %{version}-%{release}
|
|||
Provides: libldap-2.4.so.%{so_ver_compat}
|
||||
Provides: libldap_r-2.4.so.%{so_ver_compat}
|
||||
Provides: liblber-2.4.so.%{so_ver_compat}
|
||||
%if %{with servers}
|
||||
Provides: libslapi-2.4.so.%{so_ver_compat}
|
||||
%endif
|
||||
%else
|
||||
Provides: libldap-2.4.so.%{so_ver_compat}()(%{__isa_bits}bit)
|
||||
Provides: libldap_r-2.4.so.%{so_ver_compat}()(%{__isa_bits}bit)
|
||||
Provides: liblber-2.4.so.%{so_ver_compat}()(%{__isa_bits}bit)
|
||||
%if %{with servers}
|
||||
Provides: libslapi-2.4.so.%{so_ver_compat}()(%{__isa_bits}bit)
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description compat
|
||||
The openldap-compat package contains shared libraries named as libldap-2.4.so,
|
||||
%if %{with servers}
|
||||
libldap_r-2.4.so, liblber-2.4.so and libslapi-2.4.so.
|
||||
%else
|
||||
libldap_r-2.4.so and liblber-2.4.so
|
||||
%endif
|
||||
The libraries are just links to the current version shared libraries,
|
||||
and are available for compatibility reasons.
|
||||
|
||||
%if %{with servers}
|
||||
%package servers
|
||||
Summary: LDAP server
|
||||
License: OpenLDAP
|
||||
Requires: openldap%{?_isa} = %{version}-%{release}
|
||||
Requires(pre): shadow-utils
|
||||
BuildRequires: systemd
|
||||
BuildRequires: cracklib-devel
|
||||
%{?systemd_requires}
|
||||
# migrationtools (slapadd functionality):
|
||||
Provides: ldif2ldbm
|
||||
%{?systemd_requires}
|
||||
|
||||
%description servers
|
||||
OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access
|
||||
|
|
@ -128,6 +148,8 @@ protocols for accessing directory services (usually phone book style
|
|||
information, but other information is possible) over the Internet,
|
||||
similar to the way DNS (Domain Name System) information is propagated
|
||||
over the Internet. This package contains the slapd server and related files.
|
||||
# endif servers
|
||||
%endif
|
||||
|
||||
%package clients
|
||||
Summary: LDAP client utilities
|
||||
|
|
@ -146,14 +168,16 @@ programs needed for accessing and modifying OpenLDAP directories.
|
|||
%setup -q -c -a 0 -a 10
|
||||
|
||||
pushd openldap-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch -P0 -p1
|
||||
%patch -P1 -p1
|
||||
%patch -P3 -p1
|
||||
%patch -P4 -p1
|
||||
%patch -P5 -p1
|
||||
%patch -P6 -p1
|
||||
%patch -P7 -p1
|
||||
%patch -P8 -p1
|
||||
%patch -P9 -p1
|
||||
%patch -P10 -p1
|
||||
|
||||
# build smbk5pwd with other overlays
|
||||
ln -s ../../../contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
|
||||
|
|
@ -174,15 +198,17 @@ done
|
|||
popd
|
||||
|
||||
pushd openldap-ppolicy-check-password-%{check_password_version}
|
||||
%patch90 -p1
|
||||
%patch91 -p1
|
||||
%patch -P90 -p1
|
||||
%patch -P91 -p1
|
||||
popd
|
||||
|
||||
%build
|
||||
|
||||
%set_build_flags
|
||||
# enable experimental support for LDAP over UDP (LDAP_CONNECTIONLESS)
|
||||
export CFLAGS="${CFLAGS} ${LDFLAGS} -Wl,--as-needed -DLDAP_CONNECTIONLESS"
|
||||
export CFLAGS="${CFLAGS} ${LDFLAGS} -Wl,--as-needed -Wl,-z,now -DLDAP_CONNECTIONLESS"
|
||||
# disable legacy hash algorithm
|
||||
export CFLAGS="${CFLAGS} -DOPENSSL_NO_MD2"
|
||||
|
||||
pushd openldap-%{version}
|
||||
%configure \
|
||||
|
|
@ -199,7 +225,12 @@ pushd openldap-%{version}
|
|||
--enable-perl \
|
||||
--enable-rewrite \
|
||||
--enable-rlookups \
|
||||
%if %{with servers}
|
||||
--enable-slapi \
|
||||
%if %{with argon2}
|
||||
--enable-argon2 \
|
||||
%endif
|
||||
%endif
|
||||
--disable-slp \
|
||||
\
|
||||
--enable-backends=mod \
|
||||
|
|
@ -237,6 +268,9 @@ popd
|
|||
%install
|
||||
|
||||
mkdir -p %{buildroot}%{_libdir}/
|
||||
%if %{with servers}
|
||||
install -p -D -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/openldap.conf
|
||||
%endif
|
||||
|
||||
pushd openldap-%{version}
|
||||
%make_install STRIP_OPTS=""
|
||||
|
|
@ -309,7 +343,7 @@ done
|
|||
pushd %{buildroot}%{_libdir}
|
||||
v=%{version}
|
||||
version=$(echo ${v%.[0-9]*})
|
||||
for lib in liblber libldap libslapi; do
|
||||
for lib in liblber libldap %{?with_servers:libslapi}; do
|
||||
rm -f ${lib}.so
|
||||
ln -s ${lib}.so.%{so_ver} ${lib}.so
|
||||
done
|
||||
|
|
@ -328,19 +362,21 @@ for lib in $(ls | grep libldap); do
|
|||
done
|
||||
|
||||
# Provide only libldap and copy it to libldap_r for both 2.4 and 2.6+ versions, make a versioned lib link
|
||||
# We increase it by 2 because libldap-2.4 has the 'so.2' major version on 2.4.59 (one of the last versions which is EOF)
|
||||
# We increase it by 2 because libldap-2.4 has the 'so.2' major version on 2.4.59 (one of the last versions which is EOL)
|
||||
gcc -shared -o "%{buildroot}%{_libdir}/libldap-2.4.so.${so_ver_short_2_4}" -Wl,--no-as-needed \
|
||||
-Wl,-soname -Wl,libldap-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -lldap
|
||||
-Wl,-soname -Wl,libldap-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -Wl,-z,now -lldap
|
||||
gcc -shared -o "%{buildroot}%{_libdir}/libldap_r-2.4.so.${so_ver_short_2_4}" -Wl,--no-as-needed \
|
||||
-Wl,-soname -Wl,libldap_r-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -lldap
|
||||
-Wl,-soname -Wl,libldap_r-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -Wl,-z,now -lldap
|
||||
gcc -shared -o "%{buildroot}%{_libdir}/liblber-2.4.so.${so_ver_short_2_4}" -Wl,--no-as-needed \
|
||||
-Wl,-soname -Wl,liblber-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -llber
|
||||
-Wl,-soname -Wl,liblber-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -Wl,-z,now -llber
|
||||
%if %{with servers}
|
||||
gcc -shared -o "%{buildroot}%{_libdir}/libslapi-2.4.so.${so_ver_short_2_4}" -Wl,--no-as-needed \
|
||||
-Wl,-soname -Wl,libslapi-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -lslapi
|
||||
-Wl,-soname -Wl,libslapi-2.4.so.${so_ver_short_2_4} -L "%{buildroot}%{_libdir}" -Wl,-z,now -lslapi
|
||||
ln -s libslapi-2.4.so.{${so_ver_short_2_4},${so_ver_full_2_4}}
|
||||
%endif
|
||||
ln -s libldap-2.4.so.{${so_ver_short_2_4},${so_ver_full_2_4}}
|
||||
ln -s libldap_r-2.4.so.{${so_ver_short_2_4},${so_ver_full_2_4}}
|
||||
ln -s liblber-2.4.so.{${so_ver_short_2_4},${so_ver_full_2_4}}
|
||||
ln -s libslapi-2.4.so.{${so_ver_short_2_4},${so_ver_full_2_4}}
|
||||
|
||||
popd
|
||||
|
||||
|
|
@ -353,7 +389,6 @@ chmod 0644 %{buildroot}%{_libdir}/openldap/*.la
|
|||
mkdir -p %{buildroot}%{_datadir}
|
||||
install -m 0755 -d %{buildroot}%{_datadir}/openldap-servers
|
||||
install -m 0644 %SOURCE3 %{buildroot}%{_datadir}/openldap-servers/slapd.ldif
|
||||
install -m 0644 %SOURCE5 %{buildroot}%{_datadir}/openldap-servers/UPGRADE_INSTRUCTIONS
|
||||
install -m 0700 -d %{buildroot}%{_sysconfdir}/openldap/slapd.d
|
||||
rm %{buildroot}%{_sysconfdir}/openldap/slapd.conf
|
||||
rm %{buildroot}%{_sysconfdir}/openldap/slapd.ldif
|
||||
|
|
@ -366,20 +401,11 @@ rm %{buildroot}%{_libdir}/*.la # because we do not want files in %{_libdir}/ope
|
|||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%pre servers
|
||||
# create ldap user and group
|
||||
getent group ldap &>/dev/null || groupadd -r -g 55 ldap
|
||||
getent passwd ldap &>/dev/null || \
|
||||
useradd -r -g ldap -u 55 -d %{_sharedstatedir}/ldap -s /sbin/nologin -c "OpenLDAP server" ldap
|
||||
exit 0
|
||||
%if %{with servers}
|
||||
|
||||
%post servers
|
||||
%systemd_post slapd.service
|
||||
|
||||
# If it's not upgrade - we remove the UPGRADE_INSTRUCTIONS
|
||||
if [ $1 -lt 2 ] ; then
|
||||
rm %{_datadir}/openldap-servers/UPGRADE_INSTRUCTIONS
|
||||
fi
|
||||
# generate configuration if necessary
|
||||
if [[ ! -f %{_sysconfdir}/openldap/slapd.d/cn=config.ldif && \
|
||||
! -f %{_sysconfdir}/openldap/slapd.conf
|
||||
|
|
@ -403,6 +429,8 @@ exit 0
|
|||
|
||||
%postun servers
|
||||
%systemd_postun_with_restart slapd.service
|
||||
%endif
|
||||
# endif servers
|
||||
|
||||
%files
|
||||
%doc openldap-%{version}/ANNOUNCEMENT
|
||||
|
|
@ -416,10 +444,13 @@ exit 0
|
|||
%dir %{_libexecdir}/openldap/
|
||||
%{_libdir}/liblber.so.*
|
||||
%{_libdir}/libldap.so.*
|
||||
%if %{with servers}
|
||||
%{_libdir}/libslapi.so.*
|
||||
%endif
|
||||
%{_mandir}/man5/ldif.5*
|
||||
%{_mandir}/man5/ldap.conf.5*
|
||||
|
||||
%if %{with servers}
|
||||
%files servers
|
||||
%doc openldap-%{version}/contrib/slapd-modules/smbk5pwd/README.smbk5pwd
|
||||
%doc openldap-%{version}/doc/guide/admin/*.html
|
||||
|
|
@ -438,6 +469,12 @@ exit 0
|
|||
%{_datadir}/openldap-servers/
|
||||
%{_libdir}/openldap/accesslog*
|
||||
%{_libdir}/openldap/allop*
|
||||
%if %{with argon2}
|
||||
%{_libdir}/openldap/argon2*
|
||||
%{_mandir}/man5/slappw-argon2.5*
|
||||
%else
|
||||
%exclude %{_mandir}/man5/slappw-argon2.5*
|
||||
%endif
|
||||
%{_libdir}/openldap/auditlog*
|
||||
%{_libdir}/openldap/autoca*
|
||||
%{_libdir}/openldap/back_asyncmeta*
|
||||
|
|
@ -458,6 +495,7 @@ exit 0
|
|||
%{_libdir}/openldap/home*
|
||||
%{_libdir}/openldap/lloadd*
|
||||
%{_libdir}/openldap/memberof*
|
||||
%{_libdir}/openldap/nestgroup*
|
||||
%{_libdir}/openldap/otp*
|
||||
%{_libdir}/openldap/pcache*
|
||||
%{_libdir}/openldap/ppolicy*
|
||||
|
|
@ -474,24 +512,45 @@ exit 0
|
|||
%{_libdir}/openldap/valsort*
|
||||
%{_libexecdir}/openldap/functions
|
||||
%{_libexecdir}/openldap/check-config.sh
|
||||
%{_sbindir}/sl*
|
||||
%{_mandir}/man8/*
|
||||
%{_sbindir}/slap*
|
||||
%{_mandir}/man5/lloadd.conf.5*
|
||||
%{_mandir}/man8/lloadd.8*
|
||||
%{_mandir}/man5/slapd*.5*
|
||||
%{_mandir}/man5/slapo-*.5*
|
||||
%{_mandir}/man5/slappw-argon2.5*
|
||||
%{_mandir}/man8/slap*.8*
|
||||
%{_sysusersdir}/openldap.conf
|
||||
# obsolete configuration
|
||||
%ghost %config(noreplace,missingok) %attr(0640,ldap,ldap) %{_sysconfdir}/openldap/slapd.conf
|
||||
%else
|
||||
%exclude %{_datadir}/openldap-servers/
|
||||
%exclude %{_libdir}/openldap/
|
||||
%exclude %{_libexecdir}/openldap/check-config.sh
|
||||
%exclude %{_libexecdir}/openldap/functions
|
||||
%exclude %{_mandir}/man5/slapd*.5*
|
||||
%exclude %{_mandir}/man5/slapo-*.5*
|
||||
%exclude %{_mandir}/man5/lloadd.conf.5*
|
||||
%exclude %{_mandir}/man5/slappw-argon2.5*
|
||||
%exclude %{_mandir}/man8/*
|
||||
%exclude %{_sbindir}/slap*
|
||||
%exclude %{_sysconfdir}/openldap/check_password.conf
|
||||
%exclude %{_sysconfdir}/openldap/schema
|
||||
%exclude %{_tmpfilesdir}/slapd.conf
|
||||
%exclude %{_unitdir}/slapd.service
|
||||
%endif
|
||||
# endif servers
|
||||
|
||||
|
||||
%files clients
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/*
|
||||
%{_bindir}/ldap*
|
||||
%{_mandir}/man1/ldap*.1*
|
||||
|
||||
%files devel
|
||||
%doc openldap-%{version}/doc/drafts openldap-%{version}/doc/rfc
|
||||
%{_libdir}/liblber.so
|
||||
%{_libdir}/libldap.so
|
||||
%if %{with servers}
|
||||
%{_libdir}/libslapi.so
|
||||
%endif
|
||||
%{_includedir}/*
|
||||
%{_libdir}/pkgconfig/lber.pc
|
||||
%{_libdir}/pkgconfig/ldap.pc
|
||||
|
|
@ -501,9 +560,98 @@ exit 0
|
|||
%{_libdir}/libldap-2.4*.so.*
|
||||
%{_libdir}/libldap_r-2.4*.so.*
|
||||
%{_libdir}/liblber-2.4*.so.*
|
||||
%if %{with servers}
|
||||
%{_libdir}/libslapi-2.4*.so.*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jan 14 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 2.6.10-6
|
||||
- Enable argon2 only in Fedora
|
||||
|
||||
* Tue Jan 13 2026 Simon Pichugin <spichugi@redhat.com> - 2.6.10-5
|
||||
- Add support for argon2 (rhbz#2229405)
|
||||
- Bump version 2.6.10-5
|
||||
|
||||
* Fri Aug 29 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.10-4
|
||||
- Fix LDAP initialization does unnecessary resolution of hostname (rhbz#2331728)
|
||||
- Convert STI tests to FMF (rhbz#2382998)
|
||||
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Mon Jul 07 2025 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.10-2
|
||||
- Perl 5.42 rebuild
|
||||
|
||||
* Tue Jun 10 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.10-1
|
||||
- Rebase to version 2.6.10 (rhbz#2368103)
|
||||
|
||||
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.9-5
|
||||
- Drop call to %sysusers_create_compat
|
||||
|
||||
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 2.6.9-4
|
||||
- Add explicit BR: libxcrypt-devel
|
||||
|
||||
* Fri Jan 24 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.6.9-3
|
||||
- Adjust file patterns for the sbin merge
|
||||
|
||||
* Thu Jan 16 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.9-2
|
||||
- Disable MD2 hash algorithm (rhbz#2338556)
|
||||
|
||||
* Thu Jan 9 2025 Simon Pichugin <spichugi@redhat.com> - 2.6.9-1
|
||||
- Rebase to version 2.6.9 (rhbz#2329002)
|
||||
|
||||
* Tue Dec 3 2024 Simon Pichugin <spichugi@redhat.com> - 2.6.8-6
|
||||
- Avoid SSL context cleanup during library destruction
|
||||
|
||||
* Tue Jul 23 2024 Simon Pichugin <spichugi@redhat.com> - 2.6.8-5
|
||||
- Clean up spec file so it's aligned with c10s
|
||||
- Remove UPGRADE_INSTRUCTIONS for openldap-server upgrade (rhbz#2133526)
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.8-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Mon Jun 24 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 2.6.8-3
|
||||
- Disable libslapi and servers in RHEL builds
|
||||
|
||||
* Tue Jun 11 2024 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.8-2
|
||||
- Perl 5.40 rebuild
|
||||
|
||||
* Wed May 22 2024 Simon Pichugin <spichugi@redhat.com> - 2.6.8-1
|
||||
- Rebase to version 2.6.8 (rhbz#2282258)
|
||||
|
||||
* Fri Feb 9 2024 Simon Pichugin <spichugi@redhat.com> - 2.6.7-1
|
||||
- Rebase to version 2.6.7 (rhbz#2261163)
|
||||
- Use systemd-sysusers for ldap user and group (rhbz#2173965)
|
||||
- Fix compiler errors (rhbz#2261427)
|
||||
- Replace License with SPDX identifier
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jul 31 2023 Simon Pichugin <spichugi@redhat.com> - 2.6.6-1
|
||||
- Rebase to version 2.6.6
|
||||
Related: rhbz#2227948
|
||||
|
||||
* Wed Jul 26 2023 Simon Pichugin <spichugi@redhat.com> - 2.6.5-1
|
||||
- Rebase to version 2.6.5
|
||||
Related: rhbz#2221798
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 2.6.4-3
|
||||
- Perl 5.38 rebuild
|
||||
|
||||
* Sat Apr 15 2023 Florian Weimer <fweimer@redhat.com> - 2.6.4-2
|
||||
- Apply upstream patch to fix C99 compatibility issues
|
||||
|
||||
* Mon Feb 27 2023 Simon Pichugin <spichugi@redhat.com> - 2.6.4-1
|
||||
- Rebase to version 2.6.4
|
||||
Related: rhbz#2168351
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
3
openldap.sysusers
Normal file
3
openldap.sysusers
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#Type Name ID GECOS Home directory Shell
|
||||
g ldap 55
|
||||
u ldap 55:55 "OpenLDAP server" /var/lib/ldap /sbin/nologin
|
||||
8
plans/gating.fmf
Normal file
8
plans/gating.fmf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
summary: Test plan for openldap
|
||||
|
||||
discover:
|
||||
how: fmf
|
||||
|
||||
execute:
|
||||
how: tmt
|
||||
|
||||
2
sources
2
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (openldap-ppolicy-check-password-1.1.tar.gz) = a92854d7438cb95fac361da80a49d084d502155e8ce0ad2ea679db9529bbe0182aa4354e6139793c775e496349375d8f017678941d23315ff1c20fefc9573cdc
|
||||
SHA512 (openldap-2.6.3.tgz) = 56efbbfc68779ad635d2c25228eb9c4f1553b107b96e8a438029b1c5d2f2647cf4d437770554392b436718ea44a4813e17f5195049f67fc09d063a981096cd85
|
||||
SHA512 (openldap-2.6.10.tgz) = 18129ad9a385457941e3203de5f130fe2571701abf24592c5beffb01361aae3182c196b2cd48ffeecb792b9b0e5f82c8d92445a7ec63819084757bdedba63b20
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ clean:
|
|||
include /usr/share/rhts/lib/rhts-make.include
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Ondrej Moris <omoris@redhat.com>" > $(METADATA)
|
||||
@echo "Owner: Viktor Ashirov <vashirov@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
|
|
@ -57,25 +57,23 @@ $(METADATA): Makefile
|
|||
@echo "Requires: openldap" >> $(METADATA)
|
||||
@echo "Requires: openldap-clients" >> $(METADATA)
|
||||
@echo "Requires: openldap-servers" >> $(METADATA)
|
||||
@echo "Requires: nss-devel" >> $(METADATA)
|
||||
@echo "Requires: cracklib-devel" >> $(METADATA)
|
||||
@echo "Requires: cyrus-sasl-devel" >> $(METADATA)
|
||||
@echo "Requires: gdbm-devel" >> $(METADATA)
|
||||
@echo "Requires: libtool" >> $(METADATA)
|
||||
@echo "Requires: groff" >> $(METADATA)
|
||||
@echo "Requires: krb5-devel" >> $(METADATA)
|
||||
@echo "Requires: libdb-devel" >> $(METADATA)
|
||||
@echo "Requires: libtool" >> $(METADATA)
|
||||
@echo "Requires: libtool-ltdl-devel" >> $(METADATA)
|
||||
@echo "Requires: nfs-utils" >> $(METADATA)
|
||||
@echo "Requires: openssl-devel" >> $(METADATA)
|
||||
@echo "Requires: pam-devel" >> $(METADATA)
|
||||
@echo "Requires: perl" >> $(METADATA)
|
||||
@echo "Requires: pkgconfig" >> $(METADATA)
|
||||
@echo "Requires: tcp_wrappers-devel" >> $(METADATA)
|
||||
@echo "Requires: bind-libbind-devel" >> $(METADATA)
|
||||
@echo "Requires: unixODBC-devel" >> $(METADATA)
|
||||
@echo "Requires: libtool-ltdl-devel" >> $(METADATA)
|
||||
@echo "Requires: nfs-utils" >> $(METADATA)
|
||||
@echo "Requires: rpm-build" >> $(METADATA)
|
||||
@echo "Requires: nss-devel" >> $(METADATA)
|
||||
@echo "Requires: libdb-devel" >> $(METADATA)
|
||||
@echo "Requires: groff" >> $(METADATA)
|
||||
@echo "Requires: cracklib-devel" >> $(METADATA)
|
||||
@echo "Requires: perl-ExtUtils-Embed" >> $(METADATA)
|
||||
@echo "Requires: pkgconfig" >> $(METADATA)
|
||||
@echo "Requires: rpm-build" >> $(METADATA)
|
||||
@echo "Requires: unixODBC-devel" >> $(METADATA)
|
||||
@echo "Requires: yum-utils" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
|
|
|
|||
31
tests/smoke-test/main.fmf
Normal file
31
tests/smoke-test/main.fmf
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
summary: Test calls upstream test suite
|
||||
description: Test calls upstream test suite
|
||||
contact: Viktor Ashirov <vashirov@redhat.com>
|
||||
component:
|
||||
- openldap
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- openldap
|
||||
- openldap-clients
|
||||
- openldap-servers
|
||||
- cracklib-devel
|
||||
- cyrus-sasl-devel
|
||||
- gdbm-devel
|
||||
- groff
|
||||
- krb5-devel
|
||||
- libdb-devel
|
||||
- libtool
|
||||
- libtool-ltdl-devel
|
||||
- nfs-utils
|
||||
- nss-devel
|
||||
- openssl-devel
|
||||
- pam-devel
|
||||
- perl
|
||||
- perl-ExtUtils-Embed
|
||||
- pkgconf-pkg-config
|
||||
- pkgconfig
|
||||
- rpm-build
|
||||
- unixODBC-devel
|
||||
- yum-utils
|
||||
duration: 3h
|
||||
|
|
@ -27,7 +27,6 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include rhts environment
|
||||
. /usr/bin/rhts-environment.sh
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="openldap"
|
||||
|
|
@ -45,58 +44,46 @@ PACKAGES=("openldap" \
|
|||
"unixODBC-devel" \
|
||||
"libtool-ltdl-devel" \
|
||||
"nfs-utils" \
|
||||
"rpm-build" )
|
||||
"rpm-build" \
|
||||
"nss-devel" \
|
||||
"libdb-devel" \
|
||||
"groff" \
|
||||
"cracklib-devel" \
|
||||
"perl-ExtUtils-Embed"\
|
||||
"pkgconf-pkg-config" )
|
||||
|
||||
if rlIsRHEL 5; then
|
||||
PACKAGES=( ${PACKAGES[@]} "bind-libbind-devel" )
|
||||
elif rlIsRHEL 6; then
|
||||
PACKAGES=( ${PACKAGES[@]} "tcp_wrappers-devel" )
|
||||
else
|
||||
PACKAGES=( ${PACKAGES[@]} "tcp_wrappers-devel" "nss-devel" "libdb-devel" "groff" "cracklib-devel" "perl-ExtUtils-Embed" )
|
||||
fi
|
||||
if rlIsFedora; then
|
||||
PACKAGES=( ${PACKAGES[@]} "pkgconf-pkg-config" )
|
||||
else
|
||||
PACKAGES=( ${PACKAGES[@]} "pkgconfig" )
|
||||
fi
|
||||
|
||||
if rlIsRHEL 5; then
|
||||
LDAP_SERVICE='ldap'
|
||||
else
|
||||
LDAP_SERVICE='slapd'
|
||||
fi
|
||||
LDAP_SERVICE='slapd'
|
||||
|
||||
rlJournalStart
|
||||
|
||||
rlPhaseStartSetup "General Setup"
|
||||
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
|
||||
|
||||
for P in "${PACKAGES[@]}"; do rlCheckRpm $P || rlDie; done
|
||||
|
||||
rlFetchSrcForInstalled $PACKAGE
|
||||
rlRun "yum-builddep -y openldap*src.rpm" 0
|
||||
rlRun "rpm -ihv *.rpm" 0
|
||||
|
||||
rlServiceStop $LDAP_SERVICE
|
||||
rlServiceStop $LDAP_SERVICE
|
||||
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
|
||||
TOPDIR=`rpm --eval %_topdir`
|
||||
TOPDIR=$(rpm --eval %_topdir)
|
||||
rlRun "pushd $TOPDIR" 0
|
||||
|
||||
rlRun "rpmbuild -vv -bc SPECS/openldap.spec >build.log 2>&1" 0
|
||||
[[ $? -ne 0 ]] && cat build.log
|
||||
VERSION=`rpm -q --qf "%{VERSION}\n" openldap | tail -1`
|
||||
rlRun "pushd BUILD/openldap-${VERSION}/openldap-${VERSION}" 0
|
||||
VERSION=$(rpm -q --qf "%{VERSION}\n" openldap | tail -1)
|
||||
rlRun "pushd BUILD/openldap-${VERSION}-build/openldap-${VERSION}/openldap-${VERSION}" 0
|
||||
# workaround for failing test, it tests unsupported configuration
|
||||
# see http://www.openldap.org/lists/openldap-technical/201204/msg00080.html for upstream reply
|
||||
# change of check after test is not enough because run of all tests with hdb is skipped if test058 fails with bdb
|
||||
rm -f tests/scripts/test058-syncrepl-asymmetric
|
||||
rlIsRHEL 5 6 && rlRun "pushd build-servers" 0
|
||||
#rm -f tests/scripts/test058-syncrepl-asymmetric
|
||||
|
||||
rlRun "make check > make_check.out 2>&1" 0
|
||||
|
||||
|
|
@ -107,15 +94,14 @@ rlJournalStart
|
|||
|
||||
rlAssertNotGrep "failed" make_check.results
|
||||
|
||||
rlIsRHEL 5 6 && rlRun "popd" 0
|
||||
rlRun "popd" 0
|
||||
rlRun "popd" 0
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
|
||||
rlServiceRestore $LDAP_SERVICE
|
||||
rlRun "rm -rf BUILD/opendap-`rpm -q --qf "%{VERSION}" openldap`" 0
|
||||
rlServiceRestore $LDAP_SERVICE
|
||||
rlRun "rm -rf BUILD/opendap-$(rpm -q --qf "%{VERSION}" openldap)" 0
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
# Tests that run in all contexts
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
tests:
|
||||
- smoke-test
|
||||
required_packages:
|
||||
- openldap # Required for smoke-test
|
||||
- openldap-clients # Required for smoke-test
|
||||
- openldap-servers # Required for smoke-test
|
||||
- cyrus-sasl-devel # Required for smoke-test
|
||||
- gdbm-devel # Required for smoke-test
|
||||
- libtool # Required for smoke-test
|
||||
- krb5-devel # Required for smoke-test
|
||||
- openssl-devel # Required for smoke-test
|
||||
- pam-devel # Required for smoke-test
|
||||
- perl # Required for smoke-test
|
||||
- pkgconfig # Required for smoke-test
|
||||
- tcp_wrappers-devel # Required for smoke-test
|
||||
- bind-libbind-devel # Required for smoke-test
|
||||
- unixODBC-devel # Required for smoke-test
|
||||
- nfs-utils # Required for smoke-test
|
||||
- rpm-build # Required for smoke-test
|
||||
- nss-devel # Required for smoke-test
|
||||
- libdb-devel # Required for smoke-test
|
||||
- groff # Required for smoke-test
|
||||
- cracklib-devel # Required for smoke-test
|
||||
- perl-ExtUtils-Embed # Required for smoke-test
|
||||
- yum-utils # Required for smoke-test
|
||||
- libtool-ltdl-devel # Required for smoke-test
|
||||
- wget # Required for smoke-test
|
||||
Loading…
Add table
Add a link
Reference in a new issue