From nobody Wed Apr 02 19:02:43 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZSZ4g4Pqbz5rSDM; Wed, 02 Apr 2025 19:02:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZSZ4g3Z5wz3Gn7; Wed, 02 Apr 2025 19:02:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743620563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSpSqmKbc46DBzynWXFPRGXdQkhQTgM8GQtI1pghJUo=; b=TZe+qCi0wCPsYuKRE5JPxu5DZ43+J+5cUF1hJphgw8RI3Vo431YjKT9qJekp4Q2xmejRyI AKTFBxpjb/LwnSNOrBya3UHRRmy3lJ56WoeN+g0nWaNPnHSDdZ6NbyIQUenRxtHI4txKnk J9OGxbfuTiWqDrnJ4VmG5Afwm/7Kk9GuJt8ymuJmAxpPs7Y7FZLUPxWRSmixxrUYE0RoGs 7e7mDyD36ptC4ybrq/TQ2kTY5zXad1KCTu2gBlBU5kp9Phulzx0DSlUSXT5SPge1amhsnJ NPrlTvdWB7ijFFKYSB1K504ppoei6NctL1LX68cmvQW90F41oVdEg0LiqXirkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1743620563; a=rsa-sha256; cv=none; b=VTHsy0ShlH6tIkwCAGK1aH3rlYyZiyQu9vr6a3HIqtWwQBFbJBTO3HqcoOu5FEi2w+a1Wg ub30JUSDMCrRWZmUTEiXBwwKqHcZXIU6hWhG5giukWhUcxS3KG2do2s8LRAxR8KjFqeKGq FGLpRz7M+CuCW1Bb7yBgfWQbhlfodO/59IZ/Q4x+fmxF9NtyL6T0aplY+QJp10sOqRr0tM Ahz3B57GHNaRcZOQGhxdXwEKd3NpPsFmx+VLYz9a1cpUfpdZObN1x8lfrSFEv3yy9iCKEM 49HJZSnt2cBmxF0t8Taqbrt+/5FpCl9v0UcuWtlKQTZQ3J2zKA7skFFLdEJq2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743620563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TSpSqmKbc46DBzynWXFPRGXdQkhQTgM8GQtI1pghJUo=; b=bwECIEHZrf4RnuLLymrV5jdds4gZp1wLfWhPAAmf8dJ4WjlBmmgdcRek/mq1x3K1snQnIj CG/44qXcIqGeZ/6GORugJMqTAyL9gVzD2BgscQBx8e9Yiv8mKwdkh8ea6yhZKLeKbuv+kK Wnifa96iG2ip0aaSP4Pxw074NRWQHKDbXiXX76b51u3RRVAB0O++Fxa5vJhJRL95c0cFXr AiJMElDSUUcTZfV8VEFTsdtGACn3zs5y5cf4UnPkkYBdPjWRhLgm+XxAjvw7FJi5xJO4vx Lff/nea4yOIeptGzccV/dMMgEKJxB8Rs39tNkOEUSe3Fs+RGzKqhFDu7CpndDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZSZ4g35rlzCHZ; Wed, 02 Apr 2025 19:02:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 532J2h66091649; Wed, 2 Apr 2025 19:02:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 532J2hcj091646; Wed, 2 Apr 2025 19:02:43 GMT (envelope-from git) Date: Wed, 2 Apr 2025 19:02:43 GMT Message-Id: <202504021902.532J2hcj091646@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: "Lev A. Serebryakov" Subject: git: 88ae750911d4 - main - security/pam_pwdfile: Update to latest version 2.0 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: lev X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88ae750911d4e3e4b34a8ba2fa1b6375e8c65243 Auto-Submitted: auto-generated The branch main has been updated by lev: URL: https://cgit.FreeBSD.org/ports/commit/?id=88ae750911d4e3e4b34a8ba2fa1b6375e8c65243 commit 88ae750911d4e3e4b34a8ba2fa1b6375e8c65243 Author: Lev A. Serebryakov AuthorDate: 2025-04-02 19:00:57 +0000 Commit: Lev A. Serebryakov CommitDate: 2025-04-02 19:02:40 +0000 security/pam_pwdfile: Update to latest version 2.0 PR: 285688 Reported by: ykla --- security/pam_pwdfile/Makefile | 21 ++- security/pam_pwdfile/distinfo | 6 +- security/pam_pwdfile/files/Makefile.bsd | 29 ---- security/pam_pwdfile/files/_pam_macros.h | 196 ------------------------ security/pam_pwdfile/files/patch-Makefile | 22 +++ security/pam_pwdfile/files/patch-md5.c | 20 --- security/pam_pwdfile/files/patch-pam__pwdfile.c | 22 +++ security/pam_pwdfile/files/patch-pam_pwdfile.c | 33 ---- 8 files changed, 56 insertions(+), 293 deletions(-) diff --git a/security/pam_pwdfile/Makefile b/security/pam_pwdfile/Makefile index fdb584e1e0c0..c668362b2bdd 100644 --- a/security/pam_pwdfile/Makefile +++ b/security/pam_pwdfile/Makefile @@ -1,18 +1,15 @@ PORTNAME= pam_pwdfile -PORTVERSION= 1.0 -DISTVERSIONPREFIX= v +PORTVERSION= 2.0 +MASTER_SITES= https://git.tiwe.de/libpam-pwdfile.git/snapshot/ +DISTFILES= libpam-pwdfile-${PORTVERSION}.tar.gz CATEGORIES= security MAINTAINER= lev@FreeBSD.org COMMENT= Pam module for authenticating with flat passwd files -WWW= http://www.cpbotha.net/pam_pwdfile.html +WWW= https://www.cpbotha.net/software/pam_pwdfile/ -USES= uidfix -USE_GITHUB= yes -GH_ACCOUNT= tiwe-de -GH_PROJECT= libpam-pwdfile - -MAKEFILE= ${FILESDIR}/Makefile.bsd +LICENSE= BSD3CLAUSE GPLv1 GPLv2 GPLv3 +LICENSE_COMB= dual PLIST_FILES= lib/pam_pwdfile.so PORTDOCS= README INSTALL @@ -20,9 +17,9 @@ CFLAGS+= -I${WRKSRC} OPTIONS_DEFINE= DOCS -post-patch: -# ${REINPLACE_CMD} -e 's|#include ||g' ${WRKSRC}/pam_pwdfile.c - ${CP} ${FILESDIR}/_pam_macros.h ${WRKSRC} +MAKE_ARGS= PAM_LIB_DIR=${PREFIX}/lib + +WRKSRC= ${WRKDIR}/libpam-pwdfile-${PORTVERSION} post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} diff --git a/security/pam_pwdfile/distinfo b/security/pam_pwdfile/distinfo index 2e687992245e..268210589afb 100644 --- a/security/pam_pwdfile/distinfo +++ b/security/pam_pwdfile/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1523883055 -SHA256 (tiwe-de-libpam-pwdfile-v1.0_GH0.tar.gz) = 5b8db1397cff9cadfd1bb96f53c134b787ab0e6a0fbedb71040541d340313ba2 -SIZE (tiwe-de-libpam-pwdfile-v1.0_GH0.tar.gz) = 13418 +TIMESTAMP = 1743618637 +SHA256 (libpam-pwdfile-2.0.tar.gz) = 981c286923c2018ececb5025ba0b27020ffa964d8b8d426ff58ad7f156e72424 +SIZE (libpam-pwdfile-2.0.tar.gz) = 8063 diff --git a/security/pam_pwdfile/files/Makefile.bsd b/security/pam_pwdfile/files/Makefile.bsd deleted file mode 100644 index 8c848c8a9ab1..000000000000 --- a/security/pam_pwdfile/files/Makefile.bsd +++ /dev/null @@ -1,29 +0,0 @@ -# inspired from pam-pgsql port :-) - -SRCS= pam_pwdfile.c \ - bigcrypt.c \ - md5_good.c \ - md5_crypt_good.c \ - md5_broken.c \ - md5_crypt_broken.c - -SHLIB_NAME= pam_pwdfile.so - -LDADD= -lpam -lcrypt -CFLAGS+= -Wall -D_BSD_SOURCE - -LIBDIR= ${LOCALBASE}/lib - -md5_good.c: md5.c - $(CPP) $(CPPFLAGS) -DHIGHFIRST -D'MD5Name(x)=Good##x' -o $@ $> - -md5_broken.c: md5.c - $(CPP) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' -o $@ $> - -md5_crypt_good.c: md5_crypt.c - $(CPP) $(CPPFLAGS) -D'MD5Name(x)=Good##x' -o $@ $> - -md5_crypt_broken.c: md5_crypt.c - $(CPP) $(CPPFLAGS) -D'MD5Name(x)=Broken##x' -o $@ $> - -.include diff --git a/security/pam_pwdfile/files/_pam_macros.h b/security/pam_pwdfile/files/_pam_macros.h deleted file mode 100644 index bd107cfb68cb..000000000000 --- a/security/pam_pwdfile/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 - */ - -/* a 'safe' version of strdup */ - -#include -#include - -#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__ - */ - -#include -#include -#include -#include -#include -#include -#include - -/* - * 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, " \n", X); \ - for (i = 0; i < XS ; ++x, ++i) { \ - fprintf(stderr, " %02X. <%p:%02X>\n", i, x, *x); \ - } \ - fprintf(stderr, " \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/pam_pwdfile/files/patch-Makefile b/security/pam_pwdfile/files/patch-Makefile new file mode 100644 index 000000000000..0fc9db28ca8f --- /dev/null +++ b/security/pam_pwdfile/files/patch-Makefile @@ -0,0 +1,22 @@ +--- Makefile.orig 2025-04-02 18:45:17 UTC ++++ Makefile +@@ -2,8 +2,8 @@ PAM_LIB_DIR ?= /lib/security + INSTALL ?= install + CFLAGS ?= -O2 -g -Wall -Wformat-security + +-CPPFLAGS += -DUSE_CRYPT_R -D_FILE_OFFSET_BITS=64 +-CFLAGS += -fPIC -fvisibility=hidden ++CPPFLAGS += -D_FILE_OFFSET_BITS=64 ++CFLAGS += -fPIC -fvisibility=hidden ${CPPFLAGS} + LDFLAGS += -Wl,-x -shared + + TITLE = pam_pwdfile +@@ -19,7 +19,7 @@ $(LIBSHARED): $(LIBOBJ) + + install: $(LIBSHARED) + $(INSTALL) -m 0755 -d $(DESTDIR)$(PAM_LIB_DIR) +- $(INSTALL) -m 0755 $(LIBSHARED) $(DESTDIR)$(PAM_LIB_DIR) ++ $(INSTALL) -m 0755 -s $(LIBSHARED) $(DESTDIR)$(PAM_LIB_DIR) + + clean: + $(RM) *.o *.so diff --git a/security/pam_pwdfile/files/patch-md5.c b/security/pam_pwdfile/files/patch-md5.c deleted file mode 100644 index 91fd576ad619..000000000000 --- a/security/pam_pwdfile/files/patch-md5.c +++ /dev/null @@ -1,20 +0,0 @@ ---- md5.c.orig 2018-04-13 14:15:16.302782000 +0300 -+++ md5.c 2018-04-13 14:25:07.662155000 +0300 -@@ -17,7 +17,7 @@ - */ - - #include --#include -+#include - #include "md5.h" - - #ifndef HIGHFIRST -@@ -25,7 +25,7 @@ - #else - static void byteReverse(unsigned char *buf, unsigned longs) { - for (; longs; --longs, buf +=4) -- *((uint32_t *) buf) = bswap_32(*((uint32_t *) buf)); -+ *((uint32_t *) buf) = bswap32(*((uint32_t *) buf)); - } - #endif - diff --git a/security/pam_pwdfile/files/patch-pam__pwdfile.c b/security/pam_pwdfile/files/patch-pam__pwdfile.c new file mode 100644 index 000000000000..44954c122be0 --- /dev/null +++ b/security/pam_pwdfile/files/patch-pam__pwdfile.c @@ -0,0 +1,22 @@ +--- pam_pwdfile.c.orig 2025-04-02 18:36:58 UTC ++++ pam_pwdfile.c +@@ -42,9 +42,6 @@ + #define _GNU_SOURCE + #include + #else +-#ifndef _XOPEN_SOURCE +-#define _XOPEN_SOURCE 700 +-#endif + #ifndef _BSD_SOURCE + #define _BSD_SOURCE + #endif +@@ -66,7 +63,8 @@ + + #define PAM_SM_AUTH + #include +-#include ++ ++#define pam_syslog(H, C, ...) syslog(C, __VA_ARGS__) + + static int lock_fd(int fd) { + int delay; diff --git a/security/pam_pwdfile/files/patch-pam_pwdfile.c b/security/pam_pwdfile/files/patch-pam_pwdfile.c deleted file mode 100644 index 911ea6fa4992..000000000000 --- a/security/pam_pwdfile/files/patch-pam_pwdfile.c +++ /dev/null @@ -1,33 +0,0 @@ ---- pam_pwdfile.c.orig 2018-04-13 14:25:49.414568000 +0300 -+++ pam_pwdfile.c 2018-04-13 14:42:33.040919000 +0300 -@@ -38,18 +38,7 @@ - * OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#ifdef USE_CRYPT_R --#define _GNU_SOURCE --#include --#else --#ifndef _XOPEN_SOURCE --#define _XOPEN_SOURCE 700 --#endif --#ifndef _BSD_SOURCE --#define _BSD_SOURCE --#endif --#endif -- -+#include - #include - #include - #include -@@ -66,7 +55,9 @@ - - #define PAM_SM_AUTH - #include --#include -+/* #include */ -+ -+#define pam_syslog(H, C, ...) syslog(C, __VA_ARGS__) - - #include "md5.h" - #include "bigcrypt.h"