Yu Watanabe
1cca93f7f3
systemctl: fix log message when glob patterns passed to disable command and friends
...
Fixes #32599 .
2024-05-01 17:13:10 +09:00
Yu Watanabe
9d3d6c1e07
core/exec-credential: update comment
2024-05-01 15:58:20 +09:00
Yu Watanabe
4e494e6aac
tree-wise: several cleanups for logging
...
- drop unnecessary SYNTHETIC_ERRNO() when the logger does not propagate
error code,
- drop unnecessary '%m' in error message when the error code is
specified with SYNTHETIC_ERRNO(),
- add missing full stop at the end of log message,
- use RET_GATHER(),
- add missing ", ignoring.",
- upeercase the first letter, etc., etc...
2024-05-01 04:41:06 +09:00
Yu Watanabe
8719a65003
test-journal-flush: use archived journal if possible
...
Workaround for #32436 .
The test may fail if the journal is vacuumed or rotated during the test is running.
Let's use the newest archive file for safety.
2024-04-30 10:50:43 +02:00
Yu Watanabe
90db1582a9
run/run: fix invocation ID handling
...
Fixes a regression introduced by 8157cc0e3e .
2024-04-25 10:58:56 +02:00
Yu Watanabe
d11ba681ab
network/radv: use sd_ndisc_prefix and friends to manage prefixes and so on
...
No functional change, just refactoring.
2024-04-25 09:45:02 +09:00
Yu Watanabe
29d9672eb2
network/radv: rename pref64Prefix -> Prefix64
...
Also this made several coding style cleanups.
2024-04-25 09:44:57 +09:00
Yu Watanabe
30eab38020
network/route: use our definitions of route preference
...
Including linux/icmpv6.h easily trigger conflicts when another header
includes netinet/icmp6.h. Let's drop the dependency and use our
definition of the same values.
2024-04-25 09:23:31 +09:00
Yu Watanabe
68ee2ba1ee
Merge pull request #32464 from YHNdnzj/journal-object-invocation-id
...
journal: small fixes for OBJECT_SYSTEMD_INVOCATION_ID
2024-04-25 06:40:45 +09:00
Yu Watanabe
d3a4b78b03
Merge pull request #32424 from yuwata/network-radv-cleanups
...
network/radv: further cleanups
2024-04-24 17:51:47 +09:00
Yu Watanabe
6fe51dc50c
network/radv: merge two boolean flags for prefix into one
2024-04-24 12:26:25 +09:00
Yu Watanabe
c7c56724a5
sd-radv: use in6_addr_prefix_intersect()
2024-04-24 12:22:05 +09:00
Yu Watanabe
21ae0b4b3c
in-addr-util: introduce in{4,6}_addr_prefix_intersect()
2024-04-24 12:22:05 +09:00
Yu Watanabe
9dc2503539
sd-radv: allow to send multiple routes or prefix64 that have intersection with others
...
I cannot find any RFC that states we should not send multiple route
prefix or pref64 options that have intersection with others.
Moreover, each route prefix option has preference field, thus, user may
want to send e.g. a prefix with the normal preference, and another sub
prefix with the high preference. Previously, such configuration was
prohibited. Let's allow that now.
2024-04-24 12:22:05 +09:00
Yu Watanabe
96dd66eddf
sd-radv: send RA on update in caller side
...
As the caller may want to update multiple prefixes and friends.
Let's not automatically announce on update in library side.
Currently, only prefix is updated during running. Hence, this does not
change any effective behavior.
2024-04-24 12:22:05 +09:00
Yu Watanabe
956709a28f
Merge pull request #32438 from YHNdnzj/taint-cleanup
...
core/manager: clean up taint strings
2024-04-24 11:44:06 +09:00
Yu Watanabe
bd0ec61ae3
journal: do not rotate unrelated journal files when full or corrupted
...
When we fail to add an entry to a journal file, typically when the file
is full or corrupted, it is not necessary to rotate other journal files.
Not only that's unnecessary, rotating all journal files allows
unprivileged users to wipe system or other user's journals by writing
many journal entries to their own user journal file.
Let's rotate all journal files only when
- it is really requested by a privileged user (e.g. by journalctl --rotate), or
- the system time jumps backwards.
And, otherwise rotate only the journal file we are currently writing.
2024-04-23 15:13:05 +02:00
Yu Watanabe
c6aadfdd32
ukify: swap the ordering of config search paths
...
Let's follow our usual ordering.
Follow-up for a05fa30f88 .
2024-04-22 20:38:16 +02:00
Yu Watanabe
a05381d58b
network/radv: drop unnecessary conditions
...
sd_radv_set_xyz() will handle invalid values gracefully.
2024-04-23 02:06:33 +09:00
Yu Watanabe
c6ffb8789c
network/radv: warn about non-zero preference with zero lifetime
...
Note that the misconfiguration will be handled gracefully. So it is not
necessary to adjust value here. Let's only warn about that.
2024-04-23 02:05:41 +09:00
Yu Watanabe
efe96c34a0
network/radv: verify [IPv6Prefix] section or friends in network_adjust_radv()
...
Previously, network_drop_invalid_pref64_prefixes() was never called.
This also fixes that.
2024-04-23 02:04:18 +09:00
Yu Watanabe
9e4b40f26a
man: fix typo
...
Follow-up for 403492793a .
2024-04-23 01:42:11 +09:00
Yu Watanabe
6bd3102e3e
man: fix typo
...
Follow-up for fef46ffb5b .
2024-04-23 01:42:11 +09:00
Yu Watanabe
2fa480592d
sd-event: fix fd leak when fd is owned by IO event source
...
When an IO event source owns relevant fd, replacing with a new fd leaks
the previously assigned fd.
===
sd_event_add_io(event, &s, fd, ...);
sd_event_source_set_io_fd_own(s, true);
sd_event_source_set_io_fd(s, new_fd); <-- The previous fd is not closed.
sd_event_source_unref(s); <-- new_fd is closed as expected.
===
Without the change, valgrind reports the leak:
==998589==
==998589== FILE DESCRIPTORS: 4 open (3 std) at exit.
==998589== Open file descriptor 4:
==998589== at 0x4F119AB: pipe2 (in /usr/lib64/libc.so.6)
==998589== by 0x408830: test_sd_event_source_set_io_fd (test-event.c:862)
==998589== by 0x403302: run_test_table (tests.h:171)
==998589== by 0x408E31: main (test-event.c:935)
==998589==
==998589==
==998589== HEAP SUMMARY:
==998589== in use at exit: 0 bytes in 0 blocks
==998589== total heap usage: 33,305 allocs, 33,305 frees, 1,283,581 bytes allocated
==998589==
==998589== All heap blocks were freed -- no leaks are possible
==998589==
==998589== For lists of detected and suppressed errors, rerun with: -s
==998589== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
2024-04-22 18:30:12 +08:00
Yu Watanabe
4f52944054
man: fix typo
...
Follow-ups for 418f2dc755 .
2024-04-22 18:44:48 +09:00
Yu Watanabe
0fe4a1c870
test-network: add test for [IPv6SendRA] ReachableTimeSec= and RetransmitSec=
2024-04-22 18:42:56 +09:00
Yu Watanabe
5d8b72e1e0
man: slightly rephrase RetransmitSec= setting
2024-04-22 18:42:46 +09:00
Yu Watanabe
59d475ba40
network/radv: introduce ReachableTimeSec= setting
...
To make the reachable time in the RA header sent by networkd
configurable.
2024-04-22 18:41:37 +09:00
Yu Watanabe
bc50700c7e
sd-radv: allow to configure reachable time in RA header
2024-04-22 18:40:10 +09:00
Yu Watanabe
cb7e892c22
sd-journal: downgrade log message "Unused data (entry_offset==0)"
...
This happens when journal is rotated after a data is written but before
an entry that linked to the data is not written yet.
This is neither data corruption, nor program error. Let's downgrade the
log level.
Closes #32153 .
2024-04-20 13:27:37 +02:00
Yu Watanabe
f0297ea097
test: add test case for sd_journal_{get,seek,test}_cursor()
...
For issue #31516 .
2024-04-20 13:26:57 +02:00
Yu Watanabe
4a7cd0caad
sd-event: fix sd_event_source_get_inotify_path()
...
Follow-ups for 74c4231ce5 .
Previously, the path is obtained from the fd, but it is closed in
sd_event_loop() to unpin the filesystem.
So, let's save the path when the event source is created, and make
sd_event_source_get_inotify_path() simply read it.
2024-04-20 11:14:32 +02:00
Yu Watanabe
201f76287f
network/radv: sd-radv allows to update MAC address without stopping
2024-04-20 14:59:27 +09:00
Yu Watanabe
1fea917a1b
sd-radv: use sd_radv_is_running()
...
This also drops several unnecessary conditions for checking sd-radv is running
or not in setting options, e.g. home agent or mac address.
2024-04-20 14:59:27 +09:00
Yu Watanabe
89d7f069d3
sd-radv: shorten enumerated type definition
2024-04-20 14:59:27 +09:00
Yu Watanabe
d51377ac42
test-network: add test for global UseDomains= setting
2024-04-20 12:01:53 +09:00
Yu Watanabe
418f2dc755
network: introduce network- and protocol-independent default for UseDomains=
...
Follow-up for fb57300743 .
Prompted by #32273 .
2024-04-20 12:01:53 +09:00
Yu Watanabe
d5f24a0ea9
sd-event,sd-journal: fix error handling of inotify_add_watch_fd()
...
Fixes a bug in 97ef539169 and
858749f731 .
2024-04-19 11:10:55 +02:00
Yu Watanabe
74c4231ce5
sd-event: introduce sd_event_source_get_inotify_path()
...
This may be useful when there are multiple inotify event sources exist.
Without this, users need to manage the event sources and paths.
2024-04-19 14:23:11 +09:00
Yu Watanabe
fc6ec43c02
man: drop spurious version info for error code
...
Follow-up for 87fe0a6960 .
2024-04-19 14:23:08 +09:00
Yu Watanabe
c1ab4458f2
sd-event: rename argument for storing result
2024-04-19 13:59:26 +09:00
Yu Watanabe
ff5b9aeeda
Merge pull request #32340 from YHNdnzj/wait-for-unit-cleanup
...
bus-wait-for-units: some cleanup
2024-04-19 12:36:48 +09:00
Yu Watanabe
2a1e890943
sd-radv: reset timer on sending unsolicited RA
...
Addresses https://github.com/systemd/systemd/pull/32267#discussion_r1567078807 .
2024-04-19 12:05:41 +09:00
Yu Watanabe
16e4dce6e8
sd-radv: expose sd_radv_send()
...
To allow library users manually send RA.
Currently, this is not used, but will be used later.
2024-04-19 12:04:58 +09:00
Yu Watanabe
8276dd9ef2
Merge pull request #32290 from yuwata/network-conf-parser-cleanups
...
network,nspawn: several cleanups for conf-parsers
2024-04-19 11:53:22 +09:00
Yu Watanabe
ba5dc3afad
sd-radv: set router preference gracefully
...
Rather than refusing to set non-zero preference, when lifetime is zero,
let's handle that gracefully on send.
2024-04-19 11:44:59 +09:00
Yu Watanabe
03401969d4
sd-radv: allow to modify RA header elements without stopping sd-radv
...
This also makes too large retransmit time handled gracefully,
as even if a too large value is specified, usec_to_be32_msec() in
radv_send_router() will handle it gracefully anyway.
Note, networkd still refuses such invalid values. Hence, this does not
change any effective behavior.
2024-04-19 11:44:59 +09:00
Yu Watanabe
f72e851fd3
conf-parser: move config_parse_timezone() to conf-parser.[ch]
...
Even though it is currently only used by networkd, the parser itself
is quite generic. Let's move it to the shared library.
2024-04-19 10:23:01 +09:00
Yu Watanabe
6d06b76710
nspawn: rename config_parse_timezone() -> config_parse_timezone_mode()
...
The parser does not parse timezone, but timezone mode. Let's rename the
parser to more specific name.
2024-04-19 10:23:01 +09:00
Yu Watanabe
760c2724a3
nspawn: align tables
2024-04-19 10:23:00 +09:00
Yu Watanabe
d12fb2bc7b
network: introduce link_get_use_ntp()
...
No functional change, just refactoring.
2024-04-19 10:23:00 +09:00
Yu Watanabe
8763e48342
network: move NTP related conf parsers to networkd-ntp.[ch]
...
No functional change, just refactoring.
2024-04-19 10:23:00 +09:00
Yu Watanabe
9646ffe2ca
network: introduce link_get_use_dns()
...
No functional change, just refactoring.
2024-04-19 10:23:00 +09:00
Yu Watanabe
7a169cb40f
network: introduce link_get_use_domains()
...
No functional change, just refactoring.
2024-04-19 10:23:00 +09:00
Yu Watanabe
54bb2c0e61
network: move DNS related conf parsers to networkd-dns.[ch]
...
No functional change, just refactoring.
2024-04-19 10:23:00 +09:00
Yu Watanabe
78f5c649e2
network: rename DHCPUseDomains -> UseDomains
...
As it is also used for NDisc.
2024-04-19 10:23:00 +09:00
Yu Watanabe
5e485e1aa2
udev: fix assignment of ret_truncated
...
Follow-ups for 089bef6631 .
2024-04-18 08:25:03 +02:00
Yu Watanabe
955d5012e0
blockdev-util: fix typo
...
Follow-up for 33ff155957 .
2024-04-18 13:08:14 +09:00
Yu Watanabe
f846002fa2
Merge pull request #32192 from yuwata/part-scan
...
blockdev-util: fix detection of partscan
2024-04-18 11:38:48 +09:00
Yu Watanabe
d2a0ef6073
Merge pull request #32249 from CodethinkLabs/vmspawn/predicatable_tap_names
...
vmspawn: generate predicatable TAP device names and MAC addresses
2024-04-18 10:26:07 +09:00
Yu Watanabe
33ff155957
blockdev-util: also read 'ext_range' sysattr to check if the partscan is enabled
...
The 'capability' sysattr was deprecated by
https://github.com/torvalds/linux/commit/e81cd5a983bb35dabd38ee472cf3fea1c63e0f23 (v6.3).
2024-04-18 09:48:26 +09:00
Yu Watanabe
705c418f20
sd-device: introduce device_get_sysattr_unsigned_full()
2024-04-18 09:46:57 +09:00
Yu Watanabe
87fe0a6960
man: fix wrong version info ( #31949 )
...
Fixes #31920 .
2024-04-18 09:45:51 +09:00
Yu Watanabe
3b4eeccd27
test-network: add test case of RS sent by the same interface
2024-04-18 09:40:23 +09:00
Yu Watanabe
45c2bbbaea
test-network: introduce check_networkd_log() helper function
2024-04-18 09:40:23 +09:00
Yu Watanabe
864c7980c0
test-network: drop trailing spaces
...
Follow-up for fb57300743 .
2024-04-18 09:40:23 +09:00
Yu Watanabe
769f9744b7
network/ndisc: disable Neighbor discovery client if RADV is enabled
...
Running both sd-ndisc and sd-radv should be mostly a misconfiguration,
but may not. So, let's only disable sd-ndisc by default when sd-radv is
enabled, but allow when both are explicitly requested.
2024-04-18 09:40:23 +09:00
Yu Watanabe
50ba4e401a
sd-radv: refuse packet from the same interface
...
Prompted by https://github.com/systemd/systemd/pull/32267#discussion_r1566721306 .
2024-04-18 09:40:23 +09:00
Yu Watanabe
258729a3b8
Merge pull request #32308 from yuwata/sd-ndisc-disable-timer-on-recv
...
sd-ndisc: disable one more timer event source
2024-04-18 09:28:16 +09:00
Yu Watanabe
52fb945cb7
Merge pull request #32318 from YHNdnzj/skip-leading-char
...
journal-gatewayd: use skip_leading_chars
2024-04-18 06:18:09 +09:00
Yu Watanabe
d723363a86
string-util: use special_glyph() at one more place
...
No functional change, just refactoring.
2024-04-17 17:03:49 +08:00
Yu Watanabe
54a4ffc077
fuzz-ndisc-rs: also test packets with sd-radv
...
Addresses https://github.com/systemd/systemd/pull/32267#discussion_r1566715787 .
Suggested-by: Evgeny Vereshchagin <evvers@ya.ru >
2024-04-17 11:12:42 +03:00
Yu Watanabe
88382e8dab
test: fix typo
...
Follow-up for 236634c82c .
2024-04-17 13:29:39 +09:00
Yu Watanabe
238ed432c3
sd-ndisc: improve debugging logs
2024-04-17 13:23:44 +09:00
Yu Watanabe
31db4c1bd5
sd-ndisc: disable one more timer event source
...
Otherwise, even if we have already received RA, timeout callback will be
called. Currently, networkd mostly does nothing on timeout, hence should
not change any effective behavior.
Follow-up for e7cb80474d .
2024-04-17 13:23:44 +09:00
Yu Watanabe
e27f2ad6be
Merge pull request #32300 from mrc0mmand/assorted-tweaks
...
test: split TEST-50-DISSECT into smaller parts
2024-04-17 11:52:30 +09:00
Yu Watanabe
2153347506
Merge pull request #32303 from CodethinkLabs/push_down_disk_partitioning
...
test-64-udev-storage: Push disk partitioning into the testsuite itself
2024-04-17 11:49:23 +09:00
Yu Watanabe
78d5bad2f5
Merge pull request #32294 from yuwata/network-generator-creds
...
network-generator: also load drop-ins for networkd.conf from credentials
2024-04-16 16:42:59 +09:00
Yu Watanabe
30d10a08be
Merge pull request #32297 from yuwata/networkctl-cat-without-args
...
networkctl: allow to call 'networkctl cat' without arguments
2024-04-16 16:42:46 +09:00
Yu Watanabe
e188243d1f
network: fix use of wrong flag
...
Fixes a bug introduced by 86a66e9b95 (v255).
2024-04-16 14:17:43 +09:00
Yu Watanabe
9c202ba2e2
test: add test case for 'networkctl cat' without arguments
2024-04-16 13:31:14 +09:00
Yu Watanabe
78281bd53a
networkctl: allow to call 'networkctl cat' without arguments
...
Then, show networkd.conf and its drop-ins.
2024-04-16 13:31:14 +09:00
Yu Watanabe
38b4eb228a
man: add missing drop-in directory
2024-04-16 13:00:49 +09:00
Yu Watanabe
9a4a8fbe48
test: add test case for network.conf.* credential
2024-04-16 12:45:08 +09:00
Yu Watanabe
e12e16e9f7
network-generator: also copy drop-ins for networkd.conf from credential
...
Follow-up for 1a30285590 .
2024-04-16 12:45:08 +09:00
Yu Watanabe
41a4657615
NEWS: fix typo
2024-04-16 12:21:36 +09:00
Yu Watanabe
11fc03dfff
Merge pull request #32103 from yuwata/udev-load-credentials
...
udev: load udev rules from credentials
2024-04-16 11:45:22 +09:00
Yu Watanabe
69628e3b3b
sd-radv: drop unnecessary argument
...
The argument always has the same value.
2024-04-16 11:18:33 +09:00
Yu Watanabe
19f3cc86a0
sd-radv: set only basic information on stop
...
There are many possible reasons to stop the service;
tentative reboot of the service or the system, the router may be
revoked, and so on.
And, each situations, the availability of the previously announced
options e.g. prefixes, DNSSL and so on is not clear.
So, let's announce only the clear information, that is, the router
lifetime is zero. which indicates that the router will be invalidated
(regardless tentative or not).
2024-04-16 11:18:33 +09:00
Yu Watanabe
0b7b75eea7
Merge pull request #32267 from yuwata/sd-ndisc-router-solicit
...
sd-radv: introduce sd_ndisc_router_solicit and use it
2024-04-16 11:18:07 +09:00
Yu Watanabe
a3e4edd1af
test: add test for systemd-udev-load-credentials.service
2024-04-16 10:35:13 +09:00
Yu Watanabe
cc2bcbf605
sd-radv: use ICMP6Packet and sd_ndisc_router_solicit
...
Then, sd-radv can reject invalid Router Solicit messages, e.g. that have
invalid options.
No effective functional change, just refactoring.
2024-04-16 09:59:52 +09:00
Yu Watanabe
8c1f24fb95
sd-radv: introduce sd_ndisc_router_solicit
...
It is not used in this stage, but will be used later in sd-radv.
2024-04-16 09:59:48 +09:00
Yu Watanabe
5700e755a9
units: introduce systemd-udev-load-credentials.service
2024-04-16 09:45:43 +09:00
Yu Watanabe
51be364bbb
udevadm-control: add --load-credentials option
...
When specified, credentials udev.conf.* and udev.rules.* are copied to
the corresponding directories.
2024-04-16 09:45:25 +09:00
Yu Watanabe
7b3048358b
udevadm-control: split out send_control_commands()
...
No functional change, just refactoring and preparation for later
commits.
2024-04-16 09:42:20 +09:00
Yu Watanabe
b2800ec597
udevadm-control: check if control command really specified
...
Previously, 'udevadm control' only checked the number of the arguments.
So, if only `--timeout` is specified, it spuriously did nothing and succeeded.
This makes the command request at least one control command.
2024-04-16 09:42:20 +09:00
Yu Watanabe
6c15a28454
creds-util: move pick_up_credentials() from network-generator
...
The function is quite general, and can be used at other places.
Let's move to our shared library.
2024-04-16 09:42:20 +09:00
Yu Watanabe
a40e495847
network-generator: rename NETWORKD_UNIT_... -> NETWORK_UNIT_...
...
As .link files are used by systemd-udevd, rather than systemd-networkd.
Also, this makes it ends with '/', to follow our recent coding style.
2024-04-16 09:42:20 +09:00
Yu Watanabe
e2f0876ecd
dissect: refuse to use diskseq if ID_IGNORE_DISKSEQ=1 is specified
...
Follow-up for 1a81ddef00 .
2024-04-15 16:50:45 +02:00