Daan De Meyer [Thu, 11 Apr 2024 17:40:16 +0000 (19:40 +0200)]
mkosi: Don't log debug logs to console
We have various tools that log directly to the console, as well as
pid1 which logs directly to the console when running in a container.
Let's make sure that we don't log debug messages to the console by
default, but keep the behavior when running in CI.
Daan De Meyer [Sun, 14 Apr 2024 17:15:43 +0000 (19:15 +0200)]
mkosi: Use new volatile package settings
mkosi just learned to do natively what we currently do with environment
variables and a postinst script, so let's update to the latest version
and start using the new settings instead.
Daan De Meyer [Sun, 14 Apr 2024 17:53:09 +0000 (19:53 +0200)]
mkosi: Update to latest
Frantisek Sumsal [Fri, 12 Apr 2024 12:37:25 +0000 (14:37 +0200)]
test: add instructions on how to run Coverity locally
This requires a Coverity license, so the usefulness of the instructions
is somewhat limited, but at least I won't have to re-discover everything
from scratch when I need to debug something Coverity-related again in the
future.
Sam Leonard [Fri, 12 Apr 2024 07:36:55 +0000 (08:36 +0100)]
vmspawn: update parse_boolean to parse_boolean_argument
Antonio Alvarez Feijoo [Fri, 12 Apr 2024 08:53:40 +0000 (10:53 +0200)]
bus-polkit: fix return value for `varlink_allow_interactive_authentication()`
Follow-up for
d04c1a1c8e7c95daa483d8d52d5fc4c25fbc67f2
Zbigniew Jędrzejewski-Szmek [Sun, 7 Apr 2024 08:39:20 +0000 (10:39 +0200)]
meson: do not fail build with newer kernel headers
systemd-255 is failing a build with the latest kernel headers… Let's downgrade
this warning, because it's fine if there's a file system we don't know about
and it makes thing less brittle if we don't treat this as a hard error.
(I initially conditionalized this on BUILD_MODE, but I don't think we need a
hard error there either. A warning will be noticed and fixed.)
Yu Watanabe [Thu, 11 Apr 2024 18:30:01 +0000 (03:30 +0900)]
ndisc-option: also ignore Prefix Information option with multicast address
Fixes https://github.com/systemd/systemd/pull/32215#issuecomment-
2049624693
Daan De Meyer [Fri, 12 Apr 2024 06:46:34 +0000 (08:46 +0200)]
Merge pull request #32240 from yuwata/network-ndisc-fix-on-link-prefix
network/ndisc: fixlets for on-link prefix
Yu Watanabe [Thu, 11 Apr 2024 19:38:42 +0000 (04:38 +0900)]
network/ndisc: drop onlink prefix when valid lifetime is zero
Replaces
155d7a2c049cf866a0bfde8de371f09dfb3b6f29.
Yu Watanabe [Thu, 11 Apr 2024 19:24:57 +0000 (04:24 +0900)]
network/ndisc: do nothing for existing routes if on-link flag is zero
This effectively reverts commit
155d7a2c049cf866a0bfde8de371f09dfb3b6f29.
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.
Ronan Pigott [Thu, 11 Apr 2024 18:52:57 +0000 (11:52 -0700)]
resolved: use NULL to represent an empty answer
Sam Leonard [Thu, 11 Apr 2024 11:54:42 +0000 (12:54 +0100)]
vmspawn: enabled free page reporting in qemu by default
Fixes issue #32025, I saw no reason not to enable this by default so I
added it to the initial qemu cmdline.
Yu Watanabe [Thu, 11 Apr 2024 21:09:44 +0000 (06:09 +0900)]
Merge pull request #32213 from yuwata/network-ndisc-redirect-fix-sender-address-verification
network/ndisc: fix sender address verification of Redirect message
Ludwig Nussel [Mon, 8 Apr 2024 09:07:10 +0000 (11:07 +0200)]
nsresourced: don't redefine of bpf_rdonly_cast
bpf_rdonly_cast() was introduced in libbpf commit
688879f together with
the definition of a bpf_core_cast macro. So use that one to avoid
defining a prototype for bpf_rdonly_cast;
Yu Watanabe [Wed, 10 Apr 2024 06:36:59 +0000 (15:36 +0900)]
sd-ndisc-redirect: fix verification of target address
See RFC 4861 section 8.1.
Yu Watanabe [Wed, 10 Apr 2024 06:07:30 +0000 (15:07 +0900)]
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.
Yu Watanabe [Wed, 10 Apr 2024 05:52:57 +0000 (14:52 +0900)]
network/ndisc: split out ndisc_redirect_verify_sender()
No functional change, preparation for later commits.
Yu Watanabe [Wed, 10 Apr 2024 06:04:11 +0000 (15:04 +0900)]
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.
Yu Watanabe [Wed, 10 Apr 2024 05:58:31 +0000 (14:58 +0900)]
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.
Yu Watanabe [Thu, 11 Apr 2024 01:16:39 +0000 (10:16 +0900)]
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.
Yu Watanabe [Thu, 11 Apr 2024 03:05:07 +0000 (12:05 +0900)]
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.
Antonio Alvarez Feijoo [Thu, 11 Apr 2024 15:20:02 +0000 (17:20 +0200)]
journal-remote: fix two minor memory leaks
Frantisek Sumsal [Thu, 11 Apr 2024 18:35:27 +0000 (20:35 +0200)]
Merge pull request #32228 from mrc0mmand/more-test-tweaks
A couple of follow-ups for #32189
Frantisek Sumsal [Thu, 11 Apr 2024 12:24:42 +0000 (14:24 +0200)]
test: make sd-journal-gatewayd tests even more debug-able
Unfortunately
bfd30e8af6 is not enough and the test fails, that still
occasionally occur, don't provide enough information to see what's
wrong. Let's rework the test a little to improve this, namely:
- redirect curl's output into a temporary file instead of piping it
directly into the "check" expression; that way we can simply dump
the temporary file when the test fails, providing potentially
crucial information. We don't want to always dump everything to
stdout, as some of the tests request an entire system journal (note
that shell redirection instead of `curl -o file` is used
intentionally, so the output file is always nuked first)
- by dropping the pipes in curl commands we can re-enable pipefail
- also, split some very long commands to multiple lines to (slightly)
improve readability
Follow-up for
bfd30e8af64a0d39ad110258dca69be919f6df34.
Luca Boccassi [Thu, 11 Apr 2024 11:16:31 +0000 (12:16 +0100)]
Merge pull request #32215 from yuwata/network-ndisc-address-lifetime
network/ndisc: fix assignment of valid lifetime
Ludwig Nussel [Thu, 4 Apr 2024 15:05:18 +0000 (17:05 +0200)]
creds: allow null when decrypting
pcrlock writes a credential file using null key. Make sure systemd-creds
can show the file
Daan De Meyer [Thu, 11 Apr 2024 11:01:46 +0000 (13:01 +0200)]
Merge pull request #32216 from DaanDeMeyer/fix
journal-remote: Use sd_event_set_signal_exit()
Luca Boccassi [Thu, 11 Apr 2024 10:02:18 +0000 (11:02 +0100)]
README.md: link bug bounty program
dependabot[bot] [Thu, 11 Apr 2024 09:57:37 +0000 (09:57 +0000)]
build(deps): bump pkg/fedora from `
2822a03` to `
3f8c38e`
Bumps pkg/fedora from `
2822a03` to `
3f8c38e`.
---
updated-dependencies:
- dependency-name: pkg/fedora
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Frantisek Sumsal [Thu, 11 Apr 2024 09:35:17 +0000 (11:35 +0200)]
test: make the output of TEST-69 less painful to read
The logs from TEST-69 still contain a lot of unnecessary shell
metacharacters, so to make the output more readable let's just set
TERM=dumb, instead of having to strip everything semi-manually. Also,
move the related --background= tweak to TEST-69, since it's relevant
only for that particular test.
Follow-up for
8d4bfd38ed941aa8003d7007145eccc01f52a5f6.
Daan De Meyer [Thu, 11 Apr 2024 07:58:58 +0000 (09:58 +0200)]
journal-remote: Use "event" instead of "events"
We use singular "event" everywhere else, so let's use it here as well.
Daan De Meyer [Thu, 11 Apr 2024 07:51:23 +0000 (09:51 +0200)]
journal-remote: Use sd_event_set_signal_exit()
This also fixes bugs in the previous code where we pass the server
object as userdata to sd_event_add_signal which means that sd-event
tries to use the value of the server pointer as its exit code when
a signal is triggered.
Yu Watanabe [Thu, 11 Apr 2024 02:27:18 +0000 (11:27 +0900)]
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);
| ^~~~~~~~~~~
===
Daan De Meyer [Thu, 11 Apr 2024 07:26:37 +0000 (09:26 +0200)]
Merge pull request #32210 from YHNdnzj/execcommand-done
core: modernize ExecCommand parsing and fix one memory leak
Yu Watanabe [Thu, 11 Apr 2024 05:02:21 +0000 (14:02 +0900)]
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.
Yu Watanabe [Thu, 11 Apr 2024 03:00:52 +0000 (12:00 +0900)]
network/ndisc: set provider address in caller
Follow-up for
43d184682d640e438ad140b0743e2fd258455b12.
No functional change, just refactoring.
Yu Watanabe [Thu, 11 Apr 2024 00:51:49 +0000 (09:51 +0900)]
Merge pull request #32202 from DaanDeMeyer/assert
tests: Improve assertion error messages
Luca Boccassi [Wed, 10 Apr 2024 22:15:56 +0000 (23:15 +0100)]
Merge pull request #32181 from YHNdnzj/open-file
Some fixes/improvements for OpenFile=
Luca Boccassi [Wed, 10 Apr 2024 22:12:21 +0000 (23:12 +0100)]
Merge pull request #32195 from yuwata/network-ndisc-mtu
network: several cleanups for IPv6 MTU
Luca Boccassi [Wed, 10 Apr 2024 21:59:01 +0000 (22:59 +0100)]
Merge pull request #32166 from yuwata/network-rfc7217-dad
network: generate another address on conflict
Yu Watanabe [Tue, 9 Apr 2024 19:03:46 +0000 (04:03 +0900)]
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.
Luca Boccassi [Wed, 10 Apr 2024 21:52:45 +0000 (22:52 +0100)]
Merge pull request #32204 from DaanDeMeyer/post-rewrite
git: Add post-rewrite hook that invokes git submodule update
Luca Boccassi [Wed, 10 Apr 2024 21:52:11 +0000 (22:52 +0100)]
Merge pull request #32205 from YHNdnzj/bless-boot
Minor cleanup for bless-boot
Mike Yuan [Wed, 10 Apr 2024 19:57:34 +0000 (03:57 +0800)]
core/dbus-execute: fix potential memory leak
Mike Yuan [Wed, 10 Apr 2024 20:10:36 +0000 (04:10 +0800)]
core/execute: introduce exec_command_free
Mike Yuan [Wed, 10 Apr 2024 19:56:48 +0000 (03:56 +0800)]
core/dbus-execute: modernize a bit
Mike Yuan [Wed, 10 Apr 2024 19:21:41 +0000 (03:21 +0800)]
core/load-fragment: modernize config_parse_exec
Daan De Meyer [Wed, 10 Apr 2024 11:40:16 +0000 (13:40 +0200)]
docs: Add Tests section to coding style doc
Daan De Meyer [Wed, 10 Apr 2024 11:31:58 +0000 (13:31 +0200)]
Introduce ASSERT_OK_ERRNO()
ASSERT_OK() is for functions that return negative errno. Let's
introduce ASSERT_OK_ERRNO() for syscalls that return -1 and store
the error in errno.
Daan De Meyer [Wed, 10 Apr 2024 11:23:53 +0000 (13:23 +0200)]
tests: Improve assertion error messages
Mike Yuan [Wed, 10 Apr 2024 15:02:01 +0000 (23:02 +0800)]
units/systemd-boot-check-no-failures.service: drop unneeded dep on shutdown.target
Mike Yuan [Wed, 10 Apr 2024 14:51:31 +0000 (22:51 +0800)]
bless-boot-generator: use generator_add_symlink
Mike Yuan [Wed, 10 Apr 2024 15:01:47 +0000 (23:01 +0800)]
core: use FOREACH_ARRAY at 3 more places
Ivan Kruglov [Mon, 8 Apr 2024 15:12:48 +0000 (17:12 +0200)]
ASSERT_NULL/ASSERT_NOT_NULL
Frantisek Sumsal [Wed, 10 Apr 2024 14:54:37 +0000 (16:54 +0200)]
Merge pull request #32201 from aafeijoo-suse/test-minor-fixes
test: minor fixes
Mike Yuan [Wed, 10 Apr 2024 11:04:50 +0000 (19:04 +0800)]
test: merge TEST-77-OPENFILE into TEST-23-UNIT-FILE
And add coverage for #32179
Daan De Meyer [Wed, 10 Apr 2024 12:35:20 +0000 (14:35 +0200)]
git: Add post-rewrite hook that invokes git submodule update
git rebase does not support a --recurse-submodules switch to automatically
check out the submodules at their registered commits during or after a rebase.
Instead, let's use the post-rewrite git hook to do this ourselves.
Daan De Meyer [Wed, 10 Apr 2024 12:36:59 +0000 (14:36 +0200)]
Update submodules
Mike Yuan [Tue, 9 Apr 2024 13:54:30 +0000 (21:54 +0800)]
shared/open-file: use xescape to escape ':'
Fixes #32179
Mike Yuan [Wed, 10 Apr 2024 11:18:19 +0000 (19:18 +0800)]
shared/open-file: make open_file_free_many static inline
Mike Yuan [Tue, 9 Apr 2024 13:48:01 +0000 (21:48 +0800)]
core/exec-invoke: modernize get_open_file_fd a bit
Mike Yuan [Tue, 9 Apr 2024 13:38:16 +0000 (21:38 +0800)]
core/exec-invoke: modernize connect_unix_harder
Pablo Méndez Hernández [Wed, 10 Apr 2024 08:55:53 +0000 (10:55 +0200)]
man/journald: Add missing configuration files
The man page was missing:
- `/run/systemd/journald.conf`
- `/usr/lib/systemd/journald.conf`
as valid configuration files.
Fixes: https://github.com/systemd/systemd/issues/32199
Antonio Alvarez Feijoo [Wed, 10 Apr 2024 09:08:25 +0000 (11:08 +0200)]
tools/check-version-history: skip test if lxml is not installed
```
================================= 1070/1408 ==================================
test: systemd:dist / check-version-history
start time: 07:55:05
duration: 0.03s
result: exit status 1
...
----------------------------------- stderr -----------------------------------
Traceback (most recent call last):
File "/mnt/work/systemd/upstream-fork/main/tools/check-version-history.py", line 6, in <module>
import lxml.etree as tree
ModuleNotFoundError: No module named 'lxml'
==============================================================================
```
Follow-up for
3691e7fce70149ed19edc5d3003e2d7c936c147a
Antonio Alvarez Feijoo [Wed, 10 Apr 2024 09:07:32 +0000 (11:07 +0200)]
test: add missing header to test.h
```
../src/shared/tests.h:361:28: error: implicit declaration of function ‘fork’ [-Werror=implicit-function-declaration]
361 | int _pid = fork(); \
| ^~~~
../src/test/test-macro.c:1114:9: note: in expansion of macro ‘ASSERT_SIGNAL’
1114 | ASSERT_SIGNAL(ASSERT_OK(-1), SIGABRT);
| ^~~~~~~~~~~~~
../src/shared/tests.h:369:25: error: implicit declaration of function ‘_exit’ [-Werror=implicit-function-declaration]
369 | _exit(EXIT_SUCCESS); \
| ^~~~~
../src/test/test-macro.c:1114:9: note: in expansion of macro ‘ASSERT_SIGNAL’
1114 | ASSERT_SIGNAL(ASSERT_OK(-1), SIGABRT);
| ^~~~~~~~~~~~~
../src/shared/tests.h:369:25: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
369 | _exit(EXIT_SUCCESS); \
| ^~~~~
../src/test/test-macro.c:1114:9: note: in expansion of macro ‘ASSERT_SIGNAL’
1114 | ASSERT_SIGNAL(ASSERT_OK(-1), SIGABRT);
| ^~~~~~~~~~~~~
../src/shared/tests.h:369:25: warning: incompatible implicit declaration of built-in function ‘_exit’ [-Wbuiltin-declaration-mismatch]
369 | _exit(EXIT_SUCCESS); \
| ^~~~~
../src/test/test-macro.c:1115:9: note: in expansion of macro ‘ASSERT_SIGNAL’
1115 | ASSERT_SIGNAL(ASSERT_OK(-ENOANO), SIGABRT);
| ^~~~~~~~~~~~~
../src/test/test-macro.c:1119:21: error: implicit declaration of function ‘getpid’; did you mean ‘getpt’? [-Werror=implicit-function-declaration]
1119 | ASSERT_TRUE(getpid());
| ^~~~~~
```
Follow-up for #32189
Lennart Poettering [Tue, 9 Apr 2024 10:39:28 +0000 (12:39 +0200)]
secure-boot: tighten enrollment logic a bit regarding file sizes
It's OK the dbx file is not loaded, but let's explicitly check for that
(i.e. if the buffer is actually non-NULL), rather than the size of the
bufer, since empty files actually do exist.
Or in other words, let's not magically suppress enrollment of empty
files, but let uefi firmware handle these on their own.
Follow-up for:
57ea8012d6f0b9a3622d4a84d93020020a3aca3c
Lennart Poettering [Tue, 9 Apr 2024 10:39:01 +0000 (12:39 +0200)]
boot: re-align table
We like our tables aligned.
(Also suppres the final two fields, which are all zeroes anyway, to
declutter a bit)
Lennart Poettering [Tue, 9 Apr 2024 15:29:33 +0000 (17:29 +0200)]
resolved: dns_name_equal() can fail, handle that reasonably
Ignoring errors can be OK sometimes, but we should make this explicit.
Yu Watanabe [Wed, 10 Apr 2024 07:57:00 +0000 (16:57 +0900)]
Merge pull request #32189 from mrc0mmand/test-tweaks
Another batch of assorted test tweaks
Yu Watanabe [Wed, 10 Apr 2024 07:54:39 +0000 (16:54 +0900)]
Merge pull request #32191 from yuwata/network-persistent-storage-follow-ups
network: follow-ups for persistent storage
Lennart Poettering [Tue, 9 Apr 2024 16:45:56 +0000 (18:45 +0200)]
ndisc: use memzero() where appropriate
Lennart Poettering [Tue, 9 Apr 2024 15:51:54 +0000 (17:51 +0200)]
sd-journal: make sure sd_journal_add_match() also accepts SIZE_MAX as size
In many of our internal functions that take a pointer + a size we have
introduced the rule that SIZE_MAX as size means: take strlen().
sd_journal_add_match() has something similar, but the special value is
0, not SIZE_MAX. This is a bit ugly, since a zero size data block is
theoretically fine. The only reason sd_journal_add_match() gets away
with using this special value is because valid matches must consist of
at least 2 chars, hence cannot be zero.
But let's make this more robust and less surprising when compared to the
rest of our code, and *also* accept SIZE_MAX to mean strlen().
No actual code changes, just some clean-up.
Daan De Meyer [Fri, 5 Apr 2024 13:21:49 +0000 (15:21 +0200)]
core: Serialize both pid and pidfd
If we try to deserialize only a pidfd that points to a process that
has been reaped, creating the pidref object will fail, which means that
we'll try to create a pidref object from the serialized pid that comes
next. If the pid has already been reused, this will succeed and we'll
now have a pidref that points to a different process.
Let's avoid this issue by serializing both the pidfd and the pid and
creating the pidref object directly from both. This means we'll reuse
the deserialized pidfd instead of opening a new one. We'll then immediately
notice the pidfd is dead and do the appropriate follow up depending on
the unit type.
Yu Watanabe [Wed, 10 Apr 2024 02:14:13 +0000 (11:14 +0900)]
test-network: add test case for ndisc MTU option
Yu Watanabe [Wed, 10 Apr 2024 01:13:07 +0000 (10:13 +0900)]
network/ndisc: set IPv6 MTU through sysctl
Closes #31496.
Yu Watanabe [Wed, 10 Apr 2024 01:07:50 +0000 (10:07 +0900)]
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.
Yu Watanabe [Wed, 10 Apr 2024 02:47:09 +0000 (11:47 +0900)]
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.
Yu Watanabe [Wed, 10 Apr 2024 02:35:21 +0000 (11:35 +0900)]
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.
Yu Watanabe [Tue, 9 Apr 2024 22:07:34 +0000 (07:07 +0900)]
po: update Japanese translation
Yu Watanabe [Tue, 9 Apr 2024 19:55:59 +0000 (04:55 +0900)]
network/varlink: fix error cause
Follow-up for
e1254d0616f812d22753421bd791c4486c0a9128.
Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557552244.
Yu Watanabe [Tue, 9 Apr 2024 19:51:27 +0000 (04:51 +0900)]
network: open persistent directory without O_PATH
Addresses https://github.com/systemd/systemd/pull/31811#discussion_r1557549629.
Frantisek Sumsal [Tue, 9 Apr 2024 19:16:41 +0000 (21:16 +0200)]
test: wait until the test container is fully booted up
TEST-69 still occasionally times out in CI and appears to be stuck on
boot, so let's see if this helps the situation a bit.
Frantisek Sumsal [Tue, 9 Apr 2024 19:11:26 +0000 (21:11 +0200)]
test: disable background color for nspawn containers
As it makes the logs really messy in certain tests.
Frantisek Sumsal [Tue, 9 Apr 2024 18:55:48 +0000 (20:55 +0200)]
test: set pexpect's logfile early
So we capture the container's boot as well.
Frantisek Sumsal [Tue, 9 Apr 2024 18:15:36 +0000 (20:15 +0200)]
test: give sd-resolved enough time to timeout
The timeout on sd-resolved's side is 5-10s (UDP or TCP), but dig's
default timeout is 5s. Let's give sd-resolved enough time to timeout
before either giving up or checking if it served stale data on dig's
side.
Resolves: #31639
Frantisek Sumsal [Tue, 9 Apr 2024 15:04:50 +0000 (17:04 +0200)]
test: let curl show a potential error in silent mode
I collected a couple of fails in this particular test, but without any
output they're impossible to debug. Let's make this slightly less
annoying and let curl show an error (if any) even in silent mode.
This patch uncovers that curl has been (silently) complaining about not
being able to write to the output destination, because `grep -q`
short-circuits on the first match and doesn't bother reading the rest,
so replace `grep -q` with `grep ... >/dev/null` to force grep to always
read the whole thing from curl.
Frantisek Sumsal [Tue, 9 Apr 2024 12:04:28 +0000 (14:04 +0200)]
test: forward journal to console in TEST-24-CRYPTSETUP
If we fail to mount the encrypted /var during boot we're left with
nothing to debug, so let's do the same thing we do for TEST-08-INITRD
and forward journal to the console.
Frantisek Sumsal [Mon, 8 Apr 2024 16:17:48 +0000 (18:17 +0200)]
test: add a couple of sanity tests for ASSERT_*() macros
Also, introduce ASSERT_SIGNAL() macro that should help us test failing
cases of mentioned macros (which usually end with calling abort()).
Frantisek Sumsal [Mon, 8 Apr 2024 18:32:10 +0000 (20:32 +0200)]
test: handle NULL correctly when passed to ASSERT_EQ()
strcmp() doesn't handle NULLs nicely, so switch to streq_ptr().
Yu Watanabe [Tue, 9 Apr 2024 02:28:20 +0000 (11:28 +0900)]
test-network: add test case for regenerating prefix stable address on conflict
For issue #31605.
Yu Watanabe [Tue, 9 Apr 2024 02:27:41 +0000 (11:27 +0900)]
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.
Frantisek Sumsal [Tue, 9 Apr 2024 10:44:46 +0000 (12:44 +0200)]
tree-wide: make sure net/if.h is included before any linux/ header
The linux/ headers include linux/libc-compat.h that makes sure the
linux/ headers won't redeclare symbols already declared by net/if.h, but
glibc's net/if.h doesn't do that, so if the include order is reversed
we'll end up with a bunch of errors about redeclared stuff:
[3/519] Compiling C object test-network-tables.p/src_network_test-network-tables.c.o
FAILED: test-network-tables.p/src_network_test-network-tables.c.o
cc -Itest-network-tables.p -I. -I.. -Isrc/basic -I../src/basic -Isrc/fundamental -I../src/fundamental -Isrc/systemd -I../src/systemd -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-journal -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/shared -I../src/shared -Isrc/libsystemd-network -I../src/libsystemd-network -Isrc/network -I../src/network -I../src/network/netdev -I../src/network/tc -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O0 -g -Wno-missing-field-initializers -Wno-unused-parameter -Wno-nonnull-compare -Warray-bounds -Warray-bounds=2 -Wdate-time -Wendif-labels -Werror=format=2 -Werror=format-signedness -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=missing-declarations -Werror=missing-prototypes -Werror=overflow -Werror=override-init -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=strict-flex-arrays -Werror=undef -Wfloat-equal -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wsuggest-attribute=noreturn -Wunused-function -Wwrite-strings -Wzero-length-bounds -fdiagnostics-show-option -fno-common -fstack-protector -fstack-protector-strong -fstrict-flex-arrays --param=ssp-buffer-size=4 -Wno-unused-result -Werror=shadow -fno-strict-aliasing -fstrict-flex-arrays=1 -fvisibility=hidden -fno-omit-frame-pointer -include config.h -pthread -DTEST_CODE=1 -MD -MQ test-network-tables.p/src_network_test-network-tables.c.o -MF test-network-tables.p/src_network_test-network-tables.c.o.d -o test-network-tables.p/src_network_test-network-tables.c.o -c ../src/network/test-network-tables.c
In file included from ../src/basic/linux/if_bonding.h:47,
from ../src/network/netdev/bond.h:5,
from ../src/network/test-network-tables.c:3:
../src/basic/linux/if.h:111:41: error: redeclaration of enumerator ‘IFF_UP’
111 | #define IFF_UP IFF_UP
| ^~~~~~
../src/basic/linux/if.h:84:9: note: previous definition of ‘IFF_UP’ with type ‘enum net_device_flags’
84 | IFF_UP = 1<<0, /* sysfs */
| ^~~~~~
../src/basic/linux/if.h:112:41: error: redeclaration of enumerator ‘IFF_BROADCAST’
112 | #define IFF_BROADCAST IFF_BROADCAST
| ^~~~~~~~~~~~~
...
This also drops remaining workarounds from the last time this issue was
brought up (
6f270e6bd8) since they shouldn't be needed anymore if the
order of the includes is the "correct" one. I also added a comment to
each affected include when this is inevitably encountered again in the
future.
Resolves: #32160
Antonio Alvarez Feijoo [Tue, 9 Apr 2024 12:21:08 +0000 (14:21 +0200)]
test-date: add missing header
```
[587/2863] Compiling C object test-date.p/src_test_test-date.c.o
FAILED: test-date.p/src_test_test-date.c.o
cc -Itest-date.p -I. -I.. -Isrc/basic -I../src/basic -Isrc/fundamental -I../src/fundamental -Isrc/systemd -I../src/systemd -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-journal -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/shared -I../src/shared -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O0 -g -Wno-missing-field-initializers -Wno-unused-parameter -Wno-nonnull-compare -Warray-bounds -Warray-bounds=2 -Wdate-time -Wendif-labels -Werror=format=2 -Werror=format-signedness -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=missing-declarations -Werror=missing-prototypes -Werror=overflow -Werror=override-init -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=undef -Wfloat-equal -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wsuggest-attribute=noreturn -Wunused-function -Wwrite-strings -Wzero-length-bounds -fdiagnostics-show-option -fno-common -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-unused-result -Werror=shadow -fno-strict-aliasing -fvisibility=hidden -fno-omit-frame-pointer -include config.h -DTEST_CODE=1 -MD -MQ test-date.p/src_test_test-date.c.o -MF test-date.p/src_test_test-date.c.o.d -o test-date.p/src_test_test-date.c.o -c ../src/test/test-date.c
../src/test/test-date.c: In function ‘main’:
../src/test/test-date.c:86:13: error: implicit declaration of function ‘access’; did you mean ‘accept’? [-Werror=implicit-function-declaration]
86 | if (access("/usr/share/zoneinfo/Asia/Seoul", F_OK) >= 0) {
| ^~~~~~
| accept
../src/test/test-date.c:86:13: warning: nested extern declaration of ‘access’ [-Wnested-externs]
../src/test/test-date.c:86:54: error: ‘F_OK’ undeclared (first use in this function)
86 | if (access("/usr/share/zoneinfo/Asia/Seoul", F_OK) >= 0) {
| ^~~~
../src/test/test-date.c:86:54: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
```
Fixes
ae4088b23e1658a6f6e940d6e1c8d0a14f93449b
Lennart Poettering [Tue, 9 Apr 2024 10:16:08 +0000 (12:16 +0200)]
service: explicitly add comment about donated reference on parameter
Follow-up for:
d6a911e906e3fe0fdd357f2120209372574a8406
See my comment: https://github.com/systemd/systemd/pull/31916/commits/
d6a911e906e3fe0fdd357f2120209372574a8406#r1557384101
Mike Yuan [Tue, 9 Apr 2024 17:45:12 +0000 (01:45 +0800)]
pidref: 0 -> NULL for pointer
Daan De Meyer [Tue, 9 Apr 2024 14:18:25 +0000 (16:18 +0200)]
mkosi; Fix permissions of mkosi.postinst script
Must be executable.
Luca Boccassi [Tue, 9 Apr 2024 12:30:59 +0000 (13:30 +0100)]
Merge pull request #32154 from DaanDeMeyer/mkosi
mkosi: Make scripts more generic
dependabot[bot] [Tue, 9 Apr 2024 09:45:45 +0000 (09:45 +0000)]
build(deps): bump pkg/fedora from `
2822a03` to `
3f8c38e`
Bumps pkg/fedora from `
2822a03` to `
3f8c38e`.
---
updated-dependencies:
- dependency-name: pkg/fedora
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Daan De Meyer [Tue, 9 Apr 2024 09:57:38 +0000 (11:57 +0200)]
mkosi: Drop out-of-date comment