summaryrefslogtreecommitdiff
path: root/x11/xscreensaver
diff options
context:
space:
mode:
authorabs <abs@pkgsrc.org>2022-05-31 08:14:44 +0000
committerabs <abs@pkgsrc.org>2022-05-31 08:14:44 +0000
commitc8521225a08703c50058f4129cc9d4cb3c7c852b (patch)
tree16ac92e0027d24557a0945365195a71da1f5a35f /x11/xscreensaver
parentd67b1da37449b1a53fa28e8f0e59959b139b6bc5 (diff)
downloadpkgsrc-c8521225a08703c50058f4129cc9d4cb3c7c852b.tar.gz
Fix xscreensaver for at least argon2 passwords on NetBSD
Limit "terminating pw_passwd at first ," behaviour to HP-UX, as it breaks at least argon2 passwords on NetBSD Bump PKGREVISION
Diffstat (limited to 'x11/xscreensaver')
-rw-r--r--x11/xscreensaver/Makefile4
-rw-r--r--x11/xscreensaver/distinfo3
-rw-r--r--x11/xscreensaver/patches/patch-driver_passwd-pwent.c34
3 files changed, 38 insertions, 3 deletions
diff --git a/x11/xscreensaver/Makefile b/x11/xscreensaver/Makefile
index d393ff93ce5..d44893a6635 100644
--- a/x11/xscreensaver/Makefile
+++ b/x11/xscreensaver/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.139 2022/05/11 11:31:19 wiz Exp $
+# $NetBSD: Makefile,v 1.140 2022/05/31 08:14:44 abs Exp $
DISTNAME= xscreensaver-6.03
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= x11
MASTER_SITES= https://www.jwz.org/xscreensaver/
DIST_SUBDIR= xscreensaver
diff --git a/x11/xscreensaver/distinfo b/x11/xscreensaver/distinfo
index 31c6a22c549..f1c4781f8ff 100644
--- a/x11/xscreensaver/distinfo
+++ b/x11/xscreensaver/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.88 2022/03/08 07:27:11 wiz Exp $
+$NetBSD: distinfo,v 1.89 2022/05/31 08:14:44 abs Exp $
BLAKE2s (xscreensaver/xscreensaver-6.03.tar.gz) = de81815922c9ae70ea281c694d414b0fa6d88a597755f68d96a596423641b0ce
SHA512 (xscreensaver/xscreensaver-6.03.tar.gz) = 4aa30824c972a73dc09aeba478cad074f273839a4c7641cddd292da38fc75db10a3f6243cbe8619c5e39cad54c27d33e1e271dfed167458faa7747fb0a090630
Size (xscreensaver/xscreensaver-6.03.tar.gz) = 25703584 bytes
SHA1 (patch-configure) = 4821b6f4400976990b6042677960a53e25f03a24
+SHA1 (patch-driver_passwd-pwent.c) = 599a63eda4b890d4673b0e2763d980afb4d44a4e
diff --git a/x11/xscreensaver/patches/patch-driver_passwd-pwent.c b/x11/xscreensaver/patches/patch-driver_passwd-pwent.c
new file mode 100644
index 00000000000..3ad3c01d9cf
--- /dev/null
+++ b/x11/xscreensaver/patches/patch-driver_passwd-pwent.c
@@ -0,0 +1,34 @@
+$NetBSD: patch-driver_passwd-pwent.c,v 1.1 2022/05/31 08:14:44 abs Exp $
+
+Limit "terminating pw_passwd at first ," behaviour to HP-UX, as
+it breaks at least argon2 passwords on NetBSD
+
+--- driver/passwd-pwent.c.orig 2021-10-04 22:18:28.082371172 +0000
++++ driver/passwd-pwent.c
+@@ -163,6 +163,7 @@ get_encrypted_passwd (const char *user)
+ result = strdup(p->pw_passwd);
+ }
+
++#ifdef HAVE_HPUX_PASSWD
+ /* The manual for passwd(4) on HPUX 10.10 says:
+
+ Password aging is put in effect for a particular user if his
+@@ -173,6 +174,10 @@ get_encrypted_passwd (const char *user)
+ So this means that passwd->pw_passwd isn't simply a string of cyphertext,
+ it might have trailing junk. So, if there is a comma in the string, and
+ that comma is beyond position 13, terminate the string before the comma.
++
++ Note: This behaviour can break other systems where comma separated data
++ is significant, such as argon2 passwords on NetBSD, so conditionalise
++ to HAVE_HPUX_PASSWD
+ */
+ if (result && strlen(result) > 13)
+ {
+@@ -180,6 +185,7 @@ get_encrypted_passwd (const char *user)
+ if (s)
+ *s = 0;
+ }
++# endif /* HAVE_HPUX_PASSWD */
+
+ /* We only issue this warning in non-verbose mode if not compiled with
+ support for PAM. If we're using PAM, it's common for pwent passwords