]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agoMerge pull request #17884 from poettering/test-dlopen
Lennart Poettering [Wed, 9 Dec 2020 20:09:33 +0000 (21:09 +0100)] 
Merge pull request #17884 from poettering/test-dlopen

tests: add test that dlopen()s our weak shared library deps once

3 years agoudev: link_update() should fail if the entry in symlink dir couldn't have been created
Franck Bui [Wed, 9 Dec 2020 08:46:08 +0000 (09:46 +0100)] 
udev: link_update() should fail if the entry in symlink dir couldn't have been created

Follow-up for 30f6dce62cb3a738b20253f2192270607c31b55b

3 years agovirt: drop /proc/1/sched hack
Lennart Poettering [Wed, 9 Dec 2020 15:16:21 +0000 (16:16 +0100)] 
virt: drop /proc/1/sched hack

On really old kernels (< 4.14+) a bug in /proc/1/sched handling in the
kernel could be used to determine whether we are running in a PID
namespace. This hasn't worked for a long time, and there's little point
in making things work on old kernels we can't make work on current
kernels, hence let's drop that old cruft.

See: #8153

3 years agolog: add helper set sets log level in all realms
Lennart Poettering [Wed, 9 Dec 2020 10:12:33 +0000 (11:12 +0100)] 
log: add helper set sets log level in all realms

Prompted-by: #17903
3 years agoman: document that automount units are privileged
Lennart Poettering [Wed, 9 Dec 2020 13:04:21 +0000 (14:04 +0100)] 
man: document that automount units are privileged

Fixes: #17886
3 years agoMerge pull request #17911 from yuwata/log-cli-program-use-journal
Luca Boccassi [Wed, 9 Dec 2020 14:30:32 +0000 (14:30 +0000)] 
Merge pull request #17911 from yuwata/log-cli-program-use-journal

log: open journal when cli program run in a service unit

3 years agoMerge pull request #17882 from poettering/logind-async-close
Luca Boccassi [Wed, 9 Dec 2020 14:27:03 +0000 (14:27 +0000)] 
Merge pull request #17882 from poettering/logind-async-close

logind: fix closing of button input devices

3 years agoSilence cgroups v1 read-only filesystem warning
Daan De Meyer [Mon, 7 Dec 2020 22:18:28 +0000 (22:18 +0000)] 
Silence cgroups v1 read-only filesystem warning

Avoid warning messages when booting systemd-nspawn containers and using
hybrid or legacy cgroups. systemd-nspawn mounts the cgroups v1 controller
tree as read-only so these errors are expected and not problematic.
Partially fixes #17862.

Test plan:

- Before: `mkosi --default .mkosi/mkosi.fedora boot`

```
‣ Processing default...
Spawning container image on /home/daan/projects/systemd/image.raw.
Press ^] three times within 1s to kill container.
systemd 247 running in system mode. (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
Detected virtualization systemd-nspawn.
Detected architecture x86-64.

Welcome to Fedora 33 (Thirty Three)!

Queued start job for default target Graphical Interface.
-.slice: Failed to migrate controller cgroups from , ignoring: Read-only file system
system.slice: Failed to delete controller cgroups /system.slice, ignoring: Read-only file system
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-modprobe.slice.
user.slice: Failed to delete controller cgroups /user.slice, ignoring: Read-only file system
[  OK  ] Created slice User and Session Slice.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Slices.
[  OK  ] Reached target Swap.
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
[  OK  ] Listening on User Database Manager Socket.
dev-hugepages.mount: Failed to delete controller cgroups /dev-hugepages.mount, ignoring: Read-only file system
         Mounting Huge Pages File System...
sys-fs-fuse-connections.mount: Failed to delete controller cgroups /sys-fs-fuse-connections.mount, ignoring: Read-only file system
         Mounting FUSE Control File System...
         Starting Journal Service...
         Starting Remount Root and Kernel File Systems...
system.slice: Failed to delete controller cgroups /system.slice, ignoring: Read-only file system
```

After: `mkosi --default .mkosi/mkosi.fedora boot`

```
‣ Processing default...
Spawning container image on /home/daan/projects/systemd/mkosi.output/image.raw.
Press ^] three times within 1s to kill container.
systemd 247 running in system mode. (+PAM +AUDIT +SELINUX -APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
Detected virtualization systemd-nspawn.
Detected architecture x86-64.

Welcome to Fedora 33 (Thirty Three)!

Queued start job for default target Graphical Interface.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-modprobe.slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Slices.
[  OK  ] Reached target Swap.
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
[  OK  ] Listening on User Database Manager Socket.
         Mounting Huge Pages File System...
         Mounting FUSE Control File System...
         Starting Journal Service...
         Starting Remount Root and Kernel File Systems...
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
         Starting Restore /run/initramfs on shutdown...
[  OK  ] Finished Restore /run/initramfs on shutdown.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Finished Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Name Resolution...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting Home Area Manager...
         Starting User Login Management...
         Starting Permit User Sessions...
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Console Getty.
[  OK  ] Reached target Login Prompts.
         Starting D-Bus System Message Bus...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Home Area Manager.
[  OK  ] Started User Login Management.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Host and Network Name Lookups.

Fedora 33 (Thirty Three) (built from systemd tree)
Kernel 5.9.11-arch2-1 on an x86_64 (console)
```

3 years agomeson: specify correct libqrencode version in meson dep 17884/head
Luca Boccassi [Wed, 9 Dec 2020 12:33:54 +0000 (13:33 +0100)] 
meson: specify correct libqrencode version in meson dep

3 years agotest: pull in weak deps into tests
Luca Boccassi [Wed, 9 Dec 2020 09:15:36 +0000 (10:15 +0100)] 
test: pull in weak deps into tests

(Pulled from @bluca's comment here:
https://github.com/systemd/systemd/pull/17884#issuecomment-740005624 and
turned into a commit by @poettering)

3 years agotest: add test that dlopen()'s all our weak library deps once
Lennart Poettering [Mon, 7 Dec 2020 13:15:36 +0000 (14:15 +0100)] 
test: add test that dlopen()'s all our weak library deps once

This test should ensure we notice if distros update shared libraries
that broke so name, and we still use the old soname.

(In contrast to what the commit summary says, this currently doesn#t
cover really all such deps, specifically xkbcommon and PCRE are missing,
since they currently aren't loaded from src/shared/. This is stuff to
fix later)

3 years agoqrcode-util: make dlopen() logic more like the other cases
Lennart Poettering [Mon, 7 Dec 2020 13:09:37 +0000 (14:09 +0100)] 
qrcode-util: make dlopen() logic more like the other cases

Let's add a dlopen_qrencode() function that does the actual dlopen()
stuff and caches the result.

This is useful so that we later can automatically test for all dlopen
hookups to work correctly.

3 years agomanager: Fix HW watchdog when systemd starts before driver loaded
Michael Marley [Tue, 8 Dec 2020 02:27:38 +0000 (21:27 -0500)] 
manager: Fix HW watchdog when systemd starts before driver loaded

When manager_{set|override}_watchdog is called, set the watchdog timeout
regardless of whether the hardware watchdog was successfully initialized.  If
the watchdog was requested but could not be initialized, then instead of
pinging it, attempt to initialize it again.  This ensures that the hardware
watchdog is initialized even if the kernel module for it isn't loaded when
systemd starts (which is quite likely, unless it is compiled in).

This builds on work by @danc86 in https://github.com/systemd/systemd/pull/17460,
but fixes the issue of not updating the watchdog timeout with the actual value
from the hardware.

Fixes https://github.com/systemd/systemd/issues/17838

Co-authored-by: Dan Callaghan <djc@djc.id.au>
Co-authored-by: Michael Marley <michael@michaelmarley.com>
3 years agologind: use free_and_strdup() where appropriate 17882/head
Lennart Poettering [Wed, 9 Dec 2020 09:07:37 +0000 (10:07 +0100)] 
logind: use free_and_strdup() where appropriate

3 years agologind: fix closing of button input devices
Lennart Poettering [Mon, 7 Dec 2020 09:51:15 +0000 (10:51 +0100)] 
logind: fix closing of button input devices

This is a fix of #17751. Specifically:

1. Sort #include headers again

2. Remove tabs, as per coding style

3. Don't install fds in half-initialized objects

4. Use asynchronous_close() everywhere

That all said:

Quit frankly, I am not convinced we should do all this at all. If
close()ing of these input devices is really that slow, then this should
probably be fixed in the kernel, not worked around in userspace like
this.

3 years agoasync: add trivial cleanup wrapper for asynchronous_close()
Lennart Poettering [Wed, 9 Dec 2020 09:07:12 +0000 (10:07 +0100)] 
async: add trivial cleanup wrapper for asynchronous_close()

3 years agolog: open journal when cli program run in a service unit 17911/head
Yu Watanabe [Tue, 8 Dec 2020 16:49:13 +0000 (01:49 +0900)] 
log: open journal when cli program run in a service unit

Previously, cli programs like networkctl always use console for logging.

3 years agolog: make show_color variable tristate
Yu Watanabe [Tue, 8 Dec 2020 16:44:36 +0000 (01:44 +0900)] 
log: make show_color variable tristate

Should not change any behavior.

3 years agolog: merge conditions to reduce indentation
Yu Watanabe [Tue, 8 Dec 2020 16:21:31 +0000 (01:21 +0900)] 
log: merge conditions to reduce indentation

3 years agounit: make systemd-networkd.service support reload command 17906/head
Yu Watanabe [Tue, 8 Dec 2020 15:21:58 +0000 (00:21 +0900)] 
unit: make systemd-networkd.service support reload command

3 years agomount-util: fix typo
Yu Watanabe [Tue, 8 Dec 2020 18:04:43 +0000 (03:04 +0900)] 
mount-util: fix typo

3 years agocgroup: Also set blkio.bfq.weight
Pavel Hrdina [Wed, 25 Nov 2020 08:05:36 +0000 (09:05 +0100)] 
cgroup: Also set blkio.bfq.weight

Commit [1] added a workaround when unified cgroups are used but missed
legacy cgroups where there is the same issue.

[1] <https://github.com/systemd/systemd/commit/2dbc45aea747f25cc1c3848fded2ec0062f96bcf>

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
3 years agoMerge pull request #17871 from yuwata/sd-device-issue-17772
Zbigniew Jędrzejewski-Szmek [Tue, 8 Dec 2020 09:14:43 +0000 (10:14 +0100)] 
Merge pull request #17871 from yuwata/sd-device-issue-17772

sd-device: keep escaped strings in DEVLINK= property

3 years agomkosi: Enable --qemu-headless option for all distros
Daan De Meyer [Mon, 7 Dec 2020 23:00:37 +0000 (23:00 +0000)] 
mkosi: Enable --qemu-headless option for all distros

--qemu-headless configures the generated image and mkosi's qemu
command to connect to the VM via the serial port. This allows
spawning a qemu VM within the user's terminal instead of spawning
a graphical GTK GUI. --qemu-headless sets TERM, COLUMNS and LINES
in serial-getty@ttyS0.service in the container which makes the
terminal in the VM behave almost equivalent to the one on the host.

This change makes testing changes to systemd using mkosi + QEMU a
lot easier compared to before as commands can be executed in the VM
from the comfort of one's terminal compared to the Linux console
available when running via the GTK GUI.

3 years agohwdb: add funcional keys for MSI Modern series (tested on Modern 14) (#17880)
l4gfcm [Tue, 8 Dec 2020 08:57:17 +0000 (10:57 +0200)] 
hwdb: add funcional keys for MSI Modern series (tested on Modern 14) (#17880)

3 years agoman: synthetize(d) -> synthesize(d)
Yu Watanabe [Tue, 8 Dec 2020 00:26:00 +0000 (09:26 +0900)] 
man: synthetize(d) -> synthesize(d)

3 years agotest: add tests for device_new_from_nulstr() 17871/head
Yu Watanabe [Sun, 6 Dec 2020 12:12:17 +0000 (21:12 +0900)] 
test: add tests for device_new_from_nulstr()

3 years agosd-device: keep escaped strings in DEVLINK= property
Yu Watanabe [Sun, 6 Dec 2020 12:10:34 +0000 (21:10 +0900)] 
sd-device: keep escaped strings in DEVLINK= property

This fixes a bug introduced by 87a4d416e5126b6fb2528ae192a6a6a8033539ce.

Fixes #17772.

3 years agosd-device: use set_strjoin()
Yu Watanabe [Sun, 6 Dec 2020 11:11:37 +0000 (20:11 +0900)] 
sd-device: use set_strjoin()

This slightly changes TAGS= and CURRENT_TAGS= properties:

Before
E: TAGS=:aaa:bbb:

After
E: TAGS=aaa:bbb

3 years agoset: introduce set_strjoin()
Yu Watanabe [Sun, 6 Dec 2020 11:10:48 +0000 (20:10 +0900)] 
set: introduce set_strjoin()

3 years agoMerge pull request #17855 from poettering/more-socktops
Luca Boccassi [Mon, 7 Dec 2020 21:15:28 +0000 (21:15 +0000)] 
Merge pull request #17855 from poettering/more-socktops

socket-util: some helpers for various sockopts

3 years agosystemd-nspawn: Allow setting ambient capability set
Torsten Hilbrich [Fri, 4 Dec 2020 10:27:12 +0000 (11:27 +0100)] 
systemd-nspawn: Allow setting ambient capability set

The old code was only able to pass the value 0 for the inheritable
and ambient capability set when a non-root user was specified.

However, sometimes it is useful to run a program in its own container
with a user specification and some capabilities set. This is needed
when the capabilities cannot be provided by file capabilities (because
the file system is mounted with MS_NOSUID for additional security).

This commit introduces the option --ambient-capability and the config
file option AmbientCapability=. Both are used in a similar way to the
existing Capability= setting. It changes the inheritable and ambient
set (which is 0 by default). The code also checks that the settings
for the bounding set (as defined by Capability= and DropCapability=)
and the setting for the ambient set (as defined by AmbientCapability=)
are compatible. Otherwise, the operation would fail in any way.

Due to the current use of -1 to indicate no support for ambient
capability set the special value "all" cannot be supported.

Also, the setting of ambient capability is restricted to running a
single program in the container payload.

3 years agoMerge pull request #17766 from weblate/weblate-systemd-master
Zbigniew Jędrzejewski-Szmek [Mon, 7 Dec 2020 18:56:13 +0000 (19:56 +0100)] 
Merge pull request #17766 from weblate/weblate-systemd-master

Translations update from Weblate

3 years agoMake support for nscd flushing optional
Zbigniew Jędrzejewski-Szmek [Mon, 7 Dec 2020 07:45:15 +0000 (08:45 +0100)] 
Make support for nscd flushing optional

Fedora will deprecate support for nscd in the upcoming release [1] and plans to
drop it in the next one [2]. At that point we might as well build systemd
without that support too, since there'll be nothing to talk too.

[1] https://fedoraproject.org/wiki/Changes/DeprecateNSCD
[2] https://fedoraproject.org/wiki/Changes/RemoveNSCD

3 years agosocket-util: add common API for querying socket MTU 17855/head
Lennart Poettering [Mon, 16 Nov 2020 14:01:03 +0000 (15:01 +0100)] 
socket-util: add common API for querying socket MTU

3 years agosocket-util: add getsockopt_int() helper
Lennart Poettering [Mon, 16 Nov 2020 11:41:39 +0000 (12:41 +0100)] 
socket-util: add getsockopt_int() helper

3 years agosocket-util: add sockopt helper for controlling IP_RECVFRAGSIZE
Lennart Poettering [Mon, 16 Nov 2020 11:41:23 +0000 (12:41 +0100)] 
socket-util: add sockopt helper for controlling IP_RECVFRAGSIZE

3 years agoMerge pull request #17874 from DaanDeMeyer/mkosi-build-verbosity
Zbigniew Jędrzejewski-Szmek [Mon, 7 Dec 2020 09:12:33 +0000 (10:12 +0100)] 
Merge pull request #17874 from DaanDeMeyer/mkosi-build-verbosity

Reduce mkosi build script verbosity

3 years agonss-resolve: varlink_call() set error_id only when r >= 0
Yu Watanabe [Sun, 6 Dec 2020 13:41:35 +0000 (22:41 +0900)] 
nss-resolve: varlink_call() set error_id only when r >= 0

Fixes #17870.

3 years agonetwork: mtu is neither a boolean nor a pointer
Yu Watanabe [Mon, 7 Dec 2020 05:10:45 +0000 (14:10 +0900)] 
network: mtu is neither a boolean nor a pointer

3 years agomissing: Define several syscall numbers for Alpha arch
Matt Turner [Sun, 6 Dec 2020 23:45:49 +0000 (18:45 -0500)] 
missing: Define several syscall numbers for Alpha arch

3 years agomeson: Respect MESON_INSTALL_QUIET 17874/head
Daan De Meyer [Sun, 6 Dec 2020 18:16:59 +0000 (18:16 +0000)] 
meson: Respect MESON_INSTALL_QUIET

MESON_INSTALL_QUIET is set when --quiet is passed to meson install.
Make sure we check the variable in our custom install scripts and
don't output anything if it is set.

3 years agomkosi: Silence locale checking in mkosi.build
Daan De Meyer [Sun, 6 Dec 2020 18:16:00 +0000 (18:16 +0000)] 
mkosi: Silence locale checking in mkosi.build

Avoid warning and error logs from locale charmap and export LC_CTYPE
by piping to dev/null and checking if locales are available before
using them.

3 years agomkosi: Remove explicit default_hierarchy=unified option from mkosi.build
Daan De Meyer [Sun, 6 Dec 2020 16:47:25 +0000 (16:47 +0000)] 
mkosi: Remove explicit default_hierarchy=unified option from mkosi.build

default_hierarchy is set to unified in meson_options already so
we can remove it from mkosi.build.

3 years agomkosi: Add --quiet and --no-rebuild options to meson install in mkosi.build
Daan De Meyer [Sun, 6 Dec 2020 16:45:45 +0000 (16:45 +0000)] 
mkosi: Add --quiet and --no-rebuild options to meson install in mkosi.build

By default, meson install prints a line for every file it installs.
This is verbose and doesn't provide much value. Let's silence the
meson install step to remove this output from the mkosi build step.

The --no-rebuild option removes some additional duplicate output
by the meson install step.

Ubuntu Focal still has meson 0.53.0 so we add a version check and
only use the new feature if the meson version supports it.

3 years agomkosi: Remove bash -x option from mkosi.build
Daan De Meyer [Sun, 6 Dec 2020 16:45:01 +0000 (16:45 +0000)] 
mkosi: Remove bash -x option from mkosi.build

-x is for debugging purposes. During regular usage, using -x mostly
prints useless output when building the mkosi image.

3 years agomkosi: Use meson install instead of ninja install in build script
Daan De Meyer [Sun, 6 Dec 2020 16:43:58 +0000 (16:43 +0000)] 
mkosi: Use meson install instead of ninja install in build script

Allows using extra options not available when using ninja.

3 years agoMerge pull request #17760 from mrc0mmand/revert-semaphore-timedated
Luca Boccassi [Sat, 5 Dec 2020 11:12:35 +0000 (11:12 +0000)] 
Merge pull request #17760 from mrc0mmand/revert-semaphore-timedated

Revert "semaphore: temporarily disable the timedated test suite"

3 years agoDon't assume /run/systemd exists when creating unit-root
Daan De Meyer [Thu, 3 Dec 2020 23:08:21 +0000 (23:08 +0000)] 
Don't assume /run/systemd exists when creating unit-root

When running tests in a mkosi container, /run/systemd might not
exist yet in the container which causes test-execute to fail.

Fixes #17842.

3 years agoMerge pull request #17787 from DaanDeMeyer/mkosi-boot-tests
Luca Boccassi [Fri, 4 Dec 2020 23:38:29 +0000 (23:38 +0000)] 
Merge pull request #17787 from DaanDeMeyer/mkosi-boot-tests

CI: Add mkosi boot tests

3 years agoCI: Add mkosi boot tests 17787/head
Daan De Meyer [Mon, 30 Nov 2020 20:57:52 +0000 (20:57 +0000)] 
CI: Add mkosi boot tests

Using the new mkosi Github Action, we can add some simple boot tests
for the systemd mkosi configs. This makes sure these keep working
as expected.

3 years agomkosi: Add findutils to Fedora config
Daan De Meyer [Fri, 4 Dec 2020 22:23:11 +0000 (22:23 +0000)] 
mkosi: Add findutils to Fedora config

find is needed by test_exec_dynamicuser.

3 years agomkosi: Add rpm to Fedora BuildPackages as it's needed by pkg-config
Daan De Meyer [Fri, 4 Dec 2020 20:05:19 +0000 (20:05 +0000)] 
mkosi: Add rpm to Fedora BuildPackages as it's needed by pkg-config

3 years agoRevert "semaphore: temporarily disable the timedated test suite" 17760/head
Frantisek Sumsal [Sat, 28 Nov 2020 10:31:13 +0000 (11:31 +0100)] 
Revert "semaphore: temporarily disable the timedated test suite"

This reverts commit ed9192bb55e23c00bf9ba810a949e7ffe1bbe959.

3 years agodissect: don't declare unused variables on archs that have no GPT discovery
Lennart Poettering [Thu, 3 Dec 2020 19:58:00 +0000 (20:58 +0100)] 
dissect: don't declare unused variables on archs that have no GPT discovery

Fixes: #17839
3 years agosocket-util: make several socket_set_xxx() functions inline
Yu Watanabe [Fri, 4 Dec 2020 02:20:25 +0000 (11:20 +0900)] 
socket-util: make several socket_set_xxx() functions inline

3 years agocryptsetup: give command line parameters proper names
Lennart Poettering [Wed, 25 Nov 2020 10:42:09 +0000 (11:42 +0100)] 
cryptsetup: give command line parameters proper names

It's highly confusing to reference the command line parameters via
argv[] indexes. Let's clean this up, and introduce properly named local
variables that make this easier to follow.

No actualy code changes, just some renaming of variables.

3 years agoMerge pull request #17854 from poettering/dns-domain-ret-fix
Lennart Poettering [Fri, 4 Dec 2020 16:49:05 +0000 (17:49 +0100)] 
Merge pull request #17854 from poettering/dns-domain-ret-fix

dns-domain: fix some coding style issues

3 years agoMerge pull request #17829 from anitazha/testoomdfix
Luca Boccassi [Fri, 4 Dec 2020 12:22:46 +0000 (12:22 +0000)] 
Merge pull request #17829 from anitazha/testoomdfix

test: fix TEST-56-OOMD thresholds for linux 5.9 changes

3 years agoMerge pull request #17834 from yuwata/network-ipv6-reject-type-route
Zbigniew Jędrzejewski-Szmek [Fri, 4 Dec 2020 11:19:35 +0000 (12:19 +0100)] 
Merge pull request #17834 from yuwata/network-ipv6-reject-type-route

network: handle IPv6 routes with reject type correctly

3 years agommap-cache: replace stats accessors with log func
Vito Caputo [Tue, 1 Dec 2020 07:00:34 +0000 (23:00 -0800)] 
mmap-cache: replace stats accessors with log func

In preparation for logging more mmap-cache statistics get rid of this
piecemeal stats accessor api and just have a debug log output function
for producing the stats.

Updates the one call site using these accessors, moving what that site
did into the new log function.  So the output is unchanged for now,
just a trivial refactor.

3 years agoMerge pull request #17843 from poettering/dlfcn-dlsym-arg
Lennart Poettering [Fri, 4 Dec 2020 11:00:53 +0000 (12:00 +0100)] 
Merge pull request #17843 from poettering/dlfcn-dlsym-arg

add DLSYM_ARG() macro helper

3 years agodns-domain: initialize return param on success 17854/head
Lennart Poettering [Mon, 9 Nov 2020 21:26:36 +0000 (22:26 +0100)] 
dns-domain: initialize return param on success

3 years agodns-domain: follow coding style, initialize ret params on success
Lennart Poettering [Fri, 6 Nov 2020 19:24:30 +0000 (20:24 +0100)] 
dns-domain: follow coding style, initialize ret params on success

3 years agotree-wide: make use of new DLSYM_ARG() macro everywhere 17843/head
Lennart Poettering [Thu, 3 Dec 2020 19:21:11 +0000 (20:21 +0100)] 
tree-wide: make use of new DLSYM_ARG() macro everywhere

3 years agodlfcn-util: add DLSYM_ARG() helper
Lennart Poettering [Mon, 30 Nov 2020 16:22:35 +0000 (17:22 +0100)] 
dlfcn-util: add DLSYM_ARG() helper

3 years agotest-network: add tests for IPv6 routes with reject type 17834/head
Yu Watanabe [Thu, 3 Dec 2020 10:09:55 +0000 (19:09 +0900)] 
test-network: add tests for IPv6 routes with reject type

3 years agomeson: check that cxx variable is set before using it
Luca Boccassi [Thu, 3 Dec 2020 16:17:43 +0000 (16:17 +0000)] 
meson: check that cxx variable is set before using it

In some cases it is not defined. Eg in a yocto build:

src/systemd/meson.build:61:15: ERROR: Unknown variable cxx.

3 years agotest-network: sleep 1s after reloading configs
Yu Watanabe [Thu, 3 Dec 2020 05:16:41 +0000 (14:16 +0900)] 
test-network: sleep 1s after reloading configs

As interfaces will be reconfigured asynchronously after `networkctl reload`.
So, right after `networkctl reload` is finished, interfaces may be still
in 'configured' state with the old .network files.

3 years agonetwork: set protocol to route assigned through DHCP6 or DHCP6-PD
Yu Watanabe [Thu, 3 Dec 2020 10:00:56 +0000 (19:00 +0900)] 
network: set protocol to route assigned through DHCP6 or DHCP6-PD

3 years agonetwork: make IPv6 routes with reject type managed by Manager
Yu Watanabe [Thu, 3 Dec 2020 09:51:53 +0000 (18:51 +0900)] 
network: make IPv6 routes with reject type managed by Manager

3 years agonetwork: introduce route_type_is_reject() helper
Yu Watanabe [Thu, 3 Dec 2020 09:44:37 +0000 (18:44 +0900)] 
network: introduce route_type_is_reject() helper

3 years agoMerge pull request #17821 from poettering/local-address-fix
Yu Watanabe [Fri, 4 Dec 2020 02:03:35 +0000 (11:03 +0900)] 
Merge pull request #17821 from poettering/local-address-fix

fix ipv4/ipv6 NXDOMAIN/NODATA confusion for synthesized local addresses

3 years agoresolved: synthesize NODATA instead of NXDOMAIN if gateway exists, but of other protocol 17821/head
Lennart Poettering [Fri, 6 Nov 2020 09:26:44 +0000 (10:26 +0100)] 
resolved: synthesize NODATA instead of NXDOMAIN if gateway exists, but of other protocol

Fixes: #11192
3 years agolocal-addresses: make returning accumulated list optional
Lennart Poettering [Fri, 6 Nov 2020 09:26:40 +0000 (10:26 +0100)] 
local-addresses: make returning accumulated list optional

3 years agoresolved: improve log message when we use TCP a bit
Lennart Poettering [Tue, 10 Nov 2020 17:45:59 +0000 (18:45 +0100)] 
resolved: improve log message when we use TCP a bit

DNS-over-TLS being in use isn't precisely the same as "UDP not
supported". Let's make this clearer.

3 years agoMerge pull request #17809 from yuwata/network-address-fixes-17803
Lennart Poettering [Thu, 3 Dec 2020 20:04:58 +0000 (21:04 +0100)] 
Merge pull request #17809 from yuwata/network-address-fixes-17803

network: two fixes for configuring address correctly

3 years agorandom-util: open /dev/urandom implicitly in random_write_entropy() if needed
Lennart Poettering [Sat, 28 Nov 2020 14:24:44 +0000 (15:24 +0100)] 
random-util: open /dev/urandom implicitly in random_write_entropy() if needed

3 years agoMerge pull request #17836 from poettering/tpm2-condition
Lennart Poettering [Thu, 3 Dec 2020 19:13:45 +0000 (20:13 +0100)] 
Merge pull request #17836 from poettering/tpm2-condition

Add ConditionSecurity=tpm2

3 years agomkosi: Replace iptables-dev with libiptc-dev in debian config
Daan De Meyer [Mon, 30 Nov 2020 23:03:52 +0000 (23:03 +0000)] 
mkosi: Replace iptables-dev with libiptc-dev in debian config

Latest debian unstable doesn't have iptables-dev anymore. Instead,
let's use libiptc-dev.

3 years agoMerge pull request #17079 from keszybz/late-exec-resolution
Lennart Poettering [Thu, 3 Dec 2020 13:58:20 +0000 (14:58 +0100)] 
Merge pull request #17079 from keszybz/late-exec-resolution

Resolve executable paths before execution, use fexecve()

3 years agoMerge pull request #17812 from poettering/systemctl-version-feature-update
Lennart Poettering [Thu, 3 Dec 2020 13:34:08 +0000 (14:34 +0100)] 
Merge pull request #17812 from poettering/systemctl-version-feature-update

build.h: add a bunch of missing features strings

3 years agoshared/build: make the version string definition less terrible 17812/head
Zbigniew Jędrzejewski-Szmek [Thu, 3 Dec 2020 10:12:59 +0000 (11:12 +0100)] 
shared/build: make the version string definition less terrible

The BLKID and ELFUTILS strings were present twice. Let's reaarange things so that
each times requires definition in exactly one place.

Also let's sort things a bit:
the "heavy hitters" like PAM/MAC first,
then crypto libs,
then other libs, alphabetically,
compressors,
and external compat integrations.

I think it's useful for users to group similar concepts together to some extent.
For example, when checking what compression is available, it helps a lot to have
them listed together.

FDISK is renamed to LIBFDISK to make it clear that this is about he library and
the executable.

3 years agoupdate TODO 17836/head
Lennart Poettering [Thu, 3 Dec 2020 11:04:11 +0000 (12:04 +0100)] 
update TODO

3 years agocore: add ConditionSecurity=tpm2 support
Lennart Poettering [Sat, 28 Nov 2020 19:33:53 +0000 (20:33 +0100)] 
core: add ConditionSecurity=tpm2 support

3 years agofw_add_masquerade: remove unused function arguments
Florian Westphal [Fri, 19 Jun 2020 10:41:49 +0000 (12:41 +0200)] 
fw_add_masquerade: remove unused function arguments

Similar to the previous commit.  All callers pass NULL.  This will
ease initial nftables backend implementation (less features to cover).

Add the function parameters as local variables and let compiler
remove branches.  Followup patch can remove the if (NULL) conditionals.

3 years agofw_add_local_dnat: remove unused function arguments
Florian Westphal [Fri, 19 Jun 2020 11:33:19 +0000 (13:33 +0200)] 
fw_add_local_dnat: remove unused function arguments

All users pass a NULL/0 for those, things haven't changed since 2015
when this was added originally, so remove the arguments.

THe paramters are re-added as local function variables, initalised
to NULL or 0.  A followup patch can then manually remove all
if (NULL) rather than leaving dead-branch optimization to compiler.

Reason for not doing it here is to ease patch review.

Not requiring support for this will ease initial nftables backend
implementation.
In case a use-case comues up later this feature can be re-added.

3 years agobuild.h: add a bunch of missing features strings
Lennart Poettering [Wed, 2 Dec 2020 14:36:00 +0000 (15:36 +0100)] 
build.h: add a bunch of missing features strings

Let's make "systemctl --version" more useful for detecting when
build-time features/deps are enabled and which ones arent't again.

3 years agoMerge pull request #17830 from yuwata/update-kernel-headers
Lennart Poettering [Thu, 3 Dec 2020 08:22:01 +0000 (09:22 +0100)] 
Merge pull request #17830 from yuwata/update-kernel-headers

Update kernel headers

3 years agoethtool: add two new link modes 17830/head
Yu Watanabe [Thu, 3 Dec 2020 02:23:50 +0000 (11:23 +0900)] 
ethtool: add two new link modes

3 years agoshared/kernel: update kernel headers
Yu Watanabe [Thu, 3 Dec 2020 02:20:18 +0000 (11:20 +0900)] 
shared/kernel: update kernel headers

From kernel commit 34816d20f173a90389c8a7e641166d8ea9dce70a.

3 years agobasic/linux: update kernel headers
Yu Watanabe [Thu, 3 Dec 2020 02:07:52 +0000 (11:07 +0900)] 
basic/linux: update kernel headers

From kernel commit 34816d20f173a90389c8a7e641166d8ea9dce70a.

3 years agonetwork: ignore broadcast address for /31 or /32 addresses 17809/head
Yu Watanabe [Thu, 3 Dec 2020 01:19:35 +0000 (10:19 +0900)] 
network: ignore broadcast address for /31 or /32 addresses

As they do not have broadcast address.
See https://tools.ietf.org/html/rfc3021

3 years agonetwork: fix verification for broadcast address
Yu Watanabe [Wed, 2 Dec 2020 10:26:41 +0000 (19:26 +0900)] 
network: fix verification for broadcast address

Fixes a bug caused by fe841414ef157f7f01d339c5d5730126e7b5fe0a.

3 years agonetwork: do not set broadcast if prefixlen is 31 or 32
Yu Watanabe [Wed, 2 Dec 2020 10:19:06 +0000 (19:19 +0900)] 
network: do not set broadcast if prefixlen is 31 or 32

After fe841414ef157f7f01d339c5d5730126e7b5fe0a, broadcast address is
also compared with existing one to determine whether the address is
foregin or not. So, the address object should not contain unnecessary
information.

Fixes #17803.

3 years agostub: don't ever respond to datagrams coming in on non-localhost addreses, on the...
Lennart Poettering [Thu, 5 Nov 2020 14:51:12 +0000 (15:51 +0100)] 
stub: don't ever respond to datagrams coming in on non-localhost addreses, on the stub

3 years agoresolved: beef up logic for suppressing "localhost" entry in /etc/hosts
Lennart Poettering [Tue, 10 Nov 2020 22:30:25 +0000 (23:30 +0100)] 
resolved: beef up logic for suppressing "localhost" entry in /etc/hosts

Either suppress the entry entirely, or not at all. But do not suppress
the "localhost" names we recognize, leaving the ones we do not in place.

On Fedora, where "localhost4.localdomain4" is among those listed in
/etc/hosts for 127.0.0.1 we'd thus otherwise drop the "localhost" but
keep the "localhost4.localdomain4" and then on reverse lookups only
return that, which is highly confusing.

3 years agoresolved: use stat_inode_unmodified() to detect /etc/hosts changes
Lennart Poettering [Fri, 6 Nov 2020 13:56:16 +0000 (14:56 +0100)] 
resolved: use stat_inode_unmodified() to detect /etc/hosts changes

3 years agoresolved: never allow _gateway lookups to go to the network
Lennart Poettering [Wed, 11 Nov 2020 16:38:21 +0000 (17:38 +0100)] 
resolved: never allow _gateway lookups to go to the network

Make them rather fail than go to the network.

Previously we'd filter them on LLMNR (explicitly) and MDNS (implicitly,
because it doesn't have .local suffix), but not on DNS.

In order to make _gateway truly reliable, let's not allow it to go to
DNS either, and keep it local.

This is particular relevant, as clients can now request lookups without
local RR synthesis, where we'd rather have NXDOMAIN returned for
_gateway than have it hit the network.

3 years agoresolved: lower SERVFAIL cache timeout from 30s to 10s
Lennart Poettering [Thu, 12 Nov 2020 16:52:09 +0000 (17:52 +0100)] 
resolved: lower SERVFAIL cache timeout from 30s to 10s

Apparently 30s is a bit too long for some cases, see #5552. But not
caching SERVFAIL at all also breaks stuff, see explanation in
201d99584ed7af8078bb243ce2587e5455074713.

Let's try to find some middle ground, by lowering the cache timeout to
10s. This should be ample for the problem
201d99584ed7af8078bb243ce2587e5455074713 attackes, but not as long as
half a miute, as #5552 complains.

Fixes: #5552