Alejandro Colomar
3dc840a56a
lib/string/strftime.h: STRFTIME(): Tighten macro definition
...
strftime(3) is not a variadic function; there's exactly one argument
after the format string.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-08-22 22:51:57 -05:00
Alejandro Colomar
60da937c2f
src/chage.c: print_day_as_date(): Handle errors from strfime(3)
...
Just like we do in day_to_str().
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-08-22 22:51:57 -05:00
Alejandro Colomar
6a2e298a5b
src/chage.c: print_day_as_date(): Simplify error handling
...
If localtime_r(3) fails, just print future, as we do in day_to_str().
It should only fail for unrealistic dates, if at all.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-08-22 22:51:57 -05:00
Alejandro Colomar
683b3caa62
lib/, src/: Use %F instead of %Y-%m-%d with strftime(3)
...
%F is specified by ISO C99. It adds semantic meaning as printing an
ISO 8601 date.
Scripted change:
$ cat ~/tmp/spatch/strftime_F.sp
@@
@@
- "%Y-%m-%d"
+ "%F"
$ find contrib/ lib* src/ -type f \
| xargs spatch --sp-file ~/tmp/spatch/strftime_F.sp --in-place
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-08-22 22:51:57 -05:00
Chris Hofstaedtler
04592e4cc7
Remove references to cppw, cpgr
...
cppw, cpgr were Debian-only tools, which I've dropped in a recent upload.
Upstream should have never had tests for them.
Signed-off-by: Chris Hofstaedtler <zeha@debian.org >
2024-08-12 10:08:45 +02:00
Carles Pina i Estany
e04e493234
Update Catalan translation
2024-08-11 23:22:04 +02:00
Alejandro Colomar
3f5b4b5626
lib/, src/: Use local time for human-readable dates
...
That is, use localtime_r(3) instead of gmtime_r(3).
Closes: <https://github.com/shadow-maint/shadow/issues/1057 >
Reported-by: Gus Kenion <https://github.com/kenion >
Cc: Serge Hallyn <serge@hallyn.com >
Cc: Paul Eggert <eggert@cs.ucla.edu >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-08-01 10:12:44 +02:00
Eisuke Kawashima
f3f501c81c
doc(login.defs): fix type of TTYPERM
2024-07-18 10:21:21 -05:00
Iker Pedrosa
fffa4d3e27
share/containers: remove unused dockerfiles
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
28ffa634d8
CI: use Ansible build in Github Action
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
4bc0c5b0b8
doc: update documentation to use Ansible build
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
f56e79a2b7
share/container-build.sh: update to use Ansible build
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
d8fb10f7b7
share/ansible: implement distribution selection
...
Distribution to run can be selected when running `ansible-playbook` by
appending `-e 'distribution=fedora'` to the command.
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
80c4e70da0
share/ansible: convert alpine dockerfile to ansible
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
1d6f578f3e
share/ansible: convert debian dockerfile to ansible
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
9a53a8aebd
share/ansible: move fedora ci_run to its own file
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
36e8015e2b
share/.gitignore: add build-out folder
...
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
df50348a28
share/ansible: create roles
...
Create `build_container` and `ci_run` roles and move the fedora target
to them.
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Iker Pedrosa
9a0cd7a231
share/ansible: convert fedora dockerfile to ansible
...
Using a dockerfile to build, install and test the code can be
problematic as we can't capture the log files to check what failed in
case of failure. This PR converts the fedora dockerfile to Ansible, an
open source IT automation tool. The tool can be used on the developers
and the CI system to check whether a piece of code can be built,
installed and tested.
This is the first patch in a series, where I will convert the existing
PR workflows to use Ansible instead of dockerfiles.
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com >
2024-07-18 10:17:29 -05:00
Chris Hofstaedtler
dfbc0db895
Makefile.am: avoid warning: EXTRA_DIST multiply defined
...
automake complained about duplicate definitions of EXTRA_DIST:
autoreconf: running: automake --add-missing --copy --no-force
Makefile.am:19: warning: EXTRA_DIST multiply defined in condition TRUE ...
Makefile.am:3: ... 'EXTRA_DIST' previously defined here
autoreconf: Leaving directory '.'
Signed-off-by: Chris Hofstaedtler <zeha@debian.org >
2024-07-18 09:21:57 -05:00
Chris Hofstaedtler
11e9627658
tests/libsubid/04_nss: fix setting basedir
...
Align on variable name BUILD_BASE_DIR for overriding the toplevel
directory. This is the same name as accepted by tests/common/config.sh.
Without this, the test libsubid/04_nss fails in Debian's autopkgtests.
Signed-off-by: Chris Hofstaedtler <zeha@debian.org >
2024-07-18 08:52:35 -05:00
Sebastian Gross
34f213211f
man: groupmod: remove misleading -N option
...
The extra paragraph for --users mentions a -N option. groupmod has no -N
option.
Prevent confusion and remove its appearance.
Signed-off-by: Sebastian Gross <sgross@emlix.com >
2024-07-17 15:48:22 +02:00
Sebastian Gross
48b36a03e8
man: group(add|mod): clarify list format
...
The --users list option expect a string of comma separated values.
While this might be obvious to some others it is certainly not for others.
Remove this ambiguity.
Closes #848
Signed-off-by: Sebastian Gross <sgross@emlix.com >
2024-07-17 15:48:22 +02:00
Sebastian Gross
9176206a7c
man: groupmod: fix misleading param
...
--append has no argument in groupmod.c but the man pages states GID as
parameter.
In order to avoid confusion remove it from man page.
Signed-off-by: Sebastian Gross <sgross@emlix.com >
2024-07-17 15:48:22 +02:00
Alejandro Colomar
8a93576ff9
lib/chkname.c: An object cannot expand further than the universe in which it resides
...
If you want a larger object, you'll have to wait at least until the
universe expands so much.
If an implementation doesn't recognize its own limitations, its a bug,
not a feature.
Closes: <https://github.com/shadow-maint/shadow/issues/1052 >
Cc: Tobias Stoeckmann <tobias@stoeckmann.org >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-15 15:01:11 +02:00
Alejandro Colomar
63297e836d
lib/atoi/strtoi/, tests/: strto[iu]_(): 1 is an invalid base
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
745281f295
lib/atoi/, *: Split files
2024-07-11 22:42:58 -05:00
Alejandro Colomar
2dda45a390
src/usermod.c: Use id_t for parsing uid_t and gid_t
...
Use a static_assert(3) to make sure that id_t == uid_t == gid_t.
And use uintmax_t to print it, since on Linux they are unsigned types.
Link: <https://github.com/shadow-maint/shadow/pull/951 >
Reviewed-by: Tycho Andersen <tycho@tycho.pizza >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
cfb8df4a91
src/usermod.c: Rename identifiers ralated to [ug]id's
...
It was unclear why this code is using ulong. Since these only handle
uid's and gid's, rename the identifiers accordingly, after id_t.
Link: <https://github.com/shadow-maint/shadow/pull/951 >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
b73c78581c
lib/idmapping.c: get_map_ranges(): Don't exit() from a library function
...
Fixes: ff2baed5db ("idmapping: add more checks for overflow")
Link: <ff2baed5db (r136635300) >
Reported-by: Alejandro Colomar <alx@kernel.org >
Suggested-by: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
c46c6a6e5a
lib/idmapping.c: get_map_ranges(): Simplify iterator variables
...
Merge two iterator variables into one, and reduce its scope.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
a184c2b555
lib/idmapping.c: get_map_ranges(): Remove dead code
...
This test is impossible. The limits specified in a2ul() already cover
this.
Link: <ff2baed5db (r136635300) >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
7c43eb2c4e
lib/idmapping.c: get_map_ranges(): Move range check to a2ul() call
...
Link: <ff2baed5db (r136635300) >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
57aa813c73
lib/idmapping.c: get_map_ranges(): Move range check to a2ul() call
...
Link: <ff2baed5db (r136635300) >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
5586f43d48
lib/idmapping.c: get_map_ranges(): Move range check to a2ul() calls
...
Link: <ff2baed5db (r136635300) >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
f89925c219
lib/idmapping.c: get_map_ranges(): Rename local variable
...
For a pointer iterator used often, a single-letter identifier is more
appropriate. That reduces the length of lines considerably, avoiding
unnecessary line breaks. And since we initialize it with
m = mappings;
it's clear what it is.
Link: <ff2baed5db (r136635300) >
Cc: Serge Hallyn <serge@hallyn.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
c2ebd210e7
lib/limits.c: check_logins(): Report LOGIN_ERROR_LOGIN if str2ul() ERANGE
...
Fixes: 10396f9536 ("* libmisc/limits.c: Parse the limits, umask, nice, maxlogin, file limit with getlog() / getulong().")
Link: <882cf59459 >
Cc: Iker Pedrosa <ipedrosa@redhat.com >
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-11 22:42:58 -05:00
Alejandro Colomar
568d26d7ed
src/login_nopam.c: login_access(): Use stpsep() to simplify
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
a7b169be18
src/useradd.c: Use stpsep() to simplify
...
This allows using plain strcmp(3) instead of MATCH().
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
d95b899bfc
lib/nss.c: nss_init(): Use stpsep() instead of strtok_r(3)
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
8714ac0cd6
src/suauth.c: check_su_auth(): Use stpsep() to simplify
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
64409c28b7
lib/string/strchr/stpcspn.[ch]: stpcspn(): Remove unused function
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
a33d7430ed
lib/attr.h: ATTR_STRING(): It only accepts one argument
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
d91b22cc2f
lib/, src/: Use stpsep() instead of its pattern
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Alejandro Colomar
39da15614e
lib/string/strtok/stpsep.[ch]: stpsep(): Add function
...
This function is somewhat simpler to use than strsep(3) in some cases.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-08 20:25:01 -05:00
Chris Hofstaedtler
843c151f2c
lib/find_new_[gu]id.c: include stdint.h for UINT16_MAX/UINT32_MAX
...
Signed-off-by: Chris Hofstaedtler <zeha@debian.org >
2024-07-08 01:19:49 +02:00
Alejandro Colomar
cee79c215a
lib/port.c: getportent(): Use strsep(3) instead of its pattern
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-06 07:44:02 -05:00
Alejandro Colomar
882db57f24
lib/port.c: getportent(): Align variables
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-06 07:44:02 -05:00
Alejandro Colomar
b4b4ff633a
lib/port.c: getttyuser(): Use pointer arithmetic to simplify
...
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-06 07:44:02 -05:00
Alejandro Colomar
d9d0117e80
lib/port.c: getportent(): Use equivalent code to parse equally-formatted fields
...
The tty names field and the user names field have the same formatting:
a CSV terminated by a ':'. Thus, we can --and should-- use the same
exact code for parsing both.
Signed-off-by: Alejandro Colomar <alx@kernel.org >
2024-07-06 07:44:02 -05:00