]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
10 months agoMerge pull request #28608 from yuwata/meson-use-template
Daan De Meyer [Tue, 1 Aug 2023 06:09:10 +0000 (08:09 +0200)] 
Merge pull request #28608 from yuwata/meson-use-template

meson: use template (part 3)

10 months agopo: Translated using Weblate (French)
Pierre GRASSER [Mon, 31 Jul 2023 22:21:04 +0000 (00:21 +0200)] 
po: Translated using Weblate (French)

Currently translated at 100.0% (227 of 227 strings)

Co-authored-by: Pierre GRASSER <pierre.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/fr/
Translation: systemd/main

10 months agomeson: move declarations of timedated and friends 28608/head
Yu Watanabe [Sun, 25 Jun 2023 07:04:32 +0000 (16:04 +0900)] 
meson: move declarations of timedated and friends

10 months agomeson: move declarations of localed and hostnamed
Yu Watanabe [Sun, 25 Jun 2023 07:01:31 +0000 (16:01 +0900)] 
meson: move declarations of localed and hostnamed

10 months agomeson: move declarations of several generators
Yu Watanabe [Sun, 25 Jun 2023 06:59:49 +0000 (15:59 +0900)] 
meson: move declarations of several generators

10 months agomeson: move declarations of cryptsetup and friends
Yu Watanabe [Sun, 25 Jun 2023 06:57:47 +0000 (15:57 +0900)] 
meson: move declarations of cryptsetup and friends

10 months agomeson: move declarations of backlight, rfkill, and sysupdate-generator
Yu Watanabe [Sun, 25 Jun 2023 06:55:33 +0000 (15:55 +0900)] 
meson: move declarations of backlight, rfkill, and sysupdate-generator

10 months agomeson: move declarations of homed and friends
Yu Watanabe [Sun, 25 Jun 2023 06:51:14 +0000 (15:51 +0900)] 
meson: move declarations of homed and friends

10 months agomeson: move declarations of userdbd and friends
Yu Watanabe [Sun, 25 Jun 2023 06:50:36 +0000 (15:50 +0900)] 
meson: move declarations of userdbd and friends

10 months agomeson: move declaration of sysext
Yu Watanabe [Sun, 25 Jun 2023 06:49:43 +0000 (15:49 +0900)] 
meson: move declaration of sysext

10 months agomeson: move declarations of portabled and friends
Yu Watanabe [Sun, 25 Jun 2023 06:48:28 +0000 (15:48 +0900)] 
meson: move declarations of portabled and friends

10 months agomeson: move declaration of systemctl
Yu Watanabe [Sun, 25 Jun 2023 06:44:30 +0000 (15:44 +0900)] 
meson: move declaration of systemctl

10 months agoMerge pull request #28606 from DaanDeMeyer/kernel-install
Yu Watanabe [Mon, 31 Jul 2023 20:48:27 +0000 (05:48 +0900)] 
Merge pull request #28606 from DaanDeMeyer/kernel-install

Kernel install fixes

10 months agoMerge pull request #28605 from yuwata/meson-use-template
Yu Watanabe [Mon, 31 Jul 2023 20:46:08 +0000 (05:46 +0900)] 
Merge pull request #28605 from yuwata/meson-use-template

meson: use template (part2)

10 months agokernel-install: Make sure KERNEL_INSTALL_BYPASS is disabled in tests 28606/head
Daan De Meyer [Mon, 31 Jul 2023 18:58:31 +0000 (20:58 +0200)] 
kernel-install: Make sure KERNEL_INSTALL_BYPASS is disabled in tests

10 months agokernel-install: Only bypass "add" and "remove"
Daan De Meyer [Mon, 31 Jul 2023 18:56:14 +0000 (20:56 +0200)] 
kernel-install: Only bypass "add" and "remove"

KERNEL_INSTALL_BYPASS should only bypass verbs that actually change
the system, not harmless verbs such as "inspect".

10 months agoudev: fix typo in comment
Yu Watanabe [Mon, 31 Jul 2023 17:39:13 +0000 (02:39 +0900)] 
udev: fix typo in comment

Follow-ups for ded2b1d0933b24d5e0a503e3bd37f8030a11d9a7 and
3327877ca332ad8188acd608807c64470a845125.

10 months agomeson: move declaration of socket-activate 28605/head
Yu Watanabe [Sun, 25 Jun 2023 06:42:23 +0000 (15:42 +0900)] 
meson: move declaration of socket-activate

10 months agomeson: move declarations of bootctl and friends
Yu Watanabe [Sun, 25 Jun 2023 06:41:42 +0000 (15:41 +0900)] 
meson: move declarations of bootctl and friends

This also drops unnecessary dependency on libblkid from
systemd-boot-check-no-failures.

10 months agomeson: move declaration of user-sessions
Yu Watanabe [Sun, 25 Jun 2023 06:39:45 +0000 (15:39 +0900)] 
meson: move declaration of user-sessions

10 months agomeson: move declarations of logind and friends
Yu Watanabe [Sun, 25 Jun 2023 06:38:19 +0000 (15:38 +0900)] 
meson: move declarations of logind and friends

10 months agomeson: move declarations of resolved and friends
Yu Watanabe [Sun, 25 Jun 2023 06:36:27 +0000 (15:36 +0900)] 
meson: move declarations of resolved and friends

10 months agomeson: move declarations of dissect and friends
Yu Watanabe [Sun, 25 Jun 2023 06:34:09 +0000 (15:34 +0900)] 
meson: move declarations of dissect and friends

10 months agomeson: move declarations of hibernate-resume
Yu Watanabe [Sun, 25 Jun 2023 06:31:38 +0000 (15:31 +0900)] 
meson: move declarations of hibernate-resume

10 months agomeson: move declarations of several generators
Yu Watanabe [Sun, 25 Jun 2023 06:20:29 +0000 (15:20 +0900)] 
meson: move declarations of several generators

10 months agomeson: move declarations of journald and friends
Yu Watanabe [Sun, 25 Jun 2023 06:16:57 +0000 (15:16 +0900)] 
meson: move declarations of journald and friends

10 months agomeson: move declaration of systemd-analyze
Yu Watanabe [Sun, 25 Jun 2023 06:15:56 +0000 (15:15 +0900)] 
meson: move declaration of systemd-analyze

10 months agoresolvectl: initialize the server state
Frantisek Sumsal [Mon, 31 Jul 2023 14:29:39 +0000 (16:29 +0200)] 
resolvectl: initialize the server state

Since not all fields of the dispatch table are mandatory we might end up
reading garbage if the optional field is not set.

In CIs we were lucky enough (or probably unfortunate enough) that the
garbage was printable, but in other cases the `show-server-state` verb
would just fail with:

$ resolvectl show-server-state
Failed to print table: Invalid argument

Follow-up to bc837621a38.

10 months agoMerge pull request #28153 from yuwata/meson-use-template
Yu Watanabe [Mon, 31 Jul 2023 17:22:15 +0000 (02:22 +0900)] 
Merge pull request #28153 from yuwata/meson-use-template

meson: use template to declare executables and modules

10 months agoMerge pull request #28568 from yuwata/network-address-next
Yu Watanabe [Mon, 31 Jul 2023 17:14:19 +0000 (02:14 +0900)] 
Merge pull request #28568 from yuwata/network-address-next

network: bunch of cleanups and fixes for addressing

10 months agofstab-util: use pointer returned by startswith()
Yu Watanabe [Mon, 31 Jul 2023 14:50:17 +0000 (23:50 +0900)] 
fstab-util: use pointer returned by startswith()

10 months agoMerge pull request #28577 from yuwata/udev-split-files
Yu Watanabe [Mon, 31 Jul 2023 17:12:05 +0000 (02:12 +0900)] 
Merge pull request #28577 from yuwata/udev-split-files

udev: split files

10 months agotest: update comment to make it consistent with the condition
Yu Watanabe [Mon, 31 Jul 2023 14:41:12 +0000 (23:41 +0900)] 
test: update comment to make it consistent with the condition

Follow-up for 6425dec88b9dedf53d12a970339ab88f948c201a.

10 months agoMerge pull request #28599 from keszybz/two-compilation-fixes
Luca Boccassi [Mon, 31 Jul 2023 14:37:59 +0000 (15:37 +0100)] 
Merge pull request #28599 from keszybz/two-compilation-fixes

Two compilation fixes

10 months agoudev: move declaration of ResolveNameTiming to udev-rules.c 28577/head
Yu Watanabe [Tue, 18 Jul 2023 21:58:19 +0000 (06:58 +0900)] 
udev: move declaration of ResolveNameTiming to udev-rules.c

It is only used by udevd and udevadm, not necessary in src/shared.

This also moves UDEV_NAME_SIZE and friends.

10 months agoudev: move udev_parse_config_full() to udevd.c
Yu Watanabe [Tue, 18 Jul 2023 21:44:37 +0000 (06:44 +0900)] 
udev: move udev_parse_config_full() to udevd.c

Then, rename it to manager_parse_udev_config().

No functional change, just refactoring.

10 months agoudev: rename test-udevd.c -> test-udev-manager.c
Yu Watanabe [Tue, 18 Jul 2023 20:37:35 +0000 (05:37 +0900)] 
udev: rename test-udevd.c -> test-udev-manager.c

10 months agoudev: split udevd.c into two
Yu Watanabe [Tue, 18 Jul 2023 20:17:03 +0000 (05:17 +0900)] 
udev: split udevd.c into two

10 months agoudev: move arg_xyz into Manager
Yu Watanabe [Tue, 18 Jul 2023 20:15:57 +0000 (05:15 +0900)] 
udev: move arg_xyz into Manager

No functional changes, just preparation for later commits.

10 months agoudev: drop mostly unused Manager.pid
Yu Watanabe [Tue, 18 Jul 2023 18:16:38 +0000 (03:16 +0900)] 
udev: drop mostly unused Manager.pid

It is only used by the assertion in event_queue_insert().
We have similar check e.g. in sd-bus or sd-event, but udevd.c is not a
library code, hence such check is not necessary.

10 months agoudev: merge manager_clear_for_worker() with manager_free()
Yu Watanabe [Tue, 18 Jul 2023 18:09:12 +0000 (03:09 +0900)] 
udev: merge manager_clear_for_worker() with manager_free()

The function manager_clear_for_worker() is now not called by workers,
and only called from manager_free(). Let's merge them.

This also drops unused Manager.rtnl, and outdated comment in
event_free().

10 months agoudev: split-out worker code from udevd.c
Yu Watanabe [Tue, 18 Jul 2023 17:11:16 +0000 (02:11 +0900)] 
udev: split-out worker code from udevd.c

While doing that, the Manager object allocated by the main process
is now _not_ freed in the spawned worker process, to follow our usual
coding style. See discussion in #24043.

10 months agoudev: move several functions from udev-util.c to relevant udevd source files
Yu Watanabe [Tue, 18 Jul 2023 07:10:36 +0000 (16:10 +0900)] 
udev: move several functions from udev-util.c to relevant udevd source files

The functions are only used by udevd (and relevant tests), hence it is
not necessary to be in src/shared.

10 months agoudev: rename test-udev-event.c -> test-udev-spawn.c
Yu Watanabe [Tue, 18 Jul 2023 14:39:04 +0000 (23:39 +0900)] 
udev: rename test-udev-event.c -> test-udev-spawn.c

10 months agoudev: split-out formatter and spawning commands from udev-event.c
Yu Watanabe [Tue, 18 Jul 2023 14:10:41 +0000 (23:10 +0900)] 
udev: split-out formatter and spawning commands from udev-event.c

No functional changes, just refactoring.

10 months agoudev: move DEVICE_TRACE() to udev-trace.h
Yu Watanabe [Tue, 18 Jul 2023 14:10:32 +0000 (23:10 +0900)] 
udev: move DEVICE_TRACE() to udev-trace.h

It is only used by udevd, and not necessary in src/shared.

10 months agomeson: sort files
Yu Watanabe [Tue, 18 Jul 2023 14:12:52 +0000 (23:12 +0900)] 
meson: sort files

10 months agoudev-util: drop udev_queue_init() from shared
Yu Watanabe [Tue, 18 Jul 2023 06:55:12 +0000 (15:55 +0900)] 
udev-util: drop udev_queue_init() from shared

It is only used in libudev, let's move it.

10 months agomeson: move declaration of PID1 28153/head
Yu Watanabe [Sun, 25 Jun 2023 06:13:25 +0000 (15:13 +0900)] 
meson: move declaration of PID1

10 months agomeson: move declarations of nss modules
Yu Watanabe [Fri, 23 Jun 2023 02:28:22 +0000 (11:28 +0900)] 
meson: move declarations of nss modules

10 months agomeson: move declaration of cryptsetup token modules
Yu Watanabe [Fri, 23 Jun 2023 02:21:40 +0000 (11:21 +0900)] 
meson: move declaration of cryptsetup token modules

10 months agomeson: introduce infra to build executables and shared libraries by using dictionary
Yu Watanabe [Fri, 23 Jun 2023 02:09:10 +0000 (11:09 +0900)] 
meson: introduce infra to build executables and shared libraries by using dictionary

That is not used yet. It will be used later.

10 months agomeson: move declarations of arrays
Yu Watanabe [Fri, 23 Jun 2023 02:00:17 +0000 (11:00 +0900)] 
meson: move declarations of arrays

10 months agoresolve: initialize 'current' when SD_RESOLVED_NO_STALE is set 28568/head
Yu Watanabe [Mon, 31 Jul 2023 13:11:51 +0000 (22:11 +0900)] 
resolve: initialize 'current' when SD_RESOLVED_NO_STALE is set

Otherwise, the check below is always fail.
```
if (FLAGS_SET(query_flags, SD_RESOLVED_NO_STALE) && j->until_valid < current)
```

Follow-up for 5ed91481abea382dc486507556e5cdf0f36b796f.

10 months agotests: skip static asserts on old clang versions 28599/head
Zbigniew Jędrzejewski-Szmek [Mon, 31 Jul 2023 12:12:36 +0000 (14:12 +0200)] 
tests: skip static asserts on old clang versions

We declare clang >= 10 is supported. The workaround is easy enough, so let's
just do that. Fixes #28598. With Debian clang version 11.0.1-2:

[267/384] Compiling C object test-bitfield.p/src_test_test-bitfield.c.o
FAILED: test-bitfield.p/src_test_test-bitfield.c.o
clang -Itest-bitfield.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 -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O0 -g -Wno-missing-field-initializers -Wno-unused-parameter -Warray-bounds -Wdate-time -Wendif-labels -Werror=format=2 -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=undef -Wfloat-equal -Winit-self -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wunused-function -Wwrite-strings '-Wno-error=#warnings' -Wno-string-plus-int -fdiagnostics-show-option -fno-common -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Wno-typedef-redefinition -Wno-gnu-variable-sized-type-not-at-end -Werror=shadow -fno-strict-aliasing -fvisibility=hidden -fno-omit-frame-pointer -include config.h -DTEST_CODE=1 -MD -MQ test-bitfield.p/src_test_test-bitfield.c.o -MF test-bitfield.p/src_test_test-bitfield.c.o.d -o test-bitfield.p/src_test_test-bitfield.c.o -c ../src/test/test-bitfield.c
../src/test/test-bitfield.c:216:9: error: static_assert failed due to requirement '__builtin_constant_p(({
    static_assert(sizeof(unsigned char) <= sizeof(unsigned long long), "sizeof(uint8_t) <= sizeof(unsigned long long)");
    static_assert(__builtin_choose_expr(__builtin_constant_p(1), 1, 0) < (int)(sizeof(unsigned char) * 8), "__builtin_choose_expr(__builtin_constant_p(1), 1, 0) < (int)(sizeof(uint8_t) * 8)");
    __builtin_choose_expr(__builtin_constant_p(1), ((unsigned char)1) << (1), ({
        int __unique_prefix__i751 = (1);
        do {
            if ((__builtin_expect(!!(!(__unique_prefix__i751 < (int)sizeof(unsigned char) * 8)), 0)))
                log_assert_failed("UNIQ_T(_i, 751) < (int)sizeof(uint8_t) * 8", (&"../src/test/test-bitfield.c"[(sizeof ("..") - sizeof(const char)) + 1]), 216, __func__);
        } while (0);
        ((unsigned char)1) << __unique_prefix__i751;
    }));
}))' "__builtin_constant_p(INDEX_TO_MASK(uint8_t, 1))"
        assert_cc(__builtin_constant_p(INDEX_TO_MASK(uint8_t, 1)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/fundamental/macro-fundamental.h:109:25: note: expanded from macro 'assert_cc'
                        ^             ~~~~
/usr/include/assert.h:143:24: note: expanded from macro 'static_assert'
                       ^
...

10 months agogpt-auto-generator: fix warnings about unused func when !ENABLE_EFI
Zbigniew Jędrzejewski-Szmek [Mon, 31 Jul 2023 12:04:55 +0000 (14:04 +0200)] 
gpt-auto-generator: fix warnings about unused func when !ENABLE_EFI

10 months agoMerge pull request #28596 from keszybz/doc-updates
Luca Boccassi [Mon, 31 Jul 2023 10:11:11 +0000 (11:11 +0100)] 
Merge pull request #28596 from keszybz/doc-updates

Two documentation updates

10 months agoman/systemd.service: advise Type=exec instead of Type=simple 28596/head
Zbigniew Jędrzejewski-Szmek [Sun, 30 Jul 2023 10:11:33 +0000 (12:11 +0200)] 
man/systemd.service: advise Type=exec instead of Type=simple

The descriptions of various options are reworked: first say what protocol
actually is, i.e. describe what type of notification the manager waits
for. Only after that describe various steps and things the service should
do. Also, apply some paragraph breaks.

Instead of recommending Type=simple, recommend Type=exec. Say explicitly that
Type=simple, Type=forking are not recommended. Type=simple ignores failure in a
way that doesn't make any sense except as a historical accident. We introduced
'exec' instead of changing 'simple' to keep backwards-compatiblity, but
'simple' is not very useful. 'forking' works, but is inefficient: correctly
programming the interface requires a lot of work, and at runtime, the
additional one or two forks are just a waste of CPU resources. Furthermore, we
now understand that because of COW traps, they may also increase memory
requirements. There is really no reason to use 'forking', except if it's
already implemented and the code cannot be changed to use 'notify'.

Also, remove the recommendations to use Type=simple to avoid delaying boot. In
most cases, if the service can support notifications about startup, those
should be done.

Overall, for new services, "notify", "notify-reload", and "dbus" are the
types that make sense.

10 months agonetwork/address: rename address_kernel_{compare,hash}_func() -> address_{compare...
Yu Watanabe [Tue, 11 Jul 2023 02:24:06 +0000 (11:24 +0900)] 
network/address: rename address_kernel_{compare,hash}_func() -> address_{compare,hash}_func()

Previously, we had two compare/hash functions. But we do not have
one of them anymore. Let's rename them.

10 months agonetwork/address: drop unused functions
Yu Watanabe [Tue, 11 Jul 2023 02:22:35 +0000 (11:22 +0900)] 
network/address: drop unused functions

10 months agotest-network: add more tests for address properties
Yu Watanabe [Mon, 31 Jul 2023 08:52:09 +0000 (17:52 +0900)] 
test-network: add more tests for address properties

10 months agonetwork/address: check if existing addresses can be updated in more detail
Yu Watanabe [Tue, 11 Jul 2023 02:21:30 +0000 (11:21 +0900)] 
network/address: check if existing addresses can be updated in more detail

Some properties of address can be updated, but some cannot.
On reconfiguring an interface or restarting networkd, let's keep an
assigned address only when it can be updated later with the requested
setting, and otherwise drop it.

10 months agonetwork/address: always set IFA_ADDRESS attribute for IPv6 address on configure
Yu Watanabe [Mon, 31 Jul 2023 09:07:46 +0000 (18:07 +0900)] 
network/address: always set IFA_ADDRESS attribute for IPv6 address on configure

IPv6 address can update the peer address without removing the address.
If an address have a peer, but now we want to drop the peer, we need to
specify a null address in IFA_ADDRESS attribute.

IPv4 address cannot update the peer address, so let's specify peer
address only when necessary.

10 months agonetwork/address: make Label= accept an empty string
Yu Watanabe [Mon, 31 Jul 2023 09:04:14 +0000 (18:04 +0900)] 
network/address: make Label= accept an empty string

We usually reset setting when an emptry string is specified.

10 months agonetwork/address: add missing space in log message
Yu Watanabe [Mon, 31 Jul 2023 09:03:40 +0000 (18:03 +0900)] 
network/address: add missing space in log message

10 months agonetwork/address: do not set configuring flag when a request is canceled
Yu Watanabe [Mon, 31 Jul 2023 09:01:58 +0000 (18:01 +0900)] 
network/address: do not set configuring flag when a request is canceled

Fixes copy-and-paste error.
Follow-up for 0a0c2672dbd22dc85d660e5baa7e1bef701beb88.

10 months agosystemd-battery-check: provide more debug logs
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jul 2023 17:29:33 +0000 (19:29 +0200)] 
systemd-battery-check: provide more debug logs

The logs would give no hint about the answer to most interesting question: why
we decided to return true or false from the program. If we find batteries
that are low or uncertain, log at info level.

10 months agoMerge pull request #28474 from yuwata/chase-fix
Daan De Meyer [Mon, 31 Jul 2023 08:46:19 +0000 (10:46 +0200)] 
Merge pull request #28474 from yuwata/chase-fix

chase: handle ".." more carefully

10 months agoNEWS: fix misstatement
Zbigniew Jędrzejewski-Szmek [Sat, 29 Jul 2023 17:28:55 +0000 (19:28 +0200)] 
NEWS: fix misstatement

We don't have type 'ready'.

10 months agoMerge pull request #28595 from medhefgo/elf2efi-fixes
Luca Boccassi [Sun, 30 Jul 2023 23:07:28 +0000 (00:07 +0100)] 
Merge pull request #28595 from medhefgo/elf2efi-fixes

elf2efi: Fixes

10 months agoMerge pull request #28269 from yuwata/udev-builtin-net_id-cleanups-part1
Luca Boccassi [Sun, 30 Jul 2023 22:56:54 +0000 (23:56 +0100)] 
Merge pull request #28269 from yuwata/udev-builtin-net_id-cleanups-part1

udev: cleanups and several fixes for net_id builtin

10 months agoMerge pull request #28567 from yuwata/meson-versiondep
Luca Boccassi [Sun, 30 Jul 2023 22:40:51 +0000 (23:40 +0100)] 
Merge pull request #28567 from yuwata/meson-versiondep

meson:  cleanups for version dependency

10 months agostub: Also reserve sections for EFI stub 28595/head
Jan Janssen [Sun, 30 Jul 2023 19:05:24 +0000 (21:05 +0200)] 
stub: Also reserve sections for EFI stub

The stub image may not have enough sections to cause enough PE header
space to be free for later expansion. Given that the stub is guaranteed
to be expanded we should always reserve enough sections for it.

This also bumps the reservation to 15. It doesn't add more space
compared to current builds but it more closely reflects the amount of
sections that a UKI could have in total if all optional sections are
used.

Fixes: #28593
10 months agoelf2efi: Fix header size calculation
Jan Janssen [Sun, 30 Jul 2023 18:59:04 +0000 (20:59 +0200)] 
elf2efi: Fix header size calculation

The PE header size calculation failed to take the PE magic and coff
header size into account, which will lead to header truncation if we are
writing only 5 sections.

10 months agoMerge pull request #28573 from yuwata/network-address-next-part2
Yu Watanabe [Sun, 30 Jul 2023 19:14:16 +0000 (04:14 +0900)] 
Merge pull request #28573 from yuwata/network-address-next-part2

network: make Address object more consistent with assigned address

10 months agotest-network: add testcase for overriding Address.RouteMetric= 28573/head
Yu Watanabe [Sun, 9 Jul 2023 00:54:25 +0000 (09:54 +0900)] 
test-network: add testcase for overriding Address.RouteMetric=

For issue #25843.

10 months agonetwork/address: also save/update priority of prefix route
Yu Watanabe [Sun, 9 Jul 2023 03:36:34 +0000 (12:36 +0900)] 
network/address: also save/update priority of prefix route

Strictly speaking, this is not necessary, but let's make the managed
Address objects more consistent with the kernel's addresses.

10 months agonetwork/address: introduce address_get_harder() and use it where appropriate
Yu Watanabe [Tue, 11 Jul 2023 03:11:18 +0000 (12:11 +0900)] 
network/address: introduce address_get_harder() and use it where appropriate

With the previous change, now Address objects under requesting are not
owned by Link object, hence we need to also search corresponding Address
object in the request queue.

10 months agonetwork/address: do not add Address object to Link on requesting
Yu Watanabe [Sat, 8 Jul 2023 23:42:25 +0000 (08:42 +0900)] 
network/address: do not add Address object to Link on requesting

Then, all addresses managed by a link really exist (unless the kernel
silently removes addresses).
By this change, now Address objects managed by Link and owned by Request
are decoupled, and always requested settings will be applied.

Fixes #25843.

10 months agonetwork/address: make Address object more consistent with assigned address
Yu Watanabe [Sat, 8 Jul 2023 06:40:57 +0000 (15:40 +0900)] 
network/address: make Address object more consistent with assigned address

This makes `manager_rtnl_process_address()`
- first read minimal information to get managed Address object,
- then update the managed Address object directly.

Previously, we updated the Address object managed by Link partially,
e.g. peer address did not updated.
This makes the managed Address object more consistent with the assigned
address.

10 months agonetwork: fix typo
Yu Watanabe [Sun, 30 Jul 2023 17:08:24 +0000 (02:08 +0900)] 
network: fix typo

Follow-up for bbeceaf2956f6cc12d75d2dc571cfc9fb1d9d839.

10 months agoresolved: added show-server-state verb and DumpStatistics varlink method
Kiran Vemula [Fri, 7 Jul 2023 12:39:20 +0000 (18:09 +0530)] 
resolved: added show-server-state verb and DumpStatistics  varlink method

Added show-server-state verb to resolvectl
Added DumpStatistics and ResetStatistics  methods to varlink

10 months agoMerge pull request #28591 from yuwata/network-neighbor-next
Yu Watanabe [Sun, 30 Jul 2023 16:42:39 +0000 (01:42 +0900)] 
Merge pull request #28591 from yuwata/network-neighbor-next

network/neighbor: follow the kernel's way how to manage neighbors

10 months agoMerge pull request #28575 from yuwata/network-address-next-part3
Yu Watanabe [Sun, 30 Jul 2023 15:59:31 +0000 (00:59 +0900)] 
Merge pull request #28575 from yuwata/network-address-next-part3

network: check specified address settings in more detail

10 months agoMerge pull request #28572 from yuwata/network-ipv4acd
Yu Watanabe [Sun, 30 Jul 2023 15:58:54 +0000 (00:58 +0900)] 
Merge pull request #28572 from yuwata/network-ipv4acd

network: split-out sd_ipv4acd object management from Address object

10 months agotmpfiles.d: adjust /dev/vfio/vfio access mode
Frantisek Sumsal [Sun, 30 Jul 2023 13:21:31 +0000 (15:21 +0200)] 
tmpfiles.d: adjust /dev/vfio/vfio access mode

kmod-static-nodes.service sets the mode to 0600, but we want it
to be 0666 as specified in 50-udev-default.rules.

Resolves: #28588

10 months agotest-network: add tests for several invalid neighbor settings, and overriding settings 28591/head
Yu Watanabe [Mon, 10 Jul 2023 03:16:51 +0000 (12:16 +0900)] 
test-network: add tests for several invalid neighbor settings, and overriding settings

This also makes the checks stricter.

10 months agonetwork/neighbor: do not add Neighbor object to Link on requesting
Yu Watanabe [Mon, 10 Jul 2023 01:12:10 +0000 (10:12 +0900)] 
network/neighbor: do not add Neighbor object to Link on requesting

Then, all neighbors managed by a link really exist (unless the kernel
silently removes neighbors).

10 months agoMerge pull request #28428 from ldv-alt/ERRNO_IS
Luca Boccassi [Sun, 30 Jul 2023 15:31:16 +0000 (16:31 +0100)] 
Merge pull request #28428 from ldv-alt/ERRNO_IS

treewide: cleanup use of ERRNO_IS_*(r)

10 months agonetwork/neighbor: follow the way how kernel distinguish neighbor settings
Yu Watanabe [Mon, 10 Jul 2023 02:30:11 +0000 (11:30 +0900)] 
network/neighbor: follow the way how kernel distinguish neighbor settings

The kernel manages neighbors by the destination address, and the
LinkLayerAddress is mutable. Let's manage neighbors in the same way, and
dedup settings.

10 months agonetwork/neighbor: skip to request neighbors with unmatching link layer address length
Yu Watanabe [Mon, 10 Jul 2023 02:55:25 +0000 (11:55 +0900)] 
network/neighbor: skip to request neighbors with unmatching link layer address length

10 months agonetwork/ipv4acd: split out sd_ipv4acd management from Address to Link 28572/head
Yu Watanabe [Sun, 30 Jul 2023 14:16:41 +0000 (23:16 +0900)] 
network/ipv4acd: split out sd_ipv4acd management from Address to Link

Then, we can start IPv4ACD without adding corresponding Address object
to Link.

Hopefully, no functional change, just refactoring and preparation for
later commits.

10 months agoin-addr-util: introduce PTR_TO_IN4_ADDR() and IN4_ADDR_TO_PTR()
Yu Watanabe [Sat, 8 Jul 2023 03:23:27 +0000 (12:23 +0900)] 
in-addr-util: introduce PTR_TO_IN4_ADDR() and IN4_ADDR_TO_PTR()

These should be useful when an IPv4 address is used as a key of a
hashmap.

10 months agosd-ipv4acd: introduce sd_ipv4acd_is_bound()
Yu Watanabe [Sat, 8 Jul 2023 03:24:57 +0000 (12:24 +0900)] 
sd-ipv4acd: introduce sd_ipv4acd_is_bound()

10 months agonetwork/ipv4acd: drop unused argument
Yu Watanabe [Sat, 8 Jul 2023 05:24:41 +0000 (14:24 +0900)] 
network/ipv4acd: drop unused argument

10 months agonetwork/ipv4acd: use IN4_ADDR_TO_STRING()
Yu Watanabe [Sat, 8 Jul 2023 03:31:25 +0000 (12:31 +0900)] 
network/ipv4acd: use IN4_ADDR_TO_STRING()

10 months agonetwork/address: ignore address settings with unsupported flags 28575/head
Yu Watanabe [Tue, 11 Jul 2023 02:07:21 +0000 (11:07 +0900)] 
network/address: ignore address settings with unsupported flags

10 months agonetwork/address: drop IPv6 settings when the kernel does not support IPv6
Yu Watanabe [Mon, 10 Jul 2023 03:32:40 +0000 (12:32 +0900)] 
network/address: drop IPv6 settings when the kernel does not support IPv6

10 months agonetwork: ndisc - Honour CurHopLimit
Susant Sahani [Tue, 18 Jul 2023 14:42:46 +0000 (20:12 +0530)] 
network: ndisc - Honour CurHopLimit

RFC4861 Neighbor Discovery – Sections 4.2 and 6.3.4

From section 4.2. Router Advertisement Message Format:

Cur Hop Limit        8-bit unsigned integer.  The default value that
                     should be placed in the Hop Count field of the IP
                     header for outgoing IP packets.  A value of zero
                     means unspecified (by this router).

10 months agonetwork/address: merge address_needs_to_set_broadcast() with address_get_broadcast()
Yu Watanabe [Tue, 11 Jul 2023 01:53:27 +0000 (10:53 +0900)] 
network/address: merge address_needs_to_set_broadcast() with address_get_broadcast()

No functional change, preparation for later commits.