Re: [LFS Trac] #5617: shadow-4.17.0

"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.book
Message-ID <[email protected]>
#5617: shadow-4.17.0
-------------------------+-----------------------
 Reporter:  Bruce Dubbs  |       Owner:  lfs-book
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  12.3
Component:  Book         |     Version:  git
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------
Comment (by Bruce Dubbs):

 4.17.0
 {{{
 lib/csrand.c: Fix the lower part of the domain of csrand_uniform()
 tests/unit/test_xasprintf.c: Cosmetic
 tests/unit/test_xasprintf.c: Fix use of volatile pointer
 Makefile.am: Use 'dist-hook' to clean up <tests/unit/Makefile>
 lib/typetraits.h: Add macros that give information about a type
 tests/unit/test_typetraits.c: Add tests for typetraits.h macros
 src/: Use str2[u]l() instead of atoi(3)
 lib/get_gid.c: get_gid(): Reimplement in terms of a2i()
 lib/, libsubid/, po/, src/: get_gid(): Move function to "atoi/getnum.h"
 lib/: Don't open-code get_gid()
 lib/get_pid.c: get_pid(): Reimplement in terms of a2i()
 lib/: get_pid(): Move function to "atoi/getnum.h"
 lib/atoi/getnum.[ch]: get_fd(): Add function for parsing a file descriptor
 from a string
 lib/get_pid.c: get_pidfd_from_fd(): Don't open-code get_fd()
 src/usermod.c: getulong_range(): Reimplement in terms of a2ul()
 lib/get_uid.c: get_uid(): Reimplement in terms of a2i()
 lib/, po/, src/: get_uid(): Move function to "atoi/getnum.h"
 lib/limits.c: setrlimit_value(): Reimplement in terms of a2i()
 src/usermod.c: Fix const correctness
 src/get_subid_owners.c: Use uid_t for holding UIDs (and GIDs)
 lib/string/sprintf/, lib/, src/, tests/: Move all sprintf(3)-like APIs to
 a subdirectory
 lib/string/strcpy/, lib/, src/, tests/: Move all copying APIs to a
 subdirectory
 src/su.c: save_caller_context(): Remove unused parameter
 src/logoutd.c: Remove unused variable
 src/login.c: Remove dead code
 lib/, src/: Reduce scope of local variables
 lib/shadow.c: my_sgetspent(): Clarify that we're assigning an empty string
 lib/getdate.y: NULL doesn't need a cast
 lib/, src/: Always pass NULL to time(2)
 lib/failure.c: failprint(): Remove dead code
 lib/, src/: Reduce scope of local variables
 lib/shadow.c: my_sgetspent(): Clarify that we're assigning an empty string
 lib/getdate.y: NULL doesn't need a cast
 lib/, src/: Always pass NULL to time(2)
 lib/failure.c: failprint(): Remove dead code
 lib/, src/: Add missing include
 lib/: Use REALLOCF() instead of its pattern
 lib/commonio.c: commonio_open(): MALLOC() and REALLOCF() already set
 ENOMEM
 lib/, src/: Use strchrnul(3) instead of its pattern
 src/useradd.c: tallylog_reset(): Use Basename() instead of its pattern
 lib/, src/: Use strsep(3) instead of its pattern
 lib/gshadow.c: build_list(): Fix forever loop on ENOMEM
 lib/gshadow.c: build_list(): Fix REALLOC() nmemb calculation
 src/groupmems.c: Fix number of elements in allocation
 src/: Use xasprintf() instead of its pattern
 lib/string/strcpy/strncat.[ch]: STRNCAT(): Add macro
 lib/string/strdup/: XSTRNDUP(), STRNDUPA(): Add macros
 lib/utmp.c: Use XSTRNDUP() instead of its pattern
 lib/utmp.c: prepare_utmp(): Use xstrdup() instead of its pattern
 src/newusers.c: Exit on ENOMEM, by calling xstrdup() instead of strdup(3)
 src/logoutd.c: Use STRNDUPA() instead of its pattern
 src/logoutd.c: Use STRNCAT() instead of its pattern
 lib/string/strcpy/zustr2stp.[ch], tests/: Remove ZUSTR2STP()
 lib/string/strdup/xstrdup.[ch], lib/, src/: Move xstrdup() to its own file
 lib/alloc.[ch]: xmalloc(): Remove unused function
 lib/alloc/, lib/, src/, tests/: Organize the allocation APIs in a new
 subdirectory
 lib/: Use multi-line macro definitions
 lib/: Use [[gnu::alloc_size(...)]] on allocation functions
 src/: Remove dead code
 lib/gshadow.c: Use XREALLOC() instead of silently continuing on ENOMEM
 lib/attr.h: Use C23-style attributes
 lib/idmapping.c: Use long constants in prctl(2), and remove 0s
 Remove id(1)
 Remove groups(1)
 lib/getdef.c: getdef_num(): Simplify, by calling a2si() instead of
 str2sl()
 lib/getdef.c: getdef_unum(): Fix wrong limit check
 lib/getdef.c: getdef_long(): Simplify, by calling a2sl() instead of
 str2sl()
 lib/limits.c: set_prio(): Simplify, by calling str2si() instead of
 str2sl()
 lib/limits.c: set_umask(): Simplify, by calling str2i(mode_t, ) instead of
 str2ul()
 lib/limits.c: setup_limits(): Simplify, by calling a2si() instead of
 str2sl()
 lib/limits.c: setup_limits(): Simplify, by calling str2si() instead of
 str2sl()
 lib/limits.c: setup_limits(): Simplify, by calling str2i(mode_t, ) instead
 of str2ul()
 lib/sgetspent.c: sgetspent(): Simplify, by calling a2sl() instead of
 str2sl()
 lib/shadow.c: my_sgetspent(): Merge 'else {if}' into 'else if'
 lib/shadow.c: my_sgetspent(): Remove dead code
 lib/shadow.c: my_sgetspent(): Simplify error handling
 src/: Use get_[ug]id() where appropriate
 src/useradd.c: Simplify, by calling a2sl() instead of str2sl()
 src/passwd.c: Simplify, by calling a2sl() instead of str2sl()
 src/usermod.c: Simplify, by calling a2sl() instead of str2sl()
 src/faillog.c: Simplify, by calling str2sh() instead of str2sl()
 src/chage.c: Simplify, by calling a2sl() instead of str2sl()
 lib/string/strchr/: stp[c]spn(), strrspn(), strnul(): Add macros and
 functions
 lib/getdef.c: def_load(): Use stp[c]spn() instead of their patterns
 src/login_nopam.c: login_access(): Simplify, calling strchr(3)
 lib/sssd.c: Style fixes
 lib/, src/: Use strrspn() instead of its pattern
 contrib, lib/, src/, tests/: Use stpcpy(3) instead of its pattern
 contrib/adduser.c: main(): Use strcpy/cat(3) instead of their pattern
 lib/port.c: getttyuser(): Remove dead code
 lib/port.c: getttyuser(): Use goto to break out of nested loops
 lib/port.c: getportent(): Rename goto label
 lib/port.c: getportent(): Remove obvious comments
 lib/port.c: getportent(): Make sure there are at least 2 ':' in the line
 lib/port.c: getportent(): Make sure the aren't too many fields in the CSV
 lib/port.c: getportent(): Use equivalent code to parse equally-formatted
 fields
 lib/port.c: getttyuser(): Use pointer arithmetic to simplify
 lib/port.c: getportent(): Align variables
 lib/port.c: getportent(): Use strsep(3) instead of its pattern
 lib/string/strtok/stpsep.[ch]: stpsep(): Add function
 lib/, src/: Use stpsep() instead of its pattern
 lib/attr.h: ATTR_STRING(): It only accepts one argument
 lib/string/strchr/stpcspn.[ch]: stpcspn(): Remove unused function
 src/suauth.c: check_su_auth(): Use stpsep() to simplify
 lib/nss.c: nss_init(): Use stpsep() instead of strtok_r(3)
 src/useradd.c: Use stpsep() to simplify
 src/login_nopam.c: login_access(): Use stpsep() to simplify
 lib/limits.c: check_logins(): Report LOGIN_ERROR_LOGIN if str2ul() ERANGE
 lib/idmapping.c: get_map_ranges(): Rename local variable
 lib/idmapping.c: get_map_ranges(): Move range check to a2ul() calls
 lib/idmapping.c: get_map_ranges(): Move range check to a2ul() call
 lib/idmapping.c: get_map_ranges(): Move range check to a2ul() call
 lib/idmapping.c: get_map_ranges(): Remove dead code
 lib/idmapping.c: get_map_ranges(): Simplify iterator variables
 lib/idmapping.c: get_map_ranges(): Don't exit() from a library function
 src/usermod.c: Rename identifiers ralated to [ug]id's
 src/usermod.c: Use id_t for parsing uid_t and gid_t
 lib/atoi/, : Split files
 lib/atoi/strtoi/, tests/: strto[iu](): 1 is an invalid base
 lib/chkname.c: An object cannot expand further than the universe in which
 it resides
 lib/, src/: Use local time for human-readable dates
 lib/, src/: Use %F instead of %Y-%m-%d with strftime(3)
 src/chage.c: print_day_as_date(): Simplify error handling
 src/chage.c: print_day_as_date(): Handle errors from strfime(3)
 lib/string/strftime.h: STRFTIME(): Tighten macro definition
 po/es.po: wsfix
 lib/: Move memzero.[ch] under lib/string/memset/
 lib/string/memset/: memzero(), strzero(): Return the pointer
 lib/: Chain free(strzero(s))
 man/userdel.8.xml: Reword '-f'
 lib/chkname.c: is_valid{user,group}_name(): Set errno to distinguish the
 reasons
 src/: Invert logic to improve readability
 src/: Recommend --badname only if it is useful
 src/useradd.c: Add fmkomstemp() to fix mode of </etc/default/useradd>
 src/check_subid_range.c: Remove dead code
 lib/, src/: Use stpspn() instead of its pattern
 lib/port.c: portcmp(): Use strcmp(3) instead of its pattern
 lib/gshadow.c: endsgent(): Remove dead assignment
 src/suauth.c: check_su_auth(): Use strspn(3) instead of its pattern
 src/suauth.c: check_su_auth(): Use pointers to simplify
 doc/contributions/introduction.md: Fix typo in link
 lib/alloc/realloc.h: Rename macro parameter
 lib/alloc/realloc*.h: Always reallocate at least 1 byte
 lib/fields.c: Remove dead code
 lib/getdef.c: Remove dead code
 lib/loginprompt.c: login_prompt(): Use strtcpy() instead of its pattern
 lib/fs/readlink/: readlinknul(): Add function
 lib/fs/readlink/readlinknul.h: READLINKNUL(): Add macro
 lib/: Use readlinknul() instead of its pattern
 lib/: Use READLINKNUL() instead of its pattern
 lib/fs/readlink/, lib/: areadlink(): Move and rename function
 lib/fs/readlink/areadlink.h: Cosmetic changes
 lib/fs/readlink/areadlink.h: areadlink(): Use PATH_MAX instead of a magic
 value
 lib/string/strcmp/: streq(): Add function
 lib/string/strchr/: strchrcnt(): Add function
 lib/list.c: comma_to_list(): Use strchrcnt() instead of its pattern
 lib/gshadow.c: endsgent(): Invert logic to reduce indentation
 src/login_nopam.c: Rely on the system's MAXHOSTNAMELEN
 lib/shadow.c: my_sgetspent(): There can be only one!
 lib/, src/: Use NULL instead of 0 as a null pointer constant
 share/container-build.sh: Fix path
 src/login_nopam.c: resolve_hostname(): Use NI_MAXHOST instead of
 MAXHOSTNAMELEN with getnameinfo(3)
 lib/csrand.c: csrand(): Use read(2) instead of fread(2)
 lib/gshadow_.h: STDC is always 1
 contrib/, lib/, src/: Use streq() instead of its pattern
 lib/, src/: Use !streq() instead of its pattern
 lib/, src/: Use strsep(3) instead of strtok(3)
 src/: Transform do-while into while
 lib/gshadow.c: build_list(): Fix type of parameter
 lib/gshadow.c: build_list(): Remove unused variable
 lib/gshadow.c: build_list(): Improve variable and parameter names
 lib/gshadow.c: build_list(): Remove dead assignment
 lib/gshadow.c: sgetsgent(): Remove superfluous condition
 lib/gshadow.c: Move zeroing to within build_list()
 lib/gshadow.c: Remove dead code
 lib/gshadow.c: build_list(): Minimize use of pointer parameters
 lib/gshadow.c: build_list(): Compact ++ into previous statement
 lib/gshadow.c: sgetsgent(): Be consistent using NULL
 lib/gshadow.c: build_list(): Remove second parameter
 lib/gshadow.c: Remove redundant variables
 lib/gshadow.c: build_list(): Allocate at once
 lib/gshadow.c: build_list(): Transform while loop into for loop
 lib/sgetgrent.c: sgetgrent(): Fix use-after-free bug
 lib/, src/: Use streq() instead of its pattern
 lib/, src/: Use !streq() instead of its pattern
 lib/fs/readlink/readlinknul.h: readlinknul(): Silence warning
 lib/fs/readlink/: readlinknul(): Fix return type
 lib/find_new_[gu]id.c: include stdint.h for UINT16_MAX/UINT32_MAX
 tests/libsubid/04_nss: fix setting basedir
 Makefile.am: avoid warning: EXTRA_DIST multiply defined
 Remove references to cppw, cpgr
 groupadd, groupmod: Update gshadow file with -U
 doc(login.defs): fix type of TTYPERM
 share/ansible: convert fedora dockerfile to ansible
 share/ansible: create roles
 share/.gitignore: add build-out folder
 share/ansible: move fedora ci_run to its own file
 share/ansible: convert debian dockerfile to ansible
 share/ansible: convert alpine dockerfile to ansible
 share/ansible: implement distribution selection
 share/container-build.sh: update to use Ansible build
 doc: update documentation to use Ansible build
 CI: use Ansible build in Github Action
 share/containers: remove unused dockerfiles
 useradd: fix write_full() return value
 useradd: fix comparison sign for write_full() return
 CI: update Ubuntu repositories configuration
 CI: run Install dependencies workflow
 CI: run command as non-root user
 CI: install libltdl-dev
 CI: fix fedora build problems
 CI: avoid cancelling all jobs when one fails
 CI: update artifacts action
 Fix coverity unbound buffer issues
 man/shadow,man/gshadow: Fix grammar
 lib/user_busy.c: Include <utmpx.h>
 Added option -a for listing active users only, optimized using if
 aflg,return
 Added information in lastlog man page for new option '-a'
 man: groupmod: fix misleading param
 man: group(add|mod): clarify list format
 man: groupmod: remove misleading -N option
 tests/: Support run_some from exported tarball
 libsubid test makefile: fix a typo
 have_range: open the subid db if needed
 tests/run_some: make sure unshared root user can descend build dir
 CI: fix handling of sources.list
 Tobias Stoeckmann (11):
 Fix typos
 lib/run_part: Use correct data types
 lib/run_part: Unify logging
 lib/run_part: Reduce visibility
 lib: Fix typo
 lib/run_part: Unify error messages
 lib/run_part: Adjust style
 lib: Eliminate dead code
 man/passwd: Fix typo
 man/subgid,man/subuid: Fix program list
 lib/idmapping.c: Fix get_map_ranges range check
 Allow setting an empty homedir
 frostb1te (1):
 src/gpasswd.c: is_valid_user_list(): Fix invalid free(3)
 src/useradd.c: Add the missing equals sign
 src/useradd.c: get_groups(): Fix memory leak
 }}}
-- 
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/5617#comment:1>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.

-- 
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.