- 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
* 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
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
- 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
* 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
- 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
* 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
- 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
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
* 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
- 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
* 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
- Update to 4.16.0:
* The shadow implementations of id(1) and groups(1) are deprecated
in favor of the GNU coreutils and binutils versions.
They will be removed in 4.17.0.
* The rlogind implementation has been removed.
* The libsubid major version has been bumped, since it now requires
specification of the module's free() implementation.
- Update shadow-login_defs-suse.patch
- Add shadow-4.16.0-econf.patch:
Replace deprecated econf_readDirs with econf_readConfig
OBS-URL: https://build.opensuse.org/request/show/1181876
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=68
* The shadow implementations of id(1) and groups(1) are deprecated
in favor of the GNU coreutils and binutils versions.
They will be removed in 4.17.0.
* The rlogind implementation has been removed.
* The libsubid major version has been bumped, since it now requires
specification of the module's free() implementation.
- Update shadow-login_defs-suse.patch
- Add shadow-4.16.0-econf.patch:
Replace deprecated econf_readDirs with econf_readConfig
OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=176
- Add shadow-4.15.0-fix-definition.patch:
Fix error messages about config options.
See gh/shadow-maint/shadow#967
- Update to 4.15.0
* libshadow:
+ Use utmpx instead of utmp. This fixes a regression introduced
in 4.14.0.
+ Fix build error (parameter name omitted).
* Build system:
+ Link correctly with libdl.
+ Install pam configs for chpasswd(8) and newusers(8) when using
./configure --with-libpam --disable-account-tools-setuid.
+ Merge libshadow and libmisc into a single libshadow. This fixes
problems in the linker, which were reported at least in Gentoo.
+ Fix build with musl libc.
+ Support out of tree builds
* useradd(8):
+ Set proper SELinux labels for def_usrtemplate
- Update Serge Hallyns GPG key
- Update shadow-login_defs-unused-by-pam.patch
OBS-URL: https://build.opensuse.org/request/show/1159987
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=66
* libshadow:
+ Use utmpx instead of utmp. This fixes a regression introduced
in 4.14.0.
+ Fix build error (parameter name omitted).
* Build system:
+ Link correctly with libdl.
+ Install pam configs for chpasswd(8) and newusers(8) when using
./configure --with-libpam --disable-account-tools-setuid.
+ Merge libshadow and libmisc into a single libshadow. This fixes
problems in the linker, which were reported at least in Gentoo.
+ Fix build with musl libc.
+ Support out of tree builds
* useradd(8):
+ Set proper SELinux labels for def_usrtemplate
- Update Serge Hallyns GPG key
- Update shadow-login_defs-unused-by-pam.patch
OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=171
- Update to 4.14.6:
* login(1):
+ Fix off-by-one bugs.
* passwd(1):
+ Don't silently truncate passwords of length >= 200 characters.
Instead, accept a length of PASS_MAX, and reject longer ones.
* libshadow:
+ Fix calculation in strtoday(), which caused a wrong half-day
offset in some cases (bsc#1176006)
+ Fix parsing of dates in get_date() (bsc#1176006)
+ Use utmpx instead of utmp. This fixes a regression introduced in
4.14.0.
OBS-URL: https://build.opensuse.org/request/show/1154375
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=65
* login(1):
+ Fix off-by-one bugs.
* passwd(1):
+ Don't silently truncate passwords of length >= 200 characters.
Instead, accept a length of PASS_MAX, and reject longer ones.
* libshadow:
+ Fix calculation in strtoday(), which caused a wrong half-day
offset in some cases (bsc#1176006)
+ Fix parsing of dates in get_date() (bsc#1176006)
+ Use utmpx instead of utmp. This fixes a regression introduced in
4.14.0.
OBS-URL: https://build.opensuse.org/package/show/Base:System/shadow?expand=0&rev=169
- Update to 4.14.5:
* Build system:
+ Fix regression introduced in 4.14.4, due to a typo. chgpasswd had
been deleted from a Makefile variable, but it should have been
chpasswd.
- Remove shadow-4.14.4-chgpasswd-typo.patch
- Update to 4.14.4:
* Build system:
+ Link correctly with libdl.
+ Install pam configs for chpasswd(8) and newusers(8) when using
./configure --with-libpam --disable-account-tools-setuid.
* libshadow:
+ Fix build error (parameter name omitted).
+ Fix off-by-one bug.
+ Remove warning.
- Add shadow-4.14.4-chgpasswd-typo.patch: to fix build. See #926
- Update patch macro `patchN` -> `patch -P N`
OBS-URL: https://build.opensuse.org/request/show/1146473
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/shadow?expand=0&rev=64