SHA256
6
0
forked from pool/shadow

24 Commits

Author SHA256 Message Date
cbacaf954b Sync changes to SLFO-1.2 branch 2025-08-20 13:27:32 +02:00
10a1dcc006 Accepting request 1288422 from Base:System
- Update to 4.18.0:
  * CI: purge man-db #1241
  * passwd: document exit code when PAM has errored #1244
  * Man patches #1175
  * Quick fix: define E_PAM_ERR in lib/pam_pass.c #1245
  * Accept /usr/sbin/nologin as an alternate to /sbin/nologin #1246
  * Add LOGIN_ENV_SAFELIST to FOREIGNDEFS #1248
  * ci: add gawk as a fedora dependency #1252
  * man/useradd.8.xml: fix the CREATE_HOME description #1251
  * lib/getdate.y: Restrict the date formats that we support #1238
  * newuidmap: better error logging on failure #1254
  * Extend basic test cases to check shadow and gshadow entries #1237
  * lib/sizeof.h: Make sure STRLEN() only accepts string literals #1260
  * Add strprefix(), and use it instead of its pattern #1152
  * src/: Simplify, using strpbrk(3) #1167
  * lib/string/strdup/: STRNDUPA(): Reimplement in terms of strndupa(3) #1189
  * Remove dead beef #1230
  * lib/atoi/a2i/: Simplify these macros #1137
  * strtolower(): Add API, and use it instead of its pattern #1211
  * lib/: sget*ent(): Simplify #1146
  * fields #1150
  * yacc(1) is a dead language; bury it deep in the ground #1217
  * Test expiration date #1233
  * [scp] Add strcaseprefix(), and use it instead of its pattern #1262
  * valid_field(): Improve readability #1208
  * lib/, src/, tests/: Use the standard countof() instead of our NITEMS() #1259
  * lib/fs/mkstemp/, src/: Move fmkomstemp() to separate files under
    lib/fs/mkstemp/, and split into mkomstemp() #1139
  * [x][v]aprintf(): Add APIs, and use them instead of [x][v]asprintf(3) #1168
  * lib/get_pid.c: pid_t is a signed integer #1264

OBS-URL: https://build.opensuse.org/request/show/1288422
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=78
2025-06-26 09:34:23 +00:00
3d641d62fb - Update to 4.18.0:
* CI: purge man-db #1241
  * passwd: document exit code when PAM has errored #1244
  * Man patches #1175
  * Quick fix: define E_PAM_ERR in lib/pam_pass.c #1245
  * Accept /usr/sbin/nologin as an alternate to /sbin/nologin #1246
  * Add LOGIN_ENV_SAFELIST to FOREIGNDEFS #1248
  * ci: add gawk as a fedora dependency #1252
  * man/useradd.8.xml: fix the CREATE_HOME description #1251
  * lib/getdate.y: Restrict the date formats that we support #1238
  * newuidmap: better error logging on failure #1254
  * Extend basic test cases to check shadow and gshadow entries #1237
  * lib/sizeof.h: Make sure STRLEN() only accepts string literals #1260
  * Add strprefix(), and use it instead of its pattern #1152
  * src/: Simplify, using strpbrk(3) #1167
  * lib/string/strdup/: STRNDUPA(): Reimplement in terms of strndupa(3) #1189
  * Remove dead beef #1230
  * lib/atoi/a2i/: Simplify these macros #1137
  * strtolower(): Add API, and use it instead of its pattern #1211
  * lib/: sget*ent(): Simplify #1146
  * fields #1150
  * yacc(1) is a dead language; bury it deep in the ground #1217
  * Test expiration date #1233
  * [scp] Add strcaseprefix(), and use it instead of its pattern #1262
  * valid_field(): Improve readability #1208
  * lib/, src/, tests/: Use the standard countof() instead of our NITEMS() #1259
  * lib/fs/mkstemp/, src/: Move fmkomstemp() to separate files under
    lib/fs/mkstemp/, and split into mkomstemp() #1139
  * [x][v]aprintf(): Add APIs, and use them instead of [x][v]asprintf(3) #1168
  * lib/get_pid.c: pid_t is a signed integer #1264

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=205
2025-06-25 04:31:06 +00:00
ef2726a1af Accepting request 1268156 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1268156
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=77
2025-04-10 19:57:13 +00:00
69b0472a77 - shadow-util-linux.patch: util-linux-2.41 introduced new variable:
LOGIN_ENV_SAFELIST. Recognize it and update dependencies. The
  patch includes gh/shadow-maint/shadow/pull#1248.
- shadow-login_defs-check-login_defs.lst: Make the util-linux.spec
  multibuild file compatible with quilt. Make it working with new
  quilt.

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=203
2025-04-09 12:16:52 +00:00
9499fa5aa4 Accepting request 1254773 from Base:System
- Update to 4.17.4:
  * Revert "lib/, src/: Use local time for human-readable dates"
  * lib/getdate.y: Ignore time-zone information and use UTC
  * src/chfn.c: Partially revert "lib/, src/: Use strsep(3) instead of its pattern"
  * src/chfn.c: Use stpsep() instead of its pattern
  * src/chfn.c: Add local variable to refer to the separated field
  * src/chfn.c: copy_field(): Rename local variable
  * lib/commonio.c: Rely on the POSIX.1-2008 behavior of realpath(3)
  * lib/fs/readlink/: readlinknul(): Use ssize_t to simplify
  * autogen.sh: Promote -Wsign-compare to an error
  * lib/sizeof.h: ssizeof(): Add signed variant of sizeof
  * src/lastlog.c: Use ssizeof() to avoid a -Wsign-compare diagnostic
  * tests/unit/test_xasprintf.c: Fix sign-mismatch diagnostic
  * configure.ac: stop checking for utmp location
  * configure.ac: be deterministic about passwd location
  * lib/, src/: update audit messages
  * lib/: audit function for groups
  * src/: update group audit messages
  * doc/: Remove list of distributions

OBS-URL: https://build.opensuse.org/request/show/1254773
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=76
2025-03-24 12:25:33 +00:00
ff87c0a0df - Update to 4.17.4:
OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=201
2025-03-20 15:27:59 +00:00
98317afee4 - Update o 4.17.4:
* Revert "lib/, src/: Use local time for human-readable dates"
  * lib/getdate.y: Ignore time-zone information and use UTC
  * src/chfn.c: Partially revert "lib/, src/: Use strsep(3) instead of its pattern"
  * src/chfn.c: Use stpsep() instead of its pattern
  * src/chfn.c: Add local variable to refer to the separated field
  * src/chfn.c: copy_field(): Rename local variable
  * lib/commonio.c: Rely on the POSIX.1-2008 behavior of realpath(3)
  * lib/fs/readlink/: readlinknul(): Use ssize_t to simplify
  * autogen.sh: Promote -Wsign-compare to an error
  * lib/sizeof.h: ssizeof(): Add signed variant of sizeof
  * src/lastlog.c: Use ssizeof() to avoid a -Wsign-compare diagnostic
  * tests/unit/test_xasprintf.c: Fix sign-mismatch diagnostic
  * configure.ac: stop checking for utmp location
  * configure.ac: be deterministic about passwd location
  * lib/, src/: update audit messages
  * lib/: audit function for groups
  * src/: update group audit messages
  * doc/: Remove list of distributions

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=200
2025-03-20 06:54:14 +00:00
9570886365 Accepting request 1248228 from Base:System
- Update to 4.17.3:
  * chsh: do not warn about blank shell
  * lib/: Use strisdigit() instead of its pattern
  * lib/string/ctype/strisascii/: strisdigit(): Add function
  * lib/string/: Add comments expanding the letter-soup API names
  * lib/basename.c: Basename(): Use stprcspn() instead of its pattern
  * lib/string/strspn/, lib/, src/: stprspn(), strrspn_(): Split API into function and macro
  * lib/string/strspn/, lib/, src/: Move *spn() APIs to separate subdir
  * lib/string/strchr/: strrcspn(), stprcspn(): Add function and macro
  * src/useradd.c: Use !strcaseeq() instead of its pattern
  * lib/, src/: Use strcaseeq() instead of its pattern
  * lib/string/strcmp/: strcaseeq(): Add function
  * man/useradd.8.xml: Document new exit code 19 (E_BAD_NAME)
  * src/useradd.c: E_BAD_NAME: Use a different error code for bad login names
  * src/useradd.c: create_home(): Use !streq() instead of its pattern
  * lib/chkname.c: is_valid_name(): Use streq() instead of its pattern
  * configure.ac, lib/: Use __has_include(<gshadow.h>) instead of HAVE_GSHADOW_H
  * configure.ac: Remove unused AC_CHECK_HEADERS() checks
  * configure.ac, lib/: Use __has_include(<sys/capability.h>) instead of HAVE_SYS_CAPABILITY_H
  * lib/idmapping.c: Unconditionally include <sys/prctl.h>
  * lib/: Use __has_include(<security/openpam.h>) instead of HAVE_SECURITY_OPENPAM_H
  * lib/: Use __has_include(<security/pam_misc.h>) instead of HAVE_SECURITY_PAM_MISC_H
  * configure.ac, lib/: Use __has_include(<sys/random.h>) instead of HAVE_SYS_RANDOM_H
  * configure.ac, lib/: Use __has_include(<crypt.h>) instead of HAVE_CRYPT_H
  * lib/, src/: motd(): Report errors instead of exiting from library code
  * lib/motd.c: motd(): Invert logic to reduce indentation
  * lib/, src/, doc/: Remove pw_auth()'s $3 as dead code
  * lib/pwauth.*: PW_{ADD,CHANGE,DELETE,FTP,REXEC}: Remove dead code
  * lib/, src/, doc/: Remove dead code
  * src/vipw.c: Restore the original terminal pgrp after editing

OBS-URL: https://build.opensuse.org/request/show/1248228
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=75
2025-02-27 13:48:57 +00:00
f9cca37efb OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=198 2025-02-24 18:13:41 +00:00
8b21cc40d6 OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=197 2025-02-24 18:11:28 +00:00
89e70817a2 OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=196 2025-02-24 18:09:36 +00:00
da6be40af0 OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=195 2025-02-24 18:07:06 +00:00
b2db6c21bc OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=194 2025-02-24 18:04:44 +00:00
420307f9ea - Update to 4.17.3:
* chsh: do not warn about blank shell
  * lib/: Use strisdigit() instead of its pattern
  * lib/string/ctype/strisascii/: strisdigit(): Add function
  * lib/string/: Add comments expanding the letter-soup API names
  * lib/basename.c: Basename(): Use stprcspn() instead of its pattern
  * lib/string/strspn/, lib/, src/: stprspn(), strrspn_(): Split API into function and macro
  * lib/string/strspn/, lib/, src/: Move *spn() APIs to separate subdir
  * lib/string/strchr/: strrcspn(), stprcspn(): Add function and macro
  * src/useradd.c: Use !strcaseeq() instead of its pattern
  * lib/, src/: Use strcaseeq() instead of its pattern
  * lib/string/strcmp/: strcaseeq(): Add function
  * man/useradd.8.xml: Document new exit code 19 (E_BAD_NAME)
  * src/useradd.c: E_BAD_NAME: Use a different error code for bad login names
  * src/useradd.c: create_home(): Use !streq() instead of its pattern
  * lib/chkname.c: is_valid_name(): Use streq() instead of its pattern
  * configure.ac, lib/: Use __has_include(<gshadow.h>) instead of HAVE_GSHADOW_H
  * configure.ac: Remove unused AC_CHECK_HEADERS() checks
  * configure.ac, lib/: Use __has_include(<sys/capability.h>) instead of HAVE_SYS_CAPABILITY_H
  * lib/idmapping.c: Unconditionally include <sys/prctl.h>
  * lib/: Use __has_include(<security/openpam.h>) instead of HAVE_SECURITY_OPENPAM_H
  * lib/: Use __has_include(<security/pam_misc.h>) instead of HAVE_SECURITY_PAM_MISC_H
  * configure.ac, lib/: Use __has_include(<sys/random.h>) instead of HAVE_SYS_RANDOM_H
  * configure.ac, lib/: Use __has_include(<crypt.h>) instead of HAVE_CRYPT_H
  * lib/, src/: motd(): Report errors instead of exiting from library code
  * lib/motd.c: motd(): Invert logic to reduce indentation
  * lib/, src/, doc/: Remove pw_auth()'s $3 as dead code
  * lib/pwauth.*: PW_{ADD,CHANGE,DELETE,FTP,REXEC}: Remove dead code
  * lib/, src/, doc/: Remove dead code
  * src/vipw.c: Restore the original terminal pgrp after editing

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=193
2025-02-24 17:47:40 +00:00
faf7390363 Accepting request 1238984 from Base:System
- bsc#1235453: Set SYS_{UID,GID}_MIN to 201:
  After repeated similar requests to change the ID ranges we set the
  above mentioned value to 201. The max value will stay at 499.
  This range should be sufficient and will give us leeway for the
  future.
  It's not straightforward to find out which static UIDs/GIDs are
  used in all packages.
  Update shadow-login_defs-suse.patch

OBS-URL: https://build.opensuse.org/request/show/1238984
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=74
2025-01-21 20:09:56 +00:00
e6d68f710a - bsc#1235453: Set SYS_{UID,GID}_MIN to 201:
After repeated similar requests to change the ID ranges we set the
  above mentioned value to 201. The max value will stay at 499.
  This range should be sufficient and will give us leeway for the
  future.
  It's not straightforward to find out which static UIDs/GIDs are
  used in all packages.
  Update shadow-login_defs-suse.patch

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=191
2025-01-20 10:26:02 +00:00
a70f8202f6 Accepting request 1237059 from Base:System
- Update to 4.17.2:
  * src/login_nopam.c: Fix compiler warnings #1170
  * lib/chkname.c: Put limits for LOGIN_NAME_MAX and sysconf(_SC_LOGIN_NAME_MAX) #1169
  * Use HTTPS in link to Wikipedia article on password strength #1164
  * lib/attr.h: use C23 attributes only with gcc >= 10 #1172
  * login: Fix no-pam authorization regression #1174
  * man: Add Portuguese translation #1178
  * Update French translation #1177
  * Add cheap defense mechanisms #1171
  * Add Romanian translation #1176

OBS-URL: https://build.opensuse.org/request/show/1237059
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=73
2025-01-14 15:21:06 +00:00
b485849e2a - Update to 4.17.2:
* src/login_nopam.c: Fix compiler warnings #1170
  * lib/chkname.c: Put limits for LOGIN_NAME_MAX and sysconf(_SC_LOGIN_NAME_MAX) #1169
  * Use HTTPS in link to Wikipedia article on password strength #1164
  * lib/attr.h: use C23 attributes only with gcc >= 10 #1172
  * login: Fix no-pam authorization regression #1174
  * man: Add Portuguese translation #1178
  * Update French translation #1177
  * Add cheap defense mechanisms #1171
  * Add Romanian translation #1176

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=189
2025-01-11 16:38:29 +00:00
3fe1d7e250 Accepting request 1234180 from Base:System
- Update to 4.17.1:
  * Fix `su -` regression #1163

OBS-URL: https://build.opensuse.org/request/show/1234180
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=72
2025-01-02 18:19:11 +00:00
6d5f08146e * Fix su - regression #1163
OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=187
2024-12-31 19:43:29 +00:00
113257727e - Update to 4.17.1:
* su: Fix `su -` regression #1163

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=186
2024-12-31 19:43:06 +00:00
1d046b70cc Accepting request 1233577 from Base:System
- Update to 4.17.0:
  * Fix the lower part of the domain of csrand_uniform()
  * Fix use of volatile pointer
  * Use 'dist-hook' to clean up <tests/unit/Makefile>
  * Use str2[u]l() instead of atoi(3)
  * Use a2i() in various places
  * Fix const correctness
  * Use uid_t for holding UIDs (and GIDs)
  * Move all sprintf(3)-like APIs to a subdirectory
  * Move all copying APIs to a subdirectory
  * Fix forever loop on ENOMEM
  * Fix REALLOC() nmemb calculation
  * Remove id(1)
  * Remove groups(1)
  * Use local time for human-readable dates
  * Use %F instead of %Y-%m-%d with strftime(3)
  * is_valid{user,group}_name(): Set errno to distinguish the reasons
  * Recommend --badname only if it is useful
  * Add fmkomstemp() to fix mode of </etc/default/useradd>
  * Fix use-after-free bug in sgetgrent()
  * Update Catalan translation
  * Remove references to cppw, cpgr
  * groupadd, groupmod: Update gshadow file with -U
  * Added option -a for listing active users only, optimized using if aflg,return
  * Added information in lastlog man page for new option '-a'
  * Plenty of code cleanup and clarifications

- Update to 4.17.0 RC1:
  Pre-release without changelog

OBS-URL: https://build.opensuse.org/request/show/1233577
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=71
2024-12-30 11:50:27 +00:00
2ad7a94d8c - Update to 4.17.0:
* Fix the lower part of the domain of csrand_uniform()
  * Fix use of volatile pointer
  * Use 'dist-hook' to clean up <tests/unit/Makefile>
  * Use str2[u]l() instead of atoi(3)
  * Use a2i() in various places
  * Fix const correctness
  * Use uid_t for holding UIDs (and GIDs)
  * Move all sprintf(3)-like APIs to a subdirectory
  * Move all copying APIs to a subdirectory
  * Fix forever loop on ENOMEM
  * Fix REALLOC() nmemb calculation
  * Remove id(1)
  * Remove groups(1)
  * Use local time for human-readable dates
  * Use %F instead of %Y-%m-%d with strftime(3)
  * is_valid{user,group}_name(): Set errno to distinguish the reasons
  * Recommend --badname only if it is useful
  * Add fmkomstemp() to fix mode of </etc/default/useradd>
  * Fix use-after-free bug in sgetgrent()
  * Update Catalan translation
  * Remove references to cppw, cpgr
  * groupadd, groupmod: Update gshadow file with -U
  * Added option -a for listing active users only, optimized using if aflg,return
  * Added information in lastlog man page for new option '-a'
  * Plenty of code cleanup and clarifications

- Update to 4.17.0 RC1:
  Pre-release without changelog

OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=184
2024-12-27 16:21:20 +00:00
9 changed files with 129 additions and 34 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b78e3921a95d53282a38e90628880624736bf6235e36eea50c50835f59a3530b
size 2204832

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEflbiwT+nfOMVWa3JfcJMNsM0HSAFAmZyBfQACgkQfcJMNsM0
HSA4PxAA57RSvccAbXTTmp2sHMZVPbzizydThuGgqY/4F9egRvywUUlNy0vz/QAA
e0u8ja+paKhLjXg4HvA/Ejy+gtAE5NuvNCr/ihL8Xii6s/GH6OaW8EDcL0509j7L
PchWYkHYSqwdqdjLoy6NroaaEEllAzVEeNp2UzN9F7jllteF8gDjqY2j8SLqrkmm
Xb15kzk6mbqk5BxAOoZmgoRRDw+YRCBA2EzN0ztwR0h1rjwoCjebQk3E/qV+fM1t
pKKYVTnLRmb9E2tvPR1Oibzercisi/+6Z7br+Xh1Gz/mfZ++4CiOQrJndUTBj9zU
v7GEHMEdV8qz/Qzvh1eyxA7KX5zZqbXT3I/+kRvX01CJtI64MVdEOOqSeup794fr
QlaptfoAfe+ZS6exe1SwY2tZkoX4qXeeUNQXRBo8GJlG9auMA46U2CjtRGgyK6BK
cf/YkzUr9aTWExL3d2tZJzvEX80AHSR+MF2kW8UzIQI8hch1Pncp8an6NfLFbmsl
nyz5+GqrSuc1gNe7wnz5Lkxk3q4epmvdPcyrb16XDr42k3dP0IWZE50c8Caf05Nq
9zJC+It75nX7PFbGcZnNgE6sjsc6MB28O2wUb4Z51IU+s8hzthk2P4v0gq30TgrZ
vKTXxIYwp+yLii1sSTWUdE8a6vNK93cQki5uuB3R6VeNVBMZJA0=
=bB1D
-----END PGP SIGNATURE-----

BIN
shadow-4.17.2.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

11
shadow-4.17.2.tar.xz.asc Normal file
View File

@@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEqb0/8XByttt4D8+UNXDaFycKziQFAmeCkssACgkQNXDaFycK
ziQhuwf/bcEJKV+x66isorvoeGbqdtW7oGz3ueu8501X2lO5OZgxo6oseq27ynfc
xG6RBMnvkm94pjw3iCqEjYwyJ30js+HVWd6cN7T6GyAGdeYRMvHEfpww7IR1Py3n
6ZgYR4hcLu0T6zVg3bwUNtn29QCINo1SdS7PtsCBBDkwm8WeR+xHsSU+eV3kvNF8
CID4wvwMW7lCBetADbI+ZvbKBvDkfUBAkJWm/a/wLJrztwTw307xOvyR5P5QjoIn
ZMtmcmsWL+5Y13OoUccdUm9jDOTPILYtC7Y7y2Nolh0qOsCnMKzD0D11KDIoPlfc
Rymwesu4+adiSYUfKvqabkb3c/GrbA==
=lu9c
-----END PGP SIGNATURE-----

View File

@@ -33,14 +33,18 @@ if ! test -f openSUSE:Factory/util-linux/BUILD/*/configure.ac ; then
osc co openSUSE:Factory util-linux
fi
cd openSUSE:Factory/util-linux
# BEGIN HACK
# quilt does not understand our util-linux.spec.
sed -i s/@BUILD_FLAVOR@// util-linux.spec
# END HACK
quilt setup -d BUILD util-linux.spec
cd BUILD/*
cd $(ls -1d BUILD/* | sed /SPECPARTS/d)
quilt push -a
cd ../../../..
fi
echo "Extracting variables from util-linux..."
cd openSUSE:Factory/util-linux/BUILD/*
cd $(ls -1d openSUSE:Factory/util-linux/BUILD/* | sed /SPECPARTS/d)
(
grep -rh getlogindefs . |
sed -n 's/^.*getlogindefs[a-z_]*("\([A-Z0-9_]*\)".*$/\1/p'
@@ -68,13 +72,13 @@ if ! test -f openSUSE:Factory/pam/BUILD/*/configure.ac ; then
fi
cd openSUSE:Factory/pam
quilt setup -d BUILD pam.spec
cd BUILD/*
cd $(ls -1d BUILD/* | sed /SPECPARTS/d)
quilt push -a
cd ../../../..
fi
echo "Extracting variables from pam..."
cd openSUSE:Factory/pam/BUILD/*
cd $(ls -1d openSUSE:Factory/pam/BUILD/* | sed /SPECPARTS/d)
grep -rh LOGIN_DEFS . |
sed -n 's/CRYPTO_KEY/\"HMAC_CRYPTO_ALGO\"/g;s/^.*search_key *([A-Za-z_]*, *[A-Z_]*LOGIN_DEFS, *"\([A-Z0-9_]*\)").*$/\1/p' |
LC_ALL=C sort -u >../../../../shadow-login_defs-check-pam.lst

View File

@@ -82,7 +82,7 @@ Index: etc/login.defs
# System accounts
-SYS_UID_MIN 101
-SYS_UID_MAX 999
+SYS_UID_MIN 100
+SYS_UID_MIN 201
+SYS_UID_MAX 499
# Extra per user uids
SUB_UID_MIN 100000
@@ -93,7 +93,7 @@ Index: etc/login.defs
# System accounts
-SYS_GID_MIN 101
-SYS_GID_MAX 999
+SYS_GID_MIN 100
+SYS_GID_MIN 201
+SYS_GID_MAX 499
# Extra per user group ids
SUB_GID_MIN 100000

View File

@@ -122,7 +122,7 @@ Index: etc/login.defs
# Max time in seconds for login(1)
#
LOGIN_TIMEOUT 60
@@ -315,14 +335,6 @@ CHARACTER_CLASS [ABCDEFGHIJKLMNO
@@ -285,14 +305,6 @@ USERGROUPS_ENAB yes
#GRANT_AUX_GROUP_SUBIDS yes
#
@@ -137,3 +137,26 @@ Index: etc/login.defs
# Select the HMAC cryptography algorithm.
# Used in pam_timestamp module to calculate the keyed-hash message
# authentication code.
@@ -301,3 +313,10 @@ PREVENT_NO_AUTH superuser
# that are available in your system.
#
#HMAC_CRYPTO_ALGO SHA512
+
+# Forces login to protect the specified environment variables if -p is not
+# used. The string value is a comma-separated list of variable names. For
+# example: "LANG,LC_MESSAGES,LC_COLLATE". The safelist is ignored for the
+# environment variables HOME, SHELL and USER.
+#LOGIN_ENV_SAFELIST
+
Index: lib/getdef.c
===================================================================
--- lib/getdef.c.orig
+++ 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}, \

View File

@@ -1,3 +1,81 @@
-------------------------------------------------------------------
Wed Apr 9 00:05:49 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- shadow-util-linux.patch: util-linux-2.41 introduced new variable:
LOGIN_ENV_SAFELIST. Recognize it and update dependencies. The
patch includes gh/shadow-maint/shadow/pull#1248.
- shadow-login_defs-check-login_defs.lst: Make the util-linux.spec
multibuild file compatible with quilt. Make it working with new
quilt.
-------------------------------------------------------------------
Mon Jan 20 10:20:31 UTC 2025 - Michael Vetter <mvetter@suse.com>
- bsc#1235453: Set SYS_{UID,GID}_MIN to 201:
After repeated similar requests to change the ID ranges we set the
above mentioned value to 201. The max value will stay at 499.
This range should be sufficient and will give us leeway for the
future.
It's not straightforward to find out which static UIDs/GIDs are
used in all packages.
Update shadow-login_defs-suse.patch
-------------------------------------------------------------------
Sat Jan 11 16:37:07 UTC 2025 - Michael Vetter <mvetter@suse.com>
- Update to 4.17.2:
* src/login_nopam.c: Fix compiler warnings #1170
* lib/chkname.c: Put limits for LOGIN_NAME_MAX and sysconf(_SC_LOGIN_NAME_MAX) #1169
* Use HTTPS in link to Wikipedia article on password strength #1164
* lib/attr.h: use C23 attributes only with gcc >= 10 #1172
* login: Fix no-pam authorization regression #1174
* man: Add Portuguese translation #1178
* Update French translation #1177
* Add cheap defense mechanisms #1171
* Add Romanian translation #1176
-------------------------------------------------------------------
Tue Dec 31 19:41:57 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 4.17.1:
* Fix `su -` regression #1163
-------------------------------------------------------------------
Fri Dec 27 16:06:45 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 4.17.0:
* Fix the lower part of the domain of csrand_uniform()
* Fix use of volatile pointer
* Use 'dist-hook' to clean up <tests/unit/Makefile>
* Use str2[u]l() instead of atoi(3)
* Use a2i() in various places
* Fix const correctness
* Use uid_t for holding UIDs (and GIDs)
* Move all sprintf(3)-like APIs to a subdirectory
* Move all copying APIs to a subdirectory
* Fix forever loop on ENOMEM
* Fix REALLOC() nmemb calculation
* Remove id(1)
* Remove groups(1)
* Use local time for human-readable dates
* Use %F instead of %Y-%m-%d with strftime(3)
* is_valid{user,group}_name(): Set errno to distinguish the reasons
* Recommend --badname only if it is useful
* Add fmkomstemp() to fix mode of </etc/default/useradd>
* Fix use-after-free bug in sgetgrent()
* Update Catalan translation
* Remove references to cppw, cpgr
* groupadd, groupmod: Update gshadow file with -U
* Added option -a for listing active users only, optimized using if aflg,return
* Added information in lastlog man page for new option '-a'
* Plenty of code cleanup and clarifications
-------------------------------------------------------------------
Fri Dec 6 08:56:10 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Update to 4.17.0 RC1:
Pre-release without changelog
-------------------------------------------------------------------
Mon Jul 8 11:13:17 UTC 2024 - Samuel Cabrero <scabrero@suse.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package shadow
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
%define no_config 1
%endif
Name: shadow
Version: 4.16.0
Version: 4.17.2
Release: 0
Summary: Utilities to Manage User and Group Accounts
License: BSD-3-Clause AND GPL-2.0-or-later
@@ -84,7 +84,7 @@ Summary: The login.defs configuration file
# Call shadow-login_defs-check.sh before!
Group: System/Base
Provides: login_defs-support-for-pam = 1.5.2
Provides: login_defs-support-for-util-linux = 2.37
Provides: login_defs-support-for-util-linux = 2.41
BuildArch: noarch
%description -n login_defs
@@ -158,11 +158,6 @@ install -Dm644 %{SOURCE5} %{buildroot}%{_unitdir}/shadow.timer
touch %{buildroot}/%{_sysconfdir}/subuid
touch %{buildroot}/%{_sysconfdir}/subgid
# Remove binaries we don't use.
rm %{buildroot}/%{_bindir}/groups
rm %{buildroot}/%{_mandir}/man1/groups.*
rm %{buildroot}/%{_mandir}/*/man1/groups.*
rm %{buildroot}/%{_sbindir}/grpconv
rm %{buildroot}/%{_mandir}/man8/grpconv.*
rm %{buildroot}/%{_mandir}/*/man8/grpconv.*