aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--security/sssd/Makefile6
-rw-r--r--security/sssd/files/patch-configure.ac25
-rw-r--r--security/sssd/files/patch-src__external__python.m49
-rw-r--r--security/sssd/files/patch-src__tests__cmocka__test_negcache_2.c42
-rw-r--r--security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c4
-rw-r--r--security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c4
6 files changed, 83 insertions, 7 deletions
diff --git a/security/sssd/Makefile b/security/sssd/Makefile
index 3e6f3d311f3a..7df225a4d755 100644
--- a/security/sssd/Makefile
+++ b/security/sssd/Makefile
@@ -2,7 +2,7 @@
PORTNAME= sssd
PORTVERSION= 1.16.5
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= security
MASTER_SITES= https://releases.pagure.org/SSSD/${PORTNAME}/
@@ -60,8 +60,10 @@ PLIST_SUB= PYTHON_VER=${PYTHON_VER}
MAKE_ENV+= LINGUAS="bg de eu es fr hu id it ja nb nl pl pt ru sv tg tr uk zh_CN zh_TW"
SUB_FILES= pkg-message
+TEST_TARGET= check
+
USES= autoreconf cpe gettext gmake iconv libtool pathfix pkgconfig \
- python:3.7 shebangfix gssapi:mit
+ python:3.6+ shebangfix gssapi:mit
USE_LDCONFIG= yes
USE_OPENLDAP= yes
INSTALL_TARGET= install-strip
diff --git a/security/sssd/files/patch-configure.ac b/security/sssd/files/patch-configure.ac
index 4139f9c873e5..b62547432984 100644
--- a/security/sssd/files/patch-configure.ac
+++ b/security/sssd/files/patch-configure.ac
@@ -1,4 +1,4 @@
---- configure.ac.orig 2020-03-17 13:31:28 UTC
+--- configure.ac 2020-03-17 13:31:28 UTC
+++ configure.ac
@@ -44,8 +44,6 @@ AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = y
AC_CHECK_HEADERS(stdint.h dlfcn.h)
@@ -9,10 +9,29 @@
m4_include([src/build_macros.m4])
BUILD_WITH_SHARED_BUILD_DIR
-@@ -356,8 +354,8 @@ them please use argument --without-python3-bindings wh
+@@ -62,4 +60,18 @@
+
+ AM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
++
++saved_CFLAGS="$CFLAGS"
++CFLAGS="-Werror"
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([[#include <string.h>]],
++ [[(void)mempcpy(NULL, NULL, 0);]])],
++ [AC_DEFINE([HAVE_MEMPCPY], [1], [mempcpy() available])
++ HAVE_MEMPCPY=1
++ ],
++ [AC_MSG_WARN([mempcpy() not found, will use private implementation])])
++
++CFLAGS="$saved_CFLAGS"
++
++AM_CONDITIONAL([HAVE_MEMPCPY], [test x"$HAVE_MEMPCPY" != "x"])
+
+ # Check library for the timer_create function
+@@ -356,8 +358,8 @@ them please use argument --without-python3-bindings wh
AM_CHECK_PYTHON_HEADERS([],
AC_MSG_ERROR([Could not find python3 headers]))
-
+
- AC_SUBST([py3execdir], [$pyexecdir])
- AC_SUBST([python3dir], [$pythondir])
+ AC_SUBST([py3execdir], [$(eval echo $pyexecdir)])
diff --git a/security/sssd/files/patch-src__external__python.m4 b/security/sssd/files/patch-src__external__python.m4
new file mode 100644
index 000000000000..8453814e053c
--- /dev/null
+++ b/security/sssd/files/patch-src__external__python.m4
@@ -0,0 +1,9 @@
+--- src/external/python.m4 2020-03-17 09:31:28.000000000 -0400
++++ src/external/python.m4 2022-02-22 22:55:04.425467000 -0500
+@@ -37,5 +37,5 @@
+ PYTHON_DLOPEN_LIB="` $PYTHON_CONFIG --libs --embed | grep -o -- '-lpython@<:@^ @:>@*' |sed -e 's/^-l/lib/'`"
+ if test x"$PYTHON_DLOPEN_LIB" != x; then
+- python_lib_path="` $PYTHON_CONFIG --ldflags | grep -o -- '-L/@<:@^ @:>@*' | sed -e 's/^-L//'`"
++ python_lib_path="` $PYTHON_CONFIG --ldflags | sed -n 's/.*-L\(@<:@^ @:>@*\).*/\1/p'`"
+ if test x"$python_lib_path" != x; then
+ PYTHON_DLOPEN_LIB=$python_lib_path"/"$PYTHON_DLOPEN_LIB
diff --git a/security/sssd/files/patch-src__tests__cmocka__test_negcache_2.c b/security/sssd/files/patch-src__tests__cmocka__test_negcache_2.c
new file mode 100644
index 000000000000..81e1790c4ce6
--- /dev/null
+++ b/security/sssd/files/patch-src__tests__cmocka__test_negcache_2.c
@@ -0,0 +1,42 @@
+--- src/tests/cmocka/test_negcache_2.c 2020-03-17 09:31:28.000000000 -0400
++++ src/tests/cmocka/test_negcache_2.c 2022-02-22 23:48:57.315866000 -0500
+@@ -116,12 +116,8 @@
+ {
+ int i;
+- FILE *passwd_file;
+ const struct passwd *pwd;
+
+- passwd_file = fopen("/etc/passwd", "r");
+- assert_non_null(passwd_file);
+-
+ for (i = 0; i < 2; /*no-op*/) {
+- pwd = fgetpwent(passwd_file);
++ pwd = getpwent();
+ assert_non_null(pwd);
+ if (pwd->pw_uid == 0) {
+@@ -135,5 +131,4 @@
+ }
+
+- fclose(passwd_file);
+ }
+
+@@ -141,12 +136,8 @@
+ {
+ int i;
+- FILE *group_file;
+ const struct group *grp;
+
+- group_file = fopen("/etc/group", "r");
+- assert_non_null(group_file);
+-
+ for (i = 0; i < 2; /* no-op */) {
+- grp = fgetgrent(group_file);
++ grp = getgrent();
+ assert_non_null(grp);
+ if (grp->gr_gid == 0) {
+@@ -160,5 +151,4 @@
+ }
+
+- fclose(group_file);
+ }
+
diff --git a/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c b/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c
index 323eef4fb139..dbea252ea1cd 100644
--- a/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c
+++ b/security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c
@@ -2,15 +2,17 @@ diff --git src/util/crypto/libcrypto/crypto_sha512crypt.c src/util/crypto/libcry
index 2275ccd96..c1e418917 100644
--- src/util/crypto/libcrypto/crypto_sha512crypt.c
+++ src/util/crypto/libcrypto/crypto_sha512crypt.c
-@@ -30,6 +30,11 @@
+@@ -30,6 +30,13 @@
#include "sss_openssl.h"
++#ifndef HAVE_MEMPCPY
+void *
+mempcpy (void *dest, const void *src, size_t n)
+{
+ return (char *) memcpy (dest, src, n) + n;
+}
++#endif /* HAVE_MEMPCPY */
/* Define our magic string to mark salt for SHA512 "encryption" replacement. */
const char sha512_salt_prefix[] = "$6$";
diff --git a/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c b/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c
index aa1efee665b3..fbce0c0e298f 100644
--- a/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c
+++ b/security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c
@@ -2,15 +2,17 @@ diff --git src/util/crypto/nss/nss_sha512crypt.c src/util/crypto/nss/nss_sha512c
index 4d0594d9f..49801222d 100644
--- src/util/crypto/nss/nss_sha512crypt.c
+++ src/util/crypto/nss/nss_sha512crypt.c
-@@ -29,6 +29,12 @@
+@@ -29,6 +29,14 @@
#include <sechash.h>
#include <pk11func.h>
++#ifndef HAVE_MEMPCPY
+static void *
+mempcpy (void *dest, const void *src, size_t n)
+{
+ return (char *) memcpy (dest, src, n) + n;
+}
++#endif /* HAVE_MEMPCPY */
+
/* Define our magic string to mark salt for SHA512 "encryption" replacement. */
const char sha512_salt_prefix[] = "$6$";