Commit Graph
100 Commits
Author SHA1 Message Date
Yu Watanabe 9b7c8253f9 Merge pull request #23403 from keszybz/docs-update
Say that we support recent version of major distros and other doc updates
2022-05-17 06:02:08 +09:00
Yu Watanabe 27408ef878 Merge pull request #23377 from nabijaczleweli/shopt
Fix shopt in 90-loaderentry, don't not lint kernel-install, respect `$TMPDIR`
2022-05-16 18:17:14 +09:00
Yu Watanabe 72db29beb5 fuzz: drop too large input
The original issue oss-fuzz#10734 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10734)
is that just the file size is too large, and not a issue in functions
tested by the fuzzer. It is not necessary to include the testcase.

Follow-up for c4f883b78e.

Fixes #23390.
2022-05-16 00:25:18 +01:00
Yu Watanabe 08a7e5459f core: fix comment 2022-05-16 05:18:30 +09:00
Yu Watanabe 8fe37dbdcf meson: always get libbpf include directory from pkgconfig 2022-05-16 04:27:36 +09:00
Yu Watanabe 4645074e6f meson: use fs.name() and fs.parent()
Follow-up for 1bd0cc452c.
2022-05-16 04:27:27 +09:00
Yu Watanabe 4a5bdeac7d meson: always use ExternalProgram.path()
Even if we use meson >= 0.55, using path() does not produce any error or
warning if the required version is below 0.55.

Let's convert path() with full_path() when we requires meson >= 0.55.
2022-05-16 03:39:38 +09:00
Yu Watanabe 3d954ef147 meson: disable bpf if skip-deps is enabled 2022-05-16 03:37:21 +09:00
Yu Watanabe cf2dc69062 meson: use boolean for configuration_data.set10()
Setting with number is deprecated:
```
meson.build:1008: DEPRECATION: configuration_data.set10 with number. the `set10` method should only be used with booleans
```
2022-05-16 03:37:21 +09:00
Yu Watanabe a9164757b7 po: update Japanese translation 2022-05-15 17:41:56 +01:00
Yu Watanabe 3dad6e6b86 git: ignore manifest 2022-05-15 15:35:46 +01:00
Yu Watanabe 4f6ebd43b2 resolve: merge variable declaration with same type 2022-05-15 10:26:24 +09:00
Yu Watanabe a3f87e32b9 resolve/dnssd: make dnssd_render_instance_name() take Manager
As DnssdService object passed to dnssd_render_instance_name() may
not owned by Manager.

Fixes #23381.
2022-05-15 10:23:33 +09:00
Yu Watanabe cee6833943 network: do not update interface group by default
This fixes a minor bug introduced by 10af8bb24b.
Before the commit, the interface group was set only when Group= is explicitly
specified, otherwise the interface group was kept. However, after the commit,
we need to specify Group= with an empty string to keep the current interface
group.
2022-05-15 08:24:13 +09:00
Yu Watanabe 6530ca0d2b resolve: fix memleak
Fixes a bug introduced by 71aee23dba.

Fixes CID#1488763.
2022-05-14 10:52:29 +01:00
Yu Watanabe 618b3642e1 tree-wide: replace AF_LOCAL with AF_UNIX 2022-05-14 10:51:05 +01:00
Yu Watanabe bf7a24e50f Merge pull request #23370 from bluca/hwdb
Update hwdb and contrib list for rc3
2022-05-14 05:00:18 +09:00
Yu Watanabe bdaf5c3df6 Merge pull request #23369 from yuwata/error-handling-fixlets
Several fixlets
2022-05-14 04:59:56 +09:00
Yu Watanabe 3881fd406b tree-wide: fix typo 2022-05-14 04:58:47 +09:00
Yu Watanabe a98042e7a3 userdb: fix error handling 2022-05-13 21:49:53 +09:00
Yu Watanabe 4fd96fd0fb Merge pull request #23365 from yuwata/ci-fedora-36
CI: use Fedora 36
2022-05-13 05:35:41 +09:00
Yu Watanabe 8e423ddd9f Merge pull request #23218 from yuwata/core-device
pid1: several fixlets for device handling
2022-05-13 05:35:12 +09:00
Yu Watanabe ab21290049 mkosi: drop libiptc from build for Fedora
It is mostly deprecated on Fedora.
2022-05-13 04:21:27 +09:00
Yu Watanabe 2481f0369c mkosi: test-acl-util requires getfacl 2022-05-13 03:09:42 +09:00
Yu WatanabeandMartin Wilck 75d7b5989f core/device: ignore DEVICE_FOUND_UDEV bit on switching root
The issue #12953 is caused by the following:
On switching root,
- deserialized_found == DEVICE_FOUND_UDEV | DEVICE_FOUND_MOUNT,
- deserialized_state == DEVICE_PLUGGED,
- enumerated_found == DEVICE_FOUND_MOUNT,
On switching root, most devices are not found by the enumeration process.
Hence, the device state is set to plugged by device_coldplug(), and then
changed to the dead state in device_catchup(). So the corresponding
mount point is unmounted. Later when the device is processed by udevd, it
will be changed to plugged state again.

The issue #23208 is caused by the fact that generated udev database in
initramfs and the main system are often different.

So, the two issues have the same root; we should not honor
DEVICE_FOUND_UDEV bit in the deserialized_found on switching root.

This partially reverts c6e892bc0e.

Fixes #12953 and #23208.
Replaces #23215.

Co-authored-by: Martin Wilck <mwilck@suse.com>
2022-05-13 03:04:31 +09:00
Yu Watanabe f33bc87989 core/device: drop unnecessary condition 2022-05-13 02:56:14 +09:00
Yu Watanabe fc0cbed2db test-sd-device: skip gpio subsystem
There exist /sys/class/gpio and /sys/bus/gpio, and both have gpiochip%N
device. However, these point to different devpaths.
2022-05-13 02:51:00 +09:00
Yu Watanabe 4d38294baf sd-device: always translate sysname to sysfs filename
Previously, in sd_device_new_from_subsystem_sysname(), '/' in sysname
was replaced '!' for several limited subsystems. This was based on a wrong
assumption that no sysname in e.g. driver subsystem does not contain '!'.
And the assumption is actually wrong, and trigger issue #23327.

In device_set_sysname_and_sysnum() we unconditionally replace '!' in the
filename. Hence, the translation in sd_device_new_from_subsystem_sysname()
must be also done unconditionally.

Fixes #23327.
2022-05-13 02:51:00 +09:00
Yu Watanabe e2c99d3b5c CI: use Fedora 36 2022-05-13 02:46:13 +09:00
Yu Watanabe 0ffffade03 Merge pull request #23361 from keszybz/resolved-helpers
Add some ref-unref helpers for resolved
2022-05-13 02:33:29 +09:00
Yu Watanabe 57ee137ff2 Merge pull request #23358 from keszybz/fuzzer-input-sizes
fuzzers: add input size limits, always configure limits in two ways
2022-05-13 01:04:20 +09:00
Yu WatanabeandZbigniew Jędrzejewski-Szmek 7593691aad fuzzers: add input size limits, always configure limits in two ways
Without the size limits, oss-fuzz creates huge samples that time out. Usually
this is because some of our code has bad algorithmic complexity. For data like
configuration samples we don't need to care about this: non-rogue configs are
rarely more than a few items, and a bit of a slowdown with a few hundred items
is acceptable. This wouldn't be OK for processing of untrusted data though.

We need to set the limit in two ways: through .options and in the code. The
first because it nicely allows libFuzzer to avoid wasting time, and the second
because fuzzers like hongfuzz and afl don't support .options.

While at it, let's fix an off-by-one (65535 is the largest offset for a
power-of-two size, but we're checking the size here).

Co-authored-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
2022-05-12 13:31:11 +02:00
Yu Watanabe b692ad36b9 sd-device-enumerator: fix inverted return value of match_initialized()
Fixes a bug introduced by d8b50e5df7.

Fixes https://github.com/systemd/systemd/pull/22662#issuecomment-1124163773.
Fixes RHBZ#2083374 (https://bugzilla.redhat.com/show_bug.cgi?id=2083374).
2022-05-12 09:31:23 +02:00
Yu Watanabe 34f6ae24c5 Merge pull request #23351 from keszybz/logind-message
logind: fix crash in logind on bad message string
2022-05-12 05:25:21 +09:00
Yu Watanabe 6bb8928205 meson: sort files 2022-05-11 02:13:15 +09:00
Yu Watanabe 97cda6e10f Merge pull request #23335 from keszybz/fuzz-json-more-coverage
More coverage in fuzz-json
2022-05-11 02:12:57 +09:00
Yu Watanabe 01c99b29e9 Merge pull request #23336 from keszybz/fuzz-calendarspec-more-coverage
More coverage in fuzz-calendarspec
2022-05-11 02:12:11 +09:00
Yu Watanabe 756491af39 core/timer: fix potential use-after-free 2022-05-10 13:50:50 +02:00
Yu Watanabe d3ab7b8078 core/timer: fix memleak
Fixes #23326.
2022-05-10 13:50:50 +02:00
Yu Watanabe 16f74783d8 resolve: reallocate DNS scope when DNSSEC and/or DNS-over-TLS settings are changed
Fixes #23227.
2022-05-10 09:44:45 +02:00
Yu Watanabe 81391854ec Merge pull request #23300 from DaanDeMeyer/device-debug
core/device: Add more logging
2022-05-10 14:29:35 +09:00
Yu Watanabe 31090c17f4 Merge pull request #23321 from poettering/sockaddr-no-cast
tests: avoid sockaddr casts
2022-05-09 23:44:01 +09:00
Yu Watanabe d171e72e7a core/slice: make slice_freezer_action() return 0 if freezing state is unchanged
Fixes #23278.
2022-05-09 23:43:32 +09:00
Yu Watanabe a6b084234c network: set/unset enumerating flag before/after loop 2022-05-09 18:59:24 +09:00
Yu Watanabe df423851fc Merge pull request #23310 from keszybz/suppress-fuzzer-timeouts-and-errors
Suppress fuzzer timeouts and errors
2022-05-09 15:50:29 +09:00
Yu Watanabe b5be9dbebf Merge pull request #23311 from keszybz/bootspec-fuzzer
Fuzzer for bootspec.c and associated fixes
2022-05-09 15:46:49 +09:00
Yu Watanabe 734582830b core/unit: fix use-after-free
Fixes #23312.
2022-05-08 22:45:07 +02:00
Yu Watanabe 4e5f4733c5 bash-completion: resolvectl: add missing options and verb 2022-05-08 14:14:28 +02:00
Yu Watanabe 3c60643848 man: fix typo 2022-05-07 15:17:56 +09:00
Yu Watanabe d1b8e56a62 resolve: fix false maybe-uninitialized warning 2022-05-07 15:14:41 +09:00
Yu Watanabe 388c92ce09 resolve: move the RRSIG after the all corresponding entries
Fixes #22002.
2022-05-07 15:14:41 +09:00
Yu Watanabe 71aee23dba resolve: manage DnsAnswerItem with OrderedSet
Previously, we manage DnsAnswerItem by an array and Set,
The array was used for the order of the items, and the set is used to
dedup items.
Let's use OrderedSet, then we can simplify the logic.

This fixes dns_answer_remove_by_key() and dns_answer_remove_by_rr()
which makes the set in a broken state.
2022-05-07 15:14:41 +09:00
Yu Watanabe 0bb7324c11 ordered-set: introduce ordered_set_reserve() 2022-05-07 15:14:41 +09:00
Yu Watanabe 4ce30e4de0 resolve: first increment the reference counter
When `exist->rr` and `rr` point to the same object, then it may be freed by
the `dns_resource_record_unref()`.
2022-05-07 15:14:41 +09:00
Yu Watanabe 6edf21dba7 resolve: use dns_answer_isempty() at one more place 2022-05-07 15:14:41 +09:00
Yu Watanabe 87d3b4ef3b Merge pull request #23292 from alexhenrie/dhcpv6
network: clarify relationship between RA flags and DHCPv6 modes
2022-05-07 11:42:45 +09:00
Yu Watanabe 01af366ef9 Merge pull request #23291 from yuwata/udev-rule-fix-regression
udev: fix parent token handling
2022-05-07 04:58:20 +09:00
Yu Watanabe 0139026b3e Merge pull request #23290 from keszybz/three-fixes
Three fixes
2022-05-07 04:57:36 +09:00
Yu Watanabe af2ff171e0 Merge pull request #23272 from keszybz/logind-man-and-rules
Logind man and rules
2022-05-07 04:23:02 +09:00
Yu Watanabe d94802e988 test: add testcase for #23288 2022-05-07 02:51:31 +09:00
Yu Watanabe eba782d59b udev: fix parent token handling
This fixes a bug introduced by 03677889f0.

Fixes #23288.
2022-05-07 02:51:21 +09:00
Yu Watanabe ad11dd94fd README: mention kernel requirement for ambient capabilities
Closes #23231.
2022-05-06 09:33:49 +01:00
Yu Watanabe 9b260c967b Merge pull request #23264 from keszybz/shorten-test-names
Shorten test names
2022-05-04 23:25:47 +09:00
Yu Watanabe c322cfafba man/networkctl: mention initialized state
Closes #23262.
2022-05-04 14:44:13 +01:00
Yu Watanabe 87bd4b79e6 sd-lldp: use memcpy_safe() as the buffer size may be zero 2022-05-04 16:05:04 +09:00
Yu Watanabe 9a44966e63 sd-ndisc: drop unused function 2022-05-04 16:03:57 +09:00
Yu Watanabe 4e88a46bfe libsystemd-network: refuse too large raw_size
Closes #23258.
2022-05-04 15:46:19 +09:00
Yu Watanabe fa2ba7aea8 Merge pull request #23205 from DaanDeMeyer/tmpfiles-networkd
tmpfiles: Split networkd entries into a separate file
2022-05-04 11:48:21 +09:00
Yu Watanabe e370edbefc Merge pull request #23257 from evverx/install-valgrind
tests: make it possible to install valgrind
2022-05-04 11:47:59 +09:00
Yu Watanabe bdb2d3c688 udev: check stats of .link files and their drop-in files
Fixes #23128.
2022-05-03 10:26:22 +02:00
Yu Watanabe 0b6bf4b674 shared/install: use correct cleanup function
Fixes #23250.
2022-05-02 22:17:56 +01:00
Yu Watanabe 77f081f363 fix typo 2022-05-03 01:16:32 +09:00
Yu Watanabe dfd672f84b Merge pull request #23230 from yuwata/core-device-cleanups
core/device: several cleanups
2022-04-30 23:10:22 +09:00
Yu Watanabe 08300bb035 core/device: use DEVICE_FOUND_MASK 2022-04-30 04:14:10 +09:00
Yu Watanabe 1363eeca94 core/device: minor coding style updates 2022-04-30 04:14:10 +09:00
Yu Watanabe 42ebcebfef core/device: drop unused unit name generated from path 2022-04-30 04:14:10 +09:00
Yu Watanabe 03a94b73c4 core/device: device_found_node() does not accept DEVICE_FOUND_UDEV 2022-04-30 04:14:10 +09:00
Yu Watanabe 0e38cee883 core/device: use sd_device_new_from_devname() to verify the device node 2022-04-30 04:14:10 +09:00
Yu Watanabe f374631a56 core/device: use udev_available() 2022-04-30 04:14:10 +09:00
Yu Watanabe 4212fa83d6 core/device: use device_get_property_bool() 2022-04-30 04:14:10 +09:00
Yu Watanabe 15345fc677 sd-device: introduce device_get_property_bool() 2022-04-30 04:14:10 +09:00
Yu Watanabe dd309fcdb8 core/device: use _cleanup_ attribute at one more place 2022-04-30 04:14:10 +09:00
Yu Watanabe a7fb1f2eae core/device: unit_name_from_path() does not return -ENAMETOOLONG anymore
Follow-up for 1d0727e76f.
2022-04-30 04:14:10 +09:00
Yu Watanabe 47e72170c1 core/device: use strv_consume() 2022-04-30 04:14:10 +09:00
Yu Watanabe df8774263c Merge pull request #23226 from keszybz/libsystemd-length-assert
Add assert about DHCP packet length in libsystemd-network
2022-04-30 03:03:18 +09:00
Yu Watanabe 606104bcdb core: drop non-default value for DefaultLimitMEMLOCK= 2022-04-29 21:15:55 +09:00
Yu Watanabe 0bc055cf52 login: drop non-default value for RuntimeDirectoryInodesMax= 2022-04-29 21:15:21 +09:00
Yu Watanabe 08a767f1e0 login: make RuntimeDirectoryInodesMax= support K, G, M suffixes
Fixes #23017.
2022-04-29 21:08:15 +09:00
Yu Watanabe d10329a08e hwdb: add keyboard mapping for HP ProBook 11G2
Closes #23108.
2022-04-28 10:10:45 +09:00
Yu Watanabe 1788c6f3c0 meson: also use COMPRESSION_NONE for default compression 2022-04-27 20:49:17 +09:00
Yu Watanabe 9798deaf46 meson: show default compression method in summary 2022-04-27 20:47:38 +09:00
Yu Watanabe ff56124b11 test: exclude "bdi" subsystem and loop block devices
On several CI environments, it seems that some loop block devices and
corresponding bdi devices are sometimes removed during the test is
running. Let's exclude them.

Fixes #22970.
2022-04-27 16:32:42 +09:00
Yu Watanabe 9409710097 sd-device-enumerator: introduce sd_device_enumerator_add_nomatch_sysname() 2022-04-27 16:32:42 +09:00
Yu Watanabe c11810ed30 sd-device-enumerator: use set_fnmatch() 2022-04-27 16:32:42 +09:00
Yu Watanabe d25d4f189c set: introduce set_fnmatch() 2022-04-27 16:32:15 +09:00
Yu Watanabe 8ac6b05b7c tree-wide: Fix typo 2022-04-25 10:06:08 +09:00
Yu Watanabe b1aca4da60 udevadm: wait: check if specified path not exist on --remove
Even if the corresponding device node or syspath are already removed,
the specified symlink to the device node may still exist.

Fixes #23166.
2022-04-23 08:45:01 +09:00
Yu Watanabe bb78da17fd test: do not accept IPv6 local address if IPv6 is disabled 2022-04-23 04:19:49 +09:00
Yu Watanabe db50d326a4 nss-myhostname: do not return IPv6 local address if IPv6 is disabled 2022-04-23 04:18:51 +09:00
Yu Watanabe f4bdbae725 Merge pull request #23084 from poettering/creds-no-tpm2-fallback
creds: add semi-automatic fallback support for initrd credentials on systems lacking TPM2
2022-04-21 04:11:19 +09:00