]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agomeson: fix incomplete option descriptions
Jan Chren [Wed, 28 Aug 2019 21:50:17 +0000 (21:50 +0000)] 
meson: fix incomplete option descriptions

Signed-off-by: Jan Chren (rindeal) <dev.rindeal@gmail.com>
4 years agoMerge pull request #13244 from keszybz/allow-dots-in-usernames
Yu Watanabe [Wed, 28 Aug 2019 15:03:19 +0000 (00:03 +0900)] 
Merge pull request #13244 from keszybz/allow-dots-in-usernames

Allow dots in usernames

4 years agohwdb: Add HP laptop accelerometer location quirk
Hans de Goede [Wed, 28 Aug 2019 07:28:30 +0000 (09:28 +0200)] 
hwdb: Add HP laptop accelerometer location quirk

Add another HP laptop to the list of HP laptops with their
accelerometer in the base.

While at it also fixup the indentation of a neighboring quirk.

4 years agoshared/user-util: emit a warning on names with dots 13244/head
Zbigniew Jędrzejewski-Szmek [Wed, 28 Aug 2019 10:05:52 +0000 (12:05 +0200)] 
shared/user-util: emit a warning on names with dots

4 years agozsh: update journalctl completions
Ronan Pigott [Wed, 28 Aug 2019 05:28:02 +0000 (22:28 -0700)] 
zsh: update journalctl completions

4 years agoMerge pull request #13412 from yuwata/network-check-and-warn-more
Yu Watanabe [Wed, 28 Aug 2019 06:23:01 +0000 (15:23 +0900)] 
Merge pull request #13412 from yuwata/network-check-and-warn-more

network: check more static IPv6 configurations and add more warnings

4 years agokernel-install: do not require non-empty kernel cmdline
Zbigniew Jędrzejewski-Szmek [Fri, 23 Aug 2019 09:34:45 +0000 (11:34 +0200)] 
kernel-install: do not require non-empty kernel cmdline

When booting with Fedora-Server-dvd-x86_64-30-20190411.n.0.iso,
/proc/cmdline is empty (libvirt, qemu host with bios, not sure if that
matters), after installation to disk, anaconda would "crash" in kernel-core
%posttrans, after calling kernel-install, because dracut would fail
with

> Could not determine the kernel command line parameters.
> Please specify the kernel command line in /etc/kernel/cmdline!

I guess it's legitimate, even if unusual, to have no cmdline parameters.
Two changes are done in this patch:

1. do not fail if the cmdline is empty.
2. if /usr/lib/kernel/cmdline or /etc/kernel/cmdline are present, but
   empty, ignore /proc/cmdline. If there's explicit configuration to
   have empty cmdline, don't ignore it.

The same change was done in dracut:
https://github.com/dracutdevs/dracut/pull/561.

4 years agomanager: put bin before sbin for user instances
Zbigniew Jędrzejewski-Szmek [Fri, 7 Aug 2015 01:34:15 +0000 (21:34 -0400)] 
manager: put bin before sbin for user instances

Traditionally, user logins had a $PATH in which /bin was before /sbin, while
root logins had a $PATH with /sbin first. This allows the tricks that
consolehelper is doing to work. But even if we ignore consolehelper, having the
path in this order might have been used by admins for other purposes, and
keeping the order in user sessions will make it easier the adoption of systemd
user sessions a bit easier.

Fixes #733.
https://bugzilla.redhat.com/show_bug.cgi?id=1744059

OOM handling in manager_default_environment wasn't really correct.
Now the (theorertical) malloc failure in strv_new() is handled.

Please note that this has no effect on:
- systems with merged /bin-/sbin (e.g. arch)

- when there are no binaries that differ between the two locations.

  E.g. on my F30 laptop there is exactly one program that is affected:
  /usr/bin/setup -> consolehelper.

  There is less and less stuff that relies on consolehelper, but there's still
  some.

So for "clean" systems this makes no difference, but helps with legacy setups.

$ dnf repoquery --releasever=31 --qf %{name} --whatrequires usermode
anaconda-live
audit-viewer
beesu
chkrootkit
driftnet
drobo-utils-gui
hddtemp
mate-system-log
mock
pure-ftpd
setuptool
subscription-manager
system-config-httpd
system-config-rootpassword
system-switch-java
system-switch-mail
usermode-gtk
vpnc-consoleuser
wifi-radar
xawtv

4 years agocore: stop removing non-existent and duplicate lookup paths
Zbigniew Jędrzejewski-Szmek [Mon, 26 Aug 2019 06:58:41 +0000 (08:58 +0200)] 
core: stop removing non-existent and duplicate lookup paths

When we would iterate over the lookup paths for each unit, making the list as
short as possible was important for performance. With the current cache, it
doesn't matter much. Two classes of paths were being removed:
- paths which don't exist in the filesystem
- paths which symlink to a path earlier in the search list
Both of those points cause problems with the caching code:
- if a user creates a directory that didn't exist before and puts units there,
  now we will notice the new mtime an properly load the unit. When the path
  was removed from list, we wouldn't.
- we now properly detect whether a unit path is on the path or not.
  Before, if e.g. /lib/systemd/system, /usr/lib/systemd/systemd were both on
  the path, and /lib was a symlink to /usr/lib, the second directory would be
  pruned from the path. Then, the code would think that a symlink
  /etc/systemd/system/foo.service→/lib/systemd/system/foo.service is an alias,
  but /etc/systemd/system/foo.service→/usr/lib/systemd/system/foo.service would
  be considered a link (in the systemctl link sense).

Removing the pruning has a slight negative performance impact in case of
usr-merge systems which have systemd compiled with non-usr-merge paths.
Non-usr-merge systems are deprecated, and this impact should be very small, so
I think it's OK. If it turns out to be an issue, the loop in function that
builds the cache could be improved to skip over "duplicate" directories with
same logic that the cache pruning did before. I didn't want to add this,
becuase it complicates the code to improve a corner case.

Fixes #13272.

4 years agoMerge pull request #13382 from keszybz/network-ipv6-enable
Yu Watanabe [Tue, 27 Aug 2019 15:29:29 +0000 (00:29 +0900)] 
Merge pull request #13382 from keszybz/network-ipv6-enable

Network ipv6 enable

4 years agonetwork: add more warnings in network_verify() 13412/head
Yu Watanabe [Tue, 27 Aug 2019 14:45:00 +0000 (23:45 +0900)] 
network: add more warnings in network_verify()

4 years agonetwork: enable ipv6 when the network has static ipv6 configurations
Yu Watanabe [Tue, 27 Aug 2019 14:15:24 +0000 (23:15 +0900)] 
network: enable ipv6 when the network has static ipv6 configurations

4 years agonetwork: drop all checks of ipv6_disabled sysctl 13382/head
Zbigniew Jędrzejewski-Szmek [Thu, 22 Aug 2019 11:26:54 +0000 (13:26 +0200)] 
network: drop all checks of ipv6_disabled sysctl

*We* control the sysctl setting. If the user configured IPv6, then we apply the
settings, and just make sure that at some point during the configuration the
sysctl is disabled (i.e. ipv6 enabled) if we have IPv6 configured.

Replaces #13283.

4 years agoMerge pull request #13402 from jwrdegoede/accel-quirks
Zbigniew Jędrzejewski-Szmek [Tue, 27 Aug 2019 06:52:49 +0000 (08:52 +0200)] 
Merge pull request #13402 from jwrdegoede/accel-quirks

hwdb: Accel quirks for 2 devices

4 years agoAdd accel mount matrix for Medion Akoya E2293
VD-Lycos [Fri, 23 Aug 2019 22:48:41 +0000 (00:48 +0200)] 
Add accel mount matrix for Medion Akoya E2293

Add ACCEL_MOUNT_MATRIX for Medion Akoya E2293 MD61130

4 years agotest/TEST-10-ISSUE-2467: remove testsuite.service TimeoutStartSec
Dan Streetman [Thu, 15 Aug 2019 20:06:13 +0000 (16:06 -0400)] 
test/TEST-10-ISSUE-2467: remove testsuite.service TimeoutStartSec

This test runs under qemu, which may run on some testbeds without
acceleration; in those cases, a 10s timeout is frequently too short.

Simply removing the timeout to allow the default timeoutsec should
be enough time for the test to finish, even on very slow testbeds.

4 years agotest/TEST-18-FAILUREACTION: fix typo to actually run firstphase action
Dan Streetman [Mon, 22 Jul 2019 17:47:47 +0000 (13:47 -0400)] 
test/TEST-18-FAILUREACTION: fix typo to actually run firstphase action

The if test for running the firstphase of the test should be negated
so the firstphase is actually executed.

4 years agohwdb: Add accel. mount matrix and location for the Trekstor Primebook C11B 13402/head
Hans de Goede [Sun, 25 Aug 2019 18:34:34 +0000 (20:34 +0200)] 
hwdb: Add accel. mount matrix and location for the Trekstor Primebook C11B

The Trekstor Primebook C11B 2-in-1 has 2 accelerometers. Add mount-matrix
and location info for both to 60-sensor.hwdb.

4 years agohwdb: Add accel location quirk for the GPD win
Hans de Goede [Tue, 20 Aug 2019 20:55:20 +0000 (22:55 +0200)] 
hwdb: Add accel location quirk for the GPD win

The acceleromater in the GPD win is in the base, mark it as such so that
iio-sensor-proxy does not try to use it for display rotation.

Note as mentioned in the added comment the DMI strings are unfortunately
somewhat generic, but the combination of using all DMI strings including
the BIOS build data + the sensor modalias should be unique enough.

4 years agotest/test-functions: use truncate instead of dd to create testbed image
Dan Streetman [Tue, 13 Aug 2019 12:05:06 +0000 (08:05 -0400)] 
test/test-functions: use truncate instead of dd to create testbed image

This avoids unnecessary noise in the stderr logs which dd always produces,
such as:

0+0 records in
0+0 records out
0 bytes copied, 0.000155284 s, 0.0 kB/s

Using truncate should not result in any functional change; the image will
still be created as a sparse file of the size specified.

4 years agotest/test-functions: use binaries from $BUILD_DIR or installed system
Dan Streetman [Tue, 13 Aug 2019 11:52:57 +0000 (07:52 -0400)] 
test/test-functions: use binaries from $BUILD_DIR or installed system

In Ubuntu CI, we test binaries from the installed system, not from
$BUILD_DIR, so use the appropriate binary.  Most of the calls to the
binaries are part of checking/processing asan-built binaries, and so
did not apply to Ubuntu CI, except for generating noise in the stderr
log like:

objdump: '/tmp/autopkgtest.83yGoI/build.fHB/src/test/TEST-01-BASIC/systemd-journald': No such file

However this also applies to the call to systemd-nspawn, which the debian
upstream test wrapper was sed-adjusting to use the installed binary
instead of the binary in $BUILD_DIR.  This commit allows removing that
sed processing of the test-functions file during Ubuntu CI test.

4 years agosemaphore: switch back to the master branch
Evgeny Vereshchagin [Sat, 24 Aug 2019 02:51:53 +0000 (02:51 +0000)] 
semaphore: switch back to the master branch

4 years agoFix typo in sd_event_set_watchdog manpage (#13393)
Arian van Putten [Sat, 24 Aug 2019 06:16:44 +0000 (08:16 +0200)] 
Fix typo in sd_event_set_watchdog manpage (#13393)

4 years agoNEWS: update contributors list v243-rc2
Zbigniew Jędrzejewski-Szmek [Thu, 22 Aug 2019 11:47:11 +0000 (13:47 +0200)] 
NEWS: update contributors list

4 years agohwdb: update for v243-rc2
Zbigniew Jędrzejewski-Szmek [Thu, 22 Aug 2019 07:21:43 +0000 (09:21 +0200)] 
hwdb: update for v243-rc2

Diff on the hwdb/*.hwdb files shows that again, this is only additions and
minor corrections.

4 years agojournalctl: Make journalctl --user-unit= match on _SYSTEMD_USER_SLICE
Arian van Putten [Mon, 12 Aug 2019 17:36:56 +0000 (19:36 +0200)] 
journalctl:  Make journalctl --user-unit= match on _SYSTEMD_USER_SLICE

journalctl --unit= already did this, and allows you to tail all the logs
for a certain slice easily. It seemed only natural to make --user-unit
behave in a similar way.

The _SYSTEMD_USER_SLICE field was not documented as being added by
journald, so I have added that to the documentation too.

Furthermore, I have documented the existing behaviour of --unit= and the
new behaviour of --user-unit=

The behaviour was actually not documented before, so I am also OK with
removing the match for the --unit= command instead.  The user would then
have to manually provide _SYSTEMD_SLICE= filter to journalctl in both
cases. Both options work for me.

4 years agonetwork: Do not disable IPv6 by writing to sysctl
Susant Sahani [Mon, 19 Aug 2019 10:00:35 +0000 (15:30 +0530)] 
network: Do not disable IPv6 by writing to sysctl

Only enable is and do not disable IPv6

4 years agocore: TAKE_PTR in timer_add_one_calendar_spec
Anita Zhang [Thu, 22 Aug 2019 06:03:16 +0000 (23:03 -0700)] 
core: TAKE_PTR in timer_add_one_calendar_spec

Introduced in d00a52c

Fixes #13373

4 years agohwdb: add sensor location for HP ProBook4535s
Hans de Goede [Thu, 22 Aug 2019 06:55:09 +0000 (08:55 +0200)] 
hwdb: add sensor location for HP ProBook4535s

https://bugzilla.redhat.com/show_bug.cgi?id=1717712

4 years agojournald: slightly bump OOM adjust for journald (#13366)
Lennart Poettering [Thu, 22 Aug 2019 08:02:28 +0000 (10:02 +0200)] 
journald: slightly bump OOM adjust for journald (#13366)

If logging disappears issues are hard to debug, hence let's give
journald a slight edge over other services when the OOM killer hits.

Here are the special adjustments we now make:

 systemd-coredump@.service.in OOMScoreAdjust=500
 systemd-journald.service.in  OOMScoreAdjust=-250
 systemd-udevd.service.in     OOMScoreAdjust=-1000

(i.e. the coredump processing is made more likely to be killed on OOM,
and udevd and journald are less likely to be killed)

4 years agoMerge pull request #13365 from keszybz/fix-commits-from-pr-13246
Zbigniew Jędrzejewski-Szmek [Thu, 22 Aug 2019 07:13:25 +0000 (09:13 +0200)] 
Merge pull request #13365 from keszybz/fix-commits-from-pr-13246

Fix commits from #13246

4 years agoAdd Chuwi Hi10 to 60-sensor.hwdb (#13351)
Albrecht Lohofener [Thu, 22 Aug 2019 07:12:31 +0000 (09:12 +0200)] 
Add Chuwi Hi10 to 60-sensor.hwdb (#13351)

4 years agopid1: always log successfull process termination quietly
Zbigniew Jędrzejewski-Szmek [Wed, 21 Aug 2019 14:20:59 +0000 (16:20 +0200)] 
pid1: always log successfull process termination quietly

Fixes #13372.

4 years agoMerge pull request #13368 from keszybz/close-watchdog
Lennart Poettering [Wed, 21 Aug 2019 13:36:02 +0000 (15:36 +0200)] 
Merge pull request #13368 from keszybz/close-watchdog

shared/watchdog: close watchdog device when done with it

4 years agopid1: after creating transient drop-ins, put file in path cache
Zbigniew Jędrzejewski-Szmek [Wed, 21 Aug 2019 07:14:52 +0000 (09:14 +0200)] 
pid1: after creating transient drop-ins, put file in path cache

The alternative would be to recreate the cache, but dropins can be created very
often for transient settings, so updating the cache seems like a much faster
option.

Fixes #13287.

4 years agoshared/watchdog: close watchdog device when done with it 13368/head
Zbigniew Jędrzejewski-Szmek [Tue, 20 Aug 2019 18:24:47 +0000 (20:24 +0200)] 
shared/watchdog: close watchdog device when done with it

The file descriptor was opened with O_CLOEXEC, so in practice this doesn't
change too much, but it seems cleaner to always close the old fd when
changing the device path.

4 years agoMerge pull request #13367 from poettering/null-console-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 20 Aug 2019 19:13:36 +0000 (21:13 +0200)] 
Merge pull request #13367 from poettering/null-console-fixes

Fixes inspired by console=null

4 years agofsck: add logging and fix error codes where appropriate 13367/head
Lennart Poettering [Tue, 20 Aug 2019 15:35:06 +0000 (17:35 +0200)] 
fsck: add logging and fix error codes where appropriate

4 years agomanager: simplify manager_get_confirm_spawn() a bit
Lennart Poettering [Tue, 20 Aug 2019 15:34:16 +0000 (17:34 +0200)] 
manager: simplify manager_get_confirm_spawn() a bit

Let's use our usual way of storing error codes.

Let's remove a redundant temporary variable we never change

4 years agoload-fragment: use path_join() where appropriate
Lennart Poettering [Tue, 20 Aug 2019 15:32:34 +0000 (17:32 +0200)] 
load-fragment: use path_join() where appropriate

4 years agolog: don't invalidate open console fd if we can't open a new one
Lennart Poettering [Tue, 20 Aug 2019 15:32:17 +0000 (17:32 +0200)] 
log: don't invalidate open console fd if we can't open a new one

4 years agoterminal-util: add fallback logic to make_console_stdio()
Lennart Poettering [Tue, 20 Aug 2019 15:30:15 +0000 (17:30 +0200)] 
terminal-util: add fallback logic to make_console_stdio()

If /dev/console can't be opened, let's use /dev/null instead.

Inspired by: #13332

4 years agolog: cast various log_open() calls to (void)
Lennart Poettering [Tue, 20 Aug 2019 15:29:49 +0000 (17:29 +0200)] 
log: cast various log_open() calls to (void)

4 years agoupdate TODO
Lennart Poettering [Tue, 20 Aug 2019 14:21:01 +0000 (16:21 +0200)] 
update TODO

4 years agoMerge pull request #13360 from keszybz/udev-watch-more
Lennart Poettering [Tue, 20 Aug 2019 11:55:47 +0000 (13:55 +0200)] 
Merge pull request #13360 from keszybz/udev-watch-more

udev: set "watch" for more devices

4 years agoid128: actually support --pretty 13365/head
Zbigniew Jędrzejewski-Szmek [Tue, 6 Aug 2019 16:23:54 +0000 (18:23 +0200)] 
id128: actually support --pretty

We must be all lazy, at least I know I always used -p ;).

4 years agotest-journal-flush: provide at least *some* logs
Zbigniew Jędrzejewski-Szmek [Fri, 2 Aug 2019 13:07:56 +0000 (15:07 +0200)] 
test-journal-flush: provide at least *some* logs

Ubunut autopkgtest fails with:
405/501 test-journal-flush                      FAIL     0.74 s (killed by signal 6 SIGABRT)

--- command ---
SYSTEMD_KBD_MODEL_MAP='/tmp/autopkgtest.BgjJJv/build.yAM/systemd/src/locale/kbd-model-map' SYSTEMD_LANGUAGE_FALLBACK_MAP='/tmp/autopkgtest.BgjJJv/build.yAM/systemd/src/locale/language-fallback-map' PATH='/tmp/autopkgtest.BgjJJv/build.yAM/systemd/build-deb:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games' /tmp/autopkgtest.BgjJJv/build.yAM/systemd/build-deb/test-journal-flush
--- stderr ---
Assertion 'r >= 0' failed at src/journal/test-journal-flush.c:48, function main(). Aborting.
-------

It's hard to say what is going on here without any error messages whatsoever.
The test goes into deep details of journal file handling, so it needs to also
do logging on its own.

4 years agotest-event: stop debugging spew
Zbigniew Jędrzejewski-Szmek [Fri, 2 Aug 2019 13:00:02 +0000 (15:00 +0200)] 
test-event: stop debugging spew

Ubuntu autopkgtests print output from all tests, and test-event produces
a lot of it. Let's cut it down to reasonable size.

4 years agobasic/build.h: fix typo
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 11:04:16 +0000 (13:04 +0200)] 
basic/build.h: fix typo

4 years agocgroup: Also set io.bfq.weight
Kai Krakow [Sat, 17 Aug 2019 00:33:43 +0000 (02:33 +0200)] 
cgroup: Also set io.bfq.weight

Current kernels with BFQ scheduler do not yet set their IO weight
through "io.weight" but through "io.bfq.weight" (using a slightly
different interface supporting only default weights, not per-device
weights). This commit enables "IOWeight=" to just to that.

This patch may be dropped at some time later.

Link: https://github.com/systemd/systemd/issues/7057
Signed-off-by: Kai Krakow <kai@kaishome.de>
4 years agoshared/user-util: allow usernames with dots in specific fields
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 07:58:27 +0000 (09:58 +0200)] 
shared/user-util: allow usernames with dots in specific fields

People do have usernames with dots, and it makes them very unhappy that systemd
doesn't like their that. It seems that there is no actual problem with allowing
dots in the username. In particular chown declares ":" as the official
separator, and internally in systemd we never rely on "." as the seperator
between user and group (nor do we call chown directly). Using dots in the name
is probably not a very good idea, but we don't need to care. Debian tools
(adduser) do not allow users with dots to be created.

This patch allows *existing* names with dots to be used in User, Group,
SupplementaryGroups, SocketUser, SocketGroup fields, both in unit files and on
the command line. DynamicUsers and sysusers still follow the strict policy.
user@.service and tmpfiles already allowed arbitrary user names, and this
remains unchanged.

Fixes #12754.

4 years agoshared/user-util: add compat forms of user name checking functions
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 07:58:27 +0000 (09:58 +0200)] 
shared/user-util: add compat forms of user name checking functions

New functions are called valid_user_group_name_compat() and
valid_user_group_name_or_id_compat() and accept dots in the user
or group name. No functional change except the tests.

4 years agocore: remove one {}
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 08:02:14 +0000 (10:02 +0200)] 
core: remove one {}

4 years agoMerge pull request #13356 from keszybz/static-nodes-perms
Lennart Poettering [Mon, 19 Aug 2019 16:02:46 +0000 (18:02 +0200)] 
Merge pull request #13356 from keszybz/static-nodes-perms

Fix permissions on static nodes

4 years agoMerge pull request #13353 from keszybz/analyze-cat-config-relabel-extra.d
Lennart Poettering [Mon, 19 Aug 2019 13:38:00 +0000 (15:38 +0200)] 
Merge pull request #13353 from keszybz/analyze-cat-config-relabel-extra.d

systemd-analyze cat-config relabel-extra.d/

4 years agotmpfiles: override permissions of static nodes that need this 13356/head
Zbigniew Jędrzejewski-Szmek [Mon, 19 Aug 2019 09:50:04 +0000 (11:50 +0200)] 
tmpfiles: override permissions of static nodes that need this

Fixes #13350.

4 years agoshared/seccomp: add sync_file_range2
Zbigniew Jędrzejewski-Szmek [Mon, 19 Aug 2019 06:51:39 +0000 (08:51 +0200)] 
shared/seccomp: add sync_file_range2

Some architectures need the arguments to be reordered because of alignment
issues. Otherwise, it's the same as sync_file_range.

4 years agoRename tmpfiles.d/kmod.conf to static-nodes.conf
Zbigniew Jędrzejewski-Szmek [Mon, 19 Aug 2019 09:05:58 +0000 (11:05 +0200)] 
Rename tmpfiles.d/kmod.conf to static-nodes.conf

It is generated using kmod, but apart from that doesn't have
much to do with kmod.

4 years agoanalyze: make cat-config work with relabel-extra.d 13353/head
Zbigniew Jędrzejewski-Szmek [Tue, 6 Aug 2019 20:07:17 +0000 (22:07 +0200)] 
analyze: make cat-config work with relabel-extra.d

4 years agosystemctl: use unicode in one more place
Zbigniew Jędrzejewski-Szmek [Tue, 6 Aug 2019 19:20:18 +0000 (21:20 +0200)] 
systemctl: use unicode in one more place

4 years agoman: owned to → owned by
Zbigniew Jędrzejewski-Szmek [Tue, 6 Aug 2019 07:05:12 +0000 (09:05 +0200)] 
man: owned to → owned by

4 years agoMerge pull request #13235 from yuwata/network-routing-policy-rule-family-13233
Zbigniew Jędrzejewski-Szmek [Mon, 19 Aug 2019 08:08:23 +0000 (10:08 +0200)] 
Merge pull request #13235 from yuwata/network-routing-policy-rule-family-13233

network: add RoutingPolicyRule.Family= setting

4 years agoMerge pull request #13345 from yuwata/network-fix-preferred-lifetime-zero-13341
Zbigniew Jędrzejewski-Szmek [Mon, 19 Aug 2019 07:59:16 +0000 (09:59 +0200)] 
Merge pull request #13345 from yuwata/network-fix-preferred-lifetime-zero-13341

network: fix PreferredLifetime=0

4 years agoRevert "shared/conf-parser,networkd: EXTRACT_UNQUOTE|EXTRACT_RETAIN_ESCAPE → EXTRACT_...
Zbigniew Jędrzejewski-Szmek [Wed, 14 Aug 2019 15:41:31 +0000 (17:41 +0200)] 
Revert "shared/conf-parser,networkd: EXTRACT_UNQUOTE|EXTRACT_RETAIN_ESCAPE → EXTRACT_UNQUOTE"

This reverts commit 8a07b4033e5d3c86931b3dd2ddbca41118c05c60.
The tests are kept. test-networkd-conf is adjusted to pass.

This fixes #13276. I think current rules are extremely confusing, as the
case in test-networkd-conf shows. We apply some kinds of unescaping (relating
to quoting), but not others (related to escaping of special characters).
But fixing this is hard, because people have adjusted quoting to match
our rules, and if we make the rules "better", things might break in unexpected
places.

4 years agocgroup-util: update comment to reflect stable kernel fixes
Topi Miettinen [Fri, 16 Aug 2019 08:42:04 +0000 (11:42 +0300)] 
cgroup-util: update comment to reflect stable kernel fixes

4 years agoMerge pull request #13344 from ddstreet/test-functions
Yu Watanabe [Sun, 18 Aug 2019 15:34:35 +0000 (00:34 +0900)] 
Merge pull request #13344 from ddstreet/test-functions

Minor/cosmetic changes to test/test-functions, some test.sh

4 years agotest: increase qemu timeout for TEST-18 and TEST-19
Dan Streetman [Thu, 15 Aug 2019 20:27:05 +0000 (16:27 -0400)] 
test: increase qemu timeout for TEST-18 and TEST-19

These tests runs under qemu, and on some testbeds, without acceleration.
On those systems, the current 180 second overall test timeout is too
short to run the test.

Increasing the timeout to 600s should be enough, even for slow
non-accelerated qemu testbeds.

4 years agotest-network: update test for PreferredLifetime=0 13345/head
Yu Watanabe [Sat, 17 Aug 2019 17:15:11 +0000 (02:15 +0900)] 
test-network: update test for PreferredLifetime=0

4 years agonetwork: do not check deprecated flag in address_is_ready()
Yu Watanabe [Sun, 18 Aug 2019 15:04:37 +0000 (00:04 +0900)] 
network: do not check deprecated flag in address_is_ready()

Without this change, the address with PreferredLifetime=0 cannot be ready,
and thus, no consequent setting up process does not start.
The bug was introduced by 6aa5773.

Follow-up for b7ed5384ab55cd4d7b8d7d1ec7f5d5e145f0a2b1.

Fixes #13341.

4 years agoman: add missing comma
Theo Ouzhinski [Sat, 17 Aug 2019 17:21:50 +0000 (13:21 -0400)] 
man: add missing comma

4 years agotrivial spelling fixes (#13339)
Mr-Foo [Sat, 17 Aug 2019 16:30:57 +0000 (16:30 +0000)] 
trivial spelling fixes (#13339)

4 years agotest/test-functions: add mkdir to import_initdir 13344/head
Dan Streetman [Sat, 17 Aug 2019 16:24:00 +0000 (12:24 -0400)] 
test/test-functions: add mkdir to import_initdir

This dir is created by create_empty_image_rootdir, as well as indirectly
by some other functions, but it should be created by import_initdir so
the newly-exported $initdir exists and can be used immediately without
relying on other functions to create it.

4 years agotest: replace $TESTDIR/root with $initdir
Dan Streetman [Thu, 15 Aug 2019 13:39:31 +0000 (09:39 -0400)] 
test: replace $TESTDIR/root with $initdir

The $initdir var is already set to $TESTDIR/root, it should be used
instead of direct use of $TESTDIR/root.

4 years agotest: TEST-33 and TEST-36 should use create_empty_image_rootdir
Dan Streetman [Sat, 17 Aug 2019 16:20:56 +0000 (12:20 -0400)] 
test: TEST-33 and TEST-36 should use create_empty_image_rootdir

This recently added function handles mkdir and mounting of the empty image,
as well as umounting after test_setup.

4 years agotest/test-functions: avoid stderr noise, only umount on cleanup if mountpoint
Dan Streetman [Tue, 13 Aug 2019 11:50:59 +0000 (07:50 -0400)] 
test/test-functions: avoid stderr noise, only umount on cleanup if mountpoint

Only umount it during cleanup if the $TESTDIR/root dir is a mountpoint.
This avoids adding noise to the stderr log such as:

mountpoint: /var/tmp/systemd-test.waLOFT/root: No such file or directory

4 years agotest-network: add tests for RoutingPolicyRule.Family=ipv6 and both 13235/head
Yu Watanabe [Wed, 31 Jul 2019 03:09:03 +0000 (12:09 +0900)] 
test-network: add tests for RoutingPolicyRule.Family=ipv6 and both

4 years agonetwork: add RoutingPolicyRule.Family= setting
Yu Watanabe [Wed, 31 Jul 2019 22:41:36 +0000 (07:41 +0900)] 
network: add RoutingPolicyRule.Family= setting

Closes #13233.

4 years agonetwork: split out copying logic from routing_policy_rule_add_internal()
Yu Watanabe [Sat, 3 Aug 2019 20:16:43 +0000 (05:16 +0900)] 
network: split out copying logic from routing_policy_rule_add_internal()

4 years agonetwork: rename AddressFamilyBoolean -> AddressFamily
Yu Watanabe [Sat, 3 Aug 2019 20:09:08 +0000 (05:09 +0900)] 
network: rename AddressFamilyBoolean -> AddressFamily

We usually do not call an extended boolean as XxxBoolean.

4 years agonetwork: add missing entry in serialization/deserialization
Yu Watanabe [Thu, 1 Aug 2019 19:22:44 +0000 (04:22 +0900)] 
network: add missing entry in serialization/deserialization

4 years agonetwork: serialize/deserialize address family
Yu Watanabe [Thu, 1 Aug 2019 20:19:26 +0000 (05:19 +0900)] 
network: serialize/deserialize address family

4 years agonetwork: refuse the case To= and From= are in different address family
Yu Watanabe [Thu, 1 Aug 2019 20:07:40 +0000 (05:07 +0900)] 
network: refuse the case To= and From= are in different address family

4 years agoudev: allow persistent storage rules work for ubi devices 13360/head
Zbigniew Jędrzejewski-Szmek [Fri, 16 Aug 2019 11:37:14 +0000 (13:37 +0200)] 
udev: allow persistent storage rules work for ubi devices

Back in dbbf424c8b77c1649e822c20c0b1fee1d2cfd93d, we merged a rule to add
persistent storage for /dev/ubi*, but this rule could have never worked because
of the top-level exclude.

Also set "watch" for /dev/ubi*.

4 years agoudev: assume all devices which have persistent links also need to be watched
Zbigniew Jędrzejewski-Szmek [Fri, 16 Aug 2019 11:20:04 +0000 (13:20 +0200)] 
udev: assume all devices which have persistent links also need to be watched

We had two similar lists, but one was accepting many more device types.
I assume that this is by mistake, simply because the lack of device links
is easier to notice than the lack of synthesized event after the device is
written to. This uses the same list in both places, effectively adding
"watch" attribute to /dev/nbd*, /dev/zd*, etc.

4 years agoMerge pull request #13317 from ddstreet/werror
Zbigniew Jędrzejewski-Szmek [Fri, 16 Aug 2019 08:19:09 +0000 (10:19 +0200)] 
Merge pull request #13317 from ddstreet/werror

Fix build warnings, so Ubuntu CI can pass --werror to meson

4 years ago po: update Ukrainian translation (#13329)
Yuri Chornoivan [Fri, 16 Aug 2019 07:55:19 +0000 (10:55 +0300)] 
 po: update Ukrainian translation (#13329)

* Update Ukrainian translation

* po: update Ukrainian translation

4 years agounit-file: downgrade accidentaly high-prio debug log message
Lennart Poettering [Thu, 15 Aug 2019 10:34:31 +0000 (12:34 +0200)] 
unit-file: downgrade accidentaly high-prio debug log message

4 years agonetworkctl: avoid outputting '(null)' for LLDP ports without description
Lennart Poettering [Thu, 15 Aug 2019 17:28:06 +0000 (19:28 +0200)] 
networkctl: avoid outputting '(null)' for LLDP ports without description

4 years agosrc/boot/efi/meson.build: if meson --werror is true, set gcc -Werror 13317/head
Dan Streetman [Tue, 13 Aug 2019 00:34:43 +0000 (20:34 -0400)] 
src/boot/efi/meson.build: if meson --werror is true, set gcc -Werror

This part of the build does not use the normal meson parameters, so
we need to explicitly check for the meson --werror parameter, and if
it's true, set the gcc -Werror parameter for this subdir's build.

4 years agosrc/boot/efi/linux: elide __attribute__((regparm(0))) on non-i386
Dan Streetman [Tue, 13 Aug 2019 11:02:33 +0000 (07:02 -0400)] 
src/boot/efi/linux: elide __attribute__((regparm(0))) on non-i386

This attribute is x86_32-only, so when building on non-intel archs it
generates a compiler warning.  When building with -Werror this turns
into an error, so only include the attribute on i386 arch builds.

4 years agosrc/boot/efi/shim: elide __attribute__((sysv_abi)) on non-intel archs
Dan Streetman [Tue, 13 Aug 2019 10:45:04 +0000 (06:45 -0400)] 
src/boot/efi/shim: elide __attribute__((sysv_abi)) on non-intel archs

This attribute is x86-only, so when building on non-intel archs it
generates a compiler warning.  When building with -Werror this turns
into an error, so only include the attribute on intel archs.

4 years agosrc/basic/missing_syscall: add comment lines for PR 13319 changes
Dan Streetman [Thu, 15 Aug 2019 01:08:36 +0000 (21:08 -0400)] 
src/basic/missing_syscall: add comment lines for PR 13319 changes

Add a comment line explaining that the syscall defines might be
defined to invalid negative numbers, as libseccomp redefines them
to negative numbers if not defined by the kernel headers, which is
not obvious just from reading the code checking for defined && > 0

4 years agoREADME: add an OSS-Fuzz badge
Evgeny Vereshchagin [Thu, 15 Aug 2019 07:23:55 +0000 (07:23 +0000)] 
README: add an OSS-Fuzz badge

Since bug reports, backtraces, coverage reports and build logs are scattered
across at least four different places and there is no publicly available dashboards
the badge can point to, let's just point it to the build logs, which hopefully are going to be
a little bit more usable once https://github.com/google/oss-fuzz/issues/2690 is
addressed.

4 years agoupdate-utmp: fix assertion failure if rescue.target, multi-user.target and graphical...
Tommi Rantala [Mon, 5 Aug 2019 11:01:58 +0000 (14:01 +0300)] 
update-utmp: fix assertion failure if rescue.target, multi-user.target and graphical.target are all inactive

If rescue.target, multi-user.target and graphical.target are all
inactive, get_current_runlevel() is not able to determine current
runlevel, and returns with zero. This zero runlevel value results to
assertion failure in utmp_put_runlevel().

 # systemctl stop rescue.target multi-user.target graphical.target
 # systemctl start systemd-update-utmp-runlevel.service

 systemd[1]: Stopped target Graphical Interface.
 systemd[1]: Stopped target Multi-User System.
 systemd[1]: Starting Update UTMP about System Runlevel Changes...
 systemd-update-utmp[67]: Assertion 'runlevel > 0' failed at src/shared/utmp-wtmp.c:275, function utmp_put_runlevel(). Aborting.
 systemd[1]: systemd-update-utmp-runlevel.service: Main process exited, code=dumped, status=6/ABRT
 systemd[1]: systemd-update-utmp-runlevel.service: Failed with result 'core-dump'.
 systemd[1]: Failed to start Update UTMP about System Runlevel Changes.

Let's just print a warning in this case and skip the utmp update, to
avoid systemd-update-utmp-runlevel.service failures.

4 years agoMerge pull request #13273 from RPigott/zshcomp
Zbigniew Jędrzejewski-Szmek [Wed, 14 Aug 2019 16:21:12 +0000 (18:21 +0200)] 
Merge pull request #13273 from RPigott/zshcomp

Enable resolvectl zsh completions

4 years agosysusers: properly mark generated accounts as locked
Lennart Poettering [Wed, 7 Aug 2019 10:35:29 +0000 (12:35 +0200)] 
sysusers: properly mark generated accounts as locked

Previously, we'd only set the shell to /usr/bin/nologin and lock the
password for system users. Let's go one step further and also lock the
whole account.

This is a paranoid safety precaution, since neither disabling the shell
like this nor disabling the password is sufficient to lock an account,
since remote shell tools generally allow passing different shells, and
logins into ftp or similar protocols don't know the shell concept anyway.
Moreover, in times of ssh authentication by password is just one
option of authentication among many.

Takes inspiration from the recommendations in usermod(8)'s -L switch:

    "Note: if you wish to lock the account (not only access with a
    password), you should also set the EXPIRE_DATE to 1."

4 years agoMerge pull request #13298 from RPigott/busctl
Zbigniew Jędrzejewski-Szmek [Wed, 14 Aug 2019 16:18:55 +0000 (18:18 +0200)] 
Merge pull request #13298 from RPigott/busctl

zsh: add busctl completions

4 years agohwdb: acceleration mount matrix for a Medion Akoya E3221 (#13310)
EtherGraf [Wed, 14 Aug 2019 16:15:50 +0000 (18:15 +0200)] 
hwdb: acceleration mount matrix for a Medion Akoya E3221 (#13310)

4 years agosrc/basic/missing_syscall: change #ifndef to #if ! (defined && > 0)
Dan Streetman [Thu, 25 Jul 2019 11:57:30 +0000 (07:57 -0400)] 
src/basic/missing_syscall: change #ifndef to #if ! (defined && > 0)

The #ifndef check used to work for missing __NR_* syscall defines, but
unfortunately libseccomp now redefines missing syscall number to negative
numbers, in their public header file, e.g.:
https://github.com/seccomp/libseccomp/blob/master/include/seccomp.h.in#L801

When systemd is built, since it includes <seccomp.h>, it pulls in the
incorrect negative value for any __NR_* syscall define that's included in
the seccomp.h header (for those syscalls that the kernel headers don't
yet define, e.g. when built with older/stable-distro kernels).  This leads
to bugs like:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1821625

This changes the check so that it can override the negative number that
libseccomp defines, instead of trying to use the negative syscall number.
To avoid gcc warnings (which are failures with meson --werror), this checks
without generating a redefinition gcc warning.

I have no idea why libseccomp decided to define missing syscalls
to negative numbers inside their *public* header file, causing
problems like this.

4 years agoshared/unit-file: fix systemctl cat user@.service
Zbigniew Jędrzejewski-Szmek [Tue, 6 Aug 2019 19:20:07 +0000 (21:20 +0200)] 
shared/unit-file: fix systemctl cat user@.service

I assumed that unit_name_to_instnace() returns NULL if there is no instance.
In fact it returns "", so the check for instance was wrong.

Also avoid unnecessary call to unit_name_is_valid().