Yu Watanabe
2b22355075
Merge pull request #25823 from poettering/dissect-diskseq
...
gpt-auto: reference dissected partitions to mount via diskseq block device symlinks
2022-12-23 22:11:59 +09:00
Yu Watanabe
26c45a6c1d
tree-wide: have_effective_cap() may return negative errno
2022-12-23 22:11:00 +09:00
Yu Watanabe
d7301331e8
Merge pull request #25830 from yuwata/wait-online-unmanaged
...
wait-online: exit with success when all interfaces are ready or unmanaged
2022-12-23 22:10:38 +09:00
Yu Watanabe
9c29d87bee
macro: check existence of cleanup function before call it
...
The free function specified in the macro may be provided by a
dynamically loaded library.
Replaces #25781 .
2022-12-22 10:59:26 +01:00
Yu Watanabe
56dfde0d54
test-network: add testcase for no managed interface
2022-12-22 16:42:55 +09:00
Yu Watanabe
b09ec84700
test-network: split out wait-online related test case
2022-12-22 16:29:20 +09:00
Yu Watanabe
5432adae82
test-network: move one test case
2022-12-22 16:27:58 +09:00
Yu Watanabe
e20bae24d1
Merge pull request #25829 from poettering/empty-to-null-const-fix
...
string-util: don't add `const` to return pointer of empty_to_null() if input didn't have it
2022-12-22 10:29:59 +09:00
Yu Watanabe
ab3aed4a03
wait-online: exit with success when all interfaces are ready or unmanaged
...
Previously, when neither '--any' nor '--interface' options specified,
at least one of the interfaces must be in configured state.
This patch makes wait-online exit with success even if all interfaces
are in unmanaged state.
This may break backward compatibility in a rare situation. But in most
cases, this typically not change anything, as at least one interface
is managed by networkd.service when it is enabled.
This is mostly for making wait-online gracefully handle the case that
networkd.service and wait-online.service are enabled by mistake. In such
situation, all interfaces are typically not managed.
Fixes #25813 .
2022-12-22 09:40:46 +09:00
Yu Watanabe
de8409ac43
rules: add missing line continuation
...
Fixes a bug introduced by 953c928c24 .
Fixes #25811 .
2022-12-21 09:52:07 +01:00
Yu Watanabe
5bb1d7fbab
tree-wide: use -EBADF more
2022-12-21 01:50:33 +09:00
Yu Watanabe
19ee48a6c2
tree-wide: introduce PIPE_EBADF macro
2022-12-20 11:12:58 +09:00
Yu Watanabe
f26c38edfa
fuzz: sort headers
2022-12-20 11:12:58 +09:00
Yu Watanabe
57e7af551e
Merge pull request #25786 from keszybz/ebadf
...
Use -EBADF for fd initialization
2022-12-20 10:02:10 +09:00
Yu Watanabe
8d8d4b092a
Merge pull request #25787 from msekletar/rename-process-cap
...
units: allow systemd-userdbd to change process name
2022-12-20 09:58:47 +09:00
Yu Watanabe
8f1359bf85
unit: use underbar for module name
...
For consistency with src/core/unit.c.
2022-12-19 12:12:02 +01:00
Yu Watanabe
cc3254c446
Merge pull request #25779 from bluca/journa_remote_vacuum
...
journal-remote: follow-ups for #25076
2022-12-19 09:44:04 +09:00
Yu Watanabe
ea4b8f4cbf
test: systemd-mount --list and systemd-umount requires the device is initialized by udevd
...
Fixes #25674 .
2022-12-16 15:14:42 +09:00
Yu Watanabe
ad48ff12bd
test: show and check almost all journal entries since the relevant command being invoked
...
For some reasons, journal timestamps from other sources sometimes
inconsistent. For example,
```
$ journalctl --file system.journal -o short-monotonic -u resmontest.service
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN AAAA
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN A
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← A: ns1.unsigned.test IN A 10.0.0.1
[ 1112.171961] ns1.unsigned.test systemd[1]: resmontest.service: Failed to load configuration: No such file or directory
[ 1112.172223] ns1.unsigned.test systemd[1]: resmontest.service: Trying to enqueue job resmontest.service/start/fail
[ 1112.179866] ns1.unsigned.test systemd[1]: resmontest.service: Installed new job resmontest.service/start as 312
[ 1112.179894] ns1.unsigned.test systemd[1]: resmontest.service: Enqueued job resmontest.service/start as 312
[ 1112.180389] ns1.unsigned.test systemd[1]: resmontest.service: Will spawn child (service_enter_start): /usr/bin/resolvectl
[ 1112.180418] ns1.unsigned.test systemd[1]: resmontest.service: Passing 0 fds to service
[ 1112.180447] ns1.unsigned.test systemd[1]: resmontest.service: About to execute /usr/bin/resolvectl monitor
[ 1112.180477] ns1.unsigned.test systemd[1]: resmontest.service: Forked /usr/bin/resolvectl as 419
[ 1112.180619] ns1.unsigned.test systemd[1]: resmontest.service: Changed dead -> start
[ 1112.180651] ns1.unsigned.test systemd[1]: Starting resmontest.service...
[ 1112.180799] ns1.unsigned.test systemd[419]: resmontest.service: Kernel keyring access prohibited, ignoring.
[ 1112.180895] ns1.unsigned.test systemd[419]: resmontest.service: Executing: /usr/bin/resolvectl monitor
[ 1112.181383] ns1.unsigned.test systemd[1]: resmontest.service: Got notification message from PID 419 (READY=1)
[ 1112.181413] ns1.unsigned.test systemd[1]: resmontest.service: Changed start -> running
[ 1112.181441] ns1.unsigned.test systemd[1]: resmontest.service: Job 312 resmontest.service/start finished, result=done
[ 1112.181469] ns1.unsigned.test systemd[1]: Started resmontest.service.
```
In such case, `journalctl -f` may not show the entries what we are interested in.
Fixes #25749 . (At least, workarond for the issue.)
2022-12-16 03:43:38 +09:00
Yu Watanabe
ed9911630e
core/unit: fix log message
...
As you can see in the below, the dropped dependency Before=issue-24990.service
is not logged, but the dependency Before=test1.service which is not owned by
the units generated by the TEST-26 is logged.
Before:
systemd[1]: issue-24990.service: Dependency After=test1.service dropped, merged into issue-24990.service
systemd[1]: issue-24990.service: Dependency Before=test1.service dropped, merged into issue-24990.service
After:
systemd[1]: issue-24990.service: Dependency After=test1.service is dropped, as test1.service is merged into issue-24990.service.
systemd[1]: issue-24990.service: Dependency Before=issue-24990.service in test1.service is dropped, as test1.service is merged into issue-24990.service.
2022-12-16 03:15:51 +09:00
Yu Watanabe
0b92fbbaee
test: fix typo
2022-12-16 01:38:08 +09:00
Yu Watanabe
9b8eb412ca
Merge pull request #25756 from yuwata/test-resolve-1
...
test: several cleanups for TEST-75-RESOLVE
2022-12-16 00:53:52 +09:00
Yu Watanabe
6f3473ca03
Merge pull request #25718 from yuwata/locale-cleanups
...
locale: avoid TOCTOU in reading config files
2022-12-16 00:51:13 +09:00
Yu Watanabe
b3f1afc089
Merge pull request #24058 from qdeslandes/journald_regex_filtering
...
Allow for journald logs filtering on a per-unit basis
2022-12-15 22:03:33 +09:00
Yu Watanabe
133708b879
Revert "test: wait for the monitoring service to become active"
...
This reverts commit 5dd34c2604 .
`resolvectl monitor` sends notify event, and systemd-run wait for the
service being in active state. Hence, the loop is not necessary.
2022-12-15 21:50:13 +09:00
Yu Watanabe
ef09861a0b
test: suppress echo in monitor_check_rr()
2022-12-15 21:50:13 +09:00
Yu Watanabe
cd07f6e8e9
Merge pull request #25224 from poettering/measure-append
...
add --append= switch to systemd-measure
2022-12-15 21:47:29 +09:00
Yu Watanabe
f4128c8d51
Merge pull request #25735 from yuwata/switch-root-follow-ups
...
mount-util: several follow-ups for recent mount_switch_root() changes
2022-12-15 21:39:40 +09:00
Yu Watanabe
62650f4258
Merge pull request #25602 from fbuihuu/fix-TEST-73-LOCALE
...
localed: reload PID1 configuration after modifying /etc/locale.conf
2022-12-15 17:47:05 +09:00
Yu Watanabe
9d50f8508b
mount-util: make mount_switch_root() take a mount propagation flag
2022-12-15 14:17:22 +09:00
Yu Watanabe
edac5c4636
mountpoint-util: introduce mount_propagation_flag_is_valid()
2022-12-15 14:15:59 +09:00
Yu Watanabe
b205e59ad4
mountpoint-util: rename mount_propagation_flags_to_string() and friends as singular
2022-12-15 14:15:55 +09:00
Yu Watanabe
6c6eb219d5
mount-util: mount flag is unsigned long
2022-12-15 14:15:09 +09:00
Yu Watanabe
b8b4f80a8a
mount-util: drop unnecessary inline attributes
2022-12-15 14:15:09 +09:00
Yu Watanabe
993681def8
Merge pull request #25743 from yuwata/timesync-ipv6
...
timesync: ignore IPv6 addresses when the kernel does not support it
2022-12-15 12:57:54 +09:00
Yu Watanabe
60e84f0205
Merge pull request #25732 from enr0n/unit-test-machine-id-initialized
...
unit tests: do not fail when `/etc/machine-id` is empty
2022-12-15 12:55:04 +09:00
Yu Watanabe
a6e16d949c
Merge pull request #25723 from keszybz/generators-tmp
...
Run generators with / ro and /tmp mounted
2022-12-15 12:53:49 +09:00
Yu Watanabe
1af1c95e30
Merge pull request #25693 from yuwata/binfmt
...
binfmt: several cleanups
2022-12-15 12:52:30 +09:00
Yu Watanabe
f74a7cb45c
unit: check more specific path to be written by systemd-binfmt
...
Follow-up for 41807efb15 .
Replaces #25690 .
2022-12-15 03:36:27 +09:00
Yu Watanabe
94ba5b1532
binfmt: check if binfmt is mounted before applying rules
2022-12-15 03:36:27 +09:00
Yu Watanabe
5aaa79ce96
binfmt-util: also check if binfmt is mounted in read-write
2022-12-15 03:36:24 +09:00
Yu Watanabe
713e6e631d
timesync: ignore IPv6 addresses when the kernel does not support IPv6
...
Fixes #25728 .
2022-12-15 03:30:13 +09:00
Yu Watanabe
a51a9684c9
binfmt-util: split out binfmt_mounted()
...
No functional changes, just refactoring and preparation for later
commits.
2022-12-15 03:26:39 +09:00
Yu Watanabe
dc1752ea72
stat-util: introduce fd_is_read_only_fs()
...
Then, reimplement path_is_read_only_fs() by the function to avoid race.
2022-12-15 03:25:09 +09:00
Yu Watanabe
30a3181504
Merge pull request #25734 from yuwata/sd-id128
...
sd-id128: several followups
2022-12-15 02:23:03 +09:00
Yu Watanabe
f0d8358c24
man: update documents for sd_id128_get_invocation()
2022-12-15 00:07:17 +09:00
Yu Watanabe
75fa1f25c0
sd-id128: also refuse an empty invocation ID
2022-12-15 00:07:17 +09:00
Yu Watanabe
786b652c89
sd-id128: allow sd_id128_get_machine() and friend to be called with NULL
...
It may be useful to check if the machine ID or friends is set or not.
2022-12-15 00:07:17 +09:00
Yu Watanabe
e8a6625422
sd-id128: make sd_id128_get_machine() or friends return -EUCLEAN when an ID is in an invalid format
...
EINVAL suggests that the caller passes an invalid argument. EIO is
for "input/output error", i.e. the error you'd get if the disk or
file system is borked, and this error code could be returned by the
underlying read/write functions.
Let's make the functions return an unambiguous error code.
2022-12-15 00:07:13 +09:00
Yu Watanabe
7a12328735
timesync: downgrade log message about unsupported address family
...
As this is mostly not user's fault.
2022-12-14 23:55:21 +09:00
Yu Watanabe
bdc11d26d1
NEWS: fix typo
2022-12-14 20:41:42 +09:00
Yu Watanabe
56b7f112ed
locale-setup: avoid TOCTOU in reading locale.conf
2022-12-14 20:18:58 +09:00
Yu Watanabe
00afa6a38f
locale-setup: make failure in stat() critical
...
The file was created by this function. Hence, the failure is something
critical.
2022-12-14 20:18:58 +09:00
Yu Watanabe
50359113e9
locale-setup: clear partially loaded context on failure
2022-12-14 20:18:58 +09:00
Yu Watanabe
018befcff6
locale-setup: split locale_context_load() into small pieces
...
No functional change, just refactoring and preparation for later
commits.
2022-12-14 20:18:58 +09:00
Yu Watanabe
7294912f18
localed: avoid TOCTOU in loading config
2022-12-14 20:18:58 +09:00
Yu Watanabe
649512b934
env-file: introduce parse_env_file_fd()
2022-12-14 20:18:58 +09:00
Yu Watanabe
dd57a22e6a
env-file: several cleanups
...
- add missing assertions,
- rename function arguments for storing results,
- add typedef for callback.
2022-12-14 20:18:58 +09:00
Yu Watanabe
0ec8777e18
Merge pull request #25726 from dtardon/cleanups
...
Several small cleanups
2022-12-14 20:17:56 +09:00
Yu Watanabe
863b620a4a
resolve: fix NULL-pointer dereference
...
Fixes a bug introduced by 16a6bc5a7a .
Fixes CID#1501514.
2022-12-14 19:10:19 +09:00
Yu Watanabe
1d541ccdb9
hwdb: also add a generic entry for DualPoint Stick
...
Also mention Dell DualPoint Stick in the comment.
2022-12-14 01:50:11 +09:00
Yu Watanabe
d3bee9f300
hwdb: add comments about matching entries
...
Follow-up for 57bb707d48 .
This makes the comments in 60-evdev.hwdb, 60-keyboard.hwdb, and
70-pointingstick.hwdb consistent.
2022-12-14 01:50:07 +09:00
Yu Watanabe
c31e7bf07d
hwdb: drop trailing space
2022-12-14 01:45:10 +09:00
Yu Watanabe
ab84b9efb8
Merge pull request #25658 from yuwata/fuzz-etc-hosts
...
resolve: dedup entries in /etc/hosts
2022-12-14 01:44:12 +09:00
Yu Watanabe
16a6bc5a7a
resolve: dedup entries in /etc/hosts
...
This improves the performance of parsing the file and reduces memory pressure.
Running 'fuzz-etc-hosts timeout-strv' with valgrind,
Before:
total heap usage: 321,020 allocs, 321,020 frees, 15,820,387,193 bytes allocated
real 0m23.531s
user 0m21.458s
sys 0m1.961s
After:
total heap usage: 112,408 allocs, 112,408 frees, 7,297,480 bytes allocated
real 0m8.664s
user 0m8.545s
sys 0m0.065s
Hopefully fixes oss-fuzz#47708 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47708 ).
2022-12-13 20:37:48 +09:00
Yu Watanabe
59dad407a2
resolve: introduce more hash-ops and use them
...
No functional changes, just refactoring.
2022-12-13 20:37:48 +09:00
Yu Watanabe
232481a0e6
resolve: use dns_name_hash_ops_free
...
No functional changes, just refactoring.
2022-12-13 20:37:04 +09:00
Yu Watanabe
3deed83ae2
dns-domain: introduce dns_name_hash_ops_free
...
Preparation for later commits.
2022-12-13 20:32:44 +09:00
Yu Watanabe
4596c83658
in-addr-util: introduce in_addr_data_hash_ops_free and expose its compare and hash functions
...
Preparation for later commits.
2022-12-13 20:32:44 +09:00
Yu Watanabe
0f17886390
resolve: split manager_etc_hosts_lookup() into small parts
...
No functional changes, just refactoring.
2022-12-13 20:32:00 +09:00
Yu Watanabe
10b0c81802
resolve: adjust warning
2022-12-13 20:29:16 +09:00
Yu Watanabe
9f1a1f2047
resolve: merge two boolean variables
...
No functional changes, just refactoring.
2022-12-13 20:29:16 +09:00
Yu Watanabe
e4e340990f
resolve: introduce cleanup functions for EtcHostsItemBy{Address,Name}
...
No functional change, just refactoring and preparation for later
commits.
2022-12-13 20:29:16 +09:00
Yu Watanabe
bb5c77305e
resolve: make etc_hosts_item_by_{address,name}_free() accept NULL
2022-12-13 20:29:12 +09:00
Yu Watanabe
133eedad2b
resolve: rename EtcHostsItem -> EtcHostsItemByAddress
2022-12-13 20:26:55 +09:00
Yu Watanabe
0f7bdf3503
resolve: rename etc_hosts_free() -> etc_hosts_clear()
2022-12-13 20:26:55 +09:00
Yu Watanabe
10b89c59dc
Merge pull request #25713 from keszybz/hwdb-matching
...
Restore backwards compat in 60-evdev.rules
2022-12-13 18:13:27 +09:00
Yu Watanabe
b40c8ebdc8
sd-id128: fold do_sync flag into Id128FormatFlag
2022-12-12 22:07:48 +09:00
Yu Watanabe
c576920e67
man: mention that sd_id128_get_boot() and friend may return -ENOSYS
...
And drop to mention sd_id128_get_boot_app_specific() may return -ENOENT
or -ENOMEDIUM. The function does not read /etc/machine-id. But reads a
file in the procfs, which is a kind of the kernel API. Hence the
failures are caused only when the system has wrong setup.
2022-12-12 22:06:35 +09:00
Yu Watanabe
e2720340e9
sd-id128: make sd_id128_get_boot() and friend return -ENOSYS when /proc/ is not mounted
2022-12-12 22:04:53 +09:00
Yu Watanabe
9be90c401e
sd-id128: make sd_id128_get_boot() and friend return -ENOMEDIUM
2022-12-12 22:04:53 +09:00
Yu Watanabe
a237c6e0b0
man: mention sd_id128_get_machine() or friend may return -ENOPKG
2022-12-12 21:57:31 +09:00
Yu Watanabe
66c7949e08
test: add tests for "uninitialized" string handling by id128_read_fd()
2022-12-12 21:57:31 +09:00
Yu Watanabe
057bf780e9
sd-id128: make id128_read() or friends return -ENOPKG when the file contents is "uninitialized"
...
Then, this drops ID128_PLAIN_OR_UNINIT. Also, this renames
Id128Format -> Id128FormatFlag, and make it bitfield.
Fixes #25634 .
2022-12-12 21:57:31 +09:00
Yu Watanabe
28bf2de201
sd-id128: several cleanups
...
- use SD_ID128_STRING_MAX or friend,
- use sizeof(sd_id128_t),
- use newly introduced ascii_ishex().
2022-12-12 21:48:47 +09:00
Yu Watanabe
0ce8870f19
string-util: introduce ascii_ishex()
2022-12-12 21:47:22 +09:00
Yu Watanabe
733529d812
test: name_assign_type sysattr never exists for enumerated devices
...
As we filtered out network devices in the test.
2022-12-12 15:04:39 +09:00
Yu Watanabe
eb18e7b782
sd-device: fix double-free
...
If an attribute is read but the value is not used (i.e. ret_value is NULL),
then sd_device_get_sysattr_value() mistakenly frees the read data even though
it is cached internally.
Fixes a bug introduced by acfc2a1d15 .
Fixes #25702 .
2022-12-12 14:20:47 +09:00
Yu Watanabe
068ef623bd
resolve: add missing assertion
2022-12-10 10:32:29 +09:00
Yu Watanabe
14822ede9f
resolve: shorten code a bit
2022-12-10 10:32:29 +09:00
Yu Watanabe
494ef16743
resolve: drop recursion in TXT field handling
...
Fixes #25683 .
2022-12-10 10:32:09 +09:00
Yu Watanabe
029a7f5a0e
fuzz: shorten filename of testcase
...
Follow-up for 46dc071985 and
76519cecc7 .
2022-12-09 05:01:04 +09:00
Yu Watanabe
b9152f2d63
resolve: optimize conversion of TXT fields to json
...
Fixes oss-fuzz#54080 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54080 ).
Fixes #25654 .
2022-12-09 04:59:49 +09:00
Yu Watanabe
7d34567444
hexdecoct: fix NULL pointer dereferences in hexmem()
...
Fixes oss-fuzz#54090 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54090 ).
Fixes #25655 .
2022-12-09 04:55:47 +09:00
Yu Watanabe
45655e776f
hexdecoct: add missing NULL check
...
Fixes oss-fuzz#54065 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54065 ).
Fixes #25650 .
2022-12-09 04:54:43 +09:00
Yu Watanabe
6b0df52e58
test: add tests for base64_append()
2022-12-09 04:53:50 +09:00
Yu Watanabe
c21b316964
hexdecoct: several cleanups for base64_append()
...
- add missing assertions,
- use size_t for buffser size or memory index,
- handle empty input more gracefully,
- return the length or the result string,
- fix off-by-one issue when the prefix is already long enough.
2022-12-09 04:53:50 +09:00
Yu Watanabe
340bc268c8
fs-util: make chmod_and_chown_at() work with empty path and AT_FDCWD
...
Follow-up for 7d000133c2 .
Fixes CID#1500608.
2022-12-08 15:57:33 +01:00
Yu Watanabe
15f330cf87
man: mention that DefaultRouteOnDevice= create the IPv4 default route
...
And add an example setting for creating an IPv6 default route.
Closes #25440 .
2022-12-08 10:26:26 +01:00
Yu Watanabe
2e83783030
Merge pull request #25672 from jelly/FirwmwareName
...
Extend hostnamed DMI firmware properties
2022-12-08 16:04:36 +09:00