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
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
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
Yu Watanabe
9506269d12
Merge pull request #32266 from yuwata/libsystemd-network-trivial-cleanups
...
libsystemd-network: trivial cleanups
2024-04-15 14:43:12 +09:00
Yu Watanabe
049bdac7b6
ndisc-option: add missing case
...
Follow-up for 9f3587ae44 .
2024-04-15 14:41:45 +09:00
Yu Watanabe
6b628fa1d0
Merge pull request #32263 from YHNdnzj/cg-read-pid
...
core/execute: also check cg_is_threaded for clone3()
2024-04-15 14:39:28 +09:00
Yu Watanabe
14f3bdaa73
Merge pull request #32271 from YHNdnzj/arch-man
...
Fixes for links to man projects
2024-04-15 14:35:04 +09:00
Yu Watanabe
ac336e754e
sd-ndisc: make ndisc_send() and icmp6_send() take struct in6_addr
...
No functional change, just refactoring.
2024-04-15 06:23:11 +09:00
Yu Watanabe
2c28eb0266
libsystemd-network: make constant addresses type-safe
...
No functional change, just refactoring.
2024-04-15 06:23:11 +09:00
Yu Watanabe
dea17a0864
dhcp6-network: constify arguments
...
No functional change, just refactoring.
2024-04-15 06:23:11 +09:00
Yu Watanabe
d05487ef95
Merge pull request #32272 from DaanDeMeyer/volatile
...
mkosi: various improvements
2024-04-15 04:34:56 +09:00
Yu Watanabe
ae9fd433d6
Merge pull request #32194 from henryli001/lihl/add-defaultUseDomains-config
...
network: add mechanism to configure default UseDomains= setting
2024-04-14 13:40:06 +09:00
Yu Watanabe
e6fa91195b
test-network: add test for stack overflow in qdisc_drop() and tclass_drop()
2024-04-13 09:39:55 +09:00
Yu Watanabe
632d321050
network/tc: fix stack overflow when dropping tclass or qdisc
...
Fixes a bug introduced by be8e933900 (v255).
Fixes #32247 .
Fixes #32254 .
2024-04-13 08:49:54 +09:00
Yu Watanabe
bffc1a28d5
Merge pull request #32257 from yuwata/tree-wide-trivial-style-fixes
...
tree-wide: trivial style and typo fixes
2024-04-13 08:02:18 +09:00
Yu Watanabe
7f5c82aaf3
tree-wide: insert missing space after comma
2024-04-13 05:44:04 +09:00
Yu Watanabe
b2da2296ff
journal: drop thousands separator in comment
2024-04-13 05:43:37 +09:00
Yu Watanabe
6d3024369e
home: wrap long line
2024-04-13 05:42:21 +09:00
Yu Watanabe
c133387f7e
homectl: realign table
2024-04-13 05:41:46 +09:00
Yu Watanabe
4dbcda1cca
network/ndisc: fix typo
...
Follow-up for e42a74803a .
2024-04-13 05:21:42 +09:00
Yu Watanabe
bf4c90caed
core: fix typo
...
Follow-up for 21b366121f .
2024-04-13 05:20:05 +09:00
Yu Watanabe
87bbcb26c8
Merge pull request #32255 from YHNdnzj/strextendf
...
shared/killall: minor modernization
2024-04-13 05:10:20 +09:00
Yu Watanabe
976c4b38c5
Merge pull request #32256 from YHNdnzj/network-close-and-replace
...
sd-dhcp-server: use close_and_replace (avoid fd leak)
2024-04-13 05:09:36 +09:00
Yu Watanabe
296afa8477
ndisc-option: also ignore Prefix Information option with multicast address
...
Fixes https://github.com/systemd/systemd/pull/32215#issuecomment-2049624693
2024-04-12 10:34:12 +01:00
Yu Watanabe
b263362254
network/ndisc: drop onlink prefix when valid lifetime is zero
...
Replaces 155d7a2c04 .
2024-04-12 06:12:03 +09:00
Yu Watanabe
9f368d9eb2
network/ndisc: do nothing for existing routes if on-link flag is zero
...
This effectively reverts commit 155d7a2c04 .
From RFC 4861 section 6.3.4:
> Note, however, that a Prefix Information option with the on-link flag
> set to zero conveys no information concerning on-link determination and
> MUST NOT be interpreted to mean that addresses covered by the prefix
> are off-link.
So, we should not drop previously configured routes when receieved a RA
with Prefix Information option without on-link flag.
Closes #28435 .
2024-04-12 06:12:03 +09:00
Yu Watanabe
f87a606e10
Merge pull request #32213 from yuwata/network-ndisc-redirect-fix-sender-address-verification
...
network/ndisc: fix sender address verification of Redirect message
2024-04-12 06:09:44 +09:00
Yu Watanabe
bffa1c4889
sd-ndisc-redirect: fix verification of target address
...
See RFC 4861 section 8.1.
2024-04-12 04:59:42 +09:00
Yu Watanabe
9944629eee
network/ndisc: fix verification of sender of Redirect message
...
The sender must be the first-hop router of the destination. Previously,
we only accepted Redirect messages whose sender is the current default
router with the highest priority.
See RFC 4861 section 8.1 for more details.
Fixes #31981 .
2024-04-12 04:59:42 +09:00
Yu Watanabe
f76814757d
network/ndisc: split out ndisc_redirect_verify_sender()
...
No functional change, preparation for later commits.
2024-04-12 04:59:42 +09:00
Yu Watanabe
d9688518ff
network/ndisc: drop ndisc_request_redirect_route()
...
It is now called by only ndisc_redirect_handler(), and the check in
ndisc_request_redirect_route() is redundant and already done by
ndisc_redirect_verify_sender().
No functional change, just refactoring.
2024-04-12 04:59:42 +09:00
Yu Watanabe
ef6495ebb2
network/ndisc: redirect routes do not have lifetime
...
Hence, ndisc_router_update_redirect() does nothing. Let's remove it.
Also, ndisc_request_route() does not set lifetime for the route, it is
not necessary to set the third argument.
2024-04-12 04:59:42 +09:00
Yu Watanabe
33cab1d4ef
network/ndisc: introduce ndisc_request_router_route()
...
Then, make ndisc_request_route() generic and usable for configuring
routes based on both Router Advertisement and Redirect messages.
Note, ndisc_request_router() never set lifetime, so the dropped comment
in ndisc_request_redirect_route() is wrong.
No functional change, just refactoring.
2024-04-12 04:59:42 +09:00
Yu Watanabe
2e73aa507b
network/ndisc: do not set per-route MTU and hop limit
...
Setting MTU announced in RA message to routes is problematic, as the
value may be larger than the device MTU (IFLA_MTU), and in such case the
route cannot be used.
These two properties are now set per-interface, and gracefully handled
such invalid cases. Hence not necessary to set them to each route.
Follow-up for #32195 .
2024-04-12 04:59:38 +09:00
Yu Watanabe
fc4a9c9ce6
test: PROJECT_FILE macro cannot be used in generated code
...
If the build directory is outside of the source tree, ASSERT_XYZ()
triggers the following warning:
===
[20/569] Compiling C object test-hashmap.p/meson-generated_.._src_test_test-hashmap-ordered.c.o
In file included from ../../home/watanabe/git/systemd/src/basic/macro.h:399,
from ../../home/watanabe/git/systemd/src/basic/alloc-util.h:10,
from src/test/test-hashmap-ordered.c:5:
src/test/test-hashmap-ordered.c: In function ‘test_ordered_hashmap_get’:
../../home/watanabe/git/systemd/src/basic/log.h:216:27: warning: offset ‘32’ outside bounds of constant string [-Warray-bounds=]
216 | ? log_internal(_level, _e, PROJECT_FILE, __LINE__, __func__, __VA_ARGS__) \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../home/watanabe/git/systemd/src/basic/log.h:238:24: note: in expansion of macro ‘log_full_errno_zerook’
238 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~~~~~~~~~~~
../../home/watanabe/git/systemd/src/basic/log.h:248:28: note: in expansion of macro ‘log_full’
248 | #define log_error(...) log_full(LOG_ERR, __VA_ARGS__)
| ^~~~~~~~
../../home/watanabe/git/systemd/src/shared/tests.h:251:25: note: in expansion of macro ‘log_error’
251 | log_error("%s:%i: Assertion failed: expected \"%s\" to be NULL, but \"%p\" != NULL", \
| ^~~~~~~~~
src/test/test-hashmap-ordered.c:614:9: note: in expansion of macro ‘ASSERT_NULL’
614 | ASSERT_NULL(r);
| ^~~~~~~~~~~
===
2024-04-11 09:29:22 +02:00
Yu Watanabe
e42a74803a
network/ndisc: fix updating valid lifetime of configured address
...
This makes the logic mostly follows RFC 4862 section 5.5.3 (e),
as draft-ietf-6man-slaac-renum-07 is deprecated.
Fixes #31449 .
2024-04-11 15:56:01 +09:00
Yu Watanabe
2d4c9c42ac
network/ndisc: set provider address in caller
...
Follow-up for 43d184682d .
No functional change, just refactoring.
2024-04-11 15:56:01 +09:00
Yu Watanabe
1ae891037e
Merge pull request #32202 from DaanDeMeyer/assert
...
tests: Improve assertion error messages
2024-04-11 09:51:49 +09:00
Yu Watanabe
8e91738fe9
libsystemd-network: do not trigger assertion by sd_*_is_running() with NULL
...
If systemd is built with developer mode, previously they trigger
hard assertions. Even built with release mode, we should not log about
that. Let's silently accept NULL and return false.
Prompted by https://github.com/systemd/systemd/pull/32166#issuecomment-2044710151 .
2024-04-10 22:53:55 +01:00
Yu Watanabe
cd226becd8
Merge pull request #32189 from mrc0mmand/test-tweaks
...
Another batch of assorted test tweaks
2024-04-10 16:57:00 +09:00
Yu Watanabe
f8e15d6d98
Merge pull request #32191 from yuwata/network-persistent-storage-follow-ups
...
network: follow-ups for persistent storage
2024-04-10 16:54:39 +09:00
Yu Watanabe
a0430b0d95
test-network: add test case for ndisc MTU option
2024-04-10 12:24:33 +09:00
Yu Watanabe
8c9ef90b19
network/ndisc: set IPv6 MTU through sysctl
...
Closes #31496 .
2024-04-10 12:22:43 +09:00
Yu Watanabe
fb71748e4f
network/sysctl: round IPv6 MTU with the current device MTU rather than the maximum MTU
...
Otherwise, writing IPv6 MTU may fail.
This also makes link_set_ipv6_mtu() take log level about rounding IPv6 MTU,
and downgrade the log level from LOG_WARNING -> LOG_INFO, as we usually
use LOG_WARNING for per-interface critical failure.
2024-04-10 12:15:33 +09:00
Yu Watanabe
eb426caae7
network: always set IPv6 MTU when we detect the device MTU is changed
...
Then, we can keep the IPv6 MTU even if the device MTU is changed by an
external tool, e.g. 'ip link set' command.
2024-04-10 12:15:33 +09:00
Yu Watanabe
d4386dd1c8
network/setlink: adjust requested MTU when it is ready to set
...
This should not change any effective behavior.
Just for safety, and making the logic consistent with others, e.g.
setting master ifindex.
2024-04-10 12:15:33 +09:00
Yu Watanabe
11a150bc43
po: update Japanese translation
2024-04-10 07:07:34 +09:00
Yu Watanabe
0a07ee146d
meson: use headers in our code base when checking filesystem table
...
Note, GFS2_MAGIC is also defined in missing_magic.h, so
linux/gfs2_ondisk.h is not necessary anymore.
2024-04-10 06:45:41 +09:00
Yu Watanabe
2c57fcabab
basic/missing_magic: drop unnecessary entries and update comments
2024-04-10 06:40:32 +09:00
Yu Watanabe
e1dad06100
home,resize-fs: replace XFS_SB_MAGIC -> XFS_SUPER_MAGIC
2024-04-10 06:38:29 +09:00
Yu Watanabe
613da12f9f
basic/linux: copy magic.h to our source code tree
...
Let's import kernel headers into our source code tree.
2024-04-10 06:23:55 +09:00
Yu Watanabe
9ee34b21cc
basic/linux: update linux headers
...
From Linux 6.9-rc3.
2024-04-10 06:23:00 +09:00
Yu Watanabe
4d97f7deeb
network/varlink: fix error cause
...
Follow-up for e1254d0616 .
Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557552244 .
2024-04-10 04:59:43 +09:00
Yu Watanabe
fb6f98ae63
network: open persistent directory without O_PATH
...
Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557549629 .
2024-04-10 04:59:43 +09:00
Yu Watanabe
ce4ed0ad99
test-network: add test case for regenerating prefix stable address on conflict
...
For issue #31605 .
2024-04-10 04:36:03 +09:00
Yu Watanabe
e14679ff76
network/address-generation: regenerate IPv6 prefix stable address on conflict
...
If a generated address with IPv6Token=prefixstable conflicts with the
one on another node or interface, let's generate another address and try
to assign it.
This improves support of RFC 7217.
Fixes #31605 .
2024-04-10 04:36:03 +09:00
Yu Watanabe
d4dae4c243
network/dhcp6: return earlier if no lease acquired
...
Previously, even If an interface has not acquired a DHCPv6 lease,
networkd logs a misleading message:
===
Apr 09 10:44:57 systemd-networkd[3970750]: veth99: DHCPv6 lease lost
===
The function should do nothing when no lease acquired. Let's return
earlier and suppress the log message.
2024-04-09 09:39:36 +02:00
Yu Watanabe
0ac03e004c
network/address-generation: make generate_stable_private_address() optionally take the previously generated address
...
Currently, the argument is not used yet. The new argument will be used later
for regenerating prefix stable address on conflict.
2024-04-09 12:06:32 +09:00
Yu Watanabe
e700e48257
network/address-generation: also provide used tokens when generating address
...
Then, assign the token to the corresponding Address object.
2024-04-09 12:06:32 +09:00
Yu Watanabe
e39bb29100
network/address: make Address object optionally take reference to IPv6Token
...
Currently, the element is unused. Preparation for later commits.
2024-04-09 12:06:32 +09:00
Yu Watanabe
ffafb56125
network/address-generation: expose IPv6Token and introduce new/ref/unref functions for the type
...
No functional change. Preparation for later commits.
2024-04-09 12:06:32 +09:00
Yu Watanabe
43d184682d
network/ndisc: allow to call ndisc_request_address() without sd_ndisc_router object
...
Preparation for later commits.
2024-04-09 12:06:32 +09:00
Yu Watanabe
b03565bc17
network/dhcp-pd: split out dhcp_pd_request_address_one()
...
No functional change. Preparation for later commit.
2024-04-09 12:06:32 +09:00
Yu Watanabe
c848a0eef6
Merge pull request #31997 from yuwata/network-ndisc-zero-lifetime
...
network: fixlets for zero lifetime
2024-04-09 07:52:28 +09:00
Yu Watanabe
6952ebae3b
tree-wide: drop several remaining license headers
...
And downgrade the license of utf8.c to LGPL-2.0-or-later, to follow the
original license.
2024-04-08 10:14:50 +02:00
Yu Watanabe
caaf95985f
mountfsd: fix typo
...
Follow-up for 702a52f4b5 .
2024-04-08 09:22:06 +09:00