aboutsummaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2015-01-31 13:53:54 +0000
committerThomas Zander <riggs@FreeBSD.org>2015-01-31 13:53:54 +0000
commit148114425f1853d19a71abd00d2a8e32ad8a6bde (patch)
treee92cdb6e1ea016d65f4b58ceadd03b55effef1f4 /security
parent4c592618f273270ca9d8217bafb0ead76d53f3e8 (diff)
downloadports-148114425f1853d19a71abd00d2a8e32ad8a6bde.tar.gz
ports-148114425f1853d19a71abd00d2a8e32ad8a6bde.zip
Notes
Diffstat (limited to 'security')
-rw-r--r--security/sssd/Makefile43
-rw-r--r--security/sssd/distinfo4
-rw-r--r--security/sssd/files/pam_macros.h196
-rw-r--r--security/sssd/files/patch-Makefile.am50
-rw-r--r--security/sssd/files/patch-src__confdb__confdb.c14
-rw-r--r--security/sssd/files/patch-src__external__inotify.m414
-rw-r--r--security/sssd/files/patch-src__external__krb5.m414
-rw-r--r--security/sssd/files/patch-src__external__pac_responder.m425
-rw-r--r--security/sssd/files/patch-src__man__pam_sss.8.xml57
-rw-r--r--security/sssd/files/patch-src__providers__ad__ad_access.c24
-rw-r--r--security/sssd/files/patch-src__providers__ad__ad_common.c43
-rw-r--r--security/sssd/files/patch-src__providers__fail_over.c41
-rw-r--r--security/sssd/files/patch-src__providers__ipa__ipa_common.c42
-rw-r--r--security/sssd/files/patch-src__providers__krb5__krb5_delayed_online_authentication.c20
-rw-r--r--security/sssd/files/patch-src__providers__ldap__ldap_auth.c154
-rw-r--r--security/sssd/files/patch-src__providers__ldap__sdap_access.c200
-rw-r--r--security/sssd/files/patch-src__providers__ldap__sdap_async_sudo_hostinfo.c42
-rw-r--r--security/sssd/files/patch-src__resolv__async_resolv.c33
-rw-r--r--security/sssd/files/patch-src__sss_client__common.c12
-rw-r--r--security/sssd/files/patch-src__sss_client__nss_group.c12
-rw-r--r--security/sssd/files/patch-src__sss_client__pam_sss.c79
-rw-r--r--security/sssd/files/patch-src__sss_client__pam_test_client.c32
-rw-r--r--security/sssd/files/patch-src__sss_client__sss_nss.exports12
-rw-r--r--security/sssd/files/patch-src__util__crypto__libcrypto__crypto_sha512crypt.c18
-rw-r--r--security/sssd/files/patch-src__util__crypto__nss__nss_sha512crypt.c18
-rw-r--r--security/sssd/files/patch-src__util__find_uid.c22
-rw-r--r--security/sssd/files/patch-src__util__server.c16
-rw-r--r--security/sssd/files/patch-src__util__signal.c72
-rw-r--r--security/sssd/files/patch-src__util__sss_ldap.c31
-rw-r--r--security/sssd/files/patch-src__util__util.h31
-rw-r--r--security/sssd/pkg-plist73
31 files changed, 229 insertions, 1215 deletions
diff --git a/security/sssd/Makefile b/security/sssd/Makefile
index 6fb6ef7c156c..799196d295ff 100644
--- a/security/sssd/Makefile
+++ b/security/sssd/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sssd
-DISTVERSION= 1.9.6
-PORTREVISION= 9
+DISTVERSION= 1.11.7
CATEGORIES= security
MASTER_SITES= https://fedorahosted.org/released/${PORTNAME}/ \
http://mirrors.rit.edu/zi/
@@ -36,15 +35,15 @@ BUILD_DEPENDS= xmlcatalog:${PORTSDIR}/textproc/libxml2 \
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-selinux=no --with-semanage=no \
- --with-ldb-lib-dir=${LOCALBASE}/lib/shared-modules/ldb/ \
+ --with-ldb-lib-dir=${LOCALBASE}/lib/shared-modules/ldb \
--with-xml-catalog-path=${LOCALBASE}/share/xml/catalog \
--with-libnl=no --with-init-dir=no --datadir=${DATADIR} \
--docdir=${DOCSDIR} --with-pid-path=/var/run \
--localstatedir=/var --enable-pammoddir=${PREFIX}/lib \
--with-db-path=/var/db/sss --with-pipe-path=/var/run/sss \
--with-pubconf-path=/var/run/sss --with-mcache-path=/var/db/sss_mc \
- --with-unicode-lib=libunistring --with-autofs=no
-CONFIGURE_ENV= XMLLINT="/bin/echo"
+ --with-unicode-lib=libunistring --with-autofs=no \
+ --disable-cifs-idmap-plugin --disable-config-lib
CFLAGS+= -fstack-protector-all
PLIST_SUB= PYTHON_VER=${PYTHON_VER}
#DEBUG_FLAGS= -g
@@ -55,14 +54,23 @@ USE_AUTOTOOLS= libtoolize aclocal autoconf autoheader automake
AUTOMAKE_ARGS= -a -c -f
USE_LDCONFIG= yes
USE_OPENLDAP= yes
-USES= gettext gmake iconv libtool pathfix pkgconfig python shebangfix
+USES= gettext gmake iconv libtool pathfix pkgconfig python:2 shebangfix
PATHFIX_MAKEFILEIN= Makefile.am
-SHEBANG_FILES= src/tools/sss_obfuscate
+
+python_CMD= ${SETENV} python2
+SHEBANG_FILES= src/tools/sss_obfuscate \
+ src/sbus/sbus_codegen
USE_RC_SUBR= ${PORTNAME}
PORTDATA= *
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS SMB
+OPTIONS_DEFAULT= DOCS
+OPTIONS_SUB= yes
+
+SMB_DESC= Install IPA and AD providers (requires Samba4)
+SMB_BUILD_DEPENDS= samba41>=4.1.0:${PORTSDIR}/net/samba41
+SMB_CONFIGURE_WITH= samba
.include <bsd.port.options.mk>
@@ -72,35 +80,22 @@ BROKEN= Does not link on ia64, powerpc, or sparc64
post-patch:
@${REINPLACE_CMD} -e 's|SIGCLD|SIGCHLD|g' ${WRKSRC}/src/util/signal.c
- @${REINPLACE_CMD} -e '/#define SIZE_T_MAX ((size_t) -1)/d' \
- ${WRKSRC}/src/util/util.h
- @${REINPLACE_CMD} -e '/pam_misc/d' \
- ${WRKSRC}/src/sss_client/pam_test_client.c
- @${REINPLACE_CMD} -e 's|security/pam_misc.h||g' \
- ${WRKSRC}/configure.ac ${WRKSRC}/src/external/pam.m4
@${REINPLACE_CMD} -e 's|NSS_STATUS_NOTFOUND|NS_NOTFOUND|g' \
-e 's|NSS_STATUS_UNAVAIL|NS_UNAVAIL|g' \
-e 's|NSS_STATUS_TRYAGAIN|NS_TRYAGAIN|g' \
-e '/ETIME/d' \
-e 's|NSS_STATUS_SUCCESS|NS_SUCCESS|g' \
${WRKSRC}/src/sss_client/common.c
- @${REINPLACE_CMD} -e 's|security/_pam_macros.h|pam_macros.h|g' \
- ${WRKSRC}/src/sss_client/sss_pam_macros.h
- @${REINPLACE_CMD} -e 's|#include <security/pam_modutil.h>||g' \
- -e 's|PAM_BAD_ITEM|PAM_USER_UNKNOWN|g' \
- -e 's|security/pam_ext.h|security/pam_appl.h|g' \
+ @${REINPLACE_CMD} \
-e 's|pam_modutil_getlogin(pamh)|getlogin()|g' \
- -e 's|pam_vsyslog(pamh,|vsyslog(|g' \
${WRKSRC}/src/sss_client/pam_sss.c
@${REINPLACE_CMD} \
-e 's|install-data-hook install-dist_initSCRIPTS|install-dist_initSCRIPTS|g' \
-e 's|install-data-hook|notinstall-data-hook|g' \
- -e 's| -lpam_misc||g' \
${WRKSRC}/Makefile.am
@${REINPLACE_CMD} -e 's|/etc/sssd/|${ETCDIR}/|g' \
-e 's|/etc/openldap/|${LOCALBASE}/etc/openldap/|g' \
${WRKSRC}/src/man/*xml
- @${CP} ${FILESDIR}/pam_macros.h ${WRKSRC}/pam_macros.h
@${CP} ${FILESDIR}/bsdnss.c ${WRKSRC}/src/sss_client/bsdnss.c
@${CP} ${FILESDIR}/sss_bsd_errno.h ${WRKSRC}/src/util/sss_bsd_errno.h
@@ -112,5 +107,9 @@ post-install:
.for VARDIRS in db/sss db/sss_mc log/sssd run/sss/krb5.include.d run/sss/private run/sss
@${RMDIR} ${STAGEDIR}/var/${VARDIRS}
.endfor
+ # clean unused man dirs
+.for i in nl/man1 nl/man5 pt/man1 pt/man5
+ @${RMDIR} ${STAGEDIR}${PREFIX}/man/${i}
+.endfor
.include <bsd.port.mk>
diff --git a/security/sssd/distinfo b/security/sssd/distinfo
index 5efc50253346..1e2052772a1b 100644
--- a/security/sssd/distinfo
+++ b/security/sssd/distinfo
@@ -1,2 +1,2 @@
-SHA256 (sssd-1.9.6.tar.gz) = ca96e8d98eb4113396b13d9601dbdd20f4b2f2613d0f29a0157ffd05e3748601
-SIZE (sssd-1.9.6.tar.gz) = 3180066
+SHA256 (sssd-1.11.7.tar.gz) = ff12d5730a6d7d08fe11140aa58e544900b75c63902b7a07bbbc12d6a99cb5b5
+SIZE (sssd-1.11.7.tar.gz) = 3661227
diff --git a/security/sssd/files/pam_macros.h b/security/sssd/files/pam_macros.h
deleted file mode 100644
index bd107cfb68cb..000000000000
--- a/security/sssd/files/pam_macros.h
+++ /dev/null
@@ -1,196 +0,0 @@
-#ifndef PAM_MACROS_H
-#define PAM_MACROS_H
-
-/*
- * All kind of macros used by PAM, but usable in some other
- * programs too.
- * Organized by Cristian Gafton <gafton@redhat.com>
- */
-
-/* a 'safe' version of strdup */
-
-#include <stdlib.h>
-#include <string.h>
-
-#define x_strdup(s) ( (s) ? strdup(s):NULL )
-
-/* Good policy to strike out passwords with some characters not just
- free the memory */
-
-#define _pam_overwrite(x) \
-do { \
- register char *__xx__; \
- if ((__xx__=(x))) \
- while (*__xx__) \
- *__xx__++ = '\0'; \
-} while (0)
-
-#define _pam_overwrite_n(x,n) \
-do { \
- register char *__xx__; \
- register unsigned int __i__ = 0; \
- if ((__xx__=(x))) \
- for (;__i__<n; __i__++) \
- __xx__[__i__] = 0; \
-} while (0)
-
-/*
- * Don't just free it, forget it too.
- */
-
-#define _pam_drop(X) \
-do { \
- if (X) { \
- free(X); \
- X=NULL; \
- } \
-} while (0)
-
-#define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \
-do { \
- int reply_i; \
- \
- for (reply_i=0; reply_i<replies; ++reply_i) { \
- if (reply[reply_i].resp) { \
- _pam_overwrite(reply[reply_i].resp); \
- free(reply[reply_i].resp); \
- } \
- } \
- if (reply) \
- free(reply); \
-} while (0)
-
-/* some debugging code */
-
-#ifdef DEBUG
-
-/*
- * This provides the necessary function to do debugging in PAM.
- * Cristian Gafton <gafton@redhat.com>
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-/*
- * This is for debugging purposes ONLY. DO NOT use on live systems !!!
- * You have been warned :-) - CG
- *
- * to get automated debugging to the log file, it must be created manually.
- * _PAM_LOGFILE must exist and be writable to the programs you debug.
- */
-
-#ifndef _PAM_LOGFILE
-#define _PAM_LOGFILE "/var/run/pam-debug.log"
-#endif
-
-static void _pam_output_debug_info(const char *file, const char *fn
- , const int line)
-{
- FILE *logfile;
- int must_close = 1, fd;
-
-#ifdef O_NOFOLLOW
- if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
-#else
- if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
-#endif
- if (!(logfile = fdopen(fd,"a"))) {
- logfile = stderr;
- must_close = 0;
- close(fd);
- }
- } else {
- logfile = stderr;
- must_close = 0;
- }
- fprintf(logfile,"[%s:%s(%d)] ",file, fn, line);
- fflush(logfile);
- if (must_close)
- fclose(logfile);
-}
-
-static void _pam_output_debug(const char *format, ...)
-{
- va_list args;
- FILE *logfile;
- int must_close = 1, fd;
-
- va_start(args, format);
-
-#ifdef O_NOFOLLOW
- if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
-#else
- if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
-#endif
- if (!(logfile = fdopen(fd,"a"))) {
- logfile = stderr;
- must_close = 0;
- close(fd);
- }
- } else {
- logfile = stderr;
- must_close = 0;
- }
- vfprintf(logfile, format, args);
- fprintf(logfile, "\n");
- fflush(logfile);
- if (must_close)
- fclose(logfile);
-
- va_end(args);
-}
-
-#define D(x) do { \
- _pam_output_debug_info(__FILE__, __FUNCTION__, __LINE__); \
- _pam_output_debug x ; \
-} while (0)
-
-#define _pam_show_mem(X,XS) do { \
- int i; \
- register unsigned char *x; \
- x = (unsigned char *)X; \
- fprintf(stderr, " <start at %p>\n", X); \
- for (i = 0; i < XS ; ++x, ++i) { \
- fprintf(stderr, " %02X. <%p:%02X>\n", i, x, *x); \
- } \
- fprintf(stderr, " <end for %p after %d bytes>\n", X, XS); \
-} while (0)
-
-#define _pam_show_reply(/* struct pam_response * */reply, /* int */replies) \
-do { \
- int reply_i; \
- setbuf(stderr, NULL); \
- fprintf(stderr, "array at %p of size %d\n",reply,replies); \
- fflush(stderr); \
- if (reply) { \
- for (reply_i = 0; reply_i < replies; reply_i++) { \
- fprintf(stderr, " elem# %d at %p: resp = %p, retcode = %d\n", \
- reply_i, reply+reply_i, reply[reply_i].resp, \
- reply[reply_i].resp, _retcode); \
- fflush(stderr); \
- if (reply[reply_i].resp) { \
- fprintf(stderr, " resp[%d] = '%s'\n", \
- strlen(reply[reply_i].resp), reply[reply_i].resp); \
- fflush(stderr); \
- } \
- } \
- } \
- fprintf(stderr, "done here\n"); \
- fflush(stderr); \
-} while (0)
-
-#else
-
-#define D(x) do { } while (0)
-#define _pam_show_mem(X,XS) do { } while (0)
-#define _pam_show_reply(reply, replies) do { } while (0)
-
-#endif /* DEBUG */
-
-#endif /* PAM_MACROS_H */
diff --git a/security/sssd/files/patch-Makefile.am b/security/sssd/files/patch-Makefile.am
index 9859fd53b71d..805866577844 100644
--- a/security/sssd/files/patch-Makefile.am
+++ b/security/sssd/files/patch-Makefile.am
@@ -1,17 +1,16 @@
-From e40f55767383f300f71103ca404b7839b8499104 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 01/25] patch-Makefile.am
-
----
- Makefile.am | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
diff --git Makefile.am Makefile.am
-index 04df7cb..e2558f7 100644
+index fd74d85..4a7e6ae 100644
--- Makefile.am
+++ Makefile.am
-@@ -318,6 +318,7 @@ SSSD_LIBS = \
+@@ -311,6 +311,7 @@ AM_CPPFLAGS = \
+ $(LIBNL_CFLAGS) \
+ $(OPENLDAP_CFLAGS) \
+ $(GLIB2_CFLAGS) \
++ -DHOST_NAME_MAX=_POSIX_HOST_NAME_MAX \
+ -DLIBDIR=\"$(libdir)\" \
+ -DVARDIR=\"$(localstatedir)\" \
+ -DSHLIBEXT=\"$(SHLIBEXT)\" \
+@@ -378,6 +379,7 @@ SSSD_LIBS = \
$(DHASH_LIBS) \
$(SSS_CRYPT_LIBS) \
$(OPENLDAP_LIBS) \
@@ -19,24 +18,15 @@ index 04df7cb..e2558f7 100644
$(TDB_LIBS)
PYTHON_BINDINGS_LIBS = \
-@@ -369,6 +370,7 @@ dist_noinst_HEADERS = \
- src/util/sss_selinux.h \
- src/util/sss_utf8.h \
+@@ -433,6 +435,7 @@ dist_noinst_HEADERS = \
src/util/sss_ssh.h \
+ src/util/sss_ini.h \
+ src/util/sss_format.h \
+ src/util/sss_bsd_errno.h \
src/util/refcount.h \
src/util/find_uid.h \
src/util/user_info_msg.h \
-@@ -1170,7 +1172,7 @@ noinst_PROGRAMS += autofs_test_client
- endif
-
- pam_test_client_SOURCES = src/sss_client/pam_test_client.c
--pam_test_client_LDFLAGS = -lpam -lpam_misc
-+pam_test_client_LDFLAGS = -lpam
-
- if BUILD_AUTOFS
- autofs_test_client_SOURCES = src/sss_client/autofs/autofs_test_client.c \
-@@ -1184,9 +1186,10 @@ endif
+@@ -1700,9 +1703,10 @@ endif
# Client Libraries #
####################
@@ -49,16 +39,19 @@ index 04df7cb..e2558f7 100644
src/sss_client/nss_passwd.c \
src/sss_client/nss_group.c \
src/sss_client/nss_netgroup.c \
-@@ -1198,7 +1201,7 @@ libnss_sss_la_SOURCES = \
+@@ -1715,9 +1719,9 @@ libnss_sss_la_SOURCES = \
src/sss_client/nss_mc_passwd.c \
src/sss_client/nss_mc_group.c \
src/sss_client/nss_mc.h
+-libnss_sss_la_LIBADD = \
++nss_sss_la_LIBADD = \
+ $(CLIENT_LIBS)
-libnss_sss_la_LDFLAGS = \
+nss_sss_la_LDFLAGS = \
- $(CLIENT_LIBS) \
-module \
-version-info 2:0:0 \
-@@ -1532,6 +1535,7 @@ ldap_child_LDADD = \
+ -Wl,--version-script,$(srcdir)/src/sss_client/sss_nss.exports
+@@ -2086,6 +2090,7 @@ ldap_child_LDADD = \
$(POPT_LIBS) \
$(OPENLDAP_LIBS) \
$(DHASH_LIBS) \
@@ -66,6 +59,3 @@ index 04df7cb..e2558f7 100644
$(KRB5_LIBS)
proxy_child_SOURCES = \
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__confdb__confdb.c b/security/sssd/files/patch-src__confdb__confdb.c
index ed672f9ce480..911863cd3579 100644
--- a/security/sssd/files/patch-src__confdb__confdb.c
+++ b/security/sssd/files/patch-src__confdb__confdb.c
@@ -1,14 +1,5 @@
-From 756e37d0ef957b15d782d5dd87d24e9359541931 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 02/25] patch-src__confdb__confdb.c
-
----
- src/confdb/confdb.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
diff --git src/confdb/confdb.c src/confdb/confdb.c
-index 72c74fe..78b69b8 100644
+index 19d8884..67720f7 100644
--- src/confdb/confdb.c
+++ src/confdb/confdb.c
@@ -28,6 +28,11 @@
@@ -23,6 +14,3 @@ index 72c74fe..78b69b8 100644
#define CONFDB_ZERO_CHECK_OR_JUMP(var, ret, err, label) do { \
if (!var) { \
ret = err; \
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__external__inotify.m4 b/security/sssd/files/patch-src__external__inotify.m4
index 15653cc20910..15f9ec8d34c3 100644
--- a/security/sssd/files/patch-src__external__inotify.m4
+++ b/security/sssd/files/patch-src__external__inotify.m4
@@ -1,14 +1,5 @@
-From 558989d6ac329b4036e02873fb7c981c5912040c Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lslebodn@redhat.com>
-Date: Thu, 7 Nov 2013 13:28:13 +0100
-Subject: [PATCH] patch-src__external__inotify.m4
-
----
- src/external/inotify.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
diff --git src/external/inotify.m4 src/external/inotify.m4
-index 9572f6d2fefedf8a1d6a2468c712a83e7db2969f..2a5a8cf00d80e0979dca50fd102c3dc2872b2970 100644
+index 9572f6d..2a5a8cf 100644
--- src/external/inotify.m4
+++ src/external/inotify.m4
@@ -20,10 +20,10 @@ int main () {
@@ -24,6 +15,3 @@ index 9572f6d2fefedf8a1d6a2468c712a83e7db2969f..2a5a8cf00d80e0979dca50fd102c3dc2
)
AS_IF([test x"$inotify_works" = xyes],
---
-1.8.3.1
-
diff --git a/security/sssd/files/patch-src__external__krb5.m4 b/security/sssd/files/patch-src__external__krb5.m4
index 06deb9b8b150..a5945ecbca92 100644
--- a/security/sssd/files/patch-src__external__krb5.m4
+++ b/security/sssd/files/patch-src__external__krb5.m4
@@ -1,14 +1,5 @@
-From b7947258702e250dbf569bb9cd74f1e73f0c94bb Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 30 Oct 2013 08:53:42 +0100
-Subject: [PATCH 1/4] patch-src__external__krb5.m4
-
----
- src/external/krb5.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
diff --git src/external/krb5.m4 src/external/krb5.m4
-index 71239c9..63c8ece 100644
+index 861c8c9..978ec03 100644
--- src/external/krb5.m4
+++ src/external/krb5.m4
@@ -9,7 +9,7 @@ if test x$KRB5_CFLAGS != x; then
@@ -20,6 +11,3 @@ index 71239c9..63c8ece 100644
AC_MSG_CHECKING(for working krb5-config)
if test -x "$KRB5_CONFIG"; then
KRB5_CFLAGS="`$KRB5_CONFIG --cflags`"
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__external__pac_responder.m4 b/security/sssd/files/patch-src__external__pac_responder.m4
index fd9fc107e5fa..5672c477335c 100644
--- a/security/sssd/files/patch-src__external__pac_responder.m4
+++ b/security/sssd/files/patch-src__external__pac_responder.m4
@@ -1,17 +1,8 @@
-From b52128bc333fd4717a96950ef8fb4171f25fabcf Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 30 Oct 2013 08:54:41 +0100
-Subject: [PATCH 2/4] patch-src__external__pac_responder.m4
-
----
- src/external/pac_responder.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
diff --git src/external/pac_responder.m4 src/external/pac_responder.m4
-index 49d5cbb..2b4ca5c 100644
+index 6e29452..50bf4a8 100644
--- src/external/pac_responder.m4
+++ src/external/pac_responder.m4
-@@ -14,7 +14,7 @@ then
+@@ -14,14 +14,15 @@ then
PKG_CHECK_MODULES(NDR_KRB5PAC, ndr_krb5pac, ndr_krb5pac_ok=yes,
AC_MSG_WARN([Cannot build pac responder without libndr_krb5pac]))
@@ -20,6 +11,12 @@ index 49d5cbb..2b4ca5c 100644
AC_MSG_CHECKING(for supported MIT krb5 version)
KRB5_VERSION="`$KRB5_CONFIG --version`"
case $KRB5_VERSION in
---
-1.8.0
-
+ Kerberos\ 5\ release\ 1.9* | \
+ Kerberos\ 5\ release\ 1.10* | \
+ Kerberos\ 5\ release\ 1.11* | \
+- Kerberos\ 5\ release\ 1.12*)
++ Kerberos\ 5\ release\ 1.12* | \
++ Kerberos\ 5\ release\ 1.13*)
+ krb5_version_ok=yes
+ AC_MSG_RESULT([yes])
+ ;;
diff --git a/security/sssd/files/patch-src__man__pam_sss.8.xml b/security/sssd/files/patch-src__man__pam_sss.8.xml
deleted file mode 100644
index 0b890c8f7c65..000000000000
--- a/security/sssd/files/patch-src__man__pam_sss.8.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-From 4f866ccca80bb8ed4013bc8ed48ab9ae2b9587ff Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Tue, 3 Jun 2014 22:10:50 +0200
-Subject: [PATCH 1/2] patch-src__man__pam_sss.8.xml
-
----
- src/man/pam_sss.8.xml | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git src/man/pam_sss.8.xml src/man/pam_sss.8.xml
-index 72b497ab34a520d21964824080c7f276b26706f4..69678dac5874067fc95ec47f72ed894854c5d569 100644
---- src/man/pam_sss.8.xml
-+++ src/man/pam_sss.8.xml
-@@ -37,6 +37,12 @@
- <arg choice='opt'>
- <replaceable>retry=N</replaceable>
- </arg>
-+ <arg choice='opt'>
-+ <replaceable>ignore_unknown_user</replaceable>
-+ </arg>
-+ <arg choice='opt'>
-+ <replaceable>ignore_authinfo_unavail</replaceable>
-+ </arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
-@@ -103,6 +109,27 @@
- <option>PasswordAuthentication</option>.</para>
- </listitem>
- </varlistentry>
-+ <varlistentry>
-+ <term>
-+ <option>ignore_unknown_user</option>
-+ </term>
-+ <listitem>
-+ <para>If this option is specified and the user does not
-+ exist, the PAM module will return PAM_IGNORE. This causes
-+ the PAM framework to ignore this module.</para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term>
-+ <option>ignore_authinfo_unavail</option>
-+ </term>
-+ <listitem>
-+ <para>
-+ Specifies that the PAM module should return PAM_IGNORE
-+ if it cannot contact the SSSD daemon. This causes
-+ the PAM framework to ignore this module.</para>
-+ </listitem>
-+ </varlistentry>
- </variablelist>
- </refsect1>
-
---
-1.9.3
-
diff --git a/security/sssd/files/patch-src__providers__ad__ad_access.c b/security/sssd/files/patch-src__providers__ad__ad_access.c
deleted file mode 100644
index 51a4aab5f6a1..000000000000
--- a/security/sssd/files/patch-src__providers__ad__ad_access.c
+++ /dev/null
@@ -1,24 +0,0 @@
-From 630e5b96040869f6ce24ac1d10bb370e819795e7 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 27 Jul 2013 15:04:27 +0200
-Subject: [PATCH 33/34] patch-src__providers__ad__ad_access.c
-
----
- src/providers/ad/ad_access.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git src/providers/ad/ad_access.c src/providers/ad/ad_access.c
-index 314cdcf..ca0fb8b 100644
---- src/providers/ad/ad_access.c
-+++ src/providers/ad/ad_access.c
-@@ -21,6 +21,7 @@
- */
-
- #include <security/pam_modules.h>
-+#include <security/pam_appl.h>
- #include "src/util/util.h"
- #include "src/providers/data_provider.h"
- #include "src/providers/dp_backend.h"
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__ad__ad_common.c b/security/sssd/files/patch-src__providers__ad__ad_common.c
deleted file mode 100644
index 89904f27d498..000000000000
--- a/security/sssd/files/patch-src__providers__ad__ad_common.c
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7223f18bd8ea22ed801a115934a2fe8dc0c0cdb8 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 27 Jul 2013 15:03:49 +0200
-Subject: [PATCH 32/34] patch-src__providers__ad__ad_common.c
-
----
- src/providers/ad/ad_common.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git src/providers/ad/ad_common.c src/providers/ad/ad_common.c
-index 8600dab..d628385 100644
---- src/providers/ad/ad_common.c
-+++ src/providers/ad/ad_common.c
-@@ -38,7 +38,7 @@ ad_get_common_options(TALLOC_CTX *mem_ctx,
- char *server;
- char *realm;
- char *ad_hostname;
-- char hostname[HOST_NAME_MAX + 1];
-+ char hostname[_POSIX_HOST_NAME_MAX + 1];
-
- opts = talloc_zero(mem_ctx, struct ad_options);
- if (!opts) return ENOMEM;
-@@ -75,7 +75,7 @@ ad_get_common_options(TALLOC_CTX *mem_ctx,
- */
- ad_hostname = dp_opt_get_string(opts->basic, AD_HOSTNAME);
- if (ad_hostname == NULL) {
-- gret = gethostname(hostname, HOST_NAME_MAX);
-+ gret = gethostname(hostname, _POSIX_HOST_NAME_MAX);
- if (gret != 0) {
- ret = errno;
- DEBUG(SSSDBG_FATAL_FAILURE,
-@@ -83,7 +83,7 @@ ad_get_common_options(TALLOC_CTX *mem_ctx,
- strerror(ret)));
- goto done;
- }
-- hostname[HOST_NAME_MAX] = '\0';
-+ hostname[_POSIX_HOST_NAME_MAX] = '\0';
- DEBUG(SSSDBG_CONF_SETTINGS,
- ("Setting ad_hostname to [%s].\n", hostname));
- ret = dp_opt_set_string(opts->basic, AD_HOSTNAME, hostname);
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__fail_over.c b/security/sssd/files/patch-src__providers__fail_over.c
deleted file mode 100644
index b4e30908c064..000000000000
--- a/security/sssd/files/patch-src__providers__fail_over.c
+++ /dev/null
@@ -1,41 +0,0 @@
-From 08bc75705abe29a9e046a0a8871adcf42eeee35c Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 07/25] patch-src__providers__fail_over.c
-
----
- src/providers/fail_over.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git src/providers/fail_over.c src/providers/fail_over.c
-index 59cbacd..197c0ef 100644
---- src/providers/fail_over.c
-+++ src/providers/fail_over.c
-@@ -1331,7 +1331,7 @@ resolve_srv_recv(struct tevent_req *req, struct fo_server **server)
- *******************************************************************/
- struct resolve_get_domain_state {
- char *fqdn;
-- char hostname[HOST_NAME_MAX];
-+ char hostname[_POSIX_HOST_NAME_MAX + 1];
- };
-
- static void resolve_get_domain_done(struct tevent_req *subreq);
-@@ -1351,13 +1351,13 @@ resolve_get_domain_send(TALLOC_CTX *mem_ctx,
- return NULL;
- }
-
-- ret = gethostname(state->hostname, HOST_NAME_MAX);
-+ ret = gethostname(state->hostname, _POSIX_HOST_NAME_MAX);
- if (ret) {
- ret = errno;
- DEBUG(2, ("gethostname() failed: [%d]: %s\n",ret, strerror(ret)));
- return NULL;
- }
-- state->hostname[HOST_NAME_MAX-1] = '\0';
-+ state->hostname[_POSIX_HOST_NAME_MAX] = '\0';
- DEBUG(7, ("Host name is: %s\n", state->hostname));
-
- subreq = resolv_gethostbyname_send(state, ev, resolv,
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__ipa__ipa_common.c b/security/sssd/files/patch-src__providers__ipa__ipa_common.c
deleted file mode 100644
index 030549f6aeaa..000000000000
--- a/security/sssd/files/patch-src__providers__ipa__ipa_common.c
+++ /dev/null
@@ -1,42 +0,0 @@
-From acb17ace2b204146e4b821fd7d5e27de5d8ee588 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:11 +0200
-Subject: [PATCH 07/34] patch-src__providers__ipa__ipa_common.c
-
----
- src/providers/ipa/ipa_common.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git src/providers/ipa/ipa_common.c src/providers/ipa/ipa_common.c
-index eb384a1..d7d8052 100644
---- src/providers/ipa/ipa_common.c
-+++ src/providers/ipa/ipa_common.c
-@@ -47,7 +47,7 @@ int ipa_get_options(TALLOC_CTX *memctx,
- char *realm;
- char *ipa_hostname;
- int ret;
-- char hostname[HOST_NAME_MAX + 1];
-+ char hostname[_POSIX_HOST_NAME_MAX + 1];
-
- opts = talloc_zero(memctx, struct ipa_options);
- if (!opts) return ENOMEM;
-@@ -76,14 +76,14 @@ int ipa_get_options(TALLOC_CTX *memctx,
-
- ipa_hostname = dp_opt_get_string(opts->basic, IPA_HOSTNAME);
- if (ipa_hostname == NULL) {
-- ret = gethostname(hostname, HOST_NAME_MAX);
-+ ret = gethostname(hostname, _POSIX_HOST_NAME_MAX);
- if (ret != EOK) {
- DEBUG(1, ("gethostname failed [%d][%s].\n", errno,
- strerror(errno)));
- ret = errno;
- goto done;
- }
-- hostname[HOST_NAME_MAX] = '\0';
-+ hostname[_POSIX_HOST_NAME_MAX] = '\0';
- DEBUG(9, ("Setting ipa_hostname to [%s].\n", hostname));
- ret = dp_opt_set_string(opts->basic, IPA_HOSTNAME, hostname);
- if (ret != EOK) {
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__krb5__krb5_delayed_online_authentication.c b/security/sssd/files/patch-src__providers__krb5__krb5_delayed_online_authentication.c
index 88d0a715defb..16a80a18d67a 100644
--- a/security/sssd/files/patch-src__providers__krb5__krb5_delayed_online_authentication.c
+++ b/security/sssd/files/patch-src__providers__krb5__krb5_delayed_online_authentication.c
@@ -1,17 +1,8 @@
-From eba3efda911eb0212a98353740e13ad619aaa282 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 09/25] patch-src__providers__krb5__krb5_delayed_online_authentication.c
-
----
- src/providers/krb5/krb5_delayed_online_authentication.c | 2 ++
- 1 file changed, 2 insertions(+)
-
diff --git src/providers/krb5/krb5_delayed_online_authentication.c src/providers/krb5/krb5_delayed_online_authentication.c
-index d5dea3b..da6b6bb 100644
+index 33b839e..da6ccfc 100644
--- src/providers/krb5/krb5_delayed_online_authentication.c
+++ src/providers/krb5/krb5_delayed_online_authentication.c
-@@ -296,6 +296,7 @@ errno_t init_delayed_online_authentication(struct krb5_ctx *krb5_ctx,
+@@ -320,6 +320,7 @@ errno_t init_delayed_online_authentication(struct krb5_ctx *krb5_ctx,
struct tevent_context *ev)
{
int ret;
@@ -19,14 +10,11 @@ index d5dea3b..da6b6bb 100644
hash_table_t *tmp_table;
ret = get_uid_table(krb5_ctx, &tmp_table);
-@@ -314,6 +315,7 @@ errno_t init_delayed_online_authentication(struct krb5_ctx *krb5_ctx,
- DEBUG(1, ("hash_destroy failed [%s].\n", hash_error_string(ret)));
+@@ -339,6 +340,7 @@ errno_t init_delayed_online_authentication(struct krb5_ctx *krb5_ctx,
+ "hash_destroy failed [%s].\n", hash_error_string(ret));
return EFAULT;
}
+#endif /* __linux__ */
krb5_ctx->deferred_auth_ctx = talloc_zero(krb5_ctx,
struct deferred_auth_ctx);
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__ldap__ldap_auth.c b/security/sssd/files/patch-src__providers__ldap__ldap_auth.c
index ce4f10a2605c..c533586c52fc 100644
--- a/security/sssd/files/patch-src__providers__ldap__ldap_auth.c
+++ b/security/sssd/files/patch-src__providers__ldap__ldap_auth.c
@@ -1,14 +1,5 @@
-From ad4b85556ddea5d5d2d6bcc5f00a8492b0b15c46 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:11 +0200
-Subject: [PATCH 09/34] patch-src__providers__ldap__ldap_auth.c
-
----
- src/providers/ldap/ldap_auth.c | 60 ++++++++++++++++++++++++++----------------
- 1 file changed, 37 insertions(+), 23 deletions(-)
-
diff --git src/providers/ldap/ldap_auth.c src/providers/ldap/ldap_auth.c
-index b0dd30c..6b1ad83 100644
+index 2aacce0..e019cf7 100644
--- src/providers/ldap/ldap_auth.c
+++ src/providers/ldap/ldap_auth.c
@@ -37,7 +37,6 @@
@@ -42,82 +33,40 @@ index b0dd30c..6b1ad83 100644
static errno_t add_expired_warning(struct pam_data *pd, long exp_time)
{
int ret;
-@@ -110,17 +125,16 @@ static errno_t check_pwexpire_kerberos(const char *expire_date, time_t now,
+@@ -109,6 +124,7 @@ static errno_t check_pwexpire_kerberos(const char *expire_date, time_t now,
return EINVAL;
}
+ tzset();
expire_time = mktime(&tm);
if (expire_time == -1) {
- DEBUG(1, ("mktime failed to convert [%s].\n", expire_date));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+@@ -116,12 +132,10 @@ static errno_t check_pwexpire_kerberos(const char *expire_date, time_t now,
return EINVAL;
}
- tzset();
- expire_time -= timezone;
-- DEBUG(9, ("Time info: tzname[0] [%s] tzname[1] [%s] timezone [%d] "
-- "daylight [%d] now [%d] expire_time [%d].\n", tzname[0],
-- tzname[1], timezone, daylight, now, expire_time));
-+ DEBUG(9, ("Time info: tzname[0] [%s] tzname[1] [%s]"
-+ "now [%d] expire_time [%d].\n", tzname[0],
-+ tzname[1], now, expire_time));
+ DEBUG(SSSDBG_TRACE_ALL,
+- "Time info: tzname[0] [%s] tzname[1] [%s] timezone [%ld] "
+- "daylight [%d] now [%ld] expire_time [%ld].\n", tzname[0],
+- tzname[1], timezone, daylight, now, expire_time);
++ "Time info: tzname[0] [%s] tzname[1] [%s] "
++ "now [%ld] expire_time [%ld].\n", tzname[0],
++ tzname[1], now, expire_time);
if (difftime(now, expire_time) > 0.0) {
- DEBUG(4, ("Kerberos password expired.\n"));
-@@ -762,7 +776,7 @@ void sdap_pam_chpass_handler(struct be_req *breq)
-
- DEBUG(2, ("starting password change request for user [%s].\n", pd->user));
+ DEBUG(SSSDBG_CONF_SETTINGS, "Kerberos password expired.\n");
+@@ -924,7 +938,7 @@ void sdap_pam_chpass_handler(struct be_req *breq)
+ DEBUG(SSSDBG_OP_FAILURE,
+ "starting password change request for user [%s].\n", pd->user);
- pd->pam_status = PAM_SYSTEM_ERR;
+ pd->pam_status = PAM_SERVICE_ERR;
if (pd->cmd != SSS_PAM_CHAUTHTOK && pd->cmd != SSS_PAM_CHAUTHTOK_PRELIM) {
- DEBUG(2, ("chpass target was called by wrong pam command.\n"));
-@@ -821,7 +835,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
- &pw_expire_type, &pw_expire_data);
- talloc_zfree(req);
- if (ret) {
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
-
-@@ -841,7 +855,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
- &result);
- if (ret != EOK) {
- DEBUG(1, ("check_pwexpire_shadow failed.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- break;
-@@ -850,14 +864,14 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
- state->breq->domain->pwd_expiration_warning);
- if (ret != EOK) {
- DEBUG(1, ("check_pwexpire_kerberos failed.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
-
- if (result == SDAP_AUTH_PW_EXPIRED) {
- DEBUG(1, ("LDAP provider cannot change kerberos "
- "passwords.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- break;
-@@ -866,7 +880,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
- break;
- default:
- DEBUG(1, ("Unknow pasword expiration type.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- }
-@@ -906,7 +920,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
+ DEBUG(SSSDBG_OP_FAILURE,
+@@ -1069,7 +1083,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
dp_err = DP_ERR_OFFLINE;
break;
default:
@@ -126,25 +75,16 @@ index b0dd30c..6b1ad83 100644
}
done:
-@@ -929,7 +943,7 @@ static void sdap_pam_chpass_done(struct tevent_req *req)
- ret = sdap_exop_modify_passwd_recv(req, state, &result, &user_error_message);
- talloc_zfree(req);
- if (ret && ret != EIO) {
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
-
-@@ -970,7 +984,7 @@ static void sdap_pam_chpass_done(struct tevent_req *req)
- state->dn,
- lastchanged_name);
+@@ -1131,7 +1145,7 @@ static void sdap_pam_chpass_done(struct tevent_req *req)
+ state->sh, state->dn,
+ lastchanged_name);
if (subreq == NULL) {
- state->pd->pam_status = PAM_SYSTEM_ERR;
+ state->pd->pam_status = PAM_SERVICE_ERR;
goto done;
}
-@@ -991,7 +1005,7 @@ static void sdap_lastchange_done(struct tevent_req *req)
+@@ -1152,7 +1166,7 @@ static void sdap_lastchange_done(struct tevent_req *req)
ret = sdap_modify_shadow_lastchange_recv(req);
if (ret != EOK) {
@@ -153,7 +93,7 @@ index b0dd30c..6b1ad83 100644
goto done;
}
-@@ -1032,7 +1046,7 @@ void sdap_pam_auth_handler(struct be_req *breq)
+@@ -1193,7 +1207,7 @@ void sdap_pam_auth_handler(struct be_req *breq)
goto done;
}
@@ -162,52 +102,7 @@ index b0dd30c..6b1ad83 100644
switch (pd->cmd) {
case SSS_PAM_AUTHENTICATE:
-@@ -1090,7 +1104,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
- &pw_expire_type, &pw_expire_data);
- talloc_zfree(req);
- if (ret != EOK) {
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- dp_err = DP_ERR_FATAL;
- goto done;
- }
-@@ -1102,7 +1116,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
- state->pd, &result);
- if (ret != EOK) {
- DEBUG(1, ("check_pwexpire_shadow failed.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- break;
-@@ -1112,7 +1126,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
- be_ctx->domain->pwd_expiration_warning);
- if (ret != EOK) {
- DEBUG(1, ("check_pwexpire_kerberos failed.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- break;
-@@ -1121,7 +1135,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
- be_ctx->domain->pwd_expiration_warning);
- if (ret != EOK) {
- DEBUG(1, ("check_pwexpire_ldap failed.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- break;
-@@ -1129,7 +1143,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
- break;
- default:
- DEBUG(1, ("Unknow pasword expiration type.\n"));
-- state->pd->pam_status = PAM_SYSTEM_ERR;
-+ state->pd->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- }
-@@ -1151,7 +1165,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
+@@ -1291,7 +1305,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
state->pd->pam_status = PAM_NEW_AUTHTOK_REQD;
break;
default:
@@ -216,6 +111,3 @@ index b0dd30c..6b1ad83 100644
dp_err = DP_ERR_FATAL;
}
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__providers__ldap__sdap_access.c b/security/sssd/files/patch-src__providers__ldap__sdap_access.c
index 6fa0970e421c..5bc72a8fd902 100644
--- a/security/sssd/files/patch-src__providers__ldap__sdap_access.c
+++ b/security/sssd/files/patch-src__providers__ldap__sdap_access.c
@@ -1,205 +1,29 @@
-From 9a3d9a05b2c8790c771c166b42f8b80e76b4b336 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 11/25] patch-src__providers__ldap__sdap_access.c
-
----
- src/providers/ldap/sdap_access.c | 46 +++++++++++++++++++---------------------
- 1 file changed, 22 insertions(+), 24 deletions(-)
-
diff --git src/providers/ldap/sdap_access.c src/providers/ldap/sdap_access.c
-index b198e04..1eaedf7 100644
+index 880735e..d349dcf 100644
--- src/providers/ldap/sdap_access.c
+++ src/providers/ldap/sdap_access.c
-@@ -22,9 +22,7 @@
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--#define _XOPEN_SOURCE 500 /* for strptime() */
- #include <time.h>
--#undef _XOPEN_SOURCE
- #include <sys/param.h>
- #include <security/pam_modules.h>
- #include <talloc.h>
-@@ -109,7 +107,7 @@ void sdap_pam_access_handler(struct be_req *breq)
- pd);
- if (req == NULL) {
- DEBUG(1, ("Unable to start sdap_access request\n"));
-- sdap_access_reply(breq, PAM_SYSTEM_ERR);
-+ sdap_access_reply(breq, PAM_SERVICE_ERR);
- return;
- }
-
-@@ -149,7 +147,7 @@ sdap_access_send(TALLOC_CTX *mem_ctx,
-
- state->be_req = be_req;
- state->pd = pd;
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- state->ev = ev;
- state->access_ctx = access_ctx;
- state->current_rule = 0;
-@@ -502,18 +500,17 @@ static bool nds_check_expired(const char *exp_time_str)
+@@ -499,6 +499,7 @@ static bool nds_check_expired(const char *exp_time_str)
return true;
}
+ tzset();
expire_time = mktime(&tm);
if (expire_time == -1) {
- DEBUG(1, ("mktime failed to convert [%s].\n", exp_time_str));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+@@ -506,13 +507,11 @@ static bool nds_check_expired(const char *exp_time_str)
return true;
}
- tzset();
- expire_time -= timezone;
now = time(NULL);
-- DEBUG(9, ("Time info: tzname[0] [%s] tzname[1] [%s] timezone [%d] "
-- "daylight [%d] now [%d] expire_time [%d].\n", tzname[0],
-- tzname[1], timezone, daylight, now, expire_time));
-+ DEBUG(9, ("Time info: tzname[0] [%s] tzname[1] [%s] "
-+ "now [%d] expire_time [%d].\n", tzname[0],
-+ tzname[1], now, expire_time));
+ DEBUG(SSSDBG_TRACE_ALL,
+- "Time info: tzname[0] [%s] tzname[1] [%s] timezone [%ld] "
+- "daylight [%d] now [%ld] expire_time [%ld].\n", tzname[0],
+- tzname[1], timezone, daylight, now, expire_time);
++ "Time info: tzname[0] [%s] tzname[1] [%s] "
++ "now [%ld] expire_time [%ld].\n", tzname[0],
++ tzname[1], now, expire_time);
if (difftime(now, expire_time) > 0.0) {
- DEBUG(4, ("NDS account expired.\n"));
-@@ -662,7 +659,7 @@ static struct tevent_req *sdap_account_expired_send(TALLOC_CTX *mem_ctx,
- return NULL;
- }
-
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
-
- expire = dp_opt_get_cstring(access_ctx->id_ctx->opts->basic,
- SDAP_ACCOUNT_EXPIRE_POLICY);
-@@ -746,7 +743,7 @@ static void sdap_account_expired_done(struct tevent_req *subreq)
- talloc_zfree(subreq);
- if (ret != EOK) {
- DEBUG(1, ("Error retrieving access check result.\n"));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- tevent_req_error(req, ret);
- return;
- }
-@@ -806,7 +803,7 @@ static struct tevent_req *sdap_access_filter_send(TALLOC_CTX *mem_ctx,
- state->filter = NULL;
- state->be_req = be_req;
- state->username = username;
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- state->sdap_ctx = access_ctx->id_ctx;
- state->ev = ev;
- state->access_ctx = access_ctx;
-@@ -953,7 +950,7 @@ static void sdap_access_filter_connect_done(struct tevent_req *subreq)
- false);
- if (subreq == NULL) {
- DEBUG(1, ("Could not start LDAP communication\n"));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- tevent_req_error(req, EIO);
- return;
- }
-@@ -984,13 +981,13 @@ static void sdap_access_filter_get_access_done(struct tevent_req *subreq)
- if (ret == EOK) {
- return;
- }
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- } else if (dp_error == DP_ERR_OFFLINE) {
- sdap_access_filter_decide_offline(req);
- } else {
- DEBUG(1, ("sdap_get_generic_send() returned error [%d][%s]\n",
- ret, strerror(ret)));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- }
-
- goto done;
-@@ -1009,7 +1006,7 @@ static void sdap_access_filter_get_access_done(struct tevent_req *subreq)
- else if (results == NULL) {
- DEBUG(1, ("num_results > 0, but results is NULL\n"));
- ret = EIO;
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- else if (num_results > 1) {
-@@ -1018,7 +1015,7 @@ static void sdap_access_filter_get_access_done(struct tevent_req *subreq)
- */
- DEBUG(1, ("Received multiple replies\n"));
- ret = EIO;
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- goto done;
- }
- else { /* Ok, we got a single reply */
-@@ -1104,7 +1101,7 @@ static void sdap_access_filter_done(struct tevent_req *subreq)
- talloc_zfree(subreq);
- if (ret != EOK) {
- DEBUG(1, ("Error retrieving access check result.\n"));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- tevent_req_error(req, ret);
- return;
- }
-@@ -1244,7 +1241,7 @@ static void sdap_access_service_done(struct tevent_req *subreq)
- talloc_zfree(subreq);
- if (ret != EOK) {
- DEBUG(1, ("Error retrieving access check result.\n"));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- tevent_req_error(req, ret);
- return;
- }
-@@ -1269,7 +1266,7 @@ static struct tevent_req *sdap_access_host_send(
- struct ldb_message_element *el;
- unsigned int i;
- char *host;
-- char hostname[HOST_NAME_MAX+1];
-+ char hostname[_POSIX_HOST_NAME_MAX + 1];
-
- req = tevent_req_create(mem_ctx, &state, struct sdap_access_host_ctx);
- if (!req) {
-@@ -1285,11 +1282,12 @@ static struct tevent_req *sdap_access_host_send(
- goto done;
- }
-
-- if (gethostname(hostname, sizeof(hostname)) == -1) {
-+ if (gethostname(hostname, _POSIX_HOST_NAME_MAX) == -1) {
- DEBUG(1, ("Unable to get system hostname. Access denied\n"));
- ret = EOK;
- goto done;
- }
-+ hostname[_POSIX_HOST_NAME_MAX] = '\0';
-
- /* FIXME: PADL's pam_ldap also calls gethostbyname() on the hostname
- * in some attempt to get aliases and/or FQDN for the machine.
-@@ -1365,7 +1363,7 @@ static void sdap_access_host_done(struct tevent_req *subreq)
- talloc_zfree(subreq);
- if (ret != EOK) {
- DEBUG(1, ("Error retrieving access check result.\n"));
-- state->pam_status = PAM_SYSTEM_ERR;
-+ state->pam_status = PAM_SERVICE_ERR;
- tevent_req_error(req, ret);
- return;
- }
-@@ -1391,7 +1389,7 @@ sdap_access_recv(struct tevent_req *req, int *pam_status)
- static void sdap_access_done(struct tevent_req *req)
- {
- errno_t ret;
-- int pam_status = PAM_SYSTEM_ERR;
-+ int pam_status = PAM_SERVICE_ERR;
- struct be_req *breq =
- tevent_req_callback_data(req, struct be_req);
-
-@@ -1399,7 +1397,7 @@ static void sdap_access_done(struct tevent_req *req)
- talloc_zfree(req);
- if (ret != EOK) {
- DEBUG(1, ("Error retrieving access check result.\n"));
-- pam_status = PAM_SYSTEM_ERR;
-+ pam_status = PAM_SERVICE_ERR;
- }
-
- sdap_access_reply(breq, pam_status);
---
-1.8.0
-
+ DEBUG(SSSDBG_CONF_SETTINGS, "NDS account expired.\n");
diff --git a/security/sssd/files/patch-src__providers__ldap__sdap_async_sudo_hostinfo.c b/security/sssd/files/patch-src__providers__ldap__sdap_async_sudo_hostinfo.c
deleted file mode 100644
index 8c28a8a791ea..000000000000
--- a/security/sssd/files/patch-src__providers__ldap__sdap_async_sudo_hostinfo.c
+++ /dev/null
@@ -1,42 +0,0 @@
-From 58d918d01b03a3332b3e9da917a45b4b7ef7a427 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 27 Jul 2013 15:01:26 +0200
-Subject: [PATCH 30/34] patch-src__providers__ldap__sdap_async_sudo_hostinfo.c
-
----
- src/providers/ldap/sdap_async_sudo_hostinfo.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git src/providers/ldap/sdap_async_sudo_hostinfo.c src/providers/ldap/sdap_async_sudo_hostinfo.c
-index 0a695cd..108b4c2 100644
---- src/providers/ldap/sdap_async_sudo_hostinfo.c
-+++ src/providers/ldap/sdap_async_sudo_hostinfo.c
-@@ -371,7 +371,7 @@ static struct tevent_req *sdap_sudo_get_hostnames_send(TALLOC_CTX *mem_ctx,
- struct tevent_req *subreq = NULL;
- struct sdap_sudo_get_hostnames_state *state = NULL;
- char *dot = NULL;
-- char hostname[HOST_NAME_MAX + 1];
-+ char hostname[_POSIX_HOST_NAME_MAX + 1];
- int resolv_timeout;
- int ret;
-
-@@ -395,14 +395,14 @@ static struct tevent_req *sdap_sudo_get_hostnames_send(TALLOC_CTX *mem_ctx,
- /* get hostname */
-
- errno = 0;
-- ret = gethostname(hostname, HOST_NAME_MAX);
-+ ret = gethostname(hostname, _POSIX_HOST_NAME_MAX);
- if (ret != EOK) {
- ret = errno;
- DEBUG(SSSDBG_CRIT_FAILURE, ("Unable to retrieve machine hostname "
- "[%d]: %s\n", ret, strerror(ret)));
- goto done;
- }
-- hostname[HOST_NAME_MAX] = '\0';
-+ hostname[_POSIX_HOST_NAME_MAX] = '\0';
-
- state->hostnames[0] = talloc_strdup(state->hostnames, hostname);
- if (state->hostnames[0] == NULL) {
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__resolv__async_resolv.c b/security/sssd/files/patch-src__resolv__async_resolv.c
deleted file mode 100644
index eb5396bb8dca..000000000000
--- a/security/sssd/files/patch-src__resolv__async_resolv.c
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5434161320c86634512ac70e1d49c63375a71dc4 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:11 +0200
-Subject: [PATCH 14/34] patch-src__resolv__async_resolv.c
-
----
- src/resolv/async_resolv.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git src/resolv/async_resolv.c src/resolv/async_resolv.c
-index 268d266..1bb84e5 100644
---- src/resolv/async_resolv.c
-+++ src/resolv/async_resolv.c
-@@ -1203,7 +1203,6 @@ resolv_is_address(const char *name)
- hints.ai_flags = AI_NUMERICHOST; /* No network lookups */
-
- ret = getaddrinfo(name, NULL, &hints, &res);
-- freeaddrinfo(res);
- if (ret != 0) {
- if (ret == -2) {
- DEBUG(9, ("[%s] does not look like an IP address\n", name));
-@@ -1211,6 +1210,8 @@ resolv_is_address(const char *name)
- DEBUG(2, ("getaddrinfo failed [%d]: %s\n",
- ret, gai_strerror(ret)));
- }
-+ } else {
-+ freeaddrinfo(res);
- }
-
- return ret == 0;
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__sss_client__common.c b/security/sssd/files/patch-src__sss_client__common.c
index 9a42b98c1367..87a4b8d472bd 100644
--- a/security/sssd/files/patch-src__sss_client__common.c
+++ b/security/sssd/files/patch-src__sss_client__common.c
@@ -1,12 +1,3 @@
-From 6874fb930a30eac6fe12104923ab97083f58bcf9 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 14/25] patch-src__sss_client__common.c
-
----
- src/sss_client/common.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
diff --git src/sss_client/common.c src/sss_client/common.c
index ec5c708..5d17eed 100644
--- src/sss_client/common.c
@@ -80,6 +71,3 @@ index ec5c708..5d17eed 100644
}
}
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__sss_client__nss_group.c b/security/sssd/files/patch-src__sss_client__nss_group.c
index ed5ebd284fd3..38837c2559eb 100644
--- a/security/sssd/files/patch-src__sss_client__nss_group.c
+++ b/security/sssd/files/patch-src__sss_client__nss_group.c
@@ -1,12 +1,3 @@
-From 5a0c2079efae0f9734d85932ed72645808b32091 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:20 +0100
-Subject: [PATCH 15/25] patch-src__sss_client__nss_group.c
-
----
- src/sss_client/nss_group.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 70 insertions(+)
-
diff --git src/sss_client/nss_group.c src/sss_client/nss_group.c
index e6ea54b..b27b671 100644
--- src/sss_client/nss_group.c
@@ -88,6 +79,3 @@ index e6ea54b..b27b671 100644
enum nss_status _nss_sss_getgrnam_r(const char *name, struct group *result,
char *buffer, size_t buflen, int *errnop)
{
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__sss_client__pam_sss.c b/security/sssd/files/patch-src__sss_client__pam_sss.c
deleted file mode 100644
index 0c4a03d6022e..000000000000
--- a/security/sssd/files/patch-src__sss_client__pam_sss.c
+++ /dev/null
@@ -1,79 +0,0 @@
-From 18bce9f12311c6e7a7fe4350150120a98b3ec106 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 2/2] patch-src__sss_client__pam_sss.c
-
----
- src/sss_client/pam_sss.c | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git src/sss_client/pam_sss.c src/sss_client/pam_sss.c
-index 5fd276ccba15da1f689b1939a02288dda7a09d89..e35552f7e612d3e68f957845998a8105437af301 100644
---- src/sss_client/pam_sss.c
-+++ src/sss_client/pam_sss.c
-@@ -52,6 +52,8 @@
- #define FLAGS_USE_FIRST_PASS (1 << 0)
- #define FLAGS_FORWARD_PASS (1 << 1)
- #define FLAGS_USE_AUTHTOK (1 << 2)
-+#define FLAGS_IGNORE_UNKNOWN_USER (1 << 3)
-+#define FLAGS_IGNORE_AUTHINFO_UNAVAIL (1 << 4)
-
- #define PWEXP_FLAG "pam_sss:password_expired_flag"
- #define FD_DESTRUCTOR "pam_sss:fd_destructor"
-@@ -125,10 +127,12 @@ static void free_exp_data(pam_handle_t *pamh, void *ptr, int err)
-
- static void close_fd(pam_handle_t *pamh, void *ptr, int err)
- {
-+#ifdef PAM_DATA_REPLACE
- if (err & PAM_DATA_REPLACE) {
- /* Nothing to do */
- return;
- }
-+#endif /* PAM_DATA_REPLACE */
-
- D(("Closing the fd"));
- sss_pam_close_fd();
-@@ -1292,6 +1296,10 @@ static void eval_argv(pam_handle_t *pamh, int argc, const char **argv,
- }
- } else if (strcmp(*argv, "quiet") == 0) {
- *quiet_mode = true;
-+ } else if (strcmp(*argv, "ignore_unknown_user") == 0) {
-+ *flags |= FLAGS_IGNORE_UNKNOWN_USER;
-+ } else if (strcmp(*argv, "ignore_authinfo_unavail") == 0) {
-+ *flags |= FLAGS_IGNORE_AUTHINFO_UNAVAIL;
- } else {
- logger(pamh, LOG_WARNING, "unknown option: %s", *argv);
- }
-@@ -1429,6 +1437,13 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh,
- ret = get_pam_items(pamh, &pi);
- if (ret != PAM_SUCCESS) {
- D(("get items returned error: %s", pam_strerror(pamh,ret)));
-+ if (flags & FLAGS_IGNORE_UNKNOWN_USER && ret == PAM_USER_UNKNOWN) {
-+ ret = PAM_IGNORE;
-+ }
-+ if (flags & FLAGS_IGNORE_AUTHINFO_UNAVAIL
-+ && ret == PAM_AUTHINFO_UNAVAIL) {
-+ ret = PAM_IGNORE;
-+ }
- return ret;
- }
-
-@@ -1467,6 +1482,15 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh,
-
- pam_status = send_and_receive(pamh, &pi, task, quiet_mode);
-
-+ if (flags & FLAGS_IGNORE_UNKNOWN_USER
-+ && pam_status == PAM_USER_UNKNOWN) {
-+ pam_status = PAM_IGNORE;
-+ }
-+ if (flags & FLAGS_IGNORE_AUTHINFO_UNAVAIL
-+ && pam_status == PAM_AUTHINFO_UNAVAIL) {
-+ pam_status = PAM_IGNORE;
-+ }
-+
- switch (task) {
- case SSS_PAM_AUTHENTICATE:
- /* We allow sssd to send the return code PAM_NEW_AUTHTOK_REQD during
---
-1.9.3
-
diff --git a/security/sssd/files/patch-src__sss_client__pam_test_client.c b/security/sssd/files/patch-src__sss_client__pam_test_client.c
deleted file mode 100644
index bfaa50bdaffa..000000000000
--- a/security/sssd/files/patch-src__sss_client__pam_test_client.c
+++ /dev/null
@@ -1,32 +0,0 @@
-From d15b99c87c08f17eef814f431a4a58ed4a3ba9b6 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:11 +0200
-Subject: [PATCH 20/34] patch-src__sss_client__pam_test_client.c
-
----
- src/sss_client/pam_test_client.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git src/sss_client/pam_test_client.c src/sss_client/pam_test_client.c
-index ef424e7..d8cf36c 100644
---- src/sss_client/pam_test_client.c
-+++ src/sss_client/pam_test_client.c
-@@ -24,12 +24,13 @@
-
- #include <stdio.h>
- #include <unistd.h>
-+#include <string.h>
-
- #include <security/pam_appl.h>
--#include <security/pam_misc.h>
-+#include <security/openpam.h>
-
- static struct pam_conv conv = {
-- misc_conv,
-+ openpam_ttyconv,
- NULL
- };
-
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__sss_client__sss_nss.exports b/security/sssd/files/patch-src__sss_client__sss_nss.exports
index c9649d7784a7..6edc75d8d118 100644
--- a/security/sssd/files/patch-src__sss_client__sss_nss.exports
+++ b/security/sssd/files/patch-src__sss_client__sss_nss.exports
@@ -1,12 +1,3 @@
-From d7dcd7c8796efbecd4e41931080d7d28f72f9ee1 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:11 +0200
-Subject: [PATCH 21/34] patch-src__sss_client__sss_nss.exports
-
----
- src/sss_client/sss_nss.exports | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
diff --git src/sss_client/sss_nss.exports src/sss_client/sss_nss.exports
index 1eefea8..8e85a05 100644
--- src/sss_client/sss_nss.exports
@@ -45,6 +36,3 @@ index 1eefea8..8e85a05 100644
#_nss_sss_getaliasbyname_r;
#_nss_sss_setaliasent;
#_nss_sss_getaliasent_r;
---
-1.8.0
-
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 79a73a2a96e7..92f4f472738e 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
@@ -1,22 +1,11 @@
-From 74422233fe8c6efa826b20c6b579f4c99e45ff87 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 19/25] patch-src__util__crypto__libcrypto__crypto_sha512crypt.c
-
----
- src/util/crypto/libcrypto/crypto_sha512crypt.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
diff --git src/util/crypto/libcrypto/crypto_sha512crypt.c src/util/crypto/libcrypto/crypto_sha512crypt.c
-index 88628b6..4510403 100644
+index 34547d0..6901851 100644
--- src/util/crypto/libcrypto/crypto_sha512crypt.c
+++ src/util/crypto/libcrypto/crypto_sha512crypt.c
-@@ -28,6 +28,14 @@
+@@ -28,6 +28,12 @@
#include <openssl/evp.h>
#include <openssl/rand.h>
-+#define __stpncpy(x, y, z) stpncpy(x, y, z)
-+
+void *
+mempcpy (void *dest, const void *src, size_t n)
+{
@@ -26,6 +15,3 @@ index 88628b6..4510403 100644
/* Define our magic string to mark salt for SHA512 "encryption" replacement. */
const char sha512_salt_prefix[] = "$6$";
#define SALT_PREF_SIZE (sizeof(sha512_salt_prefix) - 1)
---
-1.8.0
-
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 71da7f7d4108..78d2e48cd3ec 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
@@ -1,22 +1,11 @@
-From be27b76238aa49ac0ace123f80c9957ae25501fa Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 20/25] patch-src__util__crypto__nss__nss_sha512crypt.c
-
----
- src/util/crypto/nss/nss_sha512crypt.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
diff --git src/util/crypto/nss/nss_sha512crypt.c src/util/crypto/nss/nss_sha512crypt.c
-index 2838c47..a6cf43f 100644
+index 9fedd5e..90192ac 100644
--- src/util/crypto/nss/nss_sha512crypt.c
+++ src/util/crypto/nss/nss_sha512crypt.c
-@@ -29,6 +29,14 @@
+@@ -29,6 +29,12 @@
#include <sechash.h>
#include <pk11func.h>
-+#define __stpncpy(x, y, z) stpncpy(x, y, z)
-+
+static void *
+mempcpy (void *dest, const void *src, size_t n)
+{
@@ -26,6 +15,3 @@ index 2838c47..a6cf43f 100644
/* Define our magic string to mark salt for SHA512 "encryption" replacement. */
const char sha512_salt_prefix[] = "$6$";
#define SALT_PREF_SIZE (sizeof(sha512_salt_prefix) - 1)
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__util__find_uid.c b/security/sssd/files/patch-src__util__find_uid.c
index eef9470b363c..38a31323880a 100644
--- a/security/sssd/files/patch-src__util__find_uid.c
+++ b/security/sssd/files/patch-src__util__find_uid.c
@@ -1,14 +1,5 @@
-From ccc51217c877dde1857300662fdacab2298f5816 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 21/25] patch-src__util__find_uid.c
-
----
- src/util/find_uid.c | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
diff --git src/util/find_uid.c src/util/find_uid.c
-index d34a4ab..9dec900 100644
+index 4c8f73a..40f3690 100644
--- src/util/find_uid.c
+++ src/util/find_uid.c
@@ -67,7 +67,7 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
@@ -18,9 +9,9 @@ index d34a4ab..9dec900 100644
- ret = snprintf(path, PATHLEN, "/proc/%d/status", pid);
+ ret = snprintf(path, PATHLEN, "/compat/linux/proc/%d/status", pid);
if (ret < 0) {
- DEBUG(1, ("snprintf failed"));
+ DEBUG(SSSDBG_CRIT_FAILURE, "snprintf failed");
return EINVAL;
-@@ -201,12 +201,12 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
+@@ -207,12 +207,12 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
struct dirent *dirent;
int ret, err;
pid_t pid = -1;
@@ -34,8 +25,8 @@ index d34a4ab..9dec900 100644
+ proc_dir = opendir("/compat/linux/proc");
if (proc_dir == NULL) {
ret = errno;
- DEBUG(1, ("Cannot open proc dir.\n"));
-@@ -280,9 +280,8 @@ done:
+ DEBUG(SSSDBG_CRIT_FAILURE, "Cannot open proc dir.\n");
+@@ -287,9 +287,8 @@ done:
errno_t get_uid_table(TALLOC_CTX *mem_ctx, hash_table_t **table)
{
@@ -46,6 +37,3 @@ index d34a4ab..9dec900 100644
ret = hash_create_ex(INITIAL_TABLE_SIZE, table, 0, 0, 0, 0,
hash_talloc, hash_talloc_free, mem_ctx,
NULL, NULL);
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__util__server.c b/security/sssd/files/patch-src__util__server.c
index 233af445a670..8c80dfd2864c 100644
--- a/security/sssd/files/patch-src__util__server.c
+++ b/security/sssd/files/patch-src__util__server.c
@@ -1,17 +1,8 @@
-From cc6cab9e45ba978eaf33c6fa1860ee94166780be Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 22/25] patch-src__util__server.c
-
----
- src/util/server.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
diff --git src/util/server.c src/util/server.c
-index b3073fc..ddc124f 100644
+index 343668c..f8a1627 100644
--- src/util/server.c
+++ src/util/server.c
-@@ -321,12 +321,14 @@ static void setup_signals(void)
+@@ -322,12 +322,14 @@ static void setup_signals(void)
BlockSignals(false, SIGTERM);
CatchSignal(SIGHUP, sig_hup);
@@ -31,6 +22,3 @@ index b3073fc..ddc124f 100644
#endif
}
---
-1.8.0
-
diff --git a/security/sssd/files/patch-src__util__signal.c b/security/sssd/files/patch-src__util__signal.c
new file mode 100644
index 000000000000..85e2ae9d5431
--- /dev/null
+++ b/security/sssd/files/patch-src__util__signal.c
@@ -0,0 +1,72 @@
+diff --git src/util/signal.c src/util/signal.c
+index 053457b..bb8f8be 100644
+--- src/util/signal.c
++++ src/util/signal.c
+@@ -28,45 +28,6 @@
+ * @brief Signal handling
+ */
+
+-/****************************************************************************
+- Catch child exits and reap the child zombie status.
+-****************************************************************************/
+-
+-static void sig_cld(int signum)
+-{
+- while (waitpid((pid_t)-1,(int *)NULL, WNOHANG) > 0)
+- ;
+-
+- /*
+- * Turns out it's *really* important not to
+- * restore the signal handler here if we have real POSIX
+- * signal handling. If we do, then we get the signal re-delivered
+- * immediately - hey presto - instant loop ! JRA.
+- */
+-
+-#if !defined(HAVE_SIGACTION)
+- CatchSignal(SIGCLD, sig_cld);
+-#endif
+-}
+-
+-/****************************************************************************
+-catch child exits - leave status;
+-****************************************************************************/
+-
+-static void sig_cld_leave_status(int signum)
+-{
+- /*
+- * Turns out it's *really* important not to
+- * restore the signal handler here if we have real POSIX
+- * signal handling. If we do, then we get the signal re-delivered
+- * immediately - hey presto - instant loop ! JRA.
+- */
+-
+-#if !defined(HAVE_SIGACTION)
+- CatchSignal(SIGCLD, sig_cld_leave_status);
+-#endif
+-}
+-
+ /**
+ Block sigs.
+ **/
+@@ -126,21 +87,3 @@ void (*CatchSignal(int signum,void (*handler)(int )))(int)
+ return signal(signum, handler);
+ #endif
+ }
+-
+-/**
+- Ignore SIGCLD via whatever means is necessary for this OS.
+-**/
+-
+-void CatchChild(void)
+-{
+- CatchSignal(SIGCLD, sig_cld);
+-}
+-
+-/**
+- Catch SIGCLD but leave the child around so it's status can be reaped.
+-**/
+-
+-void CatchChildLeaveStatus(void)
+-{
+- CatchSignal(SIGCLD, sig_cld_leave_status);
+-}
diff --git a/security/sssd/files/patch-src__util__sss_ldap.c b/security/sssd/files/patch-src__util__sss_ldap.c
index 513e205ca1d6..5d9e03cde3ad 100644
--- a/security/sssd/files/patch-src__util__sss_ldap.c
+++ b/security/sssd/files/patch-src__util__sss_ldap.c
@@ -1,17 +1,8 @@
-From 074dd84d5ed0e5d2b48d2aeb1b92e51507516c2d Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Sat, 4 May 2013 16:08:12 +0200
-Subject: [PATCH 27/34] patch-src__util__sss_ldap.c
-
----
- src/util/sss_ldap.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
diff --git src/util/sss_ldap.c src/util/sss_ldap.c
-index 060aacf..a2cc82a 100644
+index dd63b4b..0764622 100644
--- src/util/sss_ldap.c
+++ src/util/sss_ldap.c
-@@ -208,6 +208,9 @@ static void sdap_async_sys_connect_done(struct tevent_context *ev,
+@@ -206,6 +206,9 @@ static void sdap_async_sys_connect_done(struct tevent_context *ev,
errno = 0;
ret = connect(state->fd, (struct sockaddr *) &state->addr,
state->addr_len);
@@ -21,24 +12,12 @@ index 060aacf..a2cc82a 100644
if (ret != EOK) {
ret = errno;
if (ret == EINPROGRESS || ret == EINTR) {
-@@ -268,7 +271,7 @@ static errno_t set_fd_flags_and_opts(int fd)
- strerror(ret)));
- }
-
-- ret = setsockopt(fd, SOL_TCP, TCP_NODELAY, &dummy, sizeof(dummy));
-+ ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &dummy, sizeof(dummy));
- if (ret != 0) {
- ret = errno;
- DEBUG(5, ("setsockopt TCP_NODELAY failed.[%d][%s].\n", ret,
-@@ -341,7 +344,7 @@ struct tevent_req *sss_ldap_init_send(TALLOC_CTX *mem_ctx,
- DEBUG(9, ("Using file descriptor [%d] for LDAP connection.\n", state->sd));
+@@ -346,7 +349,7 @@ struct tevent_req *sss_ldap_init_send(TALLOC_CTX *mem_ctx,
+ "Using file descriptor [%d] for LDAP connection.\n", state->sd);
subreq = sdap_async_sys_connect_send(state, ev, state->sd,
- (struct sockaddr *) addr, addr_len);
+ (struct sockaddr *) addr, sizeof(struct sockaddr));
if (subreq == NULL) {
ret = ENOMEM;
- DEBUG(1, ("sdap_async_sys_connect_send failed.\n"));
---
-1.8.0
-
+ DEBUG(SSSDBG_CRIT_FAILURE, "sdap_async_sys_connect_send failed.\n");
diff --git a/security/sssd/files/patch-src__util__util.h b/security/sssd/files/patch-src__util__util.h
index bd3bc8baf656..f10b498e5d82 100644
--- a/security/sssd/files/patch-src__util__util.h
+++ b/security/sssd/files/patch-src__util__util.h
@@ -1,23 +1,20 @@
-From 5fcf9d93df255105ec065b168ddc11d98b5bb5d1 Mon Sep 17 00:00:00 2001
-From: Lukas Slebodnik <lukas.slebodnik@intrak.sk>
-Date: Wed, 6 Nov 2013 22:01:21 +0100
-Subject: [PATCH 24/25] patch-src__util__util.h
-
----
- src/util/util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
diff --git src/util/util.h src/util/util.h
-index eab1f78..8e29fb5 100644
+index 7a66846..5e63275 100644
--- src/util/util.h
+++ src/util/util.h
-@@ -571,4 +571,6 @@ errno_t sss_br_lock_file(int fd, size_t start, size_t len,
- #define BUILD_WITH_PAC_RESPONDER false
- #endif
+@@ -227,8 +227,6 @@ void sig_term(int sig);
+ #include <signal.h>
+ void BlockSignals(bool block, int signum);
+ void (*CatchSignal(int signum,void (*handler)(int )))(int);
+-void CatchChild(void);
+-void CatchChildLeaveStatus(void);
+ /* from memory.c */
+ typedef int (void_destructor_fn_t)(void *);
+@@ -542,5 +540,6 @@ char * sss_replace_space(TALLOC_CTX *mem_ctx,
+ char * sss_reverse_replace_space(TALLOC_CTX *mem_ctx,
+ const char *orig_name,
+ const char replace_char);
+#include "util/sss_bsd_errno.h"
-+
+
#endif /* __SSSD_UTIL_H__ */
---
-1.8.0
-
diff --git a/security/sssd/pkg-plist b/security/sssd/pkg-plist
index 98d337478e38..aac862acf899 100644
--- a/security/sssd/pkg-plist
+++ b/security/sssd/pkg-plist
@@ -1,23 +1,28 @@
bin/sss_ssh_authorizedkeys
bin/sss_ssh_knownhostsproxy
-@sample %%ETCDIR%%/sssd.conf.sample
+etc/dbus-1/system.d/org.freedesktop.sssd.infopipe.conf
+%%ETCDIR%%/sssd.conf.sample
include/ipa_hbac.h
include/sss_idmap.h
-include/sss_sudo.h
+include/sss_nss_idmap.h
+%%SMB%%lib/krb5/plugins/authdata/sssd_pac_plugin.so
lib/krb5/plugins/libkrb5/sssd_krb5_locator_plugin.so
lib/libipa_hbac.so
lib/libipa_hbac.so.0
lib/libipa_hbac.so.0.0.1
lib/libsss_idmap.so
lib/libsss_idmap.so.0
-lib/libsss_idmap.so.0.0.1
+lib/libsss_idmap.so.0.4.0
+lib/libsss_nss_idmap.so
+lib/libsss_nss_idmap.so.0
+lib/libsss_nss_idmap.so.0.0.1
lib/libsss_sudo.so
lib/nss_sss.so
lib/nss_sss.so.1
lib/nss_sss.so.2
lib/nss_sss.so.2.0.0
lib/pam_sss.so
-%%PYTHON_SITELIBDIR%%/SSSDConfig-1.9.6-py%%PYTHON_VER%%.egg-info
+%%PYTHON_SITELIBDIR%%/SSSDConfig-1.11.7-py%%PYTHON_VER%%.egg-info
%%PYTHON_SITELIBDIR%%/SSSDConfig/__init__.py
%%PYTHON_SITELIBDIR%%/SSSDConfig/__init__.pyc
%%PYTHON_SITELIBDIR%%/SSSDConfig/ipachangeconf.py
@@ -27,27 +32,36 @@ lib/pam_sss.so
%%PYTHON_SITELIBDIR%%/pyhbac.so
%%PYTHON_SITELIBDIR%%/pysss.so
%%PYTHON_SITELIBDIR%%/pysss_murmur.so
+%%PYTHON_SITELIBDIR%%/pysss_nss_idmap.so
lib/shared-modules/ldb/memberof.so
-lib/sssd/libsss_ad.so
-lib/sssd/libsss_ipa.so
+%%SMB%%lib/sssd/libsss_ad.so
+lib/sssd/libsss_child.so
+lib/sssd/libsss_crypt.so
+lib/sssd/libsss_debug.so
+%%SMB%%lib/sssd/libsss_ipa.so
lib/sssd/libsss_krb5.so
+lib/sssd/libsss_krb5_common.so
lib/sssd/libsss_ldap.so
+lib/sssd/libsss_ldap_common.so
lib/sssd/libsss_proxy.so
lib/sssd/libsss_simple.so
+lib/sssd/libsss_util.so
libdata/pkgconfig/ipa_hbac.pc
libdata/pkgconfig/sss_idmap.pc
+libdata/pkgconfig/sss_nss_idmap.pc
libexec/sssd/krb5_child
libexec/sssd/ldap_child
libexec/sssd/proxy_child
+libexec/sssd/sss_signal
libexec/sssd/sssd_be
+libexec/sssd/sssd_ifp
libexec/sssd/sssd_nss
+%%SMB%%libexec/sssd/sssd_pac
libexec/sssd/sssd_pam
libexec/sssd/sssd_ssh
libexec/sssd/sssd_sudo
man/es/man1/sss_ssh_authorizedkeys.1.gz
man/es/man1/sss_ssh_knownhostsproxy.1.gz
-man/es/man5/sssd-ad.5.gz
-man/es/man5/sssd-ipa.5.gz
man/es/man5/sssd-ldap.5.gz
man/es/man5/sssd-simple.5.gz
man/es/man5/sssd-sudo.5.gz
@@ -69,7 +83,6 @@ man/es/man8/sssd_krb5_locator_plugin.8.gz
man/fr/man1/sss_ssh_authorizedkeys.1.gz
man/fr/man1/sss_ssh_knownhostsproxy.1.gz
man/fr/man5/sssd-ad.5.gz
-man/fr/man5/sssd-ipa.5.gz
man/fr/man5/sssd-krb5.5.gz
man/fr/man5/sssd-ldap.5.gz
man/fr/man5/sssd-simple.5.gz
@@ -91,8 +104,6 @@ man/fr/man8/sssd.8.gz
man/fr/man8/sssd_krb5_locator_plugin.8.gz
man/ja/man1/sss_ssh_authorizedkeys.1.gz
man/ja/man1/sss_ssh_knownhostsproxy.1.gz
-man/ja/man5/sssd-ad.5.gz
-man/ja/man5/sssd-ipa.5.gz
man/ja/man5/sssd-krb5.5.gz
man/ja/man5/sssd-ldap.5.gz
man/ja/man5/sssd-simple.5.gz
@@ -113,6 +124,7 @@ man/ja/man8/sssd_krb5_locator_plugin.8.gz
man/man1/sss_ssh_authorizedkeys.1.gz
man/man1/sss_ssh_knownhostsproxy.1.gz
man/man5/sssd-ad.5.gz
+man/man5/sssd-ifp.5.gz
man/man5/sssd-ipa.5.gz
man/man5/sssd-krb5.5.gz
man/man5/sssd-ldap.5.gz
@@ -139,7 +151,7 @@ man/pt/man8/sss_groupmod.8.gz
man/uk/man1/sss_ssh_authorizedkeys.1.gz
man/uk/man1/sss_ssh_knownhostsproxy.1.gz
man/uk/man5/sssd-ad.5.gz
-man/uk/man5/sssd-ipa.5.gz
+man/uk/man5/sssd-ifp.5.gz
man/uk/man5/sssd-krb5.5.gz
man/uk/man5/sssd-ldap.5.gz
man/uk/man5/sssd-simple.5.gz
@@ -171,36 +183,13 @@ sbin/sss_useradd
sbin/sss_userdel
sbin/sss_usermod
sbin/sssd
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/libsss_sudo_doc
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/idmap_doc
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/hbac_doc
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm libexec/sssd
-@dirrm lib/sssd/modules
-@dirrm lib/sssd
-@dirrm %%PYTHON_SITELIBDIR%%/SSSDConfig
-@dirrmtry %%ETCDIR%%
-@dirrmtry man/uk/man8
-@dirrmtry man/uk/man5
-@dirrmtry man/uk/man1
-@dirrmtry man/uk
-@dirrmtry man/pt/man8
-@dirrmtry man/pt/man5
-@dirrmtry man/pt/man1
-@dirrmtry man/pt
-@dirrmtry man/nl/man8
-@dirrmtry man/nl/man5
-@dirrmtry man/nl/man1
-@dirrmtry man/nl
-@dirrmtry man/fr/man8
-@dirrmtry man/fr/man5
-@dirrmtry man/fr/man1
-@dirrmtry man/fr
-@dirrmtry man/es/man8
-@dirrmtry man/es/man5
-@dirrmtry man/es/man1
-@dirrmtry man/es
+@dir lib/ldb
+@dir lib/sssd/modules
+%%PORTDOCS%%@dir %%DOCSDIR%%/doc
+%%PORTDOCS%%@dir %%DOCSDIR%%/hbac_doc
+%%PORTDOCS%%@dir %%DOCSDIR%%/idmap_doc
+%%PORTDOCS%%@dir %%DOCSDIR%%/libsss_sudo_doc
+%%PORTDOCS%%@dir %%DOCSDIR%%/nss_idmap_doc
@unexec if [ -d %%ETCDIR%% ]; then echo "==> If you are permanently removing this port, you should do a ``rm -rf %%ETCDIR%%`` to remove any configuration files."; fi
@unexec if [ -d /var/db/sss ]; then echo "==> If you are permanently removing this port, you should do a ``rm -rf /var/db/sss`` to remove any additional files."; fi
@unexec if [ -d /var/db/sss_mc ]; then echo "==> If you are permanently removing this port, you should do a ``rm -rf /var/db/sss_mc`` to remove any additional files."; fi