Zbigniew Jędrzejewski-Szmek [Wed, 22 Jul 2020 13:49:29 +0000 (15:49 +0200)]
pid1: target units can fail through dependencies
Fixes #16401.
c80a9a33d04fb4381327a69ce929c94a9f1d0e6c introduced the .can_fail field,
but didn't set it on .targets. Targets can fail through dependencies.
This leaves .slice and .device units as the types that cannot fail.
$ systemctl cat bad.service bad.target bad-fallback.service
[Service]
Type=oneshot
ExecStart=false
[Unit]
OnFailure=bad-fallback.service
[Service]
Type=oneshot
ExecStart=echo Fixing everythign!
$ sudo systemctl start bad.target
systemd[1]: Starting bad.service...
systemd[1]: bad.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: bad.service: Failed with result 'exit-code'.
systemd[1]: Failed to start bad.service.
systemd[1]: Dependency failed for bad.target.
systemd[1]: bad.target: Job bad.target/start failed with result 'dependency'.
systemd[1]: bad.target: Triggering OnFailure= dependencies.
systemd[1]: Starting bad-fallback.service...
echo[46901]: Fixing everythign!
systemd[1]: bad-fallback.service: Succeeded.
systemd[1]: Finished bad-fallback.service.
(cherry picked from commit
94d1ddbd7cd15b1073757eb5ae0645c83f0b414c)
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jul 2020 10:51:15 +0000 (12:51 +0200)]
Revert "units: drop OnFailure= from .target units"
This reverts commit
c7220ca8025e8dbded36131b23a502d975c45754.
The removal was done as a reaction to the messages from systemd:
initrd-root-fs.target: Requested dependency OnFailure=emergency.target ignored (target units cannot fail).
initrd.target: Requested dependency OnFailure=emergency.target ignored (target units cannot fail).
initrd-root-device.target: Requested dependency OnFailure=emergency.target ignored (target units cannot fail).
initrd-fs.target: Requested dependency OnFailure=emergency.target ignored (target units cannot fail).
local-fs.target: Requested dependency OnFailure=emergency.target ignored (target units cannot fail).
...
But it seems that the messages themselves are wrong, and the units were OK.
(cherry picked from commit
74c8e3c4e082121d8bc578d07d7a3843c61c2bd1)
Zbigniew Jędrzejewski-Szmek [Mon, 20 Jul 2020 06:22:45 +0000 (08:22 +0200)]
Revert "man: add note about systemd-vconsole-setup.service and tty as input/output"
This reverts commit
0b578036301d7c3f2dab8df1f31f0121552a4e10.
From https://github.com/systemd/systemd/pull/16503#issuecomment-
660212813:
systemd-vconsole-setup (the binary) is supposed to run asynchronously by udev
therefore ordering early interactive services after systemd-vconsole-setup.service
has basically no effect.
Let's remove this paragraph. It's better to say nothing than to give pointless
advice.
(cherry picked from commit
8fa2cd83c6ecc9400bb3621aafd6c1e499b1ae0d)
Lennart Poettering [Tue, 21 Jul 2020 09:13:54 +0000 (11:13 +0200)]
import: always prefer GNU tar, to avoid cmdline incompatibilities
Fixes: #16506
(cherry picked from commit
c400d040cee32b90fa7f06742d0725c79d30339f)
Hans de Goede [Mon, 20 Jul 2020 13:06:43 +0000 (15:06 +0200)]
logind: Fix org.freedesktop.login1.set-reboot-to-boot-loader-menu saving to the wrong file in the non EFI case
According to the docs, and to the
org.freedesktop.login1.get-reboot-to-boot-loader-menu code, the
(oneshot) boot-loader-menu timeout should be stored in
/run/systemd/reboot-to-boot-loader-menu, but the set method was storing it
in /run/systemd/reboot-to-loader-menu.
This commit fixes this. Note that the fixed name also is a better match
for the dbus call names and matches the related
/run/systemd/reboot-to-boot-loader-entry structure, so fixing the set code,
rather then the get code + docs seems like the right thing to do here.
(cherry picked from commit
3a978b30cd822faef304e790c5740e1587a79e0e)
Franck Bui [Thu, 16 Jul 2020 19:22:37 +0000 (21:22 +0200)]
vconsole-setup: downgrade log message when setting font fails on dummy console
Since commit
883eb9be985fd86d9cabe967eeeab91cdd396a81, vconsole-setup might be
called again to operate on dummy console where font operations are not
supported but where it's still important to have the correct keymap set [0][1].
vconsole-setup is mainly called by udev but can also be run via a dependency of
an early service. Both cases might end up calling vconsole-setup on the dummy
console.
The first case can happen during early boot even on systems that use (instead
of the dummy console) a "simple" video console driver supporting font
operations (such as vgacon) until a more specific driver (such as i915) takes
the console over. While this is happening vgacon is deactivated and temporarly
replaced by the dummy console [2].
There are also other cases where systemd-vconsole-setup might be called on
dummy console especially during (very) early boot. Indeed
systemd-vconsole-setup.service might be pulled in by early interactive services
such as 'dracut-cmdline-ask.service` which is run before udev.
If that happens on platforms with no grapical HWs (such as embedded ARM) or
with dummy console initially installed until a driver takes over (like Xen and
xen-fbfront) then setting font will fail.
Therefore this patch downgrades the log message emitted when setting font fails
to LOG_DEBUG and when font operations is not implemented like it's the case for
the dummy console.
Fixes: #16406.
[0] https://github.com/systemd/systemd/issues/10826
[1] https://bugzilla.redhat.com/show_bug.cgi?id=
1652473
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/vga/vgaarb.c?h=v5.7#n204
(cherry picked from commit
0ef1adf51274960358e852d3bc36ae6c288a70d9)
Zbigniew Jędrzejewski-Szmek [Thu, 16 Jul 2020 14:12:42 +0000 (16:12 +0200)]
udev: don't complain when udev_watch_end() is called without udev_watch_init()
E.g. udevadm test prints "Invalid inotify descriptor." which is
meaningless without any context. I think it should be OK to call udev_watch_end()
from a cleanup path without any warning (even at debug level).
(cherry picked from commit
d6d4961b01a986984f018bae141eabbce83f0e20)
Zbigniew Jędrzejewski-Szmek [Thu, 16 Jul 2020 12:56:16 +0000 (14:56 +0200)]
man: add more details for IMPORT, PROGRAM and RUN keys
967de8faceaa83c11a1215515cb135d7a8c0c32c added a note that I found very hard
to understand. Reword it, and also describe how IMPORT and PROGRAM are different
from RUN.
Minor markup adjustements too.
(cherry picked from commit
12254ccab0b7c1af02d07bb216edf81ac3a2aba4)
Zbigniew Jędrzejewski-Szmek [Thu, 16 Jul 2020 14:04:35 +0000 (16:04 +0200)]
udev: accept OPTIONS+= without any fuss
There is no reason to consider this wrong. In fact one could argue that +=
is more appropriate, because we always add to options, and not replace previous
assignments. If we output a debug message, we implicitly ask people to "fix" this,
and we shouldn't.
Also, all our rules use += right now.
(cherry picked from commit
ba60127df7bcc8263ae94092aca972b9f11c70ec)
Zbigniew Jędrzejewski-Szmek [Thu, 16 Jul 2020 11:56:57 +0000 (13:56 +0200)]
udev: accept IMPORT{}= without any fuss
Udev logs are full of messages about wrong operator type:
...
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:30 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:54 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:57 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:60 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:63 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:66 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:67 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:93 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:107 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:110 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-storage.rules:113 IMPORT key takes '==' or '!=' operator, assuming '=='.
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
/usr/lib/udev/rules.d/60-persistent-v4l.rules:7 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:9 IMPORT key takes '==' or '!=' operator, assuming '=='.
/usr/lib/udev/rules.d/60-persistent-v4l.rules:16 IMPORT key takes '==' or '!=' operator, assuming '=='.
...
The warning was downgraded in
f0beb6f816035e438d684cc52ae76fc4a44fc197, but I
think it should be removed altogether. IMPORT{program}="asdf" seems like an
obvious way to write this, and people don't expect to have to write "==".
So let's just allow any operator.
(cherry picked from commit
b6a80b83bc1c5d7f019b6c15025dda9a423d1fc7)
Anita Zhang [Thu, 16 Jul 2020 18:36:28 +0000 (11:36 -0700)]
analyze: CAP_RAWIO -> CAP_SYS_RAWIO
Fixes #16489
(cherry picked from commit
b5ef66101a7b1126b67fa58c68fb3ef246327276)
Lennart Poettering [Wed, 15 Jul 2020 15:44:03 +0000 (17:44 +0200)]
load-fragment: downgrade log messages we ignore to LOG_WARNING
We typically don't log above LOG_WARNING about issues we then go on to
ignore. Do so here, too
(cherry picked from commit
330f89907911f533f35639f58880eda4462d06a8)
Lennart Poettering [Wed, 15 Jul 2020 15:43:10 +0000 (17:43 +0200)]
mountpoint-util: fix error handling
(cherry picked from commit
89a5385fb7d8a1e6fdd59d8469dd14f14496cad5)
Lennart Poettering [Wed, 15 Jul 2020 16:49:08 +0000 (18:49 +0200)]
core: fix invalid assertion
We miscounted here, and would hit an assert once too early.
(cherry picked from commit
8d5bb13d7821da9ea84ccd3c4101aa50f9296022)
Zbigniew Jędrzejewski-Szmek [Tue, 14 Jul 2020 14:30:46 +0000 (16:30 +0200)]
rpm: include macro name in errors for two args macros too
(cherry picked from commit
1061fc1c1734ae67afe015fb6adbf25fa247b407)
Zbigniew Jędrzejewski-Szmek [Tue, 14 Jul 2020 14:25:32 +0000 (16:25 +0200)]
rpm: adjust various macros to print macro name in the error message
Based on initial patch by Jan Engelhardt <jengelh@inai.de>.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1856122.
(cherry picked from commit
281014b73ee044e83b9df8706adf2e324f08f746)
Mikhail Novosyolov [Sat, 11 Jul 2020 14:13:54 +0000 (17:13 +0300)]
rpm: avoid hiding errors and output in *_create_package macros
Commit
b0ca726585 "rpm: avoid hiding errors from systemd commands" remove hiding errors and output
for other macros, but did not do that for %sysusers_create_package and %tmpfiles_create_package.
This change syncs their behaviour with %sysusers_create and %tmpfiles_create
Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
(cherry picked from commit
3e6e0856cd98dd091137c4565bd5ccefd16ab832)
Mikhail Novosyolov [Sat, 11 Jul 2020 14:08:00 +0000 (17:08 +0300)]
rpm: avoid odd symbols in EOF indicator
The last line in this macros was actually "SYSTEMD_INLINE_EOF " with a space at the end,
but the shell was instructed to look for a line without space.
Macros %sysusers_create_inline and %tmpfiles_create_inline did not have this mistake.
An example:
[root@rosa-2019 bind-server]# cat /etc/passwd | grep named
[root@rosa-2019 bind-server]# cat /tmp/bs
systemd-sysusers --replace=/usr/lib/sysusers.d/named.conf - <<SYSTEMD_INLINE_EOF >/dev/null 2>&1 || :
u named - "BIND DNS Server" /var/lib/named
g named - -
m named named
SYSTEMD_INLINE_EOF
[root@rosa-2019 bind-server]# sh /tmp/bs
/tmp/bs: line 5: warning: here-document at line 1 delimited by end-of-file (wanted `SYSTEMD_INLINE_EOF')
[root@rosa-2019 bind-server]# bash /tmp/bs
/tmp/bs: line 5: warning: here-document at line 1 delimited by end-of-file (wanted `SYSTEMD_INLINE_EOF')
[root@rosa-2019 bind-server]# bash --version
GNU bash, version 5.0.17(1)-release (x86_64-openmandriva-linux-gnu)
The user and group named were NOT created!
Now I remove the trailing space after "SYSTEMD_INLINE_EOF" and rerun:
[root@rosa-2019 bind-server]# sh /tmp/bs
[root@rosa-2019 bind-server]# tail -n 1 /etc/group
named:x:485:named
[root@rosa-2019 bind-server]#
The user and group have been created correctly.
Signed-off-by: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
(cherry picked from commit
93406fd379d3ba184eec2eb664729edef1bca995)
gaoyi [Sun, 12 Jul 2020 07:27:45 +0000 (03:27 -0400)]
test: add test case for multi matches when use "||"
Signed-off-by: gaoyi <ymuemc@163.com>
(cherry picked from commit
0d3a8bc7ebd76591e14f7098b4266fd2065ac4db)
gaoyi [Sun, 12 Jul 2020 07:24:42 +0000 (03:24 -0400)]
udev: specify the end of value
NULSTR_FOREACH may read the illegal match
Signed-off-by: gaoyi <ymuemc@163.com>
(cherry picked from commit
1e67a9c2cd6065b850d2fd5e376d8b9bff63bdbc)
Zbigniew Jędrzejewski-Szmek [Thu, 9 Jul 2020 21:15:47 +0000 (23:15 +0200)]
basic/cap-list: parse/print numerical capabilities
We would refuse to print capabilities which were didn't have a name
for. The kernel adds new capabilities from time to time, most recently
cap_bpf. 'systmectl show -p CapabilityBoundingSet ...' would fail with
"Failed to parse bus message: Invalid argument" because
capability_set_to_string_alloc() would fail with -EINVAL. So let's
print such capabilities in hexadecimal:
CapabilityBoundingSet=cap_chown cap_dac_override cap_dac_read_search
cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap
cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin
cap_net_raw cap_ipc_lock cap_ipc_owner 0x10 0x11 0x12 0x13 0x14 0x15 0x16
0x17 0x18 0x19 0x1a ...
For symmetry, also allow capabilities that we don't know to be specified.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1853736.
(cherry picked from commit
417770f3033c426ca848b158d0bf057cd8ad1329)
Franck Bui [Thu, 11 Jun 2020 07:41:14 +0000 (09:41 +0200)]
fstab-generator: extra dependencies specified in fstab should be applied to the mount unit
If an entry in fstab uses "x-systemd.automount" option and also asks for
additionnal dependencies via x-systemd.requires or such, then the dependencies
were applied to the automount unit.
But this unlikely to do the right thing and is inconsistent with what's done
for network mounts.
Indeed when an fstab entries has "_netdev,x-systemd.automount" options, the
dependencies against the network requested by "_netdev" are (correctly) applied
to the mount unit only and the automount unit remains ordered against
local-fs.target.
The same logic should be followed when extra deps are specified via the mount
options as automount units should always be ordered against local-fs.target.
Note: in general explicit deps specified via mount options should be used with
care and should be used to specify dependencies on other mount units only as it
can easily create ordering cycles otherwise like it's been seen in
https://github.com/systemd/systemd-stable/issues/69. Mount units (as well as
automount ones) are ordered before local-fs.target by default which is a
low-level target that most other units depend on.
(cherry picked from commit
045c5faf5a3ef51cd39f738694e06c11a73f54b7)
Zbigniew Jędrzejewski-Szmek [Mon, 6 Jul 2020 14:21:34 +0000 (16:21 +0200)]
networkd: we should not loop when extract_first_word() fails
While at it, define iterator in the loop to reduce the indentation a bit.
(cherry picked from commit
1f68f77292a9581dd77be9a0bd279c1430cbd130)
Zbigniew Jędrzejewski-Szmek [Mon, 6 Jul 2020 14:31:57 +0000 (16:31 +0200)]
man: do not say that tasks are threads and processes
This is confusing because the reader might think that processes and threads are
counted separately. Another issue pointed out in #16363.
(cherry picked from commit
8dc647fd305d23380cb1b1a9123e31f0fcc9a4e9)
Dan Callaghan [Fri, 3 Jul 2020 09:13:08 +0000 (19:13 +1000)]
core: set private section name for automount units
Because this was left unset, the unit_write_setting() function was
refusing to write out the automount-specific TimeoutIdleSec= and
DirectoryMode= settings when creating transient automount units.
Set it to the proper value in line with other unit types.
(cherry picked from commit
2fadbb4535108406384a5d63c1ad3082f845c646)
Yu Watanabe [Tue, 30 Jun 2020 10:41:39 +0000 (19:41 +0900)]
backlight: read current backlight brightness from 'actual_brightness' attribute
Closes #16302.
(cherry picked from commit
437b9a7f7581d3ed3f05d76ff0116767d0a3b726)
Yu Watanabe [Tue, 30 Jun 2020 10:29:42 +0000 (19:29 +0900)]
backlight: call log_setup_service() before logging
(cherry picked from commit
daa227a3201e5d443c670e9d585188684be73a1d)
Yu Watanabe [Tue, 30 Jun 2020 10:28:50 +0000 (19:28 +0900)]
backlight: use SYNTHETIC_ERRNO() macro
(cherry picked from commit
74f1bb5c9fadd96c7753597aaeeebd96cf0c99f4)
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jun 2020 07:56:10 +0000 (09:56 +0200)]
Fix build with µhttpd 0.9.71
The return type of callbacks was changed from int to an enum.
(cherry picked from commit
d17eabb1052e7c8c432331a7a782845e36164f01)
Yu Watanabe [Tue, 30 Jun 2020 05:44:41 +0000 (14:44 +0900)]
shell-completion: add missing verbs for networkctl
(cherry picked from commit
e4f8d5e01f50cf9d43cac7c05a997a0dfd78b64e)
Gaoyi [Fri, 26 Jun 2020 05:55:41 +0000 (13:55 +0800)]
Add quotes for -n
According to SC2070, -n doesn't work with unquoted arguments
https://github.com/koalaman/shellcheck/wiki/SC2070
Signed-off-by: Gaoyi <ymuemc@163.com>
(cherry picked from commit
0090b551e6ba2708a736371baeaf0bdfd781a5aa)
Łukasz Stelmach [Wed, 24 Jun 2020 17:24:13 +0000 (19:24 +0200)]
udev: split attribute assignment for MMC cards
Some cards have names consisting only of whitespace characters which
prevents the original rule from matching and assigning ID_SERIAL
properly. With the split rules ID_SERIAL and ID_NAME are assigned
independently and the symlink is created only if both are available the
same way it has worked for partitions.
(cherry picked from commit
fdf3e48c447a6e0d810563a641ef28b98d3f9d8c)
Luca Boccassi [Tue, 23 Jun 2020 14:56:33 +0000 (15:56 +0100)]
portabled: create temp file for unit, not directory
open_tmpfile_linkable is used to create a temporary file in the same
directory as the target, but portabled uses the name of the parent
directory instead of the file it intends to create.
In other words, it creats a tmp for /etc/systemd/system.attached instead
of /etc/systemd/system.attached/foo.service.
It still works because it's later moved in the right place.
But as a side effect, it tries the create the file in the parent directory
which is /etc/systemd, and it case of read-only filesystems it fails.
(cherry picked from commit
6d88513e6b4fe36f59d3c5702a22ab796dea7852)
Michael Chapman [Tue, 5 May 2020 03:38:25 +0000 (13:38 +1000)]
core/path: use escaped path in serialization
(cherry picked from commit
f285f07752d784e5fa1b84ac8cbc263c488eccd1)
Michal Koutný [Wed, 24 Jun 2020 10:43:22 +0000 (12:43 +0200)]
missing: Add new Linux capabilities
Linux kernel v5.8 adds two new capabilities. Make sure we can recongize
them even when built with older kernel.
(cherry picked from commit
e41de5e491942b5391b1efb71c82ffd329b3d23d)
Lennart Poettering [Tue, 23 Jun 2020 15:06:42 +0000 (17:06 +0200)]
man: s/PROGRAMM/PROGRAM/
(cherry picked from commit
92d64d144457d460992732f0540f28e1a7685124)
Dave Reisner [Thu, 11 Jun 2020 14:34:13 +0000 (10:34 -0400)]
Revert "job: Don't mark as redundant if deps are relevant"
This reverts commit
097537f07a2fab3cb73aef7bc59f2a66aa93f533.
At least Fedora and Debian have already reverted this at the distro
level because it causes more problems than it solves. Arch is debating
reverting it as well [0] but would strongly prefer that this happens
upstream first. Fixes #15188.
[0] https://bugs.archlinux.org/task/66458
(cherry picked from commit
cc479760b4736082d26ec332f2423a9ab23d59c5)
наб [Thu, 18 Jun 2020 23:55:09 +0000 (01:55 +0200)]
man/sd-makefs: link to btrfs.wiki. for btrfs-man5, since the man-pages link is dead
This also adds a <citerefentry project="url"> type,
since the other btrfs manpages use man-pages/die-net and are alive,
and btrfs.w.k.o won't be used anywhere else
(cherry picked from commit
affa893da0715cbb7a865f6363b6092097d5e161)
наб [Thu, 18 Jun 2020 23:15:20 +0000 (01:15 +0200)]
man/sd-makefs: also mention /sbin/mkswap
(cherry picked from commit
c2ad8c0978159cacffb3f10743989661ae440566)
Elisei Roca [Tue, 23 Jun 2020 05:42:15 +0000 (07:42 +0200)]
test-functions: read /usr/etc/nsswitch.conf if /etc/nsswitch.conf does not exist (#16195)
See this for more info why and since when this change is needed: https://build.opensuse.org/request/show/807179.
(cherry picked from commit
9e1732924d5b69647e8020c98796748d9b0ad926)
Zbigniew Jędrzejewski-Szmek [Mon, 22 Jun 2020 15:09:49 +0000 (17:09 +0200)]
bus-message: avoid dereferencing a NULL pointer
We'd try to map a zero-byte buffer from a NULL pointer, which is undefined behaviour.
src/systemd/src/libsystemd/sd-bus/bus-message.c:3161:60: runtime error: applying zero offset to null pointer
#0 0x7f6ff064e691 in find_part /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-message.c:3161:60
#1 0x7f6ff0640788 in message_peek_body /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-message.c:3283:16
#2 0x7f6ff064e8db in enter_struct_or_dict_entry /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-message.c:3967:21
#3 0x7f6ff06444ac in bus_message_enter_struct /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-message.c:4009:13
#4 0x7f6ff0641dde in sd_bus_message_enter_container /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-message.c:4136:21
#5 0x7f6ff0619874 in sd_bus_message_dump /work/build/../../src/systemd/src/libsystemd/sd-bus/bus-dump.c:178:29
#6 0x4293d9 in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-bus-message.c:39:9
#7 0x441986 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:558:15
#8 0x44121e in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:470:3
#9 0x443164 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:770:7
#10 0x4434bc in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:799:3
#11 0x42d2bc in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:846:6
#12 0x42978a in main /src/libfuzzer/FuzzerMain.cpp:19:10
#13 0x7f6fef13c82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#14 0x407808 in _start (out/fuzz-bus-message+0x407808)
(cherry picked from commit
b17af3e503a5861ae1437254a8a2a3600e768cc4)
Mark Pearson [Tue, 9 Jun 2020 13:27:58 +0000 (09:27 -0400)]
Added rules for Wacom Pen and EMV Smartcard Reader
(cherry picked from commit
7cb375e69179e80da261234abb5b53663a17eb9b)
[zjs: This is from https://github.com/systemd/systemd/pull/16113. For v246
a much complicated fix was merged. Let's use this simple one in the stable
branch.]
Lennart Poettering [Tue, 16 Jun 2020 12:38:44 +0000 (14:38 +0200)]
repart: if now minimal size is specified, default to 10M
Prompted by this discussion:
https://lists.freedesktop.org/archives/systemd-devel/2020-June/044669.html
(cherry picked from commit
fb08381c14b49d9878b838f15b0aeb1e16b59d98)
Yu Watanabe [Thu, 18 Jun 2020 04:48:45 +0000 (13:48 +0900)]
udev: udev_event_apply_format() always make buf NUL terminated
The return value of udev_event_apply_format() is always ignored.
So, the destination buffer must be always NUL terminated.
(cherry picked from commit
5eb6ef8b452ef15788cc0c7d176be38a2cef8ca2)
Yu Watanabe [Thu, 18 Jun 2020 04:48:44 +0000 (13:48 +0900)]
udev: fix error handling of sd_device_get_parent()
sd_device_get_parent() returns -EINVAL or -ENOENT on error, not -ENODEV.
Fixes #16207.
(cherry picked from commit
bc568a7a35f04cb052eadcd068e14fe60f6a5c0d)
Luca Boccassi [Mon, 15 Jun 2020 18:50:56 +0000 (19:50 +0100)]
efi: use stub for cache_efi_options_variable if !ENABLE_EFI
../src/core/main.c: In function 'main':
../src/core/main.c:2637:32: error: implicit declaration of function 'cache_efi_options_variable'; did you mean 'systemd_efi_options_variable'? [-Werror=implicit-function-declaration]
(void) cache_efi_options_variable();
^~~~~~~~~~~~~~~~~~~~~~~~~~
systemd_efi_options_variable
(cherry picked from commit
8d2d64166e1bb5978b5392b2787d1dd8feb63c16)
Filipe Brandenburger [Thu, 11 Jun 2020 22:33:32 +0000 (15:33 -0700)]
efi: Skip parsing SystemdOptions if there's an error getting it.
The original logic was logging an "ignored" debug message, but it was still
going ahead and calling proc_cmdline_parse_given() on the NULL line. Fix that
to skip that explicitly when the EFI variable wasn't really read.
(cherry picked from commit
7283fbfd0c46819fea9f0a20671eaef99b3993e5)
Daan De Meyer [Sat, 13 Jun 2020 12:48:40 +0000 (14:48 +0200)]
resolved: Log the feature level we're downgrading from as well
(cherry picked from commit
4f571b4061f32a0d45371453470f55e858ee8c57)
Daan De Meyer [Fri, 12 Jun 2020 18:17:15 +0000 (20:17 +0200)]
resolved: Don't complain too much when downgrading from EDNS
(cherry picked from commit
e034886b8022e871300e69418171bda00f937220)
Tomáš Pospíšek [Sun, 14 Jun 2020 08:43:06 +0000 (10:43 +0200)]
Improve message for scheduled shutdown or reboot
Depending on if the system has been scheduled for shutdown or for reboot pring the corresponding message (and not only "Shutdown"). Prtinting the "wrong" message when rebooting will mislead and panic people. I get these messages via cron from remote servers and it would be bad if those systems actually *did* shut down, as the email from cron is telling me. Those messages cause an adrenalin spike in our team, which wouldn't happen, if the message was "correct"
Fixes #16129.
(cherry picked from commit
6df8a6c753ed3b91464dd60d10fe4d291257870c)
Jan Palus [Thu, 11 Jun 2020 16:23:28 +0000 (18:23 +0200)]
login: filenames in /run/systemd/users are uids
Fixes: #16146
(cherry picked from commit
ac4e03d45bcf4ad2e570cabdb218e9bac003cc80)
Lennart Poettering [Wed, 10 Jun 2020 14:54:10 +0000 (16:54 +0200)]
sleep: pass error we see to log function
(cherry picked from commit
2c4702057b4a36923fcbd4db264223bd80850adc)
Lennart Poettering [Wed, 10 Jun 2020 14:53:24 +0000 (16:53 +0200)]
sleep-config: modernize destructors
All other destructors in the same .c file return NULL, let's make sure
the one where this so far wasn't done does it too.
(cherry picked from commit
1326de01588a765e96ed5b187566d10655aacc01)
Lennart Poettering [Wed, 10 Jun 2020 14:52:08 +0000 (16:52 +0200)]
sleep-config: downgrade log level in can_s2h()
As in the previous commit: can_sleep() is more a library-style function,
hence log at debug level only.
(cherry picked from commit
c732e8797987057671b9c2b23a38ce768080f039)
Lennart Poettering [Wed, 10 Jun 2020 14:47:38 +0000 (16:47 +0200)]
sleep: clean up debug/error logging
half of find_hibernation_location() logged at debug level, the other
half logged at error level, and the third half didn't log at all.
Let's clean this up somewhat. Since can_sleep() is probably more
a library-style function let's downgrade everything to LOG_DEBUG and
then make sure sleep.c logs at error level, as the main program.
(cherry picked from commit
c02540dc9e1f28c8598ff1ead0d0f0ed93774313)
Lennart Poettering [Wed, 10 Jun 2020 14:40:52 +0000 (16:40 +0200)]
sleep-config: return correct error code
(cherry picked from commit
6f9120ad6181fcd7316f5963557cd8d84a5979c8)
Lennart Poettering [Wed, 10 Jun 2020 14:40:36 +0000 (16:40 +0200)]
sleep-config: add more debug logging
(cherry picked from commit
c0d8fbfa343eadecd4f44801710d1302c40a0f10)
Anita Zhang [Wed, 10 Jun 2020 08:18:00 +0000 (01:18 -0700)]
core: don't consider SERVICE_SKIP_CONDITION for abnormal or failure restarts
Fixes: #16115
(cherry picked from commit
bb9244781c6fc7608f7cac910269f8987b8adc01)
Lennart Poettering [Tue, 9 Jun 2020 06:59:33 +0000 (08:59 +0200)]
pager: set PR_DEATHSIG for pager to SIGINT rather than SIGTERM
"less" doesn't properly reset its terminal on SIGTERM, it does so only
on SIGINT. Let's thus configure SIGINT instead of SIGTERM.
I think this is something less should fix too, and clean up things
correctly on SIGTERM, too. However, given that we explicitly enable
SIGINT behaviour by passing "K" to $LESS I figure it makes sense if we
also send SIGINT instead of SIGTERM to match it.
Fixes: #16084
(cherry picked from commit
97033ba455c4c1e359835879eee2e3c690395792)
Luca Boccassi [Wed, 3 Jun 2020 18:47:39 +0000 (19:47 +0100)]
dissect-image: wait for udev for single filesystem images too
Single filesystem images are mounted from the /dev/block/X:Y symlink
rather than /dev/loopZ, so we need to wait for udev to create it or
mounting will be racy and occasionally fail.
(cherry picked from commit
b1806441bbf72fb227f41767ceaf2d6330701f51)
Yigal Korman [Sun, 7 Jun 2020 18:46:59 +0000 (21:46 +0300)]
man: udevadm: mention non-zero exit code on settle
'udevadm settle --timeout=XY' will return 1 in case the timeout was
reached and the event queue was not empty.
The manpage should mention it.
(cherry picked from commit
2233c2703c91325f8c742daf2d37c1343f35998e)
Chris Down [Tue, 9 Jun 2020 13:43:05 +0000 (14:43 +0100)]
doc: Try to clarify automount dependency confusion
Arch recently upgraded systemd to 245.6. Shortly afterwards, users began
reporting[0] that systemd detected an ordering cycle, and they were
unable to log in. The reason they were unable to log in was because of
ordering cycle resolution:
[...]
systemd[1]: sysinit.target: Job systemd-tmpfiles-setup.service/start deleted to break ordering cycle starting with sysinit.target/start
systemd[1]: sysinit.target: Job systemd-update-done.service/start deleted to break ordering cycle starting with sysinit.target/start
systemd[1]: sysinit.target: Job systemd-journal-catalog-update.service/start deleted to break ordering cycle starting with sysinit.target/start
systemd[1]: sysinit.target: Job local-fs.target/start deleted to break ordering cycle starting with sysinit.target/start
systemd[1]: sysinit.target: Job systemd-tmpfiles-setup.service/start deleted to break ordering cycle starting with sysinit.target/start
[...]
Whether the resolution did the right thing here or not is a longer-term
discussion, but in the interim we should at least make this distinction
between automount dependencies and mount dependencies clearer in the
documentation, so that users and distribution maintainers know what's
acceptable. In this case Arch actually backed out
b3d7aef5 entirely and
released a new version due to the confusion.
Also see https://github.com/systemd/systemd-stable/issues/69.
0: https://bugs.archlinux.org/task/66908
(cherry picked from commit
69876f94abc3f5861e87ad287b8d1f6770c6fdce)
Zbigniew Jędrzejewski-Szmek [Fri, 5 Jun 2020 14:30:22 +0000 (16:30 +0200)]
shell-completion: add homectl for bash
The difference between verbs that take one user and multiple users is not
handled. I don't know how to do this.
(cherry picked from commit
3a9692dd05cff1bd1679aa2c10fb00ce12ef0662)
Zbigniew Jędrzejewski-Szmek [Thu, 4 Jun 2020 11:17:22 +0000 (13:17 +0200)]
kernel-install: extend --help
(cherry picked from commit
3ac33bc96672f8669b2daddee2b6574010776fbe)
Lennart Poettering [Fri, 5 Jun 2020 13:42:45 +0000 (15:42 +0200)]
man: single-char parameters take no '='
The suggested syntax is simply not valid and results in an error.
(cherry picked from commit
a34a2933e9f1bf71fe4abdc7b924128790f228c0)
layderv [Sat, 6 Jun 2020 16:01:56 +0000 (12:01 -0400)]
homed help --uid short option
(cherry picked from commit
a07e962549bc900365627482834896ea98996ff4)
Lennart Poettering [Fri, 5 Jun 2020 13:56:11 +0000 (15:56 +0200)]
test: add test for parse_uid_range()
(cherry picked from commit
42e57a4eb2b0e97a83d5ef5635ba4d4e1d75e216)
Lennart Poettering [Mon, 1 Jun 2020 15:48:41 +0000 (17:48 +0200)]
tests: beef up integer parsing tests
(cherry picked from commit
53c6db99fa4b52f97e19977f21d3133f8ceb3dcd)
Lennart Poettering [Mon, 1 Jun 2020 15:31:51 +0000 (17:31 +0200)]
parse-util: also parse integers prefixed with 0b and 0o
Let's adopt Python 3 style 0b and 0x syntaxes, because it makes a ton of
sense, in particular in bitmask settings.
(cherry picked from commit
fc80cabcf584a8b486bdff5be0c074fec4059cdc)
Lennart Poettering [Mon, 1 Jun 2020 15:17:40 +0000 (17:17 +0200)]
parse-util: rewrite parse_uid_range() on top of parse_uid()
parse_uid() does so many safety checks we want, hence rewrite
parse_uid_range() on top of parse_uid() instead of parse_range().
(cherry picked from commit
60eb1f0728f215be85f0a65c1dca72a352833608)
Lennart Poettering [Mon, 1 Jun 2020 15:16:46 +0000 (17:16 +0200)]
user-util: be stricter in parse_uid()
Let's refuse "+" and "-" prefixed UIDs. Let's refuse whitespace-prefixed
UIDS, Let's refuse zero-prefixed UIDs. Let's be safe than sorry.
(cherry picked from commit
f5979b63cc305ba217dfd174b1bf0583bcf75a73)
Lennart Poettering [Mon, 1 Jun 2020 15:16:04 +0000 (17:16 +0200)]
parse-util: rewrite parse_mode() on top of safe_atou_full()
Parsing is hard, hence let's use our own careful wrappers wherever
possible.
(cherry picked from commit
c44702a8bd8cc8b7f2f1df21db9308d9af7dda5b)
Lennart Poettering [Mon, 1 Jun 2020 15:10:27 +0000 (17:10 +0200)]
parse-util: make return parameter optional in safe_atou16_full()
All other safe_atoXYZ_full() functions have the parameter optional,
let's make it optoinal here, too.
(cherry picked from commit
aa85e4d3cef8ca8436e480bce9fa4ce72876b636)
Lennart Poettering [Mon, 1 Jun 2020 15:08:38 +0000 (17:08 +0200)]
parse-util: allow '-0' as alternative to '0' and '+0'
Let's allow "-0" as alternative to "+0" and "0" when parsing integers,
unless the new SAFE_ATO_REFUSE_PLUS_MINUS flag is specified.
In cases where allowing the +/- syntax shall not be allowed
SAFE_ATO_REFUSE_PLUS_MINUS is the right flag to use, but this also means
that -0 as only negative integer that fits into an unsigned value should
be acceptable if the flag is not specified.
(cherry picked from commit
c78eefc13562a8fc0c22c00a6d3001af89860258)
Lennart Poettering [Mon, 1 Jun 2020 15:06:19 +0000 (17:06 +0200)]
parse-util: allow tweaking how to parse integers
This allows disabling a few alternative ways to decode integers
formatted as strings, for safety reasons.
See: #15991
(cherry picked from commit
707e93aff8f358f8a62117e54b857530d6594e4b)
Zbigniew Jędrzejewski-Szmek [Thu, 9 Apr 2020 09:18:26 +0000 (11:18 +0200)]
basic/parse-util: add safe_atoux64()
(cherry picked from commit
ce51632a357d347737bf40d3817df331cd8874cb)
Filipe Brandenburger [Wed, 10 Jun 2020 22:11:32 +0000 (15:11 -0700)]
efi: Cache contents of EFI variable SystemdOptions
Cache it early in startup of the system manager, right after `/run/systemd` is
created, so that further access to it can be done without accessing the EFI
filesystem at all.
(cherry picked from commit
209b2592ed5883bdfc7a0f2e5b7277c5c4fe834e)
Zbigniew Jędrzejewski-Szmek [Sun, 31 May 2020 10:16:57 +0000 (12:16 +0200)]
basic/efivars: try re-reading efivars without delay first
Quoting https://github.com/systemd/systemd/issues/14828#issuecomment-
635212615:
> [kernel uses] msleep_interruptible() and that means when the process receives
> any kind of signal masked or not this will abort with EINTR. systemd-logind
> gets signals from the TTY layer all the time though.
> Here's what might be happening: while logind reads the EFI stuff it gets a
> series of signals from the TTY layer, which causes the read() to be aborted
> with EINTR, which means logind will wait 50ms and retry. Which will be
> aborted again, and so on, until quite some time passed. If we'd not wait for
> the 50ms otoh we wouldn't wait so long, as then on each signal we'd
> immediately retry again.
(cherry picked from commit
eee9b30af41d2b3a265ad303234ac62bb46b7cd3)
Lennart Poettering [Wed, 27 May 2020 15:30:29 +0000 (17:30 +0200)]
efi: add more logging for all EFI variable reads
(cherry picked from commit
84190644ff4acea3cac3227f3dd85eddc3f8c673)
Lennart Poettering [Wed, 27 May 2020 15:22:46 +0000 (17:22 +0200)]
efi: explicitly update mtime of EFI variables when changing them
(cherry picked from commit
d197c403b2b71b6ab9b8cc9f3a171064b615018c)
Lennart Poettering [Wed, 27 May 2020 14:22:07 +0000 (16:22 +0200)]
efi: as extra paranoia NUL terminate UTF-16 strings with three NUL bytes
This is a safey net anyway, let's make it fully safe: if the data ends
on an uneven byte, then we need to complete the UTF-16 codepoint first,
before adding the final NUL byte pair. Hence let's suffix with three
NULs, instead of just two.
(cherry picked from commit
c75e7da0b53dd67363b724502e91901e89097886)
Lennart Poettering [Mon, 25 May 2020 15:13:57 +0000 (17:13 +0200)]
efivars: log whenever an EFI variable read access is slow
This should allow us to detect slowdowns caused by EFI variable read
access a bit.
(cherry picked from commit
698564d147ce09c0fedc9de10fe8e0850b729677)
Zbigniew Jędrzejewski-Szmek [Wed, 20 May 2020 16:08:05 +0000 (18:08 +0200)]
basic/efivars: fix errno propagation
Fixup for
484f4e5b2d62e885998fa3c09ed4d58b6c38f987. Should fix #15730.
(cherry picked from commit
a0fa2683373a3fd69d628f62240c8faca25b0361)
Lennart Poettering [Thu, 30 Apr 2020 08:08:54 +0000 (10:08 +0200)]
efi: honour SYSTEMD_EFI_OPTIONS even if we wouldn't honour SystemdOptions EFI var due to SecureBoot
Fixes: #14864
(cherry picked from commit
484f4e5b2d62e885998fa3c09ed4d58b6c38f987)
Zbigniew Jędrzejewski-Szmek [Fri, 24 Apr 2020 08:53:46 +0000 (10:53 +0200)]
efivars: retry open and read operations
On my laptop (Lenovo X1carbo 4th) I very occasionally see test-boot-timestamps
fail with this tb:
262/494 test-boot-timestamps FAIL 0.
7348453998565674 s (killed by signal 6 SIGABRT)
08:12:48 SYSTEMD_LANGUAGE_FALLBACK_MAP='/home/zbyszek/src/systemd/src/locale/language-fallback-map' SYSTEMD_KBD_MODEL_MAP='/home/zbyszek/src/systemd/src/locale/kbd-model-map' PATH='/home/zbyszek/src/systemd/build:/home/zbyszek/.local/bin:/usr/lib64/qt-3.3/bin:/usr/share/Modules/bin:/usr/condabin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/zbyszek/bin:/var/lib/snapd/snap/bin' /home/zbyszek/src/systemd/build/test-boot-timestamps
--- stderr ---
Failed to read $container of PID 1, ignoring: Permission denied
Found container virtualization none.
Failed to get SystemdOptions EFI variable, ignoring: Interrupted system call
Failed to read ACPI FPDT: Permission denied
Failed to read LoaderTimeInitUSec: Interrupted system call
Failed to read EFI loader data: Interrupted system call
Assertion 'q >= 0' failed at src/test/test-boot-timestamps.c:84, function main(). Aborting.
Normally it takes ~0.02s, but here there's a slowdown to 0.73 and things fail with EINTR.
This happens only occasionally, and I haven't been able to capture a strace.
It would be to ignore that case in test-boot-timestamps or always translate
EINTR to -ENODATA. Nevertheless, I think it's better to retry, since this gives
as more resilient behaviour and avoids a transient failure.
See
https://github.com/torvalds/linux/blob/master/fs/efivarfs/file.c#L75
and
https://github.com/torvalds/linux/commit/
bef3efbeb897b56867e271cdbc5f8adaacaeb9cd.
(cherry picked from commit
7229ec02ab3a7f498b93158b500e697838ccdd9b)
YmrDtnJu [Fri, 5 Jun 2020 13:36:58 +0000 (15:36 +0200)]
resolve: enable RES_TRUSTAD towards the 127.0.0.53 stub resolver
glibc 2.31 strips the AD flag, unless either the application specifies
RES_TRUSTAD or the options in resolv.conf contain trust-ad.
See https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD
(cherry picked from commit
a742f9828ea73d9c2c9bafe701c10fe60f058012)
Thomas Haller [Fri, 5 Jun 2020 17:48:13 +0000 (19:48 +0200)]
lldp: fix assertion checking argument for sd_lldp_set_neighbors_max()
Fixes:
34437b4f9c9c ('sd-lldp: rework sd-lldp API')
(cherry picked from commit
9141594cae1dfd2a17057d3d1effbd2164b1c235)
Yu Watanabe [Wed, 3 Jun 2020 08:07:16 +0000 (17:07 +0900)]
network: make link become configured state when at least one dynamic protocol provide an address
Before this, to speed up the system boot with IPv4 only network,
we need to specify `IPv6AcceptRA=no`, as it is enabled by default.
Closes #15469.
(cherry picked from commit
3cd5924c850929b03bc8d4ba5db614d662edb49a)
Einsler Lee [Thu, 4 Jun 2020 07:28:51 +0000 (15:28 +0800)]
change fs/file-max to LONG_MAX instead of ULONG_MAX
Since this has been changed in: https://github.com/systemd/systemd/commit/
6e2f78948403a4cce45b9e34311c9577c624f066, the change should be synchronized.
(cherry picked from commit
168561f2eb01bd76ff4b8d5b69e76dfb0a6edba9)
Zbigniew Jędrzejewski-Szmek [Tue, 2 Jun 2020 12:26:26 +0000 (14:26 +0200)]
man: add note that emergency.target inherits mount state
Based on an internal discussion whether emergency.target should remount disks
ro, or maybe remount them rw, or do nothing. In some cases people want to boot
ro, and always remounting rw would break that. In other cases, remounting disks
ro after they have already been mounted rw is mostly pointless and might even
not be possible. So let's just document that we don't change the state.
Also: any→other, since emergency.service *is* pulled in.
Also: just advertise "emergency" as the way to boot into the target.
We are not going to remove this option, and it's way easier to type than
"systemd.unit=emergency.target".
(cherry picked from commit
927b9b8f63c2c8b1e56ffd127bf5366c02b2aa0f)
Yu Watanabe [Wed, 3 Jun 2020 07:19:29 +0000 (16:19 +0900)]
network: read driver name from ethtool
To make Driver= in [Match] section work in containers.
Note that ID_NET_DRIVER= property in udev database is set with the
result of the ethtool. So, this should not change anything for
non-container cases.
Closes #15678.
(cherry picked from commit
c643bda5ec3afe57c071d96b517cf20ec9f3423e)
Lennart Poettering [Tue, 2 Jun 2020 14:49:50 +0000 (16:49 +0200)]
conf-parse: fix pretty bad typo
(cherry picked from commit
5aca2e6733d35534f82359e5720b3dea1d1332e5)
Zbigniew Jędrzejewski-Szmek [Sun, 31 May 2020 12:35:40 +0000 (14:35 +0200)]
core: set source_mtime after load dropins
Dropins may specify SourcePath= too, but we would do the stat only
after loading the main fragment, before loading of the drop-ins.
Fixes #13634.
(cherry picked from commit
c9e06956754036177442e0e225f8c63b1f7eac5f)
Yu Watanabe [Mon, 1 Jun 2020 04:01:09 +0000 (13:01 +0900)]
network: use uint32_t instead of unsigned for route priority
(cherry picked from commit
132be2b8685883da4ffe756f4be69db0281c7483)
Lennart Poettering [Tue, 2 Jun 2020 08:39:25 +0000 (10:39 +0200)]
fd-util: be more careful with fclose() errnos
This might fix #15859, a bug which I find very puzzling.
(cherry picked from commit
75f6d5d87e950f62baced48fe9b58828969e3811)
Yu Watanabe [Mon, 1 Jun 2020 05:53:06 +0000 (14:53 +0900)]
network: also read mtime of drop-in configs
Fixes #15521.
(cherry picked from commit
9f83091e3cceb646a66fa9df89de6d9a77c21d86)
Yu Watanabe [Mon, 1 Jun 2020 07:19:50 +0000 (16:19 +0900)]
network: do not propagte error on stat()
(cherry picked from commit
c4473dec34cd49db0a49b24dfe418ad2aa239328)
Yu Watanabe [Fri, 29 May 2020 07:56:09 +0000 (16:56 +0900)]
network: fix double free in macsec_receive_channel_free()
Fixes #15941.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22547
(cherry picked from commit
0e77fc66bceb9832da82a56a4c1040fe49f8d805)
Yu Watanabe [Mon, 1 Jun 2020 05:22:06 +0000 (14:22 +0900)]
network: wireguard: set ListenPort= when no peers are configured
Closes #15786.
(cherry picked from commit
50254f55006b896639a14af1254536ce979a9810)
Zbigniew Jędrzejewski-Szmek [Sat, 30 May 2020 14:04:00 +0000 (16:04 +0200)]
shell-completions: update bootctl
Entries in the completion lists are reordered to follow --help output:
this makes it much easier to see what is missing.
(cherry picked from commit
8f0a346a290d6f7bddca32a080d36c0a64ed77f6)
[zjs: drop "reboot-to-firmware"]