]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agoudev: teach udevadm --property=NAME and --value options 20871/head
Frantisek Sumsal [Tue, 28 Sep 2021 19:18:08 +0000 (21:18 +0200)] 
udev: teach udevadm --property=NAME and --value options

which allows limiting the properties listed by the `--query=property` option
(and optionally listing only the respective values).

4 years agobasic: introduce test_strv_split_and_extend()
Frantisek Sumsal [Wed, 29 Sep 2021 10:46:11 +0000 (12:46 +0200)] 
basic: introduce test_strv_split_and_extend()

4 years agoudev: sort the options alphabetically
Frantisek Sumsal [Tue, 28 Sep 2021 18:08:05 +0000 (20:08 +0200)] 
udev: sort the options alphabetically

4 years agoMerge pull request #20676 from gogsbread/sysctl-minimize-sideeffect
Lennart Poettering [Wed, 29 Sep 2021 07:17:48 +0000 (09:17 +0200)] 
Merge pull request #20676 from gogsbread/sysctl-minimize-sideeffect

sysctl: minimize side effects when running `systemd-sysctl`

4 years agosysctl-util: minimize side-effects when running `systemd-sysctl` 20676/head
Antony Deepak Thomas [Wed, 29 Sep 2021 04:07:42 +0000 (13:07 +0900)] 
sysctl-util: minimize side-effects when running `systemd-sysctl`

Currently `systemd-sysctl` binary is used in `systemd-sysctl.service`
which is mostly configured as `oneshot`. There are situations where one
would like to use systemd to maintain Sysctl configurations on a host,
using a configuration managers such as Chef or Puppet, by apply
configurations every X duration.
The problem with using `systemd-sysctl` is that it writes all the Sysctl
settings, even if the values for those settings have not changed. From
experience, we have observed that some Sysctl settings cause actions in
the kernel upon writing(like dropping caches) which in turn cause
undesired side effects.
This patch tries to minimize such side effects by comparing values
before writing.

4 years agofileio: introduce new mode to suppress writing the same value
Antony Deepak Thomas [Wed, 29 Sep 2021 04:06:25 +0000 (13:06 +0900)] 
fileio: introduce new mode to suppress writing the same value

4 years agostring-util: introduce streq_skip_trailing_chars()
Antony Deepak Thomas [Wed, 29 Sep 2021 03:57:30 +0000 (12:57 +0900)] 
string-util: introduce streq_skip_trailing_chars()

4 years agofileio: introduce read_virtual_file_fd()
Antony Deepak Thomas [Wed, 29 Sep 2021 03:47:49 +0000 (12:47 +0900)] 
fileio: introduce read_virtual_file_fd()

4 years agoMerge pull request #20865 from keszybz/meson-net-naming-definitions
Yu Watanabe [Wed, 29 Sep 2021 03:29:14 +0000 (12:29 +0900)] 
Merge pull request #20865 from keszybz/meson-net-naming-definitions

Allow defining new naming scheme entries as configuration time

4 years agocore: fix the return type for xxx_running_timeout() functions
Frantisek Sumsal [Tue, 28 Sep 2021 21:08:32 +0000 (23:08 +0200)] 
core: fix the return type for xxx_running_timeout() functions

otherwise we might return an invalid value, since `usec_t` is 64-bit,
whereas `int` might not be.

Follow-up to: 5918a93
Fixes: #20872
4 years agoMerge pull request #20860 from yuwata/libsystemd-network-get-ifname-negative-errno
Yu Watanabe [Wed, 29 Sep 2021 03:27:01 +0000 (12:27 +0900)] 
Merge pull request #20860 from yuwata/libsystemd-network-get-ifname-negative-errno

libsystemd-network: make sd_dhcp_client_get_ifname() or friends return negative errno

4 years agoMerge pull request #20870 from jwrdegoede/hwdb-2-accel-quirks
Lennart Poettering [Tue, 28 Sep 2021 21:13:54 +0000 (23:13 +0200)] 
Merge pull request #20870 from jwrdegoede/hwdb-2-accel-quirks

Hwdb 2 accel quirks

4 years agoMerge pull request #20691 from poettering/gpt-sig
Lennart Poettering [Tue, 28 Sep 2021 18:52:01 +0000 (20:52 +0200)] 
Merge pull request #20691 from poettering/gpt-sig

dissect: add support for GPT images with embedded dm-verity signatures

4 years agolibsystemd-network: make sd_dhcp_client_get_ifname() or friends return negative errno... 20860/head
Yu Watanabe [Tue, 28 Sep 2021 13:04:52 +0000 (22:04 +0900)] 
libsystemd-network: make sd_dhcp_client_get_ifname() or friends return negative errno on error

4 years agotree-wide: make format_ifname() or friends return negative errno on failure
Yu Watanabe [Tue, 28 Sep 2021 12:19:07 +0000 (21:19 +0900)] 
tree-wide: make format_ifname() or friends return negative errno on failure

Also,
- drop unnecessary +1 from buffer size, as IF_NAMESIZE or IFNAMSIZ
  includes the nul at the end.
- format_ifname() does not update buffer on failure,
- introduces format_ifname_alloc(), FORMAT_IFNAME(), and their friends.

4 years agohwdb: Add accel orientation quirk for the Cyberbook T116 tablet 20870/head
Hans de Goede [Tue, 28 Sep 2021 17:49:38 +0000 (19:49 +0200)] 
hwdb: Add accel orientation quirk for the Cyberbook T116 tablet

Add a quirk for the accelerometer orientation for the
Cyberbook T116 rugged tablet.

4 years agohwdb: Add accel orientation quirk for the Chuwi Hi10 Plus (CWI527)
Hans de Goede [Fri, 24 Sep 2021 13:26:43 +0000 (15:26 +0200)] 
hwdb: Add accel orientation quirk for the Chuwi Hi10 Plus (CWI527)

Add a quirk for the accelerometer orientation for the
Chuwi Hi10 Plus (CWI527) tablet.

4 years agoupdate TODO 20691/head
Lennart Poettering [Thu, 9 Sep 2021 16:18:53 +0000 (18:18 +0200)] 
update TODO

4 years agotests: extend TEST-50-DISSECT to look for verity signatures
Lennart Poettering [Tue, 28 Sep 2021 14:49:16 +0000 (16:49 +0200)] 
tests: extend TEST-50-DISSECT to look for verity signatures

4 years agodocs: document the three new env vars for tweaking GPT dissection/validation
Lennart Poettering [Fri, 10 Sep 2021 09:01:09 +0000 (11:01 +0200)] 
docs: document the three new env vars for tweaking GPT dissection/validation

4 years agodocs: document the new Verity signature partition type, and its UUIDs
Lennart Poettering [Fri, 10 Sep 2021 08:32:00 +0000 (10:32 +0200)] 
docs: document the new Verity signature partition type, and its UUIDs

4 years agodissect-image: optionally, validate dm-verity signatures in userspace
Lennart Poettering [Thu, 9 Sep 2021 15:55:36 +0000 (17:55 +0200)] 
dissect-image: optionally, validate dm-verity signatures in userspace

Getting certificates for dm-verity roothash signing into the trusted
kernel keychain is a royal PITA (means recompiling or rebooting with
shim), hence let's add a minimal userspace PKCS7 validation as well.

The mechanism is really simple and compatible with the verification the
kernel does. The only difference is that the certificates are searched
in /etc/verity.d/*.crt (and similar dirs in /usr/lib/, …).

We'll first try validation by passing the PKCS#7 data to the kernel, but
if that doesn't work we'll see if one of the certificates found that way
works and then attempt to attach the image without passing the PKCS#7
data to the kernel.

This makes it very easy to have fully validated GPT disk images. For
example, just copy the 'mkosi.secure-boot.crt' file you have in your
mkosi build dir to /etc/verity.d/ and things should just work.

4 years agodissect-image: add env var for disabling "sidecar" loading of verity params
Lennart Poettering [Thu, 9 Sep 2021 14:04:00 +0000 (16:04 +0200)] 
dissect-image: add env var for disabling "sidecar" loading of verity params

Just to make debugging easier.

4 years agodissect-image: load embedded verity signature info from image
Lennart Poettering [Thu, 9 Sep 2021 11:46:01 +0000 (13:46 +0200)] 
dissect-image: load embedded verity signature info from image

This adds support for actually using embedded signature data from
partitions.

4 years agodissect-image: discover verity signature partitions
Lennart Poettering [Thu, 9 Sep 2021 09:43:13 +0000 (11:43 +0200)] 
dissect-image: discover verity signature partitions

This doesn't make use of the discovered partitions yet, but it finds
them at least.

4 years agogpt: add partition type for PKCS#7 signatures for root hashes
Lennart Poettering [Tue, 31 Aug 2021 15:29:34 +0000 (17:29 +0200)] 
gpt: add partition type for PKCS#7 signatures for root hashes

4 years agocryptsetup: handle more gracefully if "keyslots" LUKS2 JSON header field is invalid
Lennart Poettering [Tue, 28 Sep 2021 10:11:53 +0000 (12:11 +0200)] 
cryptsetup: handle more gracefully if "keyslots" LUKS2 JSON header field is invalid

The field is not owned by us (even though is in our JSON objects) but by
the LUKS2 spec. Hence let's handle this a bit more gracefully: let's not
get confused by it, just warn and skip over it.

Fixes: #20847
4 years agocore: implement RuntimeMaxDeltaSec directive
Albert Brox [Tue, 13 Jul 2021 17:38:08 +0000 (13:38 -0400)] 
core: implement RuntimeMaxDeltaSec directive

4 years agomkosi: Remove build script umask workaround
Daan De Meyer [Tue, 28 Sep 2021 10:16:43 +0000 (11:16 +0100)] 
mkosi: Remove build script umask workaround

A fix for this landed in meson 3 years ago so the workaround in the
build script can now be removed (https://github.com/mesonbuild/meson/pull/3225).

4 years agocore: Add ExecSearchPath parameter to specify the directory relative to which binarie...
alexlzhu [Fri, 9 Jul 2021 00:10:47 +0000 (17:10 -0700)] 
core: Add ExecSearchPath parameter to specify the directory relative to which binaries executed by Exec*= should be found

Currently there does not exist a way to specify a path relative to which
all binaries executed by Exec should be found. The only way is to
specify the absolute path.

This change implements the functionality to specify a path relative to which
binaries executed by Exec*= can be found.

Closes #6308

4 years agomeson: allow extra net naming schemes to be defined during configuration 20865/head
Zbigniew Jędrzejewski-Szmek [Tue, 28 Sep 2021 08:12:36 +0000 (10:12 +0200)] 
meson: allow extra net naming schemes to be defined during configuration

In upstream, we have a linearly-growing list of net-naming-scheme defines;
we add a new one for every release where we make user-visible changes to the
naming scheme.

But the general idea was that downstream distributions could define their
own combinations (or even just their own names for existing combinations),
so provide stability for their users. So far this required patching of the
netif-naming-scheme.c and .h files to add the new lines.

With this patch, patching is not required:

$ meson configure build \
  -Dextra-net-naming-schemes=gargoyle=v238+npar_ari+allow_rerenames,gargoyle2=gargoyle+nspawn_long_hash \
  -Ddefault-net-naming-scheme=gargoyle2

or even

$ meson configure build \
  -Dextra-net-naming-schemes=gargoyle=v238+npar_ari+allow_rerenames,gargoyle2=gargoyle+nspawn_long_hash,latest=v249 \
  -Ddefault-net-naming-scheme=gargoyle2

The syntax is a comma-separated list of NAME=name+name+…
This syntax is a bit scary, but any typos result in compilation errors,
so I think it should be OK in practice.

With this approach, we don't allow users to define arbitrary combinations:
what is allowed is still defined at compilation time, so it's up to the
distribution maintainers to provide reasonable combinations. In this regard,
the only difference from status quo is that it's much easier to do (and harder
to do incorrectly, for example by forgetting to add a name to one of the
maps).

4 years agomeson: drop the list of valid net naming schemes
Zbigniew Jędrzejewski-Szmek [Tue, 28 Sep 2021 07:33:30 +0000 (09:33 +0200)] 
meson: drop the list of valid net naming schemes

We used 'combo' type for the scheme list. For a while we forgot to add
new names, and recently aa0a23ec86 added v241, v243, v245, and v247.
I want to allow defining new values during configuration, which means
that we can't use meson to verify the list of options. So any value is
allowed, but then two tests are added: one that will fail compilation if some
invalid name is given (other than "latest"), and one that converts
DEFAULT_NET_NAMING_SCHEME to a NamingScheme pointer.

4 years agoMerge pull request #20837 from bluca/coveralls
Zbigniew Jędrzejewski-Szmek [Tue, 28 Sep 2021 11:45:59 +0000 (13:45 +0200)] 
Merge pull request #20837 from bluca/coveralls

CI: add code coverage reports via lcov and coveralls.io

4 years agoMerge pull request #20861 from yuwata/sd-lldp-rx-cleanups
Yu Watanabe [Tue, 28 Sep 2021 11:22:21 +0000 (20:22 +0900)] 
Merge pull request #20861 from yuwata/sd-lldp-rx-cleanups

sd-lldp-rx: several trivial cleanups

4 years agonetif-naming: inline one iterator variable
Zbigniew Jędrzejewski-Szmek [Tue, 28 Sep 2021 06:55:18 +0000 (08:55 +0200)] 
netif-naming: inline one iterator variable

4 years agosd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL 20861/head
Yu Watanabe [Tue, 28 Sep 2021 06:51:59 +0000 (15:51 +0900)] 
sd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL

4 years agosd-lldp-rx: sd_event should be attached when lldp_rx_start_timer() is called
Yu Watanabe [Tue, 28 Sep 2021 06:41:19 +0000 (15:41 +0900)] 
sd-lldp-rx: sd_event should be attached when lldp_rx_start_timer() is called

4 years agosd-lldp-rx: do not enable timer event source in sd_lldp_rx_get_neighbors()
Yu Watanabe [Tue, 28 Sep 2021 06:38:50 +0000 (15:38 +0900)] 
sd-lldp-rx: do not enable timer event source in sd_lldp_rx_get_neighbors()

It must be just a simple getter.

4 years agosd-lldp-rx: use _cleanup_ attribute at one more place
Yu Watanabe [Tue, 28 Sep 2021 06:30:52 +0000 (15:30 +0900)] 
sd-lldp-rx: use _cleanup_ attribute at one more place

4 years agosd-lldp-rx: wrap long line
Yu Watanabe [Tue, 28 Sep 2021 06:29:27 +0000 (15:29 +0900)] 
sd-lldp-rx: wrap long line

4 years agosd-lldp-rx: add missing assertions
Yu Watanabe [Tue, 28 Sep 2021 06:29:07 +0000 (15:29 +0900)] 
sd-lldp-rx: add missing assertions

4 years agosd-lldp-rx: delay allocating hashmap and prioq to store neighbors
Yu Watanabe [Tue, 28 Sep 2021 06:19:39 +0000 (15:19 +0900)] 
sd-lldp-rx: delay allocating hashmap and prioq to store neighbors

4 years agoprioq: introduce prioq_ensure_put()
Yu Watanabe [Tue, 28 Sep 2021 06:14:50 +0000 (15:14 +0900)] 
prioq: introduce prioq_ensure_put()

4 years agosd-lldp-rx: ensure no event will be triggered after sd_lldp_rx_detach_event() is...
Yu Watanabe [Tue, 28 Sep 2021 05:55:06 +0000 (14:55 +0900)] 
sd-lldp-rx: ensure no event will be triggered after sd_lldp_rx_detach_event() is called

4 years agosd-lldp-rx: add comments about the three multicast addresses
Yu Watanabe [Tue, 28 Sep 2021 06:01:06 +0000 (15:01 +0900)] 
sd-lldp-rx: add comments about the three multicast addresses

4 years agosd-lldp-rx: introduce sd_lldp_rx_is_running()
Yu Watanabe [Tue, 28 Sep 2021 05:51:24 +0000 (14:51 +0900)] 
sd-lldp-rx: introduce sd_lldp_rx_is_running()

4 years agosd-lldp-rx: ignore all errors in processing datagram
Yu Watanabe [Tue, 28 Sep 2021 05:44:12 +0000 (14:44 +0900)] 
sd-lldp-rx: ignore all errors in processing datagram

4 years agoMerge pull request #20846 from yuwata/sd-lldp-tx
Yu Watanabe [Tue, 28 Sep 2021 02:29:34 +0000 (11:29 +0900)] 
Merge pull request #20846 from yuwata/sd-lldp-tx

network: move LLDP transmission feature to libsystemd-network

4 years agoMerge pull request #20855 from dannf/update-net-name-schemes
Yu Watanabe [Tue, 28 Sep 2021 02:28:07 +0000 (11:28 +0900)] 
Merge pull request #20855 from dannf/update-net-name-schemes

Update net name schemes

4 years agoresolved: suppress writing DNS server info into /etc/resolv.conf for non-standard...
Lennart Poettering [Mon, 27 Sep 2021 12:28:16 +0000 (14:28 +0200)] 
resolved: suppress writing DNS server info into /etc/resolv.conf for non-standard UDP ports

glibc doesn't support this, hence don#t generate it.

Fixes: #20836
4 years agoparse-util: prefix load average macros with LOAD_AVG_
Luca Boccassi [Mon, 27 Sep 2021 13:49:47 +0000 (14:49 +0100)] 
parse-util: prefix load average macros with LOAD_AVG_

Follow-up for #20839

4 years agoRemind developers to update the list of net naming schemes that can be selected as... 20855/head
dann frazier [Mon, 27 Sep 2021 17:08:37 +0000 (11:08 -0600)] 
Remind developers to update the list of net naming schemes that can be selected as a build-time defaults.

4 years agoAdd remaining supported schemes as options for default-net-naming-scheme
dann frazier [Mon, 27 Sep 2021 17:00:53 +0000 (11:00 -0600)] 
Add remaining supported schemes as options for default-net-naming-scheme

4 years agonetwork: use sd-lldp-tx 20846/head
Yu Watanabe [Sun, 26 Sep 2021 10:13:20 +0000 (19:13 +0900)] 
network: use sd-lldp-tx

4 years agosd-lldp-tx: introduce sd-lldp-tx
Yu Watanabe [Sun, 26 Sep 2021 08:07:34 +0000 (17:07 +0900)] 
sd-lldp-tx: introduce sd-lldp-tx

4 years agohostname-util: introduce get_pretty_hostname()
Yu Watanabe [Sun, 26 Sep 2021 10:53:00 +0000 (19:53 +0900)] 
hostname-util: introduce get_pretty_hostname()

4 years agosd-lldp: introduce SD_LLDP_OUI_IANA_MUD macro
Yu Watanabe [Sun, 26 Sep 2021 11:19:54 +0000 (20:19 +0900)] 
sd-lldp: introduce SD_LLDP_OUI_IANA_MUD macro

4 years agosd-lldp: constify OUI
Yu Watanabe [Mon, 27 Sep 2021 16:32:40 +0000 (01:32 +0900)] 
sd-lldp: constify OUI

4 years agosd-lldp-rx: split out enum definitions
Yu Watanabe [Sun, 26 Sep 2021 11:03:51 +0000 (20:03 +0900)] 
sd-lldp-rx: split out enum definitions

4 years agosd-lldp-rx: rename sd_lldp -> sd_lldp_rx
Yu Watanabe [Sun, 26 Sep 2021 03:39:36 +0000 (12:39 +0900)] 
sd-lldp-rx: rename sd_lldp -> sd_lldp_rx

4 years agotest: also rename {test,fuzz}-lldp.c
Yu Watanabe [Sun, 26 Sep 2021 03:34:41 +0000 (12:34 +0900)] 
test: also rename {test,fuzz}-lldp.c

4 years agosd-lldp: rename sd-lldp.[ch] -> sd-lldp-rx.[ch]
Yu Watanabe [Sun, 26 Sep 2021 02:51:17 +0000 (11:51 +0900)] 
sd-lldp: rename sd-lldp.[ch] -> sd-lldp-rx.[ch]

4 years agomeson: sort files
Yu Watanabe [Sun, 26 Sep 2021 02:45:03 +0000 (11:45 +0900)] 
meson: sort files

4 years agoMerge pull request #20768 from pdmorrow/shutdown_cgroup_ctrl
Lennart Poettering [Mon, 27 Sep 2021 11:44:54 +0000 (13:44 +0200)] 
Merge pull request #20768 from pdmorrow/shutdown_cgroup_ctrl

cgroups: apply StartupAllowedCPUs= and StartupAllowedMemoryNodes= during shutdown

4 years agoCI: do manpages build only on the clang unit test run 20837/head
Luca Boccassi [Mon, 27 Sep 2021 11:24:48 +0000 (12:24 +0100)] 
CI: do manpages build only on the clang unit test run

It's slow and unaffected by compiler/flags, so no point in repeating it

4 years agoCI: add code coverage reports via lcov and coveralls.io
Luca Boccassi [Wed, 22 Sep 2021 14:41:22 +0000 (15:41 +0100)] 
CI: add code coverage reports via lcov and coveralls.io

4 years agoCI: run unit tests in a network namespace
Luca Boccassi [Sat, 25 Sep 2021 14:40:39 +0000 (15:40 +0100)] 
CI: run unit tests in a network namespace

It seems some of the tests break network connectivity on the host,
as the code coverage upload fails to establish a connection.
Run them in a network namespace with 'unshare -n'.

4 years agotest: double test-hashmap timeout
Luca Boccassi [Fri, 24 Sep 2021 17:38:25 +0000 (18:38 +0100)] 
test: double test-hashmap timeout

When coverage flags are used, sometimes it goes just over 90s on a
slow CI machine

4 years agoMerge pull request #20849 from keszybz/man-page-tags-and-links
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 10:09:48 +0000 (12:09 +0200)] 
Merge pull request #20849 from keszybz/man-page-tags-and-links

Add license tags to doc pages, fixups and more internal links in man pages

4 years agohwbd: 60-sensor.hwdb: Add Lenovo ThinkPad Yoga 11e 5th Gen (Type: 20LN, Gemini Lake)
Kay Siver Bø [Sat, 25 Sep 2021 10:37:29 +0000 (12:37 +0200)] 
hwbd: 60-sensor.hwdb: Add Lenovo ThinkPad Yoga 11e 5th Gen (Type: 20LN, Gemini Lake)

4 years agoman: mention pages with more settings at end of each option list 20849/head
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 07:09:30 +0000 (09:09 +0200)] 
man: mention pages with more settings at end of each option list

For some unit types we have hundreds of options, and the reader may easily miss
that more options are described in other pages. We already mentioned this in
the introduction and then at the top of the option list, but it can't hurt to
repeat the information.

Also, add an (almost empty) Options section for the unit types which don't have
any custom options. It is nicer to have the same page structure in all cases,
so people can jump between pages for different types more easily.

4 years agoman: refresh description of sysvinit compat for services
Zbigniew Jędrzejewski-Szmek [Mon, 27 Sep 2021 06:43:10 +0000 (08:43 +0200)] 
man: refresh description of sysvinit compat for services

The existing text must have been written before systemd-sysv-generator was
created. We don't create the wrappers dynamically since a long time.

Also add more links and make the description conditional on "if compat
is enabled".

4 years agoman: minor grammar fixups in systemd-cryptenroll
Zbigniew Jędrzejewski-Szmek [Fri, 24 Sep 2021 07:12:02 +0000 (09:12 +0200)] 
man: minor grammar fixups in systemd-cryptenroll

4 years agodocs: add spdx tags to all .md files
Zbigniew Jędrzejewski-Szmek [Tue, 14 Sep 2021 14:05:21 +0000 (16:05 +0200)] 
docs: add spdx tags to all .md files

I have no idea if this is going to cause rendering problems, and it is fairly
hard to check. So let's just merge this, and if it github markdown processor
doesn't like it, revert.

4 years agoman: cross-reference DeviceAllow= and PrivateDevices=
Zbigniew Jędrzejewski-Szmek [Wed, 8 Sep 2021 13:46:17 +0000 (15:46 +0200)] 
man: cross-reference DeviceAllow= and PrivateDevices=

They are somewhat similar, but not easy to discover, esp. considering that
they are described in different pages.

For PrivateDevices=, split out the first paragraph that gives the high-level
overview. (The giant second paragraph could also use some heavy editing to break
it up into more digestible chunks, alas.)

4 years agomeson: refuse implicit int <-> pointer conversion
Yu Watanabe [Fri, 24 Sep 2021 15:16:20 +0000 (00:16 +0900)] 
meson: refuse implicit int <-> pointer conversion

Before:
```
Compiling C object src/libsystemd-network/libsystemd-network.a.p/dhcp6-option.c.o
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: warning: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Wint-conversion]
  633 |                 r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
      |                                                                      ^~~~~~
      |                                                                      |
      |                                                                      size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
  358 |                 size_t *offset,
      |                 ~~~~~~~~^~~~~~
```

After:
```
../src/libsystemd-network/dhcp6-option.c: In function ‘dhcp6_option_parse_ia’:
../src/libsystemd-network/dhcp6-option.c:633:70: error: passing argument 3 of ‘dhcp6_option_parse’ makes pointer from integer without a cast [-Werror=int-conversion]
  633 |                 r = dhcp6_option_parse(option_data, option_data_len, offset, &subopt, &subdata_len, &subdata);
      |                                                                      ^~~~~~
      |                                                                      |
      |                                                                      size_t {aka long unsigned int}
../src/libsystemd-network/dhcp6-option.c:358:25: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘size_t’ {aka ‘long unsigned int’}
  358 |                 size_t *offset,
      |                 ~~~~~~~~^~~~~~
cc1: some warnings being treated as errors
```

4 years agobasic: delete loadavg.h copy
Luca Boccassi [Fri, 24 Sep 2021 16:28:27 +0000 (17:28 +0100)] 
basic: delete loadavg.h copy

loadavg.h is an internal header of the Linux source repository, and as
such it is licensed as GPLv2-only, without syscall exception.

We use it only for 4 macros, which are simply doing some math calculations
that cannot thus be subject to copyright.
Reimplement the same calculations in another internal header and delete
loadavg.h from our tree.

4 years agouser-record: switch the default LUKS PBKDF to argon2id to match cryptsetup
nl6720 [Fri, 24 Sep 2021 10:22:18 +0000 (13:22 +0300)] 
user-record: switch the default LUKS PBKDF to argon2id to match cryptsetup

cryptsetup 2.4.0 changed the default LUKS2 PBKDF to argon2id.
See https://gitlab.com/cryptsetup/cryptsetup/-/commit/db775417909db0f0b07168d07fdf8813e3ca94fe.

4 years agoman: fix a reference in timedatectl man page
Anssi Hannula [Fri, 24 Sep 2021 12:26:21 +0000 (15:26 +0300)] 
man: fix a reference in timedatectl man page

timedatectl(1) says the synchronization service list generation is
described "below", but in reality it is documented in
systemd-timedated.service(8).

Fix the sentence to reference the correct man page.

4 years agoman: Startup* updates for systemd.resource-control 20768/head
Peter Morrow [Fri, 17 Sep 2021 10:13:39 +0000 (11:13 +0100)] 
man: Startup* updates for systemd.resource-control

All Startup*= directives now also apply to the shutdown phase as well as
boot phase.

4 years agofuzz: list directives in alphabetical order
Peter Morrow [Thu, 16 Sep 2021 11:33:16 +0000 (12:33 +0100)] 
fuzz: list directives in alphabetical order

4 years agocgroup: re-evaluate startup units during shutdown as well
Peter Morrow [Thu, 16 Sep 2021 11:21:20 +0000 (12:21 +0100)] 
cgroup: re-evaluate startup units during shutdown as well

Apply startup cgroup configuration options to the shutdown phase as
well. I.e. all directives prefixed with Startup are applied during
boot and shutdown. For example:

StartupAllowedCPU= applies during boot and shutdown.
AllowedCPUs= applies during normal runtime.

4 years agoRevert "mkosi: turn off qemu headless mode"
Lennart Poettering [Fri, 24 Sep 2021 12:20:31 +0000 (14:20 +0200)] 
Revert "mkosi: turn off qemu headless mode"

This reverts commit a02c1239cc8064d6dc34279b027a264cfa1ebf07.

(Sorry, I pushed this directly to 'main' by accident)

4 years agomain: use strv_extendf() where appropriate
Lennart Poettering [Fri, 24 Sep 2021 09:05:00 +0000 (11:05 +0200)] 
main: use strv_extendf() where appropriate

4 years agopo: Translated using Weblate (Indonesian)
Andika Triwidada [Fri, 24 Sep 2021 11:05:02 +0000 (13:05 +0200)] 
po: Translated using Weblate (Indonesian)

Currently translated at 100.0% (189 of 189 strings)

Co-authored-by: Andika Triwidada <andika@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/id/
Translation: systemd/main

4 years agolink: connect 5 more properties to ethtool features
Anita Zhang [Fri, 24 Sep 2021 08:19:00 +0000 (01:19 -0700)] 
link: connect 5 more properties to ethtool features

Sets up the follow properties and their corresponding ethtool feature:
- ReceiveVLANCTAGHardwareAcceleration == rx-vlan-hw-parse (or rxvlan)
- TransmitVLANCTAGHardwareAcceleration == tx-vlan-hw-insert (or txvlan)
- ReceiveVLANCTAGFilter == rx-vlan-filter
- TransmitVLANSTAGHardwareAcceleration == tx-vlan-stag-hw-insert
- NTupleFilter == rx-ntuple-filter (or ntuple)

4 years agoMerge pull request #20826 from yuwata/network-sd-event-source-disable-unref
Lennart Poettering [Fri, 24 Sep 2021 11:25:31 +0000 (13:25 +0200)] 
Merge pull request #20826 from yuwata/network-sd-event-source-disable-unref

network: disable event sources before unref them

4 years agolibsystemd-network: disable event sources before unref them 20826/head
Yu Watanabe [Fri, 24 Sep 2021 08:26:35 +0000 (17:26 +0900)] 
libsystemd-network: disable event sources before unref them

Fixes #20825.

4 years agonetwork: disable event sources before unref them
Yu Watanabe [Fri, 24 Sep 2021 08:26:10 +0000 (17:26 +0900)] 
network: disable event sources before unref them

4 years agoMerge pull request #20789 from poettering/initrd-cpio
Lennart Poettering [Thu, 23 Sep 2021 19:17:05 +0000 (21:17 +0200)] 
Merge pull request #20789 from poettering/initrd-cpio

efi-stub: when booting a kernel foo.efi then pack foo.efi.extra.d/*.{cred,raw} as an initrd

4 years agosmack-util: tiny simplification
Lennart Poettering [Thu, 23 Sep 2021 15:08:58 +0000 (17:08 +0200)] 
smack-util: tiny simplification

4 years agoboot: prefer IMAGE_VERSION from os-release as version string 20789/head
Lennart Poettering [Thu, 23 Sep 2021 15:48:26 +0000 (17:48 +0200)] 
boot: prefer IMAGE_VERSION from os-release as version string

If the field exists it's probably the best version we have for sorting,
since it will change on every single OS image update.

4 years agoman: document the new systemd-boot drop-in driver dir logic
Lennart Poettering [Tue, 21 Sep 2021 15:28:16 +0000 (17:28 +0200)] 
man: document the new systemd-boot drop-in driver dir logic

4 years agoman: the sd-boot menu is probably more "textual" then "graphical", hence don't lie
Lennart Poettering [Tue, 21 Sep 2021 14:52:57 +0000 (16:52 +0200)] 
man: the sd-boot menu is probably more "textual" then "graphical", hence don't lie

(also, most communication happens between boot loader and OS, only
seldom stuff goes the other way, hence mention that the boot loader
first)

4 years agoman: add man page for the systemd UEFI stub
Lennart Poettering [Tue, 21 Sep 2021 14:52:24 +0000 (16:52 +0200)] 
man: add man page for the systemd UEFI stub

Fixes: #17215
4 years agoboot: add get_os_indications_supported() helper
Lennart Poettering [Tue, 21 Sep 2021 20:13:23 +0000 (22:13 +0200)] 
boot: add get_os_indications_supported() helper

We inquire the EFI var for this at two places, let's add a helper that
queries it and gracefully handles it if we can't get it, by returning a
zero mask, i.e. no features supported.

4 years agostub: various modernizations to linux.c
Lennart Poettering [Tue, 21 Sep 2021 20:00:06 +0000 (22:00 +0200)] 
stub: various modernizations to linux.c

Let's make some stuff const. Most importanly call AllocatePages() with
a pointer to an EFI_PHYSICAL_ADDRESS instead of a pointer to a
pointer. On 64bit this makes no difference, but on i386 this is simply
not correct, since EFI_PHYSICAL_ADDRESS is 64bit there, even though
pointers are 32bit.

4 years agoboot: add helper for converting EFI_PHYSICAL_ADDRESS to a pointer
Lennart Poettering [Tue, 21 Sep 2021 19:57:51 +0000 (21:57 +0200)] 
boot: add helper for converting EFI_PHYSICAL_ADDRESS to a pointer

This isn't trivial when trying to be compatible with 32bit archs, hence
add a set of helper macro-like functions that make the conversion safe.

4 years agoboot: move TPM conditionalization into measure.h header
Lennart Poettering [Tue, 21 Sep 2021 13:39:47 +0000 (15:39 +0200)] 
boot: move TPM conditionalization into measure.h header

Let's move conditionalization of tpm_log_load_options() into the
measure.h to encapsulate the ifdeffery a bit more.

4 years agoboot: port more code over to get_file_info_harder()
Lennart Poettering [Tue, 21 Sep 2021 13:29:03 +0000 (15:29 +0200)] 
boot: port more code over to get_file_info_harder()