diff --git a/debian/patches/debian/Exclude-Debian-globally-allocated-UIDs-from-sys_uid-range.patch b/debian/patches/debian/Exclude-Debian-globally-allocated-UIDs-from-sys_uid-range.patch index 3c2785f9..f35088ec 100644 --- a/debian/patches/debian/Exclude-Debian-globally-allocated-UIDs-from-sys_uid-range.patch +++ b/debian/patches/debian/Exclude-Debian-globally-allocated-UIDs-from-sys_uid-range.patch @@ -8,10 +8,10 @@ Bug: http://bugs.debian.org/1100563 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/useradd.c b/src/useradd.c -index dc65618..25a5920 100644 +index 9da533a..2f5df5f 100644 --- a/src/useradd.c +++ b/src/useradd.c -@@ -2382,14 +2382,21 @@ static void create_mail (void) +@@ -2372,14 +2372,21 @@ static void create_mail (void) #endif } diff --git a/debian/patches/debian/Keep-using-Debian-adduser-defaults.patch b/debian/patches/debian/Keep-using-Debian-adduser-defaults.patch index 9e839d4e..f7b38d98 100644 --- a/debian/patches/debian/Keep-using-Debian-adduser-defaults.patch +++ b/debian/patches/debian/Keep-using-Debian-adduser-defaults.patch @@ -17,10 +17,10 @@ configuration files shipped in Debian (debian/default/useradd). 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/man/useradd.8.xml b/man/useradd.8.xml -index eda1fef..38f2c68 100644 +index fd9ff69..69126ee 100644 --- a/man/useradd.8.xml +++ b/man/useradd.8.xml -@@ -248,7 +248,7 @@ +@@ -262,7 +262,7 @@ command line), useradd will set the primary group of the new user to the value specified by the variable in /etc/default/useradd, or @@ -30,10 +30,10 @@ index eda1fef..38f2c68 100644 diff --git a/src/useradd.c b/src/useradd.c -index 6e744b0..dc65618 100644 +index 36b9b8f..9da533a 100644 --- a/src/useradd.c +++ b/src/useradd.c -@@ -97,14 +97,14 @@ static const char Prog[] = "useradd"; +@@ -100,14 +100,14 @@ static const char Prog[] = "useradd"; /* * These defaults are used if there is no defaults file. */ diff --git a/debian/patches/debian/Recommend-using-adduser-and-deluser.patch b/debian/patches/debian/Recommend-using-adduser-and-deluser.patch index 31acce15..2934cf07 100644 --- a/debian/patches/debian/Recommend-using-adduser-and-deluser.patch +++ b/debian/patches/debian/Recommend-using-adduser-and-deluser.patch @@ -11,7 +11,7 @@ Status wrt upstream: Debian specific patch. 2 files changed, 12 insertions(+) diff --git a/man/useradd.8.xml b/man/useradd.8.xml -index 38f2c68..9009d83 100644 +index 69126ee..e198028 100644 --- a/man/useradd.8.xml +++ b/man/useradd.8.xml @@ -82,6 +82,12 @@ diff --git a/debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch b/debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch index 4ccab3aa..2dfc76a1 100644 --- a/debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch +++ b/debian/patches/debian/Set-group-and-mode-for-g-shadow-files.patch @@ -12,7 +12,7 @@ Fixes: #166793 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/commonio.c b/lib/commonio.c -index fc8ad7a..24a3230 100644 +index 7304ec0..6b13f4a 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -21,6 +21,7 @@ @@ -23,7 +23,7 @@ index fc8ad7a..24a3230 100644 #include "alloc/malloc.h" #include "alloc/reallocf.h" -@@ -944,12 +945,23 @@ int commonio_close (struct commonio_db *db) +@@ -949,12 +950,23 @@ int commonio_close (struct commonio_db *db) if (errors) goto fail; } else { @@ -48,10 +48,10 @@ index fc8ad7a..24a3230 100644 if (SNPRINTF(buf, "%s+", db->filename) == -1) diff --git a/lib/sgroupio.c b/lib/sgroupio.c -index 9805761..e3c0458 100644 +index ef82976..53e7ecd 100644 --- a/lib/sgroupio.c +++ b/lib/sgroupio.c -@@ -210,7 +210,7 @@ static struct commonio_db gshadow_db = { +@@ -211,7 +211,7 @@ static struct commonio_db gshadow_db = { #ifdef WITH_SELINUX NULL, /* scontext */ #endif @@ -61,10 +61,10 @@ index 9805761..e3c0458 100644 0, /* st_gid */ NULL, /* head */ diff --git a/lib/shadowio.c b/lib/shadowio.c -index d2c3b47..53dac0b 100644 +index 8b1c1d2..395d0c8 100644 --- a/lib/shadowio.c +++ b/lib/shadowio.c -@@ -85,7 +85,7 @@ static struct commonio_db shadow_db = { +@@ -87,7 +87,7 @@ static struct commonio_db shadow_db = { #ifdef WITH_SELINUX NULL, /* scontext */ #endif /* WITH_SELINUX */ diff --git a/debian/patches/debian/Warn-when-badname-and-variants-are-given.patch b/debian/patches/debian/Warn-when-badname-and-variants-are-given.patch index 2cd10a88..e01d7770 100644 --- a/debian/patches/debian/Warn-when-badname-and-variants-are-given.patch +++ b/debian/patches/debian/Warn-when-badname-and-variants-are-given.patch @@ -11,10 +11,10 @@ Upstream PR 1158 will remove them, probably in the forky timeframe. 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/newusers.c b/src/newusers.c -index e3685ef..16abd81 100644 +index 38cbddd..710c3e9 100644 --- a/src/newusers.c +++ b/src/newusers.c -@@ -127,7 +127,7 @@ static void usage (int status) +@@ -128,7 +128,7 @@ static void usage (int status) "\n" "Options:\n"), Prog); @@ -23,7 +23,7 @@ index e3685ef..16abd81 100644 #ifndef USE_PAM (void) fprintf (usageout, _(" -c, --crypt-method METHOD the crypt method (one of %s)\n"), -@@ -660,6 +660,9 @@ static void process_flags (int argc, char **argv) +@@ -661,6 +661,9 @@ static void process_flags (int argc, char **argv) switch (c) { case 'b': allow_bad_names = true; @@ -34,10 +34,10 @@ index e3685ef..16abd81 100644 #ifndef USE_PAM case 'c': diff --git a/src/pwck.c b/src/pwck.c -index b485a5a..e20be0f 100644 +index 6272839..a970e74 100644 --- a/src/pwck.c +++ b/src/pwck.c -@@ -133,7 +133,7 @@ usage (int status) +@@ -134,7 +134,7 @@ usage (int status) "Options:\n"), Prog); } @@ -46,7 +46,7 @@ index b485a5a..e20be0f 100644 (void) fputs (_(" -h, --help display this help message and exit\n"), usageout); (void) fputs (_(" -q, --quiet report errors only\n"), usageout); (void) fputs (_(" -r, --read-only display errors and warnings\n" -@@ -175,6 +175,9 @@ static void process_flags (int argc, char **argv) +@@ -176,6 +176,9 @@ static void process_flags (int argc, char **argv) switch (c) { case 'b': allow_bad_names = true; @@ -57,10 +57,10 @@ index b485a5a..e20be0f 100644 case 'h': usage (E_SUCCESS); diff --git a/src/useradd.c b/src/useradd.c -index 25a5920..7e9dbce 100644 +index 2f5df5f..73bf307 100644 --- a/src/useradd.c +++ b/src/useradd.c -@@ -879,7 +879,7 @@ static void usage (int status) +@@ -874,7 +874,7 @@ static void usage (int status) "\n" "Options:\n"), Prog, Prog, Prog); @@ -69,7 +69,7 @@ index 25a5920..7e9dbce 100644 (void) fputs (_(" -b, --base-dir BASE_DIR base directory for the home directory of the\n" " new account\n"), usageout); #ifdef WITH_BTRFS -@@ -1202,6 +1202,9 @@ static void process_flags (int argc, char **argv) +@@ -1197,6 +1197,9 @@ static void process_flags (int argc, char **argv) break; case 201: allow_bad_names = true; @@ -80,10 +80,10 @@ index 25a5920..7e9dbce 100644 case 'c': if (!VALID (optarg)) { diff --git a/src/usermod.c b/src/usermod.c -index 22113da..9030883 100644 +index a0f4d7d..2e04b09 100644 --- a/src/usermod.c +++ b/src/usermod.c -@@ -383,7 +383,7 @@ usage (int status) +@@ -384,7 +384,7 @@ usage (int status) (void) fputs (_(" -a, --append append the user to the supplemental GROUPS\n" " mentioned by the -G option without removing\n" " the user from other groups\n"), usageout); @@ -92,7 +92,7 @@ index 22113da..9030883 100644 (void) fputs (_(" -c, --comment COMMENT new value of the GECOS field\n"), usageout); (void) fputs (_(" -d, --home HOME_DIR new home directory for the user account\n"), usageout); (void) fputs (_(" -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE\n"), usageout); -@@ -1054,6 +1054,9 @@ process_flags(int argc, char **argv) +@@ -1052,6 +1052,9 @@ process_flags(int argc, char **argv) break; case 'b': allow_bad_names = true; diff --git a/debian/patches/debian/configure.ac-align-exec_prefix-with-prefix.patch b/debian/patches/debian/configure.ac-align-exec_prefix-with-prefix.patch index 7eec5cca..12a62ea1 100644 --- a/debian/patches/debian/configure.ac-align-exec_prefix-with-prefix.patch +++ b/debian/patches/debian/configure.ac-align-exec_prefix-with-prefix.patch @@ -9,7 +9,7 @@ Reported as https://github.com/shadow-maint/shadow/issues/1229 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 571e20d..c9cd472 100644 +index bacce98..8746683 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ AC_SUBST([LIBSUBID_ABI], [libsubid_abi]) diff --git a/debian/patches/series b/debian/patches/series index b0373865..a01dd676 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,5 +9,3 @@ debian/Define-LOGIN_NAME_MAX-on-HURD.patch debian/Stop-building-programs-we-do-not-install.patch debian/Warn-when-badname-and-variants-are-given.patch debian/configure.ac-align-exec_prefix-with-prefix.patch -upstream/Accept-usr-sbin-nologin-as-an-alternate-to-sbin-nologin.patch -upstream/Add-LOGIN_ENV_SAFELIST-to-FOREIGNDEFS.patch diff --git a/debian/patches/upstream/Accept-usr-sbin-nologin-as-an-alternate-to-sbin-nologin.patch b/debian/patches/upstream/Accept-usr-sbin-nologin-as-an-alternate-to-sbin-nologin.patch deleted file mode 100644 index 0d8ff541..00000000 --- a/debian/patches/upstream/Accept-usr-sbin-nologin-as-an-alternate-to-sbin-nologin.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Chris Hofstaedtler -Date: Fri, 28 Mar 2025 12:12:13 +0100 -Subject: Accept /usr/sbin/nologin as an alternate to /sbin/nologin - -Noticed by adduser's autopkgtests, thanks: Marc Haber - -Link: https://github.com/shadow-maint/shadow/pull/1246 ---- - src/useradd.c | 1 + - src/usermod.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/useradd.c b/src/useradd.c -index 7e9dbce..0653d1d 100644 ---- a/src/useradd.c -+++ b/src/useradd.c -@@ -1380,6 +1380,7 @@ static void process_flags (int argc, char **argv) - if (!streq(optarg, "") - && '*' != optarg[0] - && !streq(optarg, "/sbin/nologin") -+ && !streq(optarg, "/usr/sbin/nologin") - && ( stat(optarg, &st) != 0 - || S_ISDIR(st.st_mode) - || access(optarg, X_OK) != 0)) { -diff --git a/src/usermod.c b/src/usermod.c -index 9030883..4156ce5 100644 ---- a/src/usermod.c -+++ b/src/usermod.c -@@ -1179,6 +1179,7 @@ process_flags(int argc, char **argv) - if (!streq(optarg, "") - && '*' != optarg[0] - && !streq(optarg, "/sbin/nologin") -+ && !streq(optarg, "/usr/sbin/nologin") - && ( stat(optarg, &st) != 0 - || S_ISDIR(st.st_mode) - || access(optarg, X_OK) != 0)) { diff --git a/debian/patches/upstream/Add-LOGIN_ENV_SAFELIST-to-FOREIGNDEFS.patch b/debian/patches/upstream/Add-LOGIN_ENV_SAFELIST-to-FOREIGNDEFS.patch deleted file mode 100644 index e70b10ab..00000000 --- a/debian/patches/upstream/Add-LOGIN_ENV_SAFELIST-to-FOREIGNDEFS.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Stanislav Brabec -Date: Wed, 9 Apr 2025 02:03:10 +0200 -Subject: Add LOGIN_ENV_SAFELIST to FOREIGNDEFS - -util-linux-2.41 introduced new variable: LOGIN_ENV_SAFELIST. -Add it to known login.defs variables. - -Signed-off-by: Stanislav Brabec ---- - lib/getdef.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/getdef.c b/lib/getdef.c -index e354d89..8883a29 100644 ---- a/lib/getdef.c -+++ b/lib/getdef.c -@@ -76,6 +76,7 @@ struct itemdef { - #define FOREIGNDEFS \ - {"ALWAYS_SET_PATH", NULL}, \ - {"ENV_ROOTPATH", NULL}, \ -+ {"LOGIN_ENV_SAFELIST", NULL}, \ - {"LOGIN_KEEP_USERNAME", NULL}, \ - {"LOGIN_PLAIN_PROMPT", NULL}, \ - {"MOTD_FIRSTONLY", NULL}, \