Yu Watanabe
a0344b17dd
bootctl-status: several follow-ups for unlink command
...
Follow-ups for 8702496bfb .
- add missing error cause in logging,
- add several missing assertions,
- drop an unnecessary initialization,
- make boot_config_find_in() return negative errno if nothing found,
- and several coding style fixlets.
2023-01-25 10:51:50 +00:00
Yu Watanabe
1b7586df97
bootctl-uki: several follow-ups for inspect_osrel()
...
Follow-ups for #26124 and #26158 .
- use os_release_pretty_name(),
- constify the buffer passed to inspect_osrel(),
- propagate errors in inspect_osrele(), and ignore them in the caller
side,
- and several coding style fixlets.
2023-01-25 10:51:38 +00:00
Yu Watanabe
5b532e14e3
bootctl-uki: several coding style fixlets
...
Mostly follow-ups for #26082 .
2023-01-24 16:32:34 +01:00
Yu Watanabe
8589823f9d
locale: also save XKB settings to vconsole.conf
...
Closes #24228 .
Replaces #25412 .
2023-01-23 11:30:03 +00:00
Yu Watanabe
50ec824570
locale: make errors in writing files not critical
...
Suggested at https://github.com/systemd/systemd/pull/25805#discussion_r1054871210
> we now write multiple files and we cannot possibly guarantee that
> either both updates worked or neither. unix fs apis simply have
> no concept that would allow us to implement that. hence I think
> we should update what we can, log about what we cannot, but return
> success as long as our in-memory state was updated.
2023-01-23 11:30:03 +00:00
Yu Watanabe
4f34fd5d40
locale: merge vconsole_convert_to_x11_and_emit() with method_set_vc_keyboard()
...
Similary, this also merges x11_convert_to_vconsole_and_emit() with
method_set_x11_keyboard().
No functional changes, preparation for later commits.
2023-01-23 11:30:03 +00:00
Yu Watanabe
b41ec10ae4
locale: split out XKB settings to X11Context
...
No functional changes, just refactoring and preparation for later
commits.
2023-01-23 11:30:03 +00:00
Yu Watanabe
c2ddaed483
locale: rename context_free_vconsole() -> context_clear_vconsole()
...
Similary, this also renames context_free_x11() -> context_clear_x11(),
to make it clear that these functions do not free Context.
Also, this makes context_clear() support to be called more than once.
2023-01-23 11:29:11 +00:00
Yu Watanabe
6f4514e84a
locale: do not use alloca() for strings which can be potentially arbitrary
2023-01-23 11:29:11 +00:00
Yu Watanabe
76400a623f
locale: several coding style fixlets
...
- add missing assertions,
- rename arguments for storing results,
- always initialize results on success,
- use _cleanup_ attribute at more places, etc.
2023-01-23 11:29:11 +00:00
Yu Watanabe
1dcfbc514c
systemctl,test: -EBADF instead of -EBADFD
...
Follow-up for da20baaecc .
2023-01-21 10:47:54 +01:00
Yu Watanabe
93d0cf7a37
test-load-fragment: shorten code a bit
2023-01-21 15:11:43 +09:00
Yu Watanabe
c9b733265f
test-load-fragment: fix memleak
...
Fixes a leak reported at https://github.com/systemd/systemd/pull/26115#issuecomment-1398026085 .
2023-01-21 15:11:29 +09:00
Yu Watanabe
d09df6b94e
tree-wide: fix typo
2023-01-20 15:32:16 +09:00
Yu Watanabe
36f73b6c67
test-unit-name: fix fd leak
...
Fixes an issue reported at https://github.com/systemd/systemd/issues/22576#issuecomment-1396774385 .
2023-01-20 14:55:46 +09:00
Yu Watanabe
86d82cb888
test-ndisc: fix memleak and fd leak
...
Fixes issues reported at #22576 .
2023-01-20 14:54:53 +09:00
Yu Watanabe
580586291f
NEWS: mention that Address= assumes /32 or /128 prefix length if not specified
2023-01-19 22:09:24 +09:00
Yu Watanabe
3402357063
in-addr-util: drop unused mode to parse prefix length
2023-01-19 22:09:24 +09:00
Yu Watanabe
e5e0743189
network: assume prefix length is full address size
...
The commit 0f707207b9 enables strong
warning about missing prefix length in Address= setting.
The change was done in v241, and was about 4 years ago.
Let's drop the legacy assumption and make the parser consistent with
'ip address' command.
C.f. #11307 .
Closes #26102 .
2023-01-19 22:09:10 +09:00
Yu Watanabe
5908d86425
network: do not enter failed state when received an invalid RA
...
Fixes the issue reported at https://github.com/systemd/systemd/issues/25891#issuecomment-1368509262 .
2023-01-19 12:36:26 +00:00
Yu Watanabe
a93cc5d911
test-network: drop unused file
2023-01-19 21:22:22 +09:00
Yu Watanabe
ff4d2a09fd
test: use 'udevadm trigger --settle' even if device is renamed
2023-01-19 17:58:05 +09:00
Yu Watanabe
1193448cb6
udevadm-trigger: also check with the original syspath if device is renamed
...
For older kernels that synthetic UUID is not supported, we need to also
check the original device name, as udevd broadcasts uevent with new
sysname.
Fixes #25115 .
2023-01-19 17:58:05 +09:00
Yu Watanabe
dfbd824a0b
udevadm-trigger: settle with synthetic UUID if the kernel support it
...
If the kernel support synthetic UUID in uevent, then let's assume that
the UUID is unique, and check only if the received UUID matches we
specified.
Partially fixes #25115 .
2023-01-19 17:57:56 +09:00
Yu Watanabe
b15039425f
udevadm-trigger: allow to fallback without synthetic UUID only first time
...
If a device is successfully triggered with synthetic UUID, then that means
the kernel support it. Hence, it is not necessary to fallback without UUID
for later devices.
2023-01-19 17:55:21 +09:00
Yu Watanabe
3e61656fab
sd-id128: introduce id128_hash_ops_free
2023-01-19 17:55:21 +09:00
Yu Watanabe
df0a741cdd
test-network: reprocess the loopback network interface
...
Fixes the issue reported at https://github.com/systemd/systemd-centos-ci/pull/585#issuecomment-1385537641 .
2023-01-18 14:08:14 +00:00
Yu Watanabe
d314345a34
test-udev: add a brief test for -= operator for SYMLINK
2023-01-17 14:39:42 +09:00
Yu Watanabe
ab250890c0
Merge pull request #26004 from poettering/cleanuo-erase-moar
...
tree-wide: use CLEANUP_ERASE() at many places
2023-01-17 14:04:02 +09:00
Yu Watanabe
841dfd3dc0
sd-dhcp-client: gracefully handle invalid ether type client ID
...
Currently, sd-dhcp-server accepts spurious client IDs, then the leases
exposed by networkd may be invalid. Let's make networkctl gracefully
show such leases.
Fixes #25984 .
2023-01-16 20:00:08 +00:00
Yu Watanabe
ea9dbf51c6
sd-dhcp6: always append the default status message generated from status code
...
Fixes #25988 .
2023-01-16 19:46:05 +00:00
Yu Watanabe
303dfa73b3
network: fix memleak
...
Fixes a bug introduced by af2aea8bb6 .
Fixes #25883 and #25891 .
2023-01-16 19:42:59 +00:00
Yu Watanabe
1d00da3755
NEWS: mention QuickAck=
2023-01-16 14:40:26 +09:00
Yu Watanabe
c972026888
NEWS: move one entry to the correct section
2023-01-16 14:40:25 +09:00
Yu Watanabe
f95fb19922
network: introduce QuickAck= for [DHCPv4] and [IPv6AcceptRA]
...
Closes #25906 .
2023-01-16 14:40:22 +09:00
Yu Watanabe
2cbb171d20
busctl: fix introspecting DBus properties
...
Follow-up for f2f7785d7a .
Fixes #26033 .
2023-01-15 15:39:46 +00:00
Yu Watanabe
d59ce37c28
Merge pull request #26047 from yuwata/udev-node-cleanups
...
udev: several cleanups
2023-01-13 14:46:58 +09:00
Yu Watanabe
93b0ec8bc5
shell-completion: systemctl: add --no-warn
2023-01-12 11:51:19 +09:00
Yu Watanabe
91dfb74ef5
systemctl: suppress warning about missing /proc/ when --no-warn
...
Follow-up for 0f958c8d4f .
systemctl is called many times by dnf or so, and missing /proc/ is not
a user's fault, but package manager's issue.
With this commit, we can suppress the warning by updating rpm macros if
necessary.
2023-01-12 11:50:41 +09:00
Yu Watanabe
bf4a5ac804
network/l2tp: parse address or address type from correct string
...
Fixes a bug introduced by 8b49ee2dcd .
Fixes #26011 .
2023-01-11 13:20:14 +09:00
Yu Watanabe
4da53043a6
network/l2tp: fix error code in log message
2023-01-11 13:11:00 +09:00
Yu Watanabe
5ccbe7fb19
test-netlink: use dummy interface to test assigning new interface name
...
Fixes #25981 .
2023-01-10 21:01:59 +09:00
Yu Watanabe
5afaf40712
shutdown: propagate the original errno
...
Follow-up for b293bb2316 .
2023-01-10 12:06:49 +01:00
Yu Watanabe
2d0d75b279
test: add tests for failure in renaming network interface
2023-01-10 14:25:20 +09:00
Yu Watanabe
e9336d6ac3
core/device: ignore failed uevents
...
When udevd failed to process the device, SYSTEMD_ALIAS or any other
properties may contain invalid values. Let's refuse to handle the uevent.
2023-01-10 14:25:20 +09:00
Yu Watanabe
58b0a3e511
core/device: downgrade log level for ignored errors
2023-01-10 14:25:20 +09:00
Yu Watanabe
eedfef0f0d
sd-device: introduce device_get_property_int()
2023-01-10 14:25:20 +09:00
Yu Watanabe
210033847c
udev: restore syspath and properties on failure
...
Otherwise, invalid sysname or properties may be broadcast to udev
listeners.
2023-01-10 14:25:16 +09:00
Yu Watanabe
eafff21da2
test: modernize test-netlink.c
2023-01-09 20:33:35 +09:00
Yu Watanabe
ff88b94953
udev: move device_rename() from device-private.c
...
The function is used only by udevd.
2023-01-09 15:02:55 +09:00
Yu Watanabe
1de6a49721
sd-device: do not directly access entry in sd-device object
...
No functional change, just refactoring.
2023-01-09 15:00:56 +09:00
Yu Watanabe
9a26098e90
sd-device: make device_set_syspath() clear sysname and sysnum
...
Otherwise, when a new syspath is assigned to the sd-device object,
sd_device_get_sysname() or _sysnum() will provide an outdated device
name or number.
2023-01-09 14:00:20 +09:00
Yu Watanabe
bb1234d1d6
udev: align table
2023-01-09 11:20:35 +09:00
Yu Watanabe
3d5af17045
bootctl: 'tmp' is always non-NULL
...
Fixes CID#1502330.
2023-01-09 11:00:56 +09:00
Yu Watanabe
a42909e60c
bootctl: fix indentation
2023-01-09 10:58:10 +09:00
Yu Watanabe
da8f9c4661
tmpfile: make failure in path_extract_filename() non-critical
2023-01-09 10:57:50 +09:00
Yu Watanabe
8a555dcbf7
tmpfile: fix resource leak
...
Fixes CID#1501687.
2023-01-09 10:52:33 +09:00
Yu Watanabe
01a33cf7e8
dissect: reduce indent in mtree_print_item()
2022-12-26 16:42:29 +09:00
Yu Watanabe
5ffa6a0af4
dissect: do not trigger assertion on error
...
recurse_dir() does not provide 'sx' on error.
Fixes #25862 .
2022-12-26 16:42:29 +09:00
Yu Watanabe
167f2c1a2b
dissect: use assert() when no side effect
2022-12-26 16:42:29 +09:00
Yu Watanabe
20ada51464
Merge pull request #25828 from poettering/no-more-basename
...
convert a number of basename() invocations to path_extract_filename()
2022-12-24 08:13:00 +09:00
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