Lennart Poettering [Fri, 5 Mar 2021 16:47:45 +0000 (17:47 +0100)]
dns-query: export CNAME_MAX, so that we can use it in other files, too
Let's rename it a bit, to be more explanatory while exporting it.
(And let's bump the CNAME limit to 16 — 8 just sounded so little)
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1949670.
(cherry picked from commit
e0ae456a554d0fce250f9a009c561b97f20c41f8)
(cherry picked from commit
0e1e59674da060af421aed4f2a6a97b899e20054)
Zbigniew Jędrzejewski-Szmek [Fri, 14 May 2021 08:49:24 +0000 (10:49 +0200)]
resolved: fix braino with reference counting and linked lists
In
0e0fd08fc832b8f42e567d722d388eba086da5ff I added reference counts to keep
track of the DnsQueryCandidate objects. Unfortunately, dns_query_unref_candidates()
was written as
while (q->candidates)
dns_query_candidate_unref(q->candidates);
i.e. it would keep dropping the reference count as many times as needed for it
to hit 0, making the patch less than fully effective.
dns_query_unref_candidates() is renamed to dns_query_detach_candidates() and
changed to drop exactly one reference from each of the linked candidates.
Example failure:
==463== Invalid read of size 8
==463== at 0x419C93: dns_query_candidate_go (resolved-dns-query.c:159)
==463== by 0x41A143: dns_query_candidate_notify (resolved-dns-query.c:304)
==463== by 0x434BD6: dns_transaction_complete (resolved-dns-transaction.c:437)
==463== by 0x436A0F: dns_transaction_process_dnssec (resolved-dns-transaction.c:976)
==463== by 0x4378C1: dns_transaction_process_reply (resolved-dns-transaction.c:1387)
==463== by 0x437CE9: on_dns_packet (resolved-dns-transaction.c:1444)
==463== by 0x4B2DC9B: source_dispatch (sd-event.c:3512)
==463== by 0x4B2FB1F: sd_event_dispatch (sd-event.c:4077)
==463== by 0x4B2FFFA: sd_event_run (sd-event.c:4138)
==463== by 0x4B301D6: sd_event_loop (sd-event.c:4159)
==463== by 0x464A24: run (resolved.c:92)
==463== by 0x464B3C: main (resolved.c:99)
==463== Address 0x5f409d0 is 32 bytes inside a block of size 72 free'd
==463== at 0x48410E4: free (vg_replace_malloc.c:755)
==463== by 0x418EDF: mfree (alloc-util.h:48)
==463== by 0x4197E8: dns_query_candidate_free (resolved-dns-query.c:67)
==463== by 0x4198B7: dns_query_candidate_unref (resolved-dns-query.c:70)
==463== by 0x41A2E3: dns_query_unref_candidates (resolved-dns-query.c:337)
==463== by 0x41C5FE: dns_query_cname_redirect (resolved-dns-query.c:1028)
==463== by 0x41CA04: dns_query_process_cname_one (resolved-dns-query.c:1128)
==463== by 0x41CA80: dns_query_process_cname_many (resolved-dns-query.c:1157)
==463== by 0x40C0BD: bus_method_resolve_hostname_complete (resolved-bus.c:198)
==463== by 0x41B312: dns_query_complete (resolved-dns-query.c:562)
==463== by 0x41C1AC: dns_query_accept (resolved-dns-query.c:922)
==463== by 0x41C2C4: dns_query_ready (resolved-dns-query.c:955)
==463== by 0x41A162: dns_query_candidate_notify (resolved-dns-query.c:314)
==463== by 0x434BD6: dns_transaction_complete (resolved-dns-transaction.c:437)
==463== by 0x438995: dns_transaction_prepare (resolved-dns-transaction.c:1728)
==463== by 0x43921D: dns_transaction_go (resolved-dns-transaction.c:1928)
==463== by 0x419C7C: dns_query_candidate_go (resolved-dns-query.c:163)
==463== by 0x41A143: dns_query_candidate_notify (resolved-dns-query.c:304)
==463== by 0x434BD6: dns_transaction_complete (resolved-dns-transaction.c:437)
==463== by 0x436A0F: dns_transaction_process_dnssec (resolved-dns-transaction.c:976)
==463== by 0x4378C1: dns_transaction_process_reply (resolved-dns-transaction.c:1387)
==463== by 0x437CE9: on_dns_packet (resolved-dns-transaction.c:1444)
==463== by 0x4B2DC9B: source_dispatch (sd-event.c:3512)
==463== by 0x4B2FB1F: sd_event_dispatch (sd-event.c:4077)
==463== by 0x4B2FFFA: sd_event_run (sd-event.c:4138)
==463== by 0x4B301D6: sd_event_loop (sd-event.c:4159)
==463== by 0x464A24: run (resolved.c:92)
==463== by 0x464B3C: main (resolved.c:99)
==463== Block was alloc'd at
==463== at 0x483E86F: malloc (vg_replace_malloc.c:380)
==463== by 0x418F81: malloc_multiply (alloc-util.h:96)
==463== by 0x419378: dns_query_candidate_new (resolved-dns-query.c:23)
==463== by 0x41B42C: dns_query_add_candidate (resolved-dns-query.c:582)
==463== by 0x41BB7A: dns_query_go (resolved-dns-query.c:762)
==463== by 0x40CE3A: bus_method_resolve_hostname (resolved-bus.c:464)
==463== by 0x4A84B86: method_callbacks_run (bus-objects.c:414)
==463== by 0x4A87961: object_find_and_run (bus-objects.c:1323)
==463== by 0x4A87FEE: bus_process_object (bus-objects.c:1443)
==463== by 0x4AA3434: process_message (sd-bus.c:2964)
==463== by 0x4AA3623: process_running (sd-bus.c:3006)
==463== by 0x4AA4110: bus_process_internal (sd-bus.c:3226)
==463== by 0x4AA41EF: sd_bus_process (sd-bus.c:3253)
==463== by 0x4AA5343: io_callback (sd-bus.c:3604)
==463== by 0x4B2DC9B: source_dispatch (sd-event.c:3512)
==463== by 0x4B2FB1F: sd_event_dispatch (sd-event.c:4077)
==463== by 0x4B2FFFA: sd_event_run (sd-event.c:4138)
==463== by 0x4B301D6: sd_event_loop (sd-event.c:4159)
==463== by 0x464A24: run (resolved.c:92)
==463== by 0x464B3C: main (resolved.c:99)
Fixes #19376.
(cherry picked from commit
c856ef0457c35e9edfdbf085b69ec81c126d48e5)
(cherry picked from commit
89324e233eef767334d9bfe5eed96956c973c2ad)
(cherry picked from commit
c8d7fab2286384b19ff6328cece107c4c02d7bb8)
tramsay [Mon, 5 Apr 2021 22:12:49 +0000 (17:12 -0500)]
network:dhcp4_server_configure returns if not able to get timezone
When /etc/localtime is a symbolic link pointing to another symbolic
link, get_timezone will return -EINVAL instead of the timezone.
This issue can cause systemd-networkd DHCPServer to fail.
Instead of returning failure, log a warning indicating that that
the timezone will not be sent.
modified: networkd-dhcp-server.c
(cherry picked from commit
7b5018ca9e6d3279887ec7113818f41d5b831c4d)
(cherry picked from commit
37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76)
(cherry picked from commit
db85ea172f9b4e6cd2f46bffd63164a09404001f)
Zbigniew Jędrzejewski-Szmek [Fri, 14 May 2021 12:16:17 +0000 (14:16 +0200)]
meson: call find_program() once and reuse the variable everywhere
Meson 0.58 has gotten quite bad with emitting a message every time
a quoted command is used:
Program /home/zbyszek/src/systemd-work/tools/meson-make-symlink.sh found: YES (/home/zbyszek/src/systemd-work/tools/meson-make-symlink.sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program sh found: YES (/usr/bin/sh)
Program xsltproc found: YES (/usr/bin/xsltproc)
Configuring custom-entities.ent using configuration
Message: Skipping bootctl.1 because ENABLE_EFI is false
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Message: Skipping journal-remote.conf.5 because HAVE_MICROHTTPD is false
Message: Skipping journal-upload.conf.5 because HAVE_MICROHTTPD is false
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Message: Skipping loader.conf.5 because ENABLE_EFI is false
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
Program ln found: YES (/usr/bin/ln)
...
Let's suffer one message only for each command. Hopefully we can silence
even this when https://github.com/mesonbuild/meson/issues/8642 is
resolved.
(cherry picked from commit
596f5101f29c10256208132bfa9c502bf898fd8b)
(cherry picked from commit
271b7dcbadd9fed70f87f29f30ef0925619037c9)
Anita Zhang [Thu, 13 May 2021 08:17:51 +0000 (01:17 -0700)]
run: update checks to allow running with a user's bus
systemd-run is documented to as being able to connect and run on a
specific user bus with "--user --machine=lennart@.host" arguments.
This PR updates some logic that prevented this from working.
(cherry picked from commit
cbdc29492097e24ef3320280bc2a8dedbce02d9a)
(cherry picked from commit
cc589cce9815cabb0bed6d0695ec3ff77beebd06)
(cherry picked from commit
2a1d508107c6d9c37c7867c08b15ccb01d3ee0bd)
Michael Catanzaro [Tue, 11 May 2021 13:24:55 +0000 (08:24 -0500)]
resolved.conf.in: add missing Quad9 servers
The example configuration is missing half of Quad9's addresses.
(cherry picked from commit
aa2b370dddc7e37df33769a488d6c3dce89b4e17)
(cherry picked from commit
4b8d52f4f09fe7f514cc982ad945153565503127)
(cherry picked from commit
ed1d8c83c81502437943f6a6588e56813f6b0b75)
Lennart Poettering [Tue, 11 May 2021 20:21:52 +0000 (22:21 +0200)]
resolved: be more careful with weird links with low MTUs
Apparently CAN links will show up in rtnetlink with very low MTUs. We
shouldn't consider them relevant if no IP is spoken over them, since
these MTUs are irrelevant for us then.
Hence, let's check if there's an address assigned to the link before
considering its MTU.
As additional safety net filter out MTUs smaller than the minimum DNS
packet size, too.
Finally, in case we don't find any suitable interface MTU, let's default
to 1500 as the generic Ethernet MTU.
Fixes: #19396
(cherry picked from commit
5a0d0b8f9cdfcbb82c4a89b28f0ebce414c9ecfe)
(cherry picked from commit
3fd268d20979850a70453ed5f8891a0f03344bf2)
(cherry picked from commit
ad9277d6834b5496004c98c80d5a7856afbd2861)
Lennart Poettering [Mon, 16 Nov 2020 20:00:24 +0000 (21:00 +0100)]
resolved: add udp_header_size() helper
(cherry picked from commit
4565863fff974e69d23a7c5a5237528bc5573a17)
(cherry picked from commit
f3f51965c9f2501de62dc5a99f7f86e2869ce614)
Lennart Poettering [Wed, 12 May 2021 08:33:27 +0000 (10:33 +0200)]
pam: fix typo try_authtok → use_authtok
This was a copy/paste mistae apparently, there's not "try_authtok" and
this was supposed to copy what Fedora uses, which uses "use_authtok"
correctly. Hence adjust this.
Fixes: #19369
(cherry picked from commit
971c07fc6812315c2b27015dfcc652a747f919ed)
(cherry picked from commit
ca276dcddc4def7348e2cb897fbf7a8b26bfc5ed)
(cherry picked from commit
dd4f87a8d138d5307cf00c958da0da70dc542a2c)
zsien [Mon, 10 May 2021 07:42:54 +0000 (15:42 +0800)]
bootctl: same entry path check case-insensitive
Some motherboards convert the path to uppercase under certain circumstances
(e.g. after booting into the Boot Menu in the ASUS ROG STRIX B350-F GAMING).
(cherry picked from commit
5c2e5957678462d871c5c2ea5261becec5f8f80f)
(cherry picked from commit
379679f807072b4d554711bc61b769d72ecc98d6)
(cherry picked from commit
6647cff7766faed5cb57373abc7439b048304638)
Lucas Magasweran [Mon, 10 May 2021 08:11:28 +0000 (10:11 +0200)]
man: network: use `networkctl list` instead of `status` to list network interface type
To determine the network interface type for use in the `Type=` directive, it is more concise to use the `list` command. Whereas, the `status` command requires an interface parameter.
For example, on a RaspberryPi 4 the following shows that the `wlan0` interface type `wlan` is more coveniently listed by the `list` command.
```
root@raspberrypi4-64:~# networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eth0 ether routable configured
3 wlan0 wlan off unmanaged
3 links listed.
```
Whereas the `networkctl status` command doesn't include this information.
```
root@raspberrypi4-64:~# networkctl status
● State: routable
Address: 192.168.1.141 on eth0
fd8b:8779:b7a4::f43 on eth0
fd8b:8779:b7a4:0:dea6:32ff:febe:d1ce on eth0
fe80::dea6:32ff:febe:d1ce on eth0
Gateway: 192.168.1.1 (CZ.NIC, z.s.p.o.) on eth0
DNS: 192.168.1.1
May 07 14:17:18 raspberrypi4-64 systemd-networkd[212]: eth0: Gained carrier
May 07 14:17:19 raspberrypi4-64 systemd-networkd[212]: eth0: Gained IPv6LL
May 07 14:17:19 raspberrypi4-64 systemd-networkd[212]: eth0: DHCPv6 address fd8b:8779:b7a4::f43/128 timeout preferred -1 valid -1
May 07 14:17:21 raspberrypi4-64 systemd-networkd[212]: eth0: DHCPv4 address 192.168.1.141/24 via 192.168.1.1
```
To get the interface type using the `status` command you need to specify an additional argument.
```
root@raspberrypi4-64:~# networkctl status wlan0
● 3: wlan0
Link File: /lib/systemd/network/99-default.link
Network File: n/a
Type: wlan
State: off (unmanaged)
Path: platform-
fe300000.mmcnr
Driver: brcmfmac
HW Address: dc:a6:32:be:d1:cf (Raspberry Pi Trading Ltd)
MTU: 1500 (min: 68, max: 1500)
QDisc: noop
IPv6 Address Generation Mode: eui64
Queue Length (Tx/Rx): 1/1
```
(cherry picked from commit
2480ca95bac0f1bed350ba8d5aef1ef92be0f8a4)
(cherry picked from commit
56ba53b17338f37c211a1c1ee0686ff4e5c09d28)
(cherry picked from commit
45df8bbcacbdea03d9f2c2d9c28e8b774b170578)
Lucas Magasweran [Mon, 10 May 2021 08:09:56 +0000 (10:09 +0200)]
network: examples: use wlan for Type instead of wifi
(cherry picked from commit
b419e8776bc2dc1ca113c8332ed465724bff053a)
(cherry picked from commit
bf3d671b379cc683375d62f109f133c1703dd828)
(cherry picked from commit
fcb48553e1bf9dab872dc5796f2501f947f8953b)
Roman Beranek [Fri, 30 Apr 2021 13:51:44 +0000 (15:51 +0200)]
resolve: remove RRs from zones before an update
During an update of RRs, the records of each DNS-SD service are
replaced with new ones. However the old RRs can only be removed from
the mDNS scopes as long as they remain accessible from the DnssdService
structures, otherwise they remain stuck there.
Therefore the removal must take place before the update.
(cherry picked from commit
ee3713b71ddf182852a399953968a2b39af22104)
(cherry picked from commit
46ee05ed1fca9c5637ec5cfbb4f71c84f94b3db6)
(cherry picked from commit
8082864ebba8f2ce1e6afb08cac15daeed4dca3d)
Lennart Poettering [Wed, 5 May 2021 16:57:30 +0000 (18:57 +0200)]
nss-systemd: properly handle empty membership lists
When we are queried for membership lists on a system that has exactly
zero, then we'll return ESRCH immediately instead of at EOF. Which is
OK, but we need to handle this in various places, and not get confused
by it.
(cherry picked from commit
a1aa41e4e175c2712b97600d7e10e9d6c58e5543)
(cherry picked from commit
d0f8a01a74e5a1bed4d687339abde774cb944579)
(cherry picked from commit
83c39430c06620ab208cdeeaaef9da31dd882a91)
Lennart Poettering [Wed, 5 May 2021 14:05:43 +0000 (16:05 +0200)]
nss-systemd: reset the right field
(cherry picked from commit
1fdfca4da739f47516513afc66d4c7008c9badfd)
(cherry picked from commit
18babc7b290de4c0108b2fe39400c3e9c471ef67)
(cherry picked from commit
c3dfbd10da31324158363d6da50345ece24ccaf5)
Franck Bui [Tue, 27 Apr 2021 08:59:24 +0000 (10:59 +0200)]
system-conf: drop reference to ShutdownWatchdogUsec=
Commit
65224c1d0e50667a87c2c4f840c49d4918718f80 renamed ShutdownWatchdogUsec
into RebootWatchdogUsec but left a reference of ShutdownWatchdogUsec in
system.conf.
(cherry picked from commit
45b1fc3a88b2f5102ecabfabdf0ee4f175aecd64)
(cherry picked from commit
54b5a1b21b69d674e55b69be79ef86e5b2215406)
(cherry picked from commit
d582e0ca0bd8408449ec5408e7a4a644404fae30)
Zbigniew Jędrzejewski-Szmek [Fri, 23 Apr 2021 10:40:07 +0000 (12:40 +0200)]
core/service: also reject deserialized commands with no argv[0]
I'm pretty sure that bad things would happen later on.
(cherry picked from commit
90204792461030dbc8645d8511e7ac8d1b4f1ca2)
(cherry picked from commit
d113fd4e0756b1b6f5543a47d0943af4564293ff)
(cherry picked from commit
6c177c530027262aa87cfb026dd5537859d2ff8e)
Zbigniew Jędrzejewski-Szmek [Fri, 23 Apr 2021 10:39:03 +0000 (12:39 +0200)]
core/service: fix deserialization of non-absolute commands
We'd fail with:
Apr 23 10:58:26 systemd[1]: Deserializing state...
Apr 23 10:58:26 systemd[1]: testsuite-01.service: Failed to parse serialized command "ExecStart 0 sh "sh" "-e" "-x" "-c" "systemctl --state=failed --no-legend --no-pager >/failed ; systemctl daemon-reload ; echo OK >/testok"": Invalid argument
Apr 23 10:58:26 systemd[1]: testsuite-01.service: Reinstalled deserialized job testsuite-01.service/start as 209
This was missed in
5008da1ec1, and apparently nobody noticed until now :(
(cherry picked from commit
1a128a468ddd1070651478c36eae76e31f580b67)
(cherry picked from commit
27606d5448dcaef17d256ced7e89b963a13cfec4)
(cherry picked from commit
3b7a2cf026b6c810dde54683561dbc5ee31c59c1)
Yu Watanabe [Mon, 26 Apr 2021 00:03:33 +0000 (09:03 +0900)]
network: update comment and log message
After
4b30f2e135ee84041bb597edca7225858f4ef4fb, reading stable_secret
sysctl property fails with -ENOMEM, instead of -EIO.
This is due to read_full_virtual_file() uses read() as the backend while
read_one_line_file() uses fgetc(). And each functions return different
error on fails.
Anyway, the failure is harmless here. So, the log message and comment is
updated.
Closes one of the issues in #19410.
(cherry picked from commit
0e27527170aa0179f2a4b3b55b78ddc049f815b9)
(cherry picked from commit
2417e9b59aa654e4b3def3399576ebbc2cdd7c95)
(cherry picked from commit
0d80d62a87862f46f62c6c17ad6d682ad6228049)
Yangyang Shen [Wed, 24 Mar 2021 13:23:01 +0000 (21:23 +0800)]
journald: enforce longer line length limit during "setup" phase of stream protocol
This PR made modification on Lennart Poettering's basis. Fix the LineMax's function failure problem.
Signed-off-by: Yangyang Shen <shenyangyang4@huawei.com>
(cherry picked from commit
80e9720616df0eeaba75874fd86fbfbe8b7a03a7)
(cherry picked from commit
9d5c5e4fab6e4816babbd4b74787b43fa5e4440a)
(cherry picked from commit
655ba5aade32e49a73596fcfb2bbd1e787bce235)
Lennart Poettering [Tue, 20 Apr 2021 13:56:03 +0000 (15:56 +0200)]
sd-device: use right clock when comparing initialization usec
we actually use CLOCK_MONOTONIC for the timestamp, hence when
comparing/subtracting it from the current time, also use
CLOCK_MONOTONIC.
(cherry picked from commit
02ef01ade3b16c05dfc8698181d7f562f4934ef3)
(cherry picked from commit
873ad71291e942054dd96ca1a9000cc98f21487a)
(cherry picked from commit
4cf613b3f92ed541ff289c037febbeb80d5742b9)
Lennart Poettering [Tue, 20 Apr 2021 15:06:21 +0000 (17:06 +0200)]
sd-device: use right type for usec_initialized
(cherry picked from commit
a156eb89c827206ee5b51d53016ba63be0c90449)
(cherry picked from commit
d6b0efcdd83a937363267ed751fd9a1085505394)
(cherry picked from commit
434d22b7c6ebb0c2f9eb33afa28cb4d2f744adea)
Yu Watanabe [Tue, 20 Apr 2021 00:23:33 +0000 (09:23 +0900)]
wifi-util: do not set zero errno to log_debug_errno()
(cherry picked from commit
66205cb3f597e43c8446d122fa4cc849c4f101d7)
(cherry picked from commit
8eaf2da0f6c9fbea42d44343c30361dcf79702bf)
(cherry picked from commit
e3640b026a7b26931d7760b0cec5fb51f65797bf)
Peter Hutterer [Tue, 20 Apr 2021 07:09:48 +0000 (17:09 +1000)]
shell-completion: use base.lst, not xorg.lst
Since 2005 xorg.lst has been the legacy symlink to the real file base.lst.
(cherry picked from commit
7a4afd3a15f201a2230dce1f640fc37d18bc39ac)
(cherry picked from commit
6b5621353981ee36280e6c4f08540fc24c19ca26)
(cherry picked from commit
f66253f0e3bca4bb5e3a4ce9a54c3f1de7d3e886)
Jason Francis [Mon, 19 Apr 2021 16:16:26 +0000 (12:16 -0400)]
sd-login: fix wrong constructor used in sd_login_monitor manpage example
(cherry picked from commit
941c5275eaaf8d22915eb876045d2173bdbb7d4c)
(cherry picked from commit
17cb088d6dd3ac940a299c6c7201085252f1367d)
(cherry picked from commit
b52a4350de4931603ab45234614fe1fe17ebdf6a)
Jason Francis [Mon, 19 Apr 2021 16:13:03 +0000 (12:13 -0400)]
sd-login: correct prototype of sd_peer_get_cgroup
(cherry picked from commit
a8310e39e996b9b5f63d897879aecf8988261bdb)
(cherry picked from commit
fa7f835f79d4da8ee6d7403be43a0ba4d24b9fb2)
(cherry picked from commit
60d3eeef5e803997e1c9356d543d460a61f1b4dc)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Apr 2021 20:06:02 +0000 (22:06 +0200)]
Zbigniew Jędrzejewski-Szmek [Wed, 14 Apr 2021 15:10:36 +0000 (17:10 +0200)]
shared/module-util: fix errno value passed to log function
If r == 0, no harm done. But if r > 0, this would be interpreted as an
errno value, wrongly.
(cherry picked from commit
a2eb2267e44580446ecad37e7206e729cfd78155)
(cherry picked from commit
e70a773f85ceb64435de3d47c12b07c08605f591)
(cherry picked from commit
c6d3623e9e53cc4c1b3e05fa665d2c8791212b74)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Apr 2021 10:14:01 +0000 (06:14 -0400)]
partition, random-seed, logind: fix log messages with %m
We would print "...: Success", which is not too terrible, but not pretty
either.
(cherry picked from commit
111a3aae71fa019710216cc5b7aa95b7c8db0937)
(cherry picked from commit
c032a26df67903e0c65150b5cc68ade35aa47c03)
(cherry picked from commit
7b535fcda495ca8a73133526484340925d754bf6)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Apr 2021 09:54:17 +0000 (05:54 -0400)]
sd-device: improve log message and tweak style
We shouldn't say the attribute is missing right after ruling out ENOENT.
(cherry picked from commit
aca591ac55e5ee364905aec975388c5e30d0476c)
(cherry picked from commit
e31914aa17df889ae10f0964a8bbc8c00e0f045b)
(cherry picked from commit
645c85022ac6c035ccdd0590db687c5be1147e85)
Luca Boccassi [Wed, 14 Apr 2021 20:26:50 +0000 (21:26 +0100)]
test: use systemd-run --wait in TEST-44-LOG-NAMESPACE
The test appears to be occasionally failing. It uses systemd-run to echo
'hello world' into a namespaced journal and then uses journalctl to look for it,
but it doesn't wait.
In the failed runs it can't find it, but the automated journal dump shows
the message at the end.
Use --wait to avoid races.
(cherry picked from commit
cf9844ffabd7fd51f22e729692b79d55cd7bdd76)
(cherry picked from commit
2c17e13ae48b94a0fd02c7746d723b26a0f3dc65)
(cherry picked from commit
bed66a8d19566adf94386482fe5ee0216b66f848)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Apr 2021 08:55:09 +0000 (04:55 -0400)]
libsystemd-network: fix dhcp option buffer confusion
We were writing to the wrong buffer with a wrong offset :(
Bug present since the original introduction of the code in
04b28be1a306fd2ba454d3ee333d63df71aa3873.
(cherry picked from commit
828b603a791edd04a5c3603456aa8caca44ce67e)
(cherry picked from commit
cd1fc467f72e607bcd2464651b68f31bd2a8791a)
(cherry picked from commit
3def84156c37b9a873c29bb93afe5ddaa341c698)
Sevan Janiyan [Wed, 14 Apr 2021 23:01:53 +0000 (00:01 +0100)]
Yu Watanabe [Sun, 11 Apr 2021 12:25:16 +0000 (21:25 +0900)]
network: add missing default setting in networkd.conf
(cherry picked from commit
6bfadad9bb6eaf614da92eba0a9b6243e8645018)
(cherry picked from commit
ee24f9346630b6d59e88ef0989f943444e752569)
(cherry picked from commit
5d91d5a61a88d4b5a2b92d5f665a5dd5dd99d6bd)
gaoyi [Tue, 13 Apr 2021 10:59:46 +0000 (18:59 +0800)]
udev: delete useless codes
It seems no one will touch queue.bin
(cherry picked from commit
993eb00016a75cf085eed85cf626a6995e96ab3d)
(cherry picked from commit
a511010f380397e8bb08816288e31b1666dc11b9)
(cherry picked from commit
74ae332b68785b878b25facac43d166d1c85e575)
Francois Gervais [Mon, 12 Apr 2021 22:25:29 +0000 (18:25 -0400)]
load-fragment: parse specifiers in CPUAffinity= (#19281)
(cherry picked from commit
54cfe9a75f0e84d0604d39b87b1d919542336809)
(cherry picked from commit
bf3bd598136397b5371188bcdec0127e56a1db9a)
(cherry picked from commit
595b1cefbb71397ba08b770136e461022d774d1f)
Zbigniew Jędrzejewski-Szmek [Mon, 12 Apr 2021 12:03:32 +0000 (14:03 +0200)]
meson: do not fail if rsync is not installed with meson 0.57.2
https://github.com/mesonbuild/meson/issues/8641
Our CI started to fail. Even if the change is reverted in meson,
we need a quick workaround here.
(cherry picked from commit
7c5fd25119a495009ea62f79e5daec34cc464628)
(cherry picked from commit
f6435a07c1ca4b895573eba4a64dcf4bef3fb92b)
(cherry picked from commit
f4a1812f95d0c215ef3a9fec24e055bc976c41f1)
Julia Kartseva [Thu, 4 Feb 2021 06:15:27 +0000 (22:15 -0800)]
bpf-firewall: attach with BPF_F_ALLOW_MULTI if kernel supports
Reduced version of [0].
Use BPF_F_ALLOW_MULTI attach flag for bpf-firewall if kernel supports
it.
Aside from addressing security issue in [0] attaching with 'multi'
allows further attaching of cgroup egress, ingress hooks specified by
BPFProgram=.
[0] https://github.com/systemd/systemd/pull/17495/commits/
4e42210d40f96e185a55d43041dd6b962ea830dd
(cherry picked from commit
a442ccb4ebdbc3a9ff9d4504eb9724092149fd42)
(cherry picked from commit
0af3810d4b1c8bb4f0683758f47e042e8cb76972)
(cherry picked from commit
baff489b82bb33c1b13249993f940721fef7671e)
gaoyi [Mon, 12 Apr 2021 08:09:47 +0000 (16:09 +0800)]
man: fix discriptions for --exec-delay
There are two ambiguity in the original description:
1. It will delay all RUN instructions, include builtin.
2. It will delay before running RUN, not each of RUN{program} instructions.
(cherry picked from commit
45f5efdea7e5e94bd47fc24b9bd404c77b5771a0)
(cherry picked from commit
cb92f5601ad169e8f86a61319b73a8fd9e19950b)
(cherry picked from commit
58a56b6a14d5cc9b7ecdd397d7ab6b76170fad08)
Zbigniew Jędrzejewski-Szmek [Wed, 7 Apr 2021 20:35:19 +0000 (22:35 +0200)]
TEST-22-TMPFILES: add reproducer for bug with X
(cherry picked from commit
1672be86021b5ae8e80d095409a4fffcba7cbb75)
(cherry picked from commit
280b157fca7b44b19ec0067ebb88d2c16df1b6e1)
(cherry picked from commit
2fb262636cdf0440fd612ca2a4b6afad68bf655a)
Zbigniew Jędrzejewski-Szmek [Wed, 7 Apr 2021 16:26:15 +0000 (18:26 +0200)]
man: fix quickhelp listing in tmpfiles.d(5)
Unlike many other small/big letter combos, this one has the recursive
version attached to the lowercase letter.
(cherry picked from commit
3dd61ee5be0291380d341571e138713d2f89125a)
(cherry picked from commit
ba8032c414dcf7c627cee3e979654bc5e294def3)
(cherry picked from commit
ebe12d8493e2e8d292e8f7b8ac2b0987d1a815d6)
Masahiro Matsuya [Wed, 31 Mar 2021 02:44:24 +0000 (11:44 +0900)]
tmpfiles: use a entry in hashmap as ItemArray in read_config_file()
[zjs: squash commits and use size_t as appropriate.
Bug seems to have been introduced in
811a15877825da9e53f9a2a8603da34589af6bbb.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1944468.]
(cherry picked from commit
bec890e3cd6dac249cb12ce9430fdb78b6cf546b)
(cherry picked from commit
b266eeb0aee24a0c5868c3a46066c0329b2d1141)
(cherry picked from commit
dbfb698668578da0b53812c6ee5b4d410b5dc546)
Luca Boccassi [Sat, 10 Apr 2021 19:13:02 +0000 (20:13 +0100)]
mkosi.arch: add rsync build dependency
Program rsync found: NO
man/meson.build:187:0: ERROR: Program 'rsync' not found
(cherry picked from commit
a7b7cab66df8c0a701bc6da3a309fa80c90a880b)
(cherry picked from commit
dca590b4b54b3f88919d78645e8c9a4febede850)
(cherry picked from commit
651e479e29c470663d8862344c0c4239d69a9d26)
Oleg Popov [Sat, 10 Apr 2021 14:21:25 +0000 (17:21 +0300)]
Extend characters set for PKCS11 URI
There are tokens with dots (and other symbols) in PKCS11 URI:
pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;serial=3xxxxxxb;token=livelace
pkcs11:model=PRO;manufacturer=Aladdin%20R.D.;serial=
CC62FB25;token=val%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00;id=%33%32%31%30%33%61%36%37%36%65%32%34%35%62%32%31;type=private
(cherry picked from commit
b204bdd4ccae2c76422e7383bd51b664d7e2cfd3)
(cherry picked from commit
27eec0eb045b62b19657b7662dd10594362515a2)
(cherry picked from commit
9eb7e9808f565b727f2a12d02fb87e55534466b6)
Lennart Poettering [Sat, 10 Apr 2021 12:58:54 +0000 (14:58 +0200)]
resolved: add RFC 8375 "home.arpa" to list of default NTA
RFC 8375 introduced "home.arpa" as special TLD for home networks. Let's
hence add it to our default list of NTAs.
(cherry picked from commit
1065501406d6ca608444c3bd19db546e82009450)
(cherry picked from commit
8d55dcd0b89c21538ce388da559b0b4b87be7f20)
(cherry picked from commit
c616c2121465d38f894cc2c03b6ef2127d9aab56)
gaoyi [Tue, 6 Apr 2021 02:44:33 +0000 (10:44 +0800)]
gpt-auto-generator: don't generate systemd-cryptsetup@.service when --Dlibcryptsetup=false
(cherry picked from commit
5b1375035b617bbee8b22a997be527d1b7a392f8)
(cherry picked from commit
aa6b8490870d3a793becf41cc63479043a934a73)
(cherry picked from commit
a4b1e176b264f1dc67ef4422d065ae95ecb8c89e)
Lennart Poettering [Tue, 6 Apr 2021 09:45:47 +0000 (11:45 +0200)]
proc-cmdline: allow backslash escapes when parsing /proc/cmdline
So far when parsing /proc/cmdline we'd consider backslashes as
mechanisms for escaping whitepace or quotes. This changes things so that
they are retained as they are instead. The kernel itself doesn't allow such
escaping, and hence we shouldn't do so either (see lib/cmdline.c in the
kernel sources; it does support "" quotes btw).
This fix is useful to allow specifying backslash escapes in the "root="
cmdline option to be passed through to systemd-fstab-generator. Example:
root=/dev/disk/by-partlabel/Root\x20Partition
Previously we'd eat up the "\" so that we'd then look for a device
/dev/disk/by-partlabel/Rootx20Partition which never shows up.
(cherry picked from commit
d997861ea7dae633174cd80ab55552c020526b62)
(cherry picked from commit
0e6d3243ad3c5ae719c23e14b159c27344523583)
(cherry picked from commit
634c0e5e1034b58ef99bc8729db7c68219c947ab)
Sibo Dong [Sat, 3 Apr 2021 03:33:59 +0000 (23:33 -0400)]
bash-completion: localize words and cword variables
The words and cword variables are not localized in all Bash completion
scripts that call _init_completion.
cur, prev, words, and cword (and split if using the -s flag) are all
variables that should be localized in Bash completion scripts before
calling _init_completion (even if they don't otherwise appear in the
calling script). This is done for cur and prev, but not for words and
cword. Letting words and cword remain unlocalized may clobber variables
the user is using for other purposes, which is bad.
This issue can be resolved by declaring words and cword as local
variables.
Resolves #19188.
(cherry picked from commit
f34173a048061b3f7e551e9a7c04f00e5a106fac)
(cherry picked from commit
90aee910f6e6d54e78651ee8a9d95823b88b527d)
(cherry picked from commit
d62208c253daa55128adfa4f43886298bea28b01)
Frantisek Sumsal [Fri, 2 Apr 2021 16:07:26 +0000 (18:07 +0200)]
fuzzer: add a test case for #19178
(cherry picked from commit
080a602771ef51230a51f247b8b728d0483e2f28)
(cherry picked from commit
98365420f25a3b0fdc01937b767e0ef530d2dce7)
(cherry picked from commit
08f829762736f8d43a219ebd212ab9dd9b5a662b)
Carlo Teubner [Fri, 2 Apr 2021 08:03:02 +0000 (09:03 +0100)]
docs: use current spelling "macOS" not "OS X" etc.
(cherry picked from commit
6d3831cee58dcbdb7ea8a86ca621fec38f5b279b)
(cherry picked from commit
b819fff474661d6d43ee47b41031462f9c0a9af4)
(cherry picked from commit
5854761fc553855a0796d873ac1891d928c7ab45)
Joerg Behrmann [Tue, 30 Mar 2021 14:29:59 +0000 (16:29 +0200)]
systemd-notify: Fix return value of --booted
(cherry picked from commit
8ab34a49dbf75fd731973359a6f24c212682f479)
(cherry picked from commit
480fd82088ad6e44644c568fe37c5d945738a61b)
(cherry picked from commit
cf76ba7b6eb189fe4e5c7f57afc35e06a0179af3)
Zbigniew Jędrzejewski-Szmek [Wed, 31 Mar 2021 15:24:26 +0000 (17:24 +0200)]
Anita Zhang [Fri, 5 Mar 2021 04:00:05 +0000 (20:00 -0800)]
Anita Zhang [Fri, 5 Mar 2021 03:56:16 +0000 (19:56 -0800)]
shutdown: set always_reopen_console
Back in v232 systemd-shutdown would log to /dev/console. However after
the addition of always_reopen_console (v233) it would log to STDERR.
This caused some debugging issues as container systemd-shutdown logs
weren't being logged to console as the arg `--log-target=console` suggested.
Since it appears that always_reopen_console was intended for pid1, set
it in systemd-shutdown as well so logs will go to /dev/console.
(cherry picked from commit
f975f1cc748929942188ae1490cf8480f8a64877)
(cherry picked from commit
baa8bd89efa752633805c5b04b02d1dbde5ea0bb)
(cherry picked from commit
499bea62091f7b672f0e296ec67623a155e2a1d6)
Fangrui Song [Mon, 29 Mar 2021 06:35:06 +0000 (23:35 -0700)]
sd-bus: set retain attribute on BUS_ERROR_MAP_ELF_REGISTER
LLD 13 and GNU ld 2.37 support -z start-stop-gc which allows garbage
collection of C identifier name sections despite the __start_/__stop_
references. Simply set the retain attribute so that GCC 11 (if
configure-time binutils is 2.36 or newer)/Clang 13 will set the
SHF_GNU_RETAIN section attribute to prevent garbage collection.
Without the patch, there are linker errors like the following with -z
start-stop-gc.
```
ld: error: undefined symbol: __start_SYSTEMD_BUS_ERROR_MAP
>>> referenced by bus-error.c:93 (../src/libsystemd/sd-bus/bus-error.c:93)
>>> sd-bus_bus-error.c.o:(bus_error_name_to_errno) in archive src/libsystemd/libsystemd_static.a
```
(cherry picked from commit
945317a4b69d33752c9513bb8994fe8d5a786ea6)
(cherry picked from commit
a360526852eadb2f14f5d4632771c3719a1c4dcf)
Zbigniew Jędrzejewski-Szmek [Fri, 26 Mar 2021 12:07:55 +0000 (13:07 +0100)]
basic/log: fix log_trace()
log_trace() was always on. It's supposed to be opt-in.
(cherry picked from commit
e355fb6fb1c926d0ac109c35704b301e37172c4e)
(cherry picked from commit
1f2b3e1c07881b451b1c78ce299f6cc50f696973)
David Tardon [Fri, 26 Mar 2021 11:34:28 +0000 (12:34 +0100)]
use the right member to define property
(cherry picked from commit
cb6c4f37dc4ade1ed1dea461803ebdceab1e5941)
(cherry picked from commit
6256d6b4e7f9f9a96853be9a72745d72a70f591a)
Lennart Poettering [Wed, 24 Mar 2021 20:21:08 +0000 (21:21 +0100)]
resolved: upgrade log level to LOG_NOTICE if we switch to fallback server (or back)
This is inspired by a recent thread on fedora-devel: it's noteworthy
when we switch to the fallback servers, since it might (or might not)
indicate some configuration problem.
Fixes: #18788
(cherry picked from commit
9b564bbca5fcfb251b7990c8642c82846d09338b)
(cherry picked from commit
d6231fde7dd3a1a05da34c722cc66a87fb197660)
Lennart Poettering [Mon, 3 May 2021 18:06:15 +0000 (20:06 +0200)]
userdb: honour USERDB_AVOID_SHADOW flag also when iterating
(cherry picked from commit
7c67419117f19a85cf3e7e1513c072be2b767a74)
(cherry picked from commit
74fbb83ac2613930f9939f31c9633a97a28da4eb)
(cherry picked from commit
662d14c5af342edbfee5b0b8cf9dc892228a58b9)
Lennart Poettering [Fri, 30 Apr 2021 21:09:35 +0000 (23:09 +0200)]
Lennart Poettering [Fri, 30 Apr 2021 21:08:55 +0000 (23:08 +0200)]
userdb: remove unnecesary repeated if check
(cherry picked from commit
77fe7d15931cc17c933ae8778c4161112783dc79)
(cherry picked from commit
dd8454c17694e6857447f0dd8fb3ff4b409b3bdc)
(cherry picked from commit
be316678b32eecaf2f24cabf111015b20d07e111)
Lennart Poettering [Fri, 30 Apr 2021 21:08:21 +0000 (23:08 +0200)]
Zbigniew Jędrzejewski-Szmek [Wed, 5 May 2021 15:02:49 +0000 (17:02 +0200)]
sd-device: reject empty driver name
If ":" was the last char in the string, we would call access() on ".../drivers/", which
would pass. It probably doesn't matter, but let's reject this anyway.
(cherry picked from commit
52a89a5f08230439f07c043d59ded1270842137b)
(cherry picked from commit
92e5ba438d48a798807104d8aed4e480c58c6465)
(cherry picked from commit
19b1a0f24a781235393b30aff23127efa7a242d7)
Zbigniew Jędrzejewski-Szmek [Wed, 5 May 2021 14:57:39 +0000 (16:57 +0200)]
sd-device: use memdupa_suffix0() where appropriate
No functional change intended.
(cherry picked from commit
3e2d0c6ab2abc0ab85440580931b2462bb73cfda)
(cherry picked from commit
37eeb9c03f86227e94d8e1fa046ca0c0d2b6d237)
(cherry picked from commit
63c2aba7cec5e2ac72b23d7e5c51d6f91408fc10)
Yu Watanabe [Sun, 7 Mar 2021 06:24:15 +0000 (15:24 +0900)]
sd-device: minor optimization for sd_device_new_from_device_id()
(cherry picked from commit
ff7a8d2938b24cb7ca7b69900395ecf837a43a23)
(cherry picked from commit
d7ea7c486a0101dae06a9aca290bfafa46bc1fe2)
(cherry picked from commit
cce2133844e6287ce47bdeb529855521e2c2c588)
Zbigniew Jędrzejewski-Szmek [Wed, 5 May 2021 14:49:41 +0000 (16:49 +0200)]
sd-device: do no allocate strings of unknown length on the stack
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33881.
Not only we would duplicate unknown input on the stack, we would do it
over and over. So let's first check that the input has reasonable length,
but also allocate just one fixed size buffer.
(cherry picked from commit
e17c95af8e450caacde692875b30675cea75211f)
(cherry picked from commit
5172ef4a58bda5be18dcdbbe0abd2c6bb4f08743)
(cherry picked from commit
7e0f374aaca4d964c880d5966811ce2ecfdda94f)
наб [Fri, 16 Apr 2021 11:00:37 +0000 (13:00 +0200)]
meson: don't fail if latest tag's commit is signed
Today this is v248 with
938bdfc0fa737d86eb3ecc70506e11e5f740e0dc, which,
if you don't know about the github webflow key fails to configure with
meson.build:724:8: ERROR: String "gpg: Signature made Tue 30 Mar 2021 22:59:02 CEST\ngpg: using RSA key
4AEE18F83AFDEB23\ngpg: Can't check signature: No public key\n1617137942\n" cannot be converted to int
or, if you do, with
meson.build:724:8: ERROR: String 'gpg: Signature made Tue 30 Mar 2021 22:59:02 CEST\ngpg: using RSA key
4AEE18F83AFDEB23\ngpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23\n1617137942\n' cannot be converted to int
(cherry picked from commit
2d945027244c02fab8d388353f034a2d82ca151b)
(cherry picked from commit
964a13d17be3426ecf539a5155e2cb8b4c16fb31)
(cherry picked from commit
c37bb626c8eac47ce8614ea0331a2f4f7a43cc76)
Yu Watanabe [Thu, 29 Apr 2021 22:00:45 +0000 (07:00 +0900)]
network: can: do not warn if link does not exist anymore
(cherry picked from commit
ed52cce33f588bbeb3d7f5d7f5e76a85cf6e4f89)
(cherry picked from commit
8b881617609e530b846faa27a32db070536fb0d4)
(cherry picked from commit
50ec6a9ec04da8c76afda2e458f9f3ea1df7727d)
Yu Watanabe [Thu, 29 Apr 2021 21:57:15 +0000 (06:57 +0900)]
network: drop duplicated link_up_can()
(cherry picked from commit
f282ce20aaa767f5395b065f2be587cdef3e5491)
(cherry picked from commit
179a92c9d8b2df688764095ce1d242de20ee72fa)
(cherry picked from commit
d1e06f70368ac4b08c2804f3ecfa7cb3ed874fac)
Yu Watanabe [Thu, 29 Apr 2021 19:00:02 +0000 (04:00 +0900)]
sd-bus: fix vtable named argument logic
Fixes #19468.
(cherry picked from commit
c068a17f6a18d3ebfabe88fc49e24a923d0bdd0a)
(cherry picked from commit
618b8bfa38873a45704753b882ada90c0f3492c5)
(cherry picked from commit
e6362ecc5e262f005a39eaff8d1d1fd0caab4a5e)
Steve Bonds [Thu, 25 Mar 2021 14:40:39 +0000 (07:40 -0700)]
Clarify that these values are in bytes
Similar to `ProcessSizeMax`. The defaults in percentages can be misunderstood to mean the values for these parameters will be in percentages.
(cherry picked from commit
88c2c8a0ba13de31061a22a352410c18ffacab9a)
(cherry picked from commit
a9ab73ca9f79d0830e71716359a9710fc165ccca)
(cherry picked from commit
b761e7e472b41fc82c591f79148af47381c0c6b4)
syyhao1994 [Fri, 30 Apr 2021 07:55:50 +0000 (15:55 +0800)]
man: importd also provides the option of import-fs for machinectl (#19477)
(cherry picked from commit
96ae72ce1ad41674078e45b197df35ad18041dc2)
(cherry picked from commit
59cde3bba171abfefd8bf25e4ed07d43700c5e84)
(cherry picked from commit
41e4a4f3df5966c9d36e511728dd7ca1c0e4261c)
Alexander Sverdlin [Sun, 18 Apr 2021 23:53:45 +0000 (01:53 +0200)]
systemd-coredump: Add conflict with shutdown.target
Otherwise a coredump started at the inconvinient moment can stop
shutdown.target leaving the system in a halfway-down state:
Pulling in shutdown.target/start from systemd-poweroff.service/start
Added job shutdown.target/start to transaction.
...
Keeping job shutdown.target/start because of systemd-poweroff.service/start
...
[ OK ] Stopped target Remote File Systems.
shutdown.target: starting held back, waiting for: systemd-networkd.socket
sysinit.target: stopping held back, waiting for: remount_tmp.service
systemd-coredump.socket: Incoming traffic
...
systemd-coredump@0-243-0.service: Trying to enqueue job systemd-coredump@0-243-0.service/start/replace
Added job systemd-coredump@0-243-0.service/start to transaction.
Pulling in systemd-journald.socket/start from systemd-coredump@0-243-0.service/start
Added job systemd-journald.socket/start to transaction.
Pulling in system.slice/start from systemd-journald.socket/start
Added job system.slice/start to transaction.
Pulling in -.slice/start from system.slice/start
Added job -.slice/start to transaction.
Pulling in system-systemd\x2dcoredump.slice/start from systemd-coredump@0-243-0.service/start
Added job system-systemd\x2dcoredump.slice/start to transaction.
Pulling in system.slice/start from system-systemd\x2dcoredump.slice/start
Pulling in shutdown.target/stop from system-systemd\x2dcoredump.slice/start
Added job shutdown.target/stop to transaction.
...
Keeping job systemd-poweroff.service/stop because of umount.target/stop
Keeping job shutdown.target/stop because of systemd-coredump@0-243-0.service/start
(cherry picked from commit
4e947bd04944e58df4103eee4cb8180b5008f143)
(cherry picked from commit
e11d3ec13c1ee7af65893e94d09d8b3b66cd99c9)
(cherry picked from commit
c8491deca6911eda63b9f06172d2c956762ba1b6)
Yu Watanabe [Wed, 28 Apr 2021 15:07:09 +0000 (00:07 +0900)]
network: dhcp4: downgrade log level when interface is removed
(cherry picked from commit
e558d4f47a9c01b007fc193cabcf0dea8370a5f1)
(cherry picked from commit
0881deb1951a55701cf6ea743132458459e3a650)
(cherry picked from commit
b91e1cde447d08b8a72102b08e23cfefdd62601f)
Yu Watanabe [Wed, 28 Apr 2021 13:17:39 +0000 (22:17 +0900)]
network: link: downgrade log level
The error is harmless, and will be ignored. Let's downgrade log level.
(cherry picked from commit
83e7c37b19bd36c78b235ac3047b758fcf82ad78)
(cherry picked from commit
1db3be80337b79e3b9afda9d50c61e6aed5aff28)
(cherry picked from commit
23f2ff3143317022f61a15397e6f2178d46126a2)
William A. Kennington III [Tue, 27 Apr 2021 08:25:58 +0000 (01:25 -0700)]
network: neighbor: Always add neighbors with replace
We were duplicating setting flags for the message and a combination of
NLM_F_APPEND and NLM_F_CREATE which does not make sense. We should have
been using NLM_F_REPLACE and NLM_F_CREATE since the kernel can
dynamically create neighbors prior to us adding an entry. Otherwise, we
can end up with cases where the message will time out after ~25s even
though the neighbor still gets added. This delays the rest of the setup
of the interface even though the error is ultimately ignored.
(cherry picked from commit
192a9d95ea3e058afd824d38a9cea16ad0a84a57)
(cherry picked from commit
cbbe6f78b7839bae605e0296f5d2ae2e3baa04a9)
Luca Boccassi [Tue, 13 Apr 2021 12:17:53 +0000 (13:17 +0100)]
rfkill: add some casts to silence -Werror=sign-compare
(cherry picked from commit
ab1aa6368a883bce88e3162fee2bea14aacedf23)
Fixes https://github.com/systemd/systemd-stable/issues/101.
(cherry picked from commit
074475abc1d6187de88b77dcc4fe0c4d2ab804f5)
(cherry picked from commit
a4cd7949c47f55aa972098e080b65084c9e60ff9)
Daan De Meyer [Fri, 12 Mar 2021 22:09:44 +0000 (22:09 +0000)]
boot: Move console declarations to missing_efi.h
These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
to missing_efi.h behind an appropriate guard to fix the build with
recent versions of gnu-efi.
(cherry picked from commit
95ba433a5f34baf92921fb58051bc8241f908c0e)
(cherry picked from commit
48fff0a2af3f62acd446ebec8081b039b72caad8)
Zbigniew Jędrzejewski-Szmek [Tue, 30 Mar 2021 08:01:12 +0000 (10:01 +0200)]
selinux: do not crash if policy becomes unavailable after reload
https://bugzilla.redhat.com/show_bug.cgi?id=
1944171
Thread 1 (Thread 0x7fb5f0341b80 (LWP 1974)):
№0 selabel_lookup_common (rec=0x0, translating=0, key=0x55f616ac4750 "/run/user/1000/systemd/units/invocation:systemd-tmpfiles-clean.service", type=40960) at label.c:167
'rec' is the handle that we passed.
№1 0x00007fb5f13ae87f in selabel_lookup_raw (rec=<optimized out>, con=con@entry=0x7fffef307380, key=key@entry=0x55f616ac4750 "/run/user/1000/systemd/units/invocation:systemd-tmpfiles-clean.service", type=type@entry=40960) at label.c:256
lr = <optimized out>
'rec' is passed through as is to selabel_lookup_common().
№2 0x00007fb5f1561b2d in selinux_create_file_prepare_abspath (abspath=0x55f616ac4750 "/run/user/1000/systemd/units/invocation:systemd-tmpfiles-clean.service", mode=40960) at ../src/basic/selinux-util.c:368
filecon = 0x0
r = <optimized out>
__PRETTY_FUNCTION__ = "selinux_create_file_prepare_abspath"
__func__ = "selinux_create_file_prepare_abspath"
№3 0x00007fb5f1561ec3 in mac_selinux_create_file_prepare (path=<optimized out>, mode=40960) at ../src/basic/selinux-util.c:431
r = 0
abspath = 0x55f616ac4750 "/run/user/1000/systemd/units/invocation:systemd-tmpfiles-clean.service"
__PRETTY_FUNCTION__ = "mac_selinux_create_file_prepare"
We checked label_hnd != NULL, but then we apparently called
avc_netlink_check_nb(), which reset label_hnd. Yay for global state!
№4 0x00007fb5f1549950 in symlink_atomic_label (from=0x55f6169d8b50 "
69a8dcf7a7ac46b29306f2fddbed3edc", to=0x55f616ab8380 "/run/user/1000/systemd/units/invocation:systemd-tmpfiles-clean.service") at ../src/basic/label.c:55
r = <optimized out>
__PRETTY_FUNCTION__ = "symlink_atomic_label"
In the logs:
Mar 29 14:48:44 fedorapad.home systemd[1974]: selinux: avc: received policyload notice (seqno=2)
Mar 29 14:48:44 fedorapad.home systemd[1974]: Failed to initialize SELinux labeling handle: No such file or directory
Mar 29 14:48:44 fedorapad.home systemd[1974]: selinux: avc: received policyload notice (seqno=3)
Mar 29 14:48:44 fedorapad.home systemd[1974]: selinux: avc: received setenforce notice (enforcing=0)
Anita Zhang [Tue, 23 Mar 2021 07:49:28 +0000 (00:49 -0700)]
process-util: don't allocate max length to read /proc/PID/cmdline
Alternative title: Replace get_process_cmdline()'s fopen()/fread() with
read_full_virtual_file().
When RLIMIT_STACK is set to infinity:infinity, _SC_ARG_MAX will
return
4611686018427387903 (depending on the system, but definitely
something larger than most systems have). It's impractical to allocate this
in one go when most cmdlines are much shorter than that.
Instead use read_full_virtual_file() which seems to increase the buffer
depending on the size of the contents.
(cherry picked from commit
7b7a060e83d6c7de8705904d71978ba4664f0a65)
(cherry picked from commit
fca334fb072545e2db8a81a51f8d1ab343fb610f)
Lincoln Ramsay [Wed, 24 Mar 2021 07:37:25 +0000 (17:37 +1000)]
pid1: do not use generated strings as format strings (#19098)
The generated string may include %, which will confuse both the
xprintf call, and the VA_FORMAT_ADVANCE macro.
Pass the generated string as an argument to a "%s" format string
instead.
(cherry picked from commit
7325a2b2d15af09a9389723d6153050130c0bd36)
(cherry picked from commit
0d4ba1519552761baeb4b464fad8854b24497193)
hide [Tue, 23 Mar 2021 16:05:25 +0000 (01:05 +0900)]
network: fix ipv6 tunnel encapsulation limit (#19087)
The encapsulation limit of IPv6 tunnel can not be set to 4, which is the default value of the encapsulation limit.
(cherry picked from commit
6b1ed5e7e68fc5992a7bdabe4a05a7a3e1e1d898)
(cherry picked from commit
5678859dfd2eb1d018a0f5d468131367d152bbe2)
Lennart Poettering [Tue, 23 Mar 2021 13:04:59 +0000 (14:04 +0100)]
blockdev-util: actually specify an access mode on open()
Linux is pretty lenient here, but we should specify the access mode.
(cherry picked from commit
86b86107942e84de4eb22944251694c0ae21b3ee)
(cherry picked from commit
857533a523d058e9833a553f6ef192ff1ab33b15)
Zbigniew Jędrzejewski-Szmek [Wed, 24 Mar 2021 10:10:17 +0000 (11:10 +0100)]
Revert "resolved: gracefully handle with packets with too large RR count"
This reverts commit
fdfffdaf20a18a50c9a6d858359cf4af6d2f4c8b.
There are multiple reports that this breaks lookups for people, and reverting
this commit, even on the main branch (approx. v248-rc4), fixes the issue.
https://github.com/systemd/systemd/issues/18917#issuecomment-
799421587
https://bodhi.fedoraproject.org/updates/FEDORA-2021-
1c1a870ceb
(cherry picked from commit
7e88a9aef6e6385b0f5889bfc412e03540806085)
David Tardon [Fri, 19 Mar 2021 09:05:47 +0000 (10:05 +0100)]
man: document differences in clean exit status for Type=oneshot
See commit
1f0958f640b87175cd547c1e69084cfe54a22e9d .
(cherry picked from commit
f055cf77862bc580f3afbfaac161d1c060f39411)
(cherry picked from commit
c86f4f5f287258938d0c30354040c3b034b0c066)
Zbigniew Jędrzejewski-Szmek [Mon, 22 Mar 2021 11:51:47 +0000 (12:51 +0100)]
shared/calendarspec: when mktime() moves us backwards, jump forward
When trying to calculate the next firing of 'Sun *-*-* 01:00:00', we'd fall
into an infinite loop, because mktime() moves us "backwards":
Before this patch:
tm_within_bounds: good=0 2021-03-29 01:00:00 → 2021-03-29 00:00:00
tm_within_bounds: good=0 2021-03-29 01:00:00 → 2021-03-29 00:00:00
tm_within_bounds: good=0 2021-03-29 01:00:00 → 2021-03-29 00:00:00
...
We rely on mktime() normalizing the time. The man page does not say that it'll
move the time forward, but our algorithm relies on this. So let's catch this
case explicitly.
With this patch:
$ TZ=Europe/Dublin faketime 2021-03-21 build/systemd-analyze calendar --iterations=5 'Sun *-*-* 01:00:00'
Normalized form: Sun *-*-* 01:00:00
Next elapse: Sun 2021-03-21 01:00:00 GMT
(in UTC): Sun 2021-03-21 01:00:00 UTC
From now: 59min left
Iter. #2: Sun 2021-04-04 01:00:00 IST
(in UTC): Sun 2021-04-04 00:00:00 UTC
From now: 1 weeks 6 days left <---- note the 2 week jump here
Iter. #3: Sun 2021-04-11 01:00:00 IST
(in UTC): Sun 2021-04-11 00:00:00 UTC
From now: 2 weeks 6 days left
Iter. #4: Sun 2021-04-18 01:00:00 IST
(in UTC): Sun 2021-04-18 00:00:00 UTC
From now: 3 weeks 6 days left
Iter. #5: Sun 2021-04-25 01:00:00 IST
(in UTC): Sun 2021-04-25 00:00:00 UTC
From now: 1 months 4 days left
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=
1941335.
(cherry picked from commit
129cb6e249bef30dc33e08f98f0b27a6de976f6f)
(cherry picked from commit
e5cf86ff98a21b427e1439a001d8e6b81c07b19c)
Zbigniew Jędrzejewski-Szmek [Sun, 21 Mar 2021 19:59:32 +0000 (20:59 +0100)]
shared/calendarspec: abort calculation after 1000 iterations
We have a bug where we seem to enter an infinite loop when running in the
Europe/Dublin timezone. The timezone is "special" because it has negative SAVE
values. The handling of this should obviously be fixed, but let's use a
belt-and-suspenders approach, and gracefully fail if we fail to find an answer
within a specific number of attempts. The code in this function is rather
complex, and it's hard to rule out another bug in the future.
(cherry picked from commit
169615c9a8cdc54d748d4dfc8279be9b3c2bec44)
(cherry picked from commit
f14b80e09e225ccf7cfd8a85578b7e64c3fdebb9)
Lennart Poettering [Mon, 22 Mar 2021 17:27:36 +0000 (18:27 +0100)]
resolved: propagate correct error variable
(cherry picked from commit
4cba52cc7a2191d0b38e605801c60d8648bc67e2)
(cherry picked from commit
78415ea9f7de25fc883af980e91fbffadd5a38b5)
Sergey Bugaev [Mon, 22 Mar 2021 15:31:12 +0000 (18:31 +0300)]
log: protect errno in log_open()
Commit
0b1f3c768ce1bd1490a5e53f539976dcef8ca765 has introduced log_open()
calls after exec fails post-fork. However, the log_open() call itself could
change the value of errno, which, for me, manifested in:
$ coredumpctl gdb
...
Failed to invoke gdb: Success
Fix this by using PROTECT_ERRNO in log_open().
(cherry picked from commit
0e557eef37c9ebcc8f5c19fc6fc44b6fd617cc5d)
(cherry picked from commit
dabf9f2109e5b8cc26d9e0d9188deebff3edf8c2)
Yu Watanabe [Fri, 19 Mar 2021 13:16:22 +0000 (22:16 +0900)]
shell-completion: systemd-run: add missing options
Closes #19044.
(cherry picked from commit
c23bb96b388f371e44c4f1756801dec2b4e72307)
(cherry picked from commit
e60fe377e449f402b61237d6476cde6dadd2e03f)
I'm not sure if all options listed in this patch are already there in v246… But
at least --slice-inherit which was originally requested in #19044 is here.
Worst case, users will get completion to some options which are not there yet.
Antonio Terceiro [Sun, 21 Mar 2021 14:37:51 +0000 (11:37 -0300)]
logs-show: add missing newline in warning message
(cherry picked from commit
17e90001643d07a7353ba88417e12be2ff0fa042)
(cherry picked from commit
012d36ed985dc140b46208fff303a75ecf87d1d4)
Lennart Poettering [Fri, 19 Mar 2021 10:14:52 +0000 (11:14 +0100)]
blockdev-util: fix access to possibly invalidated dirent struct
Let's copy out the string we need from the dirent, there's no reason to
believe the dirent struct might live for longer than one loop iteration.
(cherry picked from commit
c68fc3514ddd53abd7ecfd22afb07aa0ad785c5c)
(cherry picked from commit
928ab001fb77fea95ee833fe27e1913f043587ff)
Lennart Poettering [Fri, 19 Mar 2021 09:36:48 +0000 (10:36 +0100)]
repart: make sure to grow partition table after growing backing loopback file
This fixes the --size= switch, i.e. where we grow a disk image: after
growing it we need to expand the partition table so that its idea of the
the medium size matches the new reality. Otherwise our disk size
calculations in the subsequent steps might still use the original
ungrown size.
(This used to work, I guess this was borked when libfdisk learnt the
concept of "minimized" partition tables)
(cherry picked from commit
f9b3afae96c72564cd4cd766555845f17e3c12a9)
(cherry picked from commit
b132bca9f6dc6ed4965c0ac48bac90e9fc443a9e)
Sam Lunt [Thu, 18 Mar 2021 19:50:30 +0000 (14:50 -0500)]
Wrong index in error message
(cherry picked from commit
6f50c94dfda7c5bd31b364a40038c3d68d1e56ab)
(cherry picked from commit
85e45e8722cd2732c4a26f535ddc6472dd1fb0a6)
Mike Gilbert [Tue, 9 Mar 2021 22:57:37 +0000 (17:57 -0500)]
cg_unified_cached: return ENOMEDIUM if we cannot find a known hierarchy
When the test suite is being run in a foreign environment,
/sys/fs/cgroup might not be set up in a way that we recognize.
Returning ENOMEDIUM causes the tests to be skipped in this case.
Bug: https://bugs.gentoo.org/771819
(cherry picked from commit
2156061fb33811aedb160d1b476793a5b845b143)
(cherry picked from commit
84ed68f5f0c393db3824dbbb2bc2118cf6e03722)
Lennart Poettering [Tue, 16 Mar 2021 15:09:47 +0000 (16:09 +0100)]
journald: restore syslog priority *with* facility bits for stream connections when restarting journald
Fixes: #19019
(cherry picked from commit
d977ef2542accd3e10a7540b3a8b6d1278cc0041)
(cherry picked from commit
b55a7dd551d332440615d5efb07d6620ba4ffb1d)
Yu Watanabe [Sat, 13 Mar 2021 10:56:30 +0000 (19:56 +0900)]
man: DNS/NTP servers received from DHCP server are concatenated with the statically configured ones
Prompted by #9473.
(cherry picked from commit
b63dae3168209a06cefe2b9916667b7754b7de34)
(cherry picked from commit
438777cc00ccf2c05f8a05fa02907aa7be547719)
Kevin Backhouse [Fri, 12 Mar 2021 17:00:56 +0000 (18:00 +0100)]
ask-password-api: fix error handling on invalid unicode character
The integer overflow happens when utf8_encoded_valid_unichar() returns an error
code. The error code is a negative number: -22. This overflows when it is
assigned to `z` (type `size_t`). This can cause an infinite loop if the value
of `q` is 22 or larger.
To reproduce the bug, you need to run `systemd-ask-password` and enter an
invalid unicode character, followed by a backspace character.
GHSL-2021-052
(cherry picked from commit
37ca78a35cd1b9f13e584ccf3d332413c7875e40)
(cherry picked from commit
069525e84a67375e27429cb490e8d28af78e673a)
Zbigniew Jędrzejewski-Szmek [Mon, 1 Mar 2021 22:10:06 +0000 (23:10 +0100)]
resolved: disable event sources before unreffing them
We generally operate on the assumption that a source is "gone" as soon
as we unref it. This is generally true because we have the only reference.
But if something else holds the reference, our unref doesn't really stop
the source and it could fire again.
In particular, on_query_timeout() is called with DnsQuery* as userdata, and
it calls dns_query_stop() which invalidates that pointer. If it was ever
called again, we'd be accessing already-freed memory.
I don't see what would hold the reference. sd-event takes a temporary reference,
but on the sd_event object, not on the individual sources. And our sources
are non-floating, so there is no reference from the sd_event object to the
sources.
For #18427.
(cherry picked from commit
97935302283729c9206b84f5e00b1aff0f78ad19)
(cherry picked from commit
78a43c33c8847ebbc2d3cf530ebe304924c58b32)
Frantisek Sumsal [Mon, 8 Feb 2021 10:26:26 +0000 (11:26 +0100)]
tree-wide: fix the string concatenation warning with clang-12
e.g.:
./src/shared/dissect-image.c:2218:39: error: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Werror,-Wstring-concatenation]
"/usr/lib/os-release\0",
^
../src/shared/dissect-image.c:2217:39: note: place parentheses around the string literal to silence warning
[META_OS_RELEASE] = "/etc/os-release\0"
^
1 error generated.
See: https://reviews.llvm.org/D85545
(cherry picked from commit
8762049792024df1be9f0b219438220bb9ee547d)
(cherry picked from commit
6345ef607976ce0311d01a38ee30855f5416ff1f)