Systemd/src/test
Zbigniew Jędrzejewski-Szmek 156a5fd297 basic/user-util: always use base 10 for user/group numbers
We would parse numbers with base prefixes as user identifiers. For example,
"0x2b3bfa0" would be interpreted as UID==45334432 and "01750" would be
interpreted as UID==1000. This parsing was used also in cases where either a
user/group name or number may be specified. This means that names like
0x2b3bfa0 would be ambiguous: they are a valid user name according to our
documented relaxed rules, but they would also be parsed as numeric uids.

This behaviour is definitely not expected by users, since tools generally only
accept decimal numbers (e.g. id, getent passwd), while other tools only accept
user names and thus will interpret such strings as user names without even
attempting to convert them to numbers (su, ssh). So let's follow suit and only
accept numbers in decimal notation. Effectively this means that we will reject
such strings as a username/uid/groupname/gid where strict mode is used, and try
to look up a user/group with such a name in relaxed mode.

Since the function changed is fairly low-level and fairly widely used, this
affects multiple tools: loginctl show-user/enable-linger/disable-linger foo',
the third argument in sysusers.d, fourth and fifth arguments in tmpfiles.d,
etc.

Fixes #15985.
2020-05-31 18:38:16 +02:00
..
generate-sym-test.py journal: properly mark two definitions that are deprecated with GCC attributes for that 2020-01-31 15:02:00 +01:00
meson.build test: Add test for XDG desktop file parsing and interpretation 2020-05-27 09:02:10 +02:00
test-acl-util.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
test-af-list.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
test-alloc-util.c test: Use assert_se() where variables are only checked by assert 2020-05-06 23:03:25 +02:00
test-architecture.c
test-arphrd-list.c basic/arphrd: stop discriminating against NETROM and CISCO 2019-09-25 12:17:51 +02:00
test-ask-password-api.c shared/ask-password-api: show "(press TAB for no echo)" 2020-02-06 10:51:24 +01:00
test-async.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-barrier.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-bitmap.c
test-boot-timestamps.c test: Skip test-boot-timestamps on permission denied 2020-05-06 22:01:50 +02:00
test-bpf-devices.c test-bpf-devices: skip test on !unified 2019-11-11 21:05:08 +01:00
test-bpf-firewall.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-btrfs.c tree-wide: fix spelling of lookup and setup verbs 2020-03-03 15:02:53 +01:00
test-bus-util.c
test-calendarspec.c calendarspec: be more graceful with two kinds of calendar expressions 2020-05-05 08:57:14 +02:00
test-cap-list.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-capability.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-cgroup-cpu.c core: add CPUQuotaPeriodSec= 2019-02-14 11:04:42 -08:00
test-cgroup-mask.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-cgroup-setup.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-cgroup-unit-default.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-cgroup-util.c test: fix potential use-after-free 2020-05-04 17:10:18 +02:00
test-cgroup.c test-cgroup: skip if /sys/fs/cgroup unknown fs 2020-04-25 10:00:43 +02:00
test-chase-symlinks.c basic/fs-util: change CHASE_OPEN flag into a separate output parameter 2019-10-24 22:44:24 +09:00
test-chown-rec.c core: drop suid/sgid bit of files/dirs when doing recursive chown 2019-03-26 08:29:37 +01:00
test-clock.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-condition.c condition: add ConditionEnvironment= 2020-05-15 16:05:33 +02:00
test-conf-files.c basic/conf-files: make conf_files_list() take just a single directory 2019-09-16 09:15:05 +02:00
test-conf-parser.c network,udev: use uint64_t for bit rate 2020-01-21 16:51:19 +01:00
test-copy.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-coredump-util.c Add parser and printer for coredump filter mask 2020-04-09 12:51:41 +02:00
test-cpu-set-util.c core: add support for setting CPUAffinity= to special "numa" value 2020-03-16 08:57:28 +01:00
test-daemon.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-date.c tree-wide: drop double newline 2019-11-04 00:30:32 +09:00
test-dev-setup.c core: create inaccessible nodes for users when making runtime dirs 2019-12-18 11:09:30 -08:00
test-device-nodes.c
test-dissect-image.c dissect: introduce new recognizable partition types for /var and /var/tmp 2019-12-23 14:43:59 +01:00
test-dlopen.c
test-dns-domain.c resolve: reject host names with leading or trailing dashes in /etc/hosts 2018-12-10 09:56:56 +01:00
test-ellipsize.c
test-emergency-action.c units: allow and use SuccessAction=exit-force in system systemd-exit.service 2018-10-17 19:32:07 +02:00
test-engine.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-env-file.c test-unit-file: move some tests to new test-env-file.c 2019-07-19 16:51:14 +02:00
test-env-util.c tree-wide: drop double newline 2019-11-04 00:30:32 +09:00
test-escape.c shared/escape: add new escape style with \n\t escaped 2020-04-09 09:58:10 +02:00
test-exec-util.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-execute.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-exit-status.c tree-wide: various code-formatting improvements 2019-09-22 07:17:27 +02:00
test-extract-word.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
test-fd-util.c test: Use assert_se() where variables are only checked by assert 2020-05-06 23:03:25 +02:00
test-fdset.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
test-fileio.c macro: introduce DISABLE_WARNING_TYPE_LIMITS and make use of it everywhere 2020-05-25 18:25:09 +02:00
test-firewall-util.c
test-format-table.c test-format-table: add tests for TABLE_STRV 2020-01-15 11:52:40 +09:00
test-format-util.c test: fix argument type of test_format_bytes_one() 2019-06-27 10:31:55 +09:00
test-fs-util.c fs-util: teach unlinkat_deallocate() a simple scheme for overwriting for erasing 2020-05-19 17:27:13 +02:00
test-fstab-util.c tree-wide: Initialize _cleanup_ variables if needed 2020-05-13 22:56:42 +02:00
test-gcrypt-util.c
test-glob-util.c tree-wide: drop glob.h when glob-util.h is included 2019-11-04 00:30:32 +09:00
test-hash.c
test-hashmap-ordered.awk
test-hashmap-plain.c test-hashmap: move tests which should also apply to ordered hashmaps and add comment 2019-07-19 16:51:14 +02:00
test-hashmap.c basic/hashmap: allow NULL values in strdup hashmaps and add test 2020-05-06 16:56:42 +02:00
test-hexdecoct.c Delete duplicate lines 2019-01-12 16:02:26 +01:00
test-hostname-util.c Add %l as specifier for the hostname without any domain component 2020-05-07 17:36:44 +02:00
test-hostname.c
test-id128.c id128: introduce ID128_UUID_STRING_MAX for sizing UUID buffers 2019-12-10 11:56:18 +01:00
test-in-addr-util.c test: add tests for test_in_addr_prefix_to_string() 2019-03-04 23:45:07 +09:00
test-install-root.c systemctl: add new enablement state "alias" 2020-05-05 21:50:38 +02:00
test-install.c
test-io-util.c
test-ip-protocol-list.c test: add tests for ip_protocol_{from,to}_name() 2018-12-02 06:13:47 +01:00
test-ipcrm.c
test-job-type.c core: add helper function to check job status 2019-10-01 15:05:27 +02:00
test-journal-importer.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-json.c json: use our regular way to turn off compiler warnings 2020-05-25 18:23:50 +02:00
test-libmount.c Add helper function for mnt_table_parse_{stream,mtab} 2019-04-23 23:29:29 +02:00
test-libudev.c tree-wide: drop stdio.h when stdio-util.h is included 2019-11-04 00:30:32 +09:00
test-list.c
test-load-fragment.c shared/conf-parser: remove unnecessary whitespace skipping 2019-11-27 13:56:28 +01:00
test-local-addresses.c netlink: move local-addresses.[ch] to src/shared 2019-07-24 09:06:50 +02:00
test-locale-util.c locale-util: add glyph for external links 2020-05-29 10:41:30 +02:00
test-log.c basic/log: add a define for path relative to source root 2019-07-04 10:27:19 +02:00
test-loopback.c
test-mount-util.c Split out part of mount-util.c into mountpoint-util.c 2018-11-29 21:03:44 +01:00
test-mountpoint-util.c test-mountpoint-util: improve output a bit 2019-09-24 15:22:28 +02:00
test-namespace.c core: add new LogNamespace= execution setting 2020-01-31 15:01:43 +01:00
test-netlink-manual.c tree-wide: drop libkmod.h when module-util.h is included 2019-11-04 00:30:32 +09:00
test-ns.c tree-wide: fix spelling of lookup and setup verbs 2020-03-03 15:02:53 +01:00
test-nscd-flush.c shared: add helper for flushing nscd caches 2018-12-15 12:10:19 +01:00
test-nss.c tree-wide: replace if_indextoname() with format_ifname() 2019-05-29 14:21:19 +09:00
test-ordered-set.c basic/ordered-set: export networkd function to print string sets 2019-02-21 12:00:05 +01:00
test-os-util.c
test-parse-util.c basic/parse-util: add safe_atoux64() 2020-04-09 11:29:55 +02:00
test-path-lookup.c test: Add test for setting generator paths via environment 2020-03-04 11:25:14 +01:00
test-path-util.c meson: make user $PATH configurable 2019-11-13 22:34:14 +01:00
test-path.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-pretty-print.c codespell: fix spelling errors 2019-04-29 16:47:18 +02:00
test-prioq.c tree-wide: use _cleanup_set_free_ where appropriate 2020-05-06 17:08:17 +02:00
test-proc-cmdline.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-process-util.c util: uid_t, gid_t, and pid_t must be 32bit 2020-02-02 17:13:08 +01:00
test-procfs-util.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-random-util.c random-util: make use of GRND_INSECURE when it is defined 2020-05-10 11:15:16 +02:00
test-ratelimit.c Drop RATELIMIT macros 2019-09-20 16:05:53 +02:00
test-replace-var.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-rlimit-util.c tree-wide: drop missing.h 2019-10-31 17:57:03 +09:00
test-sched-prio.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-sd-hwdb.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-sd-path.c sd-path: handle case of missing runtime dir in test 2020-03-27 20:12:45 +01:00
test-seccomp.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-selinux.c
test-serialize.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
test-set-disable-mempool.c test: add tests for $SYSTEMD_MEMPOOL= 2018-10-12 17:54:23 +09:00
test-set.c test-set: make test-set not link to libshared and test test_set_put_strdup*() 2020-05-06 16:55:07 +02:00
test-sigbus.c util: split out memcmp()/memset() related calls into memory-util.[ch] 2019-03-13 12:16:43 +01:00
test-signal-util.c tree-wide: drop signal.h when signal-util.h is included 2019-11-04 00:30:32 +09:00
test-siphash24.c util: split out memcmp()/memset() related calls into memory-util.[ch] 2019-03-13 12:16:43 +01:00
test-sizeof.c macro: introduce DISABLE_WARNING_TYPE_LIMITS and make use of it everywhere 2020-05-25 18:25:09 +02:00
test-sleep.c tree-wide: Replace assert() by assert_se() when there is side effect 2020-05-10 09:23:12 +02:00
test-socket-netlink.c util-lib: move things that parse ifnames to shared/ 2020-01-11 12:07:28 +01:00
test-socket-util.c Merge pull request #15669 from andir/systemd-ipv6-pd-subnet-id 2020-05-27 18:47:26 +02:00
test-specifier.c test-specifier: add a simple test which prints "global" specifiers 2020-05-07 17:36:44 +02:00
test-stat-util.c tree-wide: drop missing.h 2019-10-31 17:57:03 +09:00
test-static-destruct.c test: add test for static destructor 2018-12-03 17:34:23 +01:00
test-strbuf.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
test-string-util.c string-util: add helper for extracting n'th line of a string 2020-01-13 16:37:42 +01:00
test-strip-tab-ansi.c shared/logs-show: strip trailing carriage returns at EOL/EOF 2019-10-29 10:54:45 +01:00
test-strv.c tree-wide: support a bunch of additional specifiers 2020-04-28 22:47:21 +02:00
test-strxcpyx.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
test-sysctl-util.c shared/sysctl-util: normalize repeated slashes or dots to a single value 2020-01-30 10:48:27 +01:00
test-systemd-tmpfiles.py codespell: fix spelling errors 2019-04-29 16:47:18 +02:00
test-tables.c udev/link-config: rename MACPolicy to MACAddressPolicy 2019-03-22 17:16:17 +01:00
test-terminal-util.c test-terminal-util: fix typo 2020-04-08 19:45:08 +02:00
test-time-util.c test: Use assert_se() where variables are only checked by assert 2020-05-06 23:03:25 +02:00
test-tmpfiles.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
test-udev.c tree-wide: drop missing.h 2019-10-31 17:57:03 +09:00
test-uid-range.c
test-umask-util.c tests: add test for umask-util.h 2019-04-30 09:53:09 +02:00
test-umount.c tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
test-unaligned.c util: split out memcmp()/memset() related calls into memory-util.[ch] 2019-03-13 12:16:43 +01:00
test-unit-file.c tree-wide: drop double newline 2019-11-04 00:30:32 +09:00
test-unit-name.c basic/unit-name: make sure UnitNameFlags is signed 2019-12-19 20:57:27 +01:00
test-user-util.c basic/user-util: always use base 10 for user/group numbers 2020-05-31 18:38:16 +02:00
test-utf8.c shared/logs-show: strip trailing carriage returns at EOL/EOF 2019-10-29 10:54:45 +01:00
test-util.c test-util: add more tests for ALIGN_POWER2 2019-12-09 18:36:00 +01:00
test-varlink.c tests: add varlink test 2019-05-09 14:14:20 -04:00
test-verbs.c headers: remove unneeded includes from util.h 2019-03-27 11:53:12 +01:00
test-watch-pid.c tests: move unit files to units/ subdirectory 2020-03-19 16:23:27 +01:00
test-watchdog.c
test-web-util.c
test-xattr-util.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
test-xdg-autostart.c test: Add test for XDG desktop file parsing and interpretation 2020-05-27 09:02:10 +02:00
test-xml.c