1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-21 18:03:41 +03:00

46610 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
99573ebca6 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)
2021-05-15 20:32:23 +02:00
tramsay
976b28554b 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)
2021-05-15 20:32:16 +02:00
Zbigniew Jędrzejewski-Szmek
b36a5ba093 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)
2021-05-15 20:32:07 +02:00
Anita Zhang
24fc00ce18 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)
2021-05-15 20:31:12 +02:00
Michael Catanzaro
89374c446f 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)
2021-05-15 20:31:02 +02:00
Lennart Poettering
e8d16c3acf 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)
2021-05-15 20:30:52 +02:00
Lennart Poettering
33de9243aa resolved: add udp_header_size() helper
(cherry picked from commit 4565863fff974e69d23a7c5a5237528bc5573a17)
(cherry picked from commit f3f51965c9f2501de62dc5a99f7f86e2869ce614)
2021-05-15 20:29:41 +02:00
Lennart Poettering
fc162d07d0 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)
2021-05-15 20:28:42 +02:00
zsien
eb2ac82a16 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)
2021-05-15 20:28:35 +02:00
Lucas Magasweran
296fa036d3 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)
2021-05-15 20:28:32 +02:00
Lucas Magasweran
8849b5f676 network: examples: use wlan for Type instead of wifi
(cherry picked from commit b419e8776bc2dc1ca113c8332ed465724bff053a)
(cherry picked from commit bf3d671b379cc683375d62f109f133c1703dd828)
(cherry picked from commit fcb48553e1bf9dab872dc5796f2501f947f8953b)
2021-05-15 20:28:29 +02:00
Roman Beranek
e95cae31d4 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)
2021-05-15 20:28:20 +02:00
Lennart Poettering
8042245975 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)
2021-05-15 20:27:24 +02:00
Lennart Poettering
15ccdae7a0 nss-systemd: reset the right field
(cherry picked from commit 1fdfca4da739f47516513afc66d4c7008c9badfd)
(cherry picked from commit 18babc7b290de4c0108b2fe39400c3e9c471ef67)
(cherry picked from commit c3dfbd10da31324158363d6da50345ece24ccaf5)
2021-05-15 20:27:22 +02:00
Franck Bui
fe260f4d67 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)
2021-05-15 20:27:19 +02:00
Zbigniew Jędrzejewski-Szmek
2a510add60 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)
2021-05-15 20:27:04 +02:00
Zbigniew Jędrzejewski-Szmek
6282413f78 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)
2021-05-15 20:27:01 +02:00
Yu Watanabe
1f6aaced6f 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)
2021-05-15 20:26:58 +02:00
Yangyang Shen
75a1ee74ec 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)
2021-05-15 20:26:06 +02:00
Lennart Poettering
ac44b63ef1 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)
2021-05-15 20:25:58 +02:00
Lennart Poettering
8d5b7b955a sd-device: use right type for usec_initialized
(cherry picked from commit a156eb89c827206ee5b51d53016ba63be0c90449)
(cherry picked from commit d6b0efcdd83a937363267ed751fd9a1085505394)
(cherry picked from commit 434d22b7c6ebb0c2f9eb33afa28cb4d2f744adea)
2021-05-15 20:25:55 +02:00
Yu Watanabe
cd6fcc4962 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)
2021-05-15 20:25:49 +02:00
Peter Hutterer
b3b0155479 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)
2021-05-15 20:25:24 +02:00
Jason Francis
b0a888d937 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)
2021-05-15 20:25:21 +02:00
Jason Francis
2618ec8e46 sd-login: correct prototype of sd_peer_get_cgroup
(cherry picked from commit a8310e39e996b9b5f63d897879aecf8988261bdb)
(cherry picked from commit fa7f835f79d4da8ee6d7403be43a0ba4d24b9fb2)
(cherry picked from commit 60d3eeef5e803997e1c9356d543d460a61f1b4dc)
2021-05-15 20:25:18 +02:00
Zbigniew Jędrzejewski-Szmek
9cd02cbcb7 journald: fix %m usage
(cherry picked from commit cf5a2ee82517429a34d9f5bef853cabe055e3e59)
(cherry picked from commit 4186be9a05e162c04d1b72a9ba95224c0a9aa2c3)
(cherry picked from commit 58f2b2bd2e7e8ec9c08df6c90bb633e939b80392)
2021-05-15 20:24:58 +02:00
Zbigniew Jędrzejewski-Szmek
bc0336f378 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)
2021-05-15 20:24:55 +02:00
Zbigniew Jędrzejewski-Szmek
31589c6b36 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)
2021-05-15 20:24:52 +02:00
Zbigniew Jędrzejewski-Szmek
16501c1c70 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)
2021-05-15 20:24:48 +02:00
Luca Boccassi
dde6f2081f 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)
2021-05-15 20:24:44 +02:00
Zbigniew Jędrzejewski-Szmek
62aca69360 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)
2021-05-15 20:24:40 +02:00
Sevan Janiyan
4a4b77d357 meson.build: typo
(cherry picked from commit d5b3e5104448ebfecd334c26dbdd3a8274440b1e)
(cherry picked from commit 812384ce37acd909d70f9295a3b0fce98c8cf840)
(cherry picked from commit dfe66e7b9778062a879511facb0da602f2ffa012)
2021-05-15 20:24:35 +02:00
Yu Watanabe
c7c0af303c network: add missing default setting in networkd.conf
(cherry picked from commit 6bfadad9bb6eaf614da92eba0a9b6243e8645018)
(cherry picked from commit ee24f9346630b6d59e88ef0989f943444e752569)
(cherry picked from commit 5d91d5a61a88d4b5a2b92d5f665a5dd5dd99d6bd)
2021-05-15 20:24:26 +02:00
gaoyi
f48fb2bb1e 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)
2021-05-15 20:24:20 +02:00
Francois Gervais
b31844123e load-fragment: parse specifiers in CPUAffinity= (#19281)
(cherry picked from commit 54cfe9a75f0e84d0604d39b87b1d919542336809)
(cherry picked from commit bf3bd598136397b5371188bcdec0127e56a1db9a)
(cherry picked from commit 595b1cefbb71397ba08b770136e461022d774d1f)
2021-05-15 20:24:14 +02:00
Zbigniew Jędrzejewski-Szmek
a6dd369b7f 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)
2021-05-15 20:24:06 +02:00
Julia Kartseva
8e6acd9a8a 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] 4e42210d40

(cherry picked from commit a442ccb4ebdbc3a9ff9d4504eb9724092149fd42)
(cherry picked from commit 0af3810d4b1c8bb4f0683758f47e042e8cb76972)
(cherry picked from commit baff489b82bb33c1b13249993f940721fef7671e)
2021-05-15 20:23:53 +02:00
gaoyi
3aafd07d39 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)
2021-05-15 20:23:47 +02:00
Zbigniew Jędrzejewski-Szmek
fee5ae3e5f TEST-22-TMPFILES: add reproducer for bug with X
(cherry picked from commit 1672be86021b5ae8e80d095409a4fffcba7cbb75)
(cherry picked from commit 280b157fca7b44b19ec0067ebb88d2c16df1b6e1)
(cherry picked from commit 2fb262636cdf0440fd612ca2a4b6afad68bf655a)
2021-05-15 20:23:26 +02:00
Zbigniew Jędrzejewski-Szmek
11dcff6efe 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)
2021-05-15 20:23:21 +02:00
Masahiro Matsuya
72e945946d 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)
2021-05-15 20:21:50 +02:00
Luca Boccassi
4d3df24895 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)
2021-05-15 20:18:14 +02:00
Oleg Popov
527d07e3fa 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)
2021-05-15 20:18:00 +02:00
Lennart Poettering
1fe2a8ccc2 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)
2021-05-15 20:17:55 +02:00
gaoyi
c22556f7db 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)
2021-05-15 20:17:37 +02:00
Lennart Poettering
60327e0a52 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)
2021-05-15 20:17:32 +02:00
Sibo Dong
1e198d7617 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)
2021-05-15 20:16:50 +02:00
Frantisek Sumsal
2e2459e873 fuzzer: add a test case for #19178
(cherry picked from commit 080a602771ef51230a51f247b8b728d0483e2f28)
(cherry picked from commit 98365420f25a3b0fdc01937b767e0ef530d2dce7)
(cherry picked from commit 08f829762736f8d43a219ebd212ab9dd9b5a662b)
2021-05-15 20:16:31 +02:00
Carlo Teubner
0aeab2639a docs: use current spelling "macOS" not "OS X" etc.
(cherry picked from commit 6d3831cee58dcbdb7ea8a86ca621fec38f5b279b)
(cherry picked from commit b819fff474661d6d43ee47b41031462f9c0a9af4)
(cherry picked from commit 5854761fc553855a0796d873ac1891d928c7ab45)
2021-05-15 20:16:27 +02:00
Joerg Behrmann
1f31fdff01 systemd-notify: Fix return value of --booted
(cherry picked from commit 8ab34a49dbf75fd731973359a6f24c212682f479)
(cherry picked from commit 480fd82088ad6e44644c568fe37c5d945738a61b)
(cherry picked from commit cf76ba7b6eb189fe4e5c7f57afc35e06a0179af3)
2021-05-15 20:16:24 +02:00