platform/upstream/systemd.git
6 years agotest: add tests for systemd-tmpfiles
Franck Bui [Mon, 5 Mar 2018 11:32:18 +0000 (12:32 +0100)]
test: add tests for systemd-tmpfiles

6 years agotest: fix setup_suse() to make it work with an already populated root
Franck Bui [Mon, 5 Mar 2018 18:02:25 +0000 (19:02 +0100)]
test: fix setup_suse() to make it work with an already populated root

6 years agotmpfiles: don't resolve pathnames when traversing recursively through directory trees
Franck Bui [Fri, 2 Mar 2018 16:19:32 +0000 (17:19 +0100)]
tmpfiles: don't resolve pathnames when traversing recursively through directory trees

Otherwise we can be fooled if one path component is replaced underneath us.

The patch achieves that by always operating at file descriptor level (by using
*at() helpers) and by making sure we do not any path resolution when traversing
direcotry trees.

However this is not always possible, for instance when listing the content of a
directory or some operations don't provide the *at() helpers or others (such as
fchmodat()) don't have the AT_EMPTY_PATH flag. In such cases we operate on
/proc/self/fd/%i pseudo-symlink instead, which works the same for all kinds of
objects and requires no checking of type beforehand.

Also O_PATH flag is used when opening file objects in order to prevent
undesired behaviors: device nodes from reacting, automounts from
triggering, etc...

Fixes: #7986
Fixes: CVE-2018-6954

6 years agotmpfiles: fstat() works with fd opened with O_PATH since Linux 3.6
Franck Bui [Fri, 2 Mar 2018 15:25:56 +0000 (16:25 +0100)]
tmpfiles: fstat() works with fd opened with O_PATH since Linux 3.6

6 years agotmpfiles: make hardlink_vulnerable() argument constant
Franck Bui [Fri, 2 Mar 2018 15:13:07 +0000 (16:13 +0100)]
tmpfiles: make hardlink_vulnerable() argument constant

6 years agoMerge pull request #8341 from yuwata/test-execute-ambient
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 16:45:28 +0000 (17:45 +0100)]
Merge pull request #8341 from yuwata/test-execute-ambient

test-execute: check capabilities before runnig tests

6 years agoMerge pull request #8345 from sourcejedi/logind_restart_is_sorely_lacking_in_testing
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 16:18:47 +0000 (17:18 +0100)]
Merge pull request #8345 from sourcejedi/logind_restart_is_sorely_lacking_in_testing

login: fix for #8343

6 years agoMerge pull request #8354 from keszybz/new-NEWS
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 16:16:04 +0000 (17:16 +0100)]
Merge pull request #8354 from keszybz/new-NEWS

NEWS for v238

6 years agomkosi: use locale that supports UTF-8, detect one that is available (#8340)
Filipe Brandenburger [Mon, 5 Mar 2018 16:03:52 +0000 (08:03 -0800)]
mkosi: use locale that supports UTF-8, detect one that is available (#8340)

Using C.UTF-8 (as was done before #7244) breaks Arch Linux, but using
en_US.UTF-8 (after #7244) breaks Debian in our .mkosi/mkosi.debian.

So try to detect which one is available and works, first checking
whether we're already running under a valid UTF-8 locale, then trying
C.UTF-8 and finally en_US.UTF-8.

If we fail to find a valid UTF-8 locale, then fail early, instead of
letting the whole build complete only for Mesos to fail midway through
the `ninja test` step.

Tested on all of mkosi.fedora, mkosi.debian and mkosi.arch.

Fixes: #7238

6 years agoAdd accel matrix for iOTA 360 (#8342)
Marco Gulino [Mon, 5 Mar 2018 15:47:28 +0000 (15:47 +0000)]
Add accel matrix for iOTA 360 (#8342)

6 years agoNEWS: update for v238
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 09:25:17 +0000 (10:25 +0100)]
NEWS: update for v238

6 years agoman: just use unicode for an mdash
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 08:31:17 +0000 (09:31 +0100)]
man: just use unicode for an mdash

6 years agobasic/glob-util: do not use names with "_" prefix
Zbigniew Jędrzejewski-Szmek [Mon, 5 Mar 2018 08:04:39 +0000 (09:04 +0100)]
basic/glob-util: do not use names with "_" prefix

Names starting with _ or __ are reserved by the standard, better to
avoid them.

6 years agocoredump: do not leak memory (#8352)
Yu Watanabe [Mon, 5 Mar 2018 07:39:52 +0000 (16:39 +0900)]
coredump: do not leak memory (#8352)

Fixes #8351.

6 years agotest-execute: use CAP_CHOWN instead of CAP_NET_ADMIN
Yu Watanabe [Sun, 4 Mar 2018 15:02:22 +0000 (00:02 +0900)]
test-execute: use CAP_CHOWN instead of CAP_NET_ADMIN

CAP_NET_ADMIN is somtrimes dropped by container runtime.
This changes to use CAP_CHOWN instead of CAP_NET_ADMIN, as it is
less likely to be dropped.

6 years agotest-execute: check capabilities before running tests
Yu Watanabe [Sun, 4 Mar 2018 15:00:35 +0000 (00:00 +0900)]
test-execute: check capabilities before running tests

Fixes #8193.

6 years agopo: Updated Indonesian translation (#8348)
Andika Triwidada [Sun, 4 Mar 2018 12:15:21 +0000 (19:15 +0700)]
po: Updated Indonesian translation (#8348)

6 years agofixed 3 occurences of 'Failed top open' (#8349)
SjonHortensius [Sun, 4 Mar 2018 12:12:45 +0000 (13:12 +0100)]
fixed 3 occurences of 'Failed top open' (#8349)

6 years agotest-execute: change log level from error to notice
Yu Watanabe [Sun, 4 Mar 2018 07:53:50 +0000 (16:53 +0900)]
test-execute: change log level from error to notice

Skipping some tests due to the missing e.g., capsh binary
or kernel support, are not error.
This changes the log level for such messages.

6 years agotest-execute: rename tests for AmbientCapabilities=
Yu Watanabe [Sat, 3 Mar 2018 13:15:36 +0000 (22:15 +0900)]
test-execute: rename tests for AmbientCapabilities=

The unit files for test-execute are named like
`exec-(setting-name-in-lower-character)-(optional-text).service`.
However, test units for AmbientCapabilities= are not following this.
So, let's rename them for the consistency.
This does not change anything in the functionality of the test.

6 years agohwdb: add axis range corrections for the Lenovo ThinkPad Edge 13 (02173BG) (#8253)
snorreflorre [Sun, 4 Mar 2018 07:18:46 +0000 (08:18 +0100)]
hwdb: add axis range corrections for the Lenovo ThinkPad Edge 13 (02173BG) (#8253)

6 years agologin: remember that fds received from PID1 need to be removed eventually
Alan Jenkins [Sat, 3 Mar 2018 18:44:39 +0000 (18:44 +0000)]
login: remember that fds received from PID1 need to be removed eventually

Remember to set sd->pushed_fd when we receive an fd from PID1 on startup,
the same as we set it when we send an fd to PID1.

6 years agologin: fix FDNAME in call to sd_pid_notify_with_fds()
Alan Jenkins [Sat, 3 Mar 2018 18:37:50 +0000 (18:37 +0000)]
login: fix FDNAME in call to sd_pid_notify_with_fds()

$ git grep FDNAME
logind-session-device.c: ... "FDNAME=session-", sd->session->id);
logind-session-device.c: ... "FDNAME=session", sd->session->id);

Oops.

Fixes #8343.  Or at least a more minimal reproducer.  Xorg still
dies when logind is restarted, but the Xorg message says this
is entirely deliberate.

(This could also be the reason I hit #8035, instead of the race
condition I originally suggested).

6 years agoupdate TODO
Lennart Poettering [Fri, 2 Mar 2018 15:25:27 +0000 (16:25 +0100)]
update TODO

6 years agoMerge pull request #8314 from poettering/rearrange-stdio
Lennart Poettering [Fri, 2 Mar 2018 14:42:03 +0000 (15:42 +0100)]
Merge pull request #8314 from poettering/rearrange-stdio

refactor how we rearrange fds for stdin/stdout/stderr

6 years agounits: use SuccessAction=reboot where appropriate (#8335)
Lennart Poettering [Fri, 2 Mar 2018 14:41:36 +0000 (15:41 +0100)]
units: use SuccessAction=reboot where appropriate (#8335)

We should really use our own native concepts for rebooting.

6 years agoMerge pull request #8336 from poettering/coccinelle-reallocarray
Lennart Poettering [Fri, 2 Mar 2018 14:40:52 +0000 (15:40 +0100)]
Merge pull request #8336 from poettering/coccinelle-reallocarray

reallocarray() coccinellization

6 years agoMerge pull request #8333 from keszybz/hwdb-update
Lennart Poettering [Fri, 2 Mar 2018 14:40:21 +0000 (15:40 +0100)]
Merge pull request #8333 from keszybz/hwdb-update

Hwdb update

6 years agoMerge pull request #8337 from poettering/resolve-fixes
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 12:33:54 +0000 (13:33 +0100)]
Merge pull request #8337 from poettering/resolve-fixes

various resolve-tool fixes

6 years agoman: there's no point in referenceing systemd.unit(5) from itself (#8338)
Lennart Poettering [Fri, 2 Mar 2018 12:33:30 +0000 (13:33 +0100)]
man: there's no point in referenceing systemd.unit(5) from itself (#8338)

6 years agoMerge pull request #8323 from xyproto/ok_color
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 12:00:07 +0000 (13:00 +0100)]
Merge pull request #8323 from xyproto/ok_color

Make the color of the status OK configurable at build-time

6 years agosysusers: support `u username -:300` style syntax (#8325)
Michael Vogt [Fri, 2 Mar 2018 11:56:44 +0000 (12:56 +0100)]
sysusers: support `u username -:300` style syntax (#8325)

This PR implements the first part of RFE #8046. I.e. this allows to
write:
```
u username -:300
```
Where the uid is chosen automatically but the gid is fixed.

6 years agoMerge pull request #8332 from poettering/logind-open-if-needed
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 11:56:04 +0000 (12:56 +0100)]
Merge pull request #8332 from poettering/logind-open-if-needed

logind device resume fix

6 years agomount-setup: change bpf mount mode to 0700 (#8334)
Lennart Poettering [Fri, 2 Mar 2018 11:55:24 +0000 (12:55 +0100)]
mount-setup: change bpf mount mode to 0700 (#8334)

After discussing with the kernel folks, we agreed to default to 0700 for
this. Better safe than sorry.

6 years agoMerge pull request #8303 from yuwata/fix-8276
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 11:53:11 +0000 (12:53 +0100)]
Merge pull request #8303 from yuwata/fix-8276

test: use synthesize_nobody() in test-execute

6 years agosystemctl: document telinit/init matching a bit (#8339)
Lennart Poettering [Fri, 2 Mar 2018 11:51:57 +0000 (12:51 +0100)]
systemctl: document telinit/init matching a bit (#8339)

See: #8305

6 years agoresolved: debug log about resolv.conf lines we don't grok
Lennart Poettering [Tue, 27 Feb 2018 16:47:00 +0000 (17:47 +0100)]
resolved: debug log about resolv.conf lines we don't grok

6 years agoman: extend synopsys to recently added commands
Lennart Poettering [Wed, 28 Feb 2018 09:53:27 +0000 (10:53 +0100)]
man: extend synopsys to recently added commands

6 years agoresolve-tool: propagate sensible errors from due to dns_name_is_valid() check failures
Lennart Poettering [Tue, 27 Feb 2018 16:46:00 +0000 (17:46 +0100)]
resolve-tool: propagate sensible errors from due to dns_name_is_valid() check failures

6 years agoresolve-tool: trivial coding style improvements
Lennart Poettering [Tue, 27 Feb 2018 16:45:04 +0000 (17:45 +0100)]
resolve-tool: trivial coding style improvements

6 years agococcinelle: similar to reallocarray() let's also systematically use malloc_multiply()
Lennart Poettering [Tue, 27 Feb 2018 18:16:47 +0000 (19:16 +0100)]
coccinelle: similar to reallocarray() let's also systematically use malloc_multiply()

6 years agococcinelle: add reallocarray() coccinelle script
Lennart Poettering [Tue, 27 Feb 2018 18:09:22 +0000 (19:09 +0100)]
coccinelle: add reallocarray() coccinelle script

Let's systematically make use of reallocarray() whereever we invoke
realloc() with a product of two values.

6 years agoresolve-tool: use reallocarray() where appropriate
Lennart Poettering [Tue, 27 Feb 2018 16:45:30 +0000 (17:45 +0100)]
resolve-tool: use reallocarray() where appropriate

6 years agohwdb: update
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 11:12:04 +0000 (12:12 +0100)]
hwdb: update

usb.ids are not updated, because linux-usb.org is down.

It seems that the updates are corrections and new entries, to major
removal of existing entries.

6 years agohwdb: add accelerometer mount matrix for Asus TP300LD (#8327)
futpib [Fri, 2 Mar 2018 11:11:28 +0000 (14:11 +0300)]
hwdb: add accelerometer mount matrix for Asus TP300LD (#8327)

6 years agoMerge pull request #8237 from sourcejedi/timer_suspend
Lennart Poettering [Fri, 2 Mar 2018 11:11:06 +0000 (12:11 +0100)]
Merge pull request #8237 from sourcejedi/timer_suspend

core: let OnCalendar= timer units expire during suspend (#8231)

6 years agohwdb: ignore whitespace in downloaded files
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 11:09:52 +0000 (12:09 +0100)]
hwdb: ignore whitespace in downloaded files

6 years agotools/hwdb-update: allow downloads to fail
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 11:06:32 +0000 (12:06 +0100)]
tools/hwdb-update: allow downloads to fail

sf.net is down, and linux-usb.org which is hosted there also fails.
That's not nice, but there's not we can do about it now.

6 years agologind: fix typo in comment
Lennart Poettering [Fri, 2 Mar 2018 10:56:15 +0000 (11:56 +0100)]
logind: fix typo in comment

6 years agologind: open device if needed
Lennart Poettering [Fri, 2 Mar 2018 10:55:51 +0000 (11:55 +0100)]
logind: open device if needed

Fixes: #8291

6 years agologind: cast away return value we don't care about
Lennart Poettering [Fri, 2 Mar 2018 10:55:33 +0000 (11:55 +0100)]
logind: cast away return value we don't care about

6 years agologind: voidify a function we never check the return value of
Lennart Poettering [Fri, 2 Mar 2018 10:55:16 +0000 (11:55 +0100)]
logind: voidify a function we never check the return value of

6 years agotools/hwdb-update: print what is being executed
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 10:50:43 +0000 (11:50 +0100)]
tools/hwdb-update: print what is being executed

6 years agofd-util: drop stdio_unset_cloexec(), it's not used anymore
Lennart Poettering [Wed, 28 Feb 2018 22:24:50 +0000 (23:24 +0100)]
fd-util: drop stdio_unset_cloexec(), it's not used anymore

6 years agosd-bus: let's better not invade stdio territory when duplicating fds
Lennart Poettering [Wed, 28 Feb 2018 22:36:33 +0000 (23:36 +0100)]
sd-bus: let's better not invade stdio territory when duplicating fds

6 years agotree-wide: port various places over to use new rearrange_stdio()
Lennart Poettering [Wed, 28 Feb 2018 22:32:49 +0000 (23:32 +0100)]
tree-wide: port various places over to use new rearrange_stdio()

6 years agoterminal-util: port some generic code over to rearrange_stdio()
Lennart Poettering [Wed, 28 Feb 2018 20:21:33 +0000 (21:21 +0100)]
terminal-util: port some generic code over to rearrange_stdio()

6 years agofd-util: add new call rearrange_stdio()
Lennart Poettering [Wed, 28 Feb 2018 09:00:26 +0000 (10:00 +0100)]
fd-util: add new call rearrange_stdio()

Quite often we need to set up a number of fds as stdin/stdout/stderr of
a process we are about to start. Add a generic implementation for a
routine doing that that takes care to do so properly:

1. Can handle the case where stdin/stdout/stderr where previously
   closed, and the fds to set as stdin/stdout/stderr hence likely in the
   0..2 range.  handling this properly is nasty, since we need to first
   move the fds out of this range in order to later move them back in, to
   make things fully robust.

2. Can optionally open /dev/null in case for one or more of the fds, in
   a smart way, sharing the open file if possible between multiple of
   the fds.

3. Guarantees that O_CLOEXEC is not set on the three fds, even if the fds
   already were in the 0..2 range and hence possibly weren't moved.

6 years agoMerge pull request #8316 from yuwata/fix-8315
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 10:32:25 +0000 (11:32 +0100)]
Merge pull request #8316 from yuwata/fix-8315

sysusers: do not create duplicated groups when create users

6 years agoMerge pull request #8330 from filbranden/masked1
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 10:24:31 +0000 (11:24 +0100)]
Merge pull request #8330 from filbranden/masked1

Detect masked unit with drop-ins

6 years agomeson: use dashes in colour names
Zbigniew Jędrzejewski-Szmek [Fri, 2 Mar 2018 08:09:29 +0000 (09:09 +0100)]
meson: use dashes in colour names

6 years agoAdd build-time option to change the color of the "OK" status text
Alexander F Rødseth [Thu, 1 Mar 2018 12:12:02 +0000 (13:12 +0100)]
Add build-time option to change the color of the "OK" status text

6 years agoOrganize the ANSI codes and add missing colors
Alexander F Rødseth [Thu, 1 Mar 2018 17:23:05 +0000 (18:23 +0100)]
Organize the ANSI codes and add missing colors

For consistency.

6 years agotest-execute: add tests with user/group daemon
Yu Watanabe [Fri, 2 Mar 2018 06:55:02 +0000 (15:55 +0900)]
test-execute: add tests with user/group daemon

The nobody user/group may not synthesized by systemd.
To run tests the functionalities in such situation, this adds tests
by user/group by daemon, as it is expected to exists all environments.

6 years agotest: masked unit with drop-ins
Filipe Brandenburger [Fri, 2 Mar 2018 05:07:27 +0000 (21:07 -0800)]
test: masked unit with drop-ins

6 years agoinstall: detect masked unit with drop-ins
Filipe Brandenburger [Fri, 2 Mar 2018 01:48:15 +0000 (17:48 -0800)]
install: detect masked unit with drop-ins

Before this fix, a unit with drop-ins will not be reported as masked by
`systemctl is-enabled` or `systemctl list-unit-files`.

6 years agosysusers: do not implicitly create group by 'm' if 'u' with the same name exists
Yu Watanabe [Thu, 1 Mar 2018 22:38:28 +0000 (07:38 +0900)]
sysusers: do not implicitly create group by 'm' if 'u' with the same name exists

The commit e2c2060f7b3b11fa3cca8899d80963b7a05cc4ab makes 'm' lines
disturb 'u' lines.
This fixes the disturbance.

6 years agotest: add a test for sysusers
Yu Watanabe [Thu, 1 Mar 2018 05:52:28 +0000 (14:52 +0900)]
test: add a test for sysusers

The test cases for sysusers did not cover the situation reported in
issue #8315. Let's add one more test case.

6 years agosysusers: do not create duplicated groups when create users
Yu Watanabe [Thu, 1 Mar 2018 18:27:34 +0000 (03:27 +0900)]
sysusers: do not create duplicated groups when create users

The commit e2c2060f7b3b11fa3cca8899d80963b7a05cc4ab introduces
the issue #8315.

Fixes #8315.

6 years agoRemove /sbin from paths if split-bin is false (#8324)
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 20:48:36 +0000 (21:48 +0100)]
Remove /sbin from paths if split-bin is false (#8324)

Follow-up for 157baa87e4.

6 years agoupdate TODO
Lennart Poettering [Wed, 28 Feb 2018 19:21:57 +0000 (20:21 +0100)]
update TODO

6 years agoMerge pull request #8319 from keszybz/yet-another-symlink-installation-tweak
Lennart Poettering [Thu, 1 Mar 2018 14:06:02 +0000 (15:06 +0100)]
Merge pull request #8319 from keszybz/yet-another-symlink-installation-tweak

meson: fix symlink creation when sbin is symlink to bin

6 years agoMerge pull request #8293 from dobyrch/master
Lennart Poettering [Thu, 1 Mar 2018 14:03:19 +0000 (15:03 +0100)]
Merge pull request #8293 from dobyrch/master

tree-wide: fix inconsistencies in option parsing

6 years agoMerge pull request #8322 from keszybz/doc-tweak
Lennart Poettering [Thu, 1 Mar 2018 13:58:12 +0000 (14:58 +0100)]
Merge pull request #8322 from keszybz/doc-tweak

man: document that link-ed files must be on /

6 years agoudevadm: prevent segfault in blkid builtin when offset not specified
Douglas Christman [Wed, 28 Feb 2018 01:35:58 +0000 (20:35 -0500)]
udevadm: prevent segfault in blkid builtin when offset not specified

"--offset" takes an optional argument; if none is specified,
stroull() will attempt to parse a NULL pointer. For example:

$ udevadm test-builtin 'blkid --offset' /sys/dev/block/8:1

Update "--offset" to require an argument; also verify that the
offset is not negative.

6 years agoanalyze: fix typo in error message
Douglas Christman [Thu, 1 Mar 2018 00:31:32 +0000 (08:31 +0800)]
analyze: fix typo in error message

6 years agotest-libudev: make "-m" equivalent to "--monitor"
Douglas Christman [Wed, 28 Feb 2018 01:28:50 +0000 (20:28 -0500)]
test-libudev: make "-m" equivalent to "--monitor"

"-m" is specified as a short form of "--monitor" in the option struct,
but not included in getopt_long's optstring.  Update the optstring
to be consistent with the option struct.

6 years agosystemctl: remove redundant option parsing code
Douglas Christman [Wed, 28 Feb 2018 01:19:55 +0000 (20:19 -0500)]
systemctl: remove redundant option parsing code

"-f" used to be overloaded to mean both "--force" and "--follow";
aae9a96d removed "--follow", leaving behind some duplicate code.

6 years agojournalctl: make journalctl -g work as documented
Douglas Christman [Wed, 28 Feb 2018 01:16:26 +0000 (20:16 -0500)]
journalctl: make journalctl -g work as documented

Add "g" to optstring so both "--grep" and "-g" work with journalctl

6 years agoman: document that link-ed files must be on /
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 12:11:00 +0000 (13:11 +0100)]
man: document that link-ed files must be on /

Fixes #8307.

6 years agomeson: support both separate and merged sbin-bin directories
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 09:28:29 +0000 (10:28 +0100)]
meson: support both separate and merged sbin-bin directories

Follow-up for ba7f4ae6178309dc937e10cf7dce0eca9dafb8de.

By default, we detect if the real root has a separate /usr/sbin directory, but
this can be overrides with -Dsplit-bin=true|false. The check assumes that
/usr/sbin is split if it is not a symlink, so it'll return a false negative
with some more complicated setups. But that's OK, in those cases this should be
configured explicitly.

This will copy the structure of the directories in the root file system to
$DESTDIR. If a directory is a directory in $DESTDIR but a symlink in the root
file system, this script will fail. This means that it's not possible to reuse
a $DESTDIR from between ba7f4ae61 and this patch.

6 years agomeson: autodetect split-usr
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 10:49:42 +0000 (11:49 +0100)]
meson: autodetect split-usr

Also move the status from "features" to the paths section. This is more of an
anti-feature.

6 years agoprocfs-util: drop unnecessary zero initializations (#8321)
Lennart Poettering [Thu, 1 Mar 2018 10:27:06 +0000 (11:27 +0100)]
procfs-util: drop unnecessary zero initializations (#8321)

Follow-up for #8149.

6 years agoMerge pull request #8149 from poettering/fake-root-cgroup
Lennart Poettering [Thu, 1 Mar 2018 10:10:24 +0000 (11:10 +0100)]
Merge pull request #8149 from poettering/fake-root-cgroup

Properly synthesize CPU+memory accounting data for the root cgroup

6 years agounits: delegate "memory" instead of "cpu" by default for user instances (#8320)
Franck Bui [Thu, 1 Mar 2018 09:58:03 +0000 (10:58 +0100)]
units: delegate "memory" instead of "cpu" by default for user instances (#8320)

CPU accounting has a too bad impact on performance to be enabled by
default. Therefore we should not delegate "cpu" for now.

OTOH since commit e0c46a736412b79b94a21f8512a769b9212b9adf, memory accounting
has been turned on for all units by default so it makes sense to delegate this
controller by default.

6 years agoMerge pull request #8318 from keszybz/doc-tweak
Lennart Poettering [Thu, 1 Mar 2018 09:44:17 +0000 (10:44 +0100)]
Merge pull request #8318 from keszybz/doc-tweak

A small man page update

6 years agotest-execute: add a test for the case that NOBODY_GROUP_NAME is nogroup
Yu Watanabe [Thu, 1 Mar 2018 09:31:26 +0000 (18:31 +0900)]
test-execute: add a test for the case that NOBODY_GROUP_NAME is nogroup

6 years agotest-execute: check nobody user and group are configured correctly
Yu Watanabe [Thu, 1 Mar 2018 09:29:28 +0000 (18:29 +0900)]
test-execute: check nobody user and group are configured correctly

Several tests request nobody user or group. If they are badly
configured, then tests may fail.

This makes test-execute check nobody user and group are configured
correctly before running such tests.

Fixes #8276.

6 years agobasic/cgroup-util: simplify cg_get_keyed_attribute(), add test
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 08:30:55 +0000 (09:30 +0100)]
basic/cgroup-util: simplify cg_get_keyed_attribute(), add test

I didn't like the nested loop where we'd count what we have acquired already,
since we should always know that.

6 years agogitignore .pot file
Zbigniew Jędrzejewski-Szmek [Thu, 1 Mar 2018 07:05:27 +0000 (08:05 +0100)]
gitignore .pot file

It is created by "ninja systemd-pot", and we don't want to include it
in git.

6 years agoMerge pull request #8171 from poettering/sd-bus-queue-limit
Lennart Poettering [Wed, 28 Feb 2018 17:15:40 +0000 (18:15 +0100)]
Merge pull request #8171 from poettering/sd-bus-queue-limit

try not to overload pid1's bus message write queue

6 years agocore: don't freeze OnCalendar= timer units when the clock goes back a lot
Alan Jenkins [Wed, 28 Feb 2018 16:03:43 +0000 (16:03 +0000)]
core: don't freeze OnCalendar= timer units when the clock goes back a lot

E.g. if you have a monthly event and you set the computer clock back one
year, we can allow the next 12 monthly events to happen naturally.  In fact
we already do this when you start a Persistent=yes timer, we just need to
apply the same logic when it's running and we notice the system clock
being set backwards.

6 years agocore: let OnCalendar= timer units expire during suspend (#8231)
Alan Jenkins [Wed, 28 Feb 2018 15:34:16 +0000 (15:34 +0000)]
core: let OnCalendar= timer units expire during suspend (#8231)

On timejumps, including suspend, timer_time_change() calls for a
re-calculation of the next elapse.  Sadly I'm not quite sure what the
intended effect of this was!  Because it was not managing to fire
OnCalendar= timers which fired during the suspend... unless the timer had
already fired once before.

Reported, entirely correctly as far as I can see, on stackexchange:
https://unix.stackexchange.com/questions/351829/systemd-timer-that-expired-while-suspended

 /* If we know the last time this was
  * triggered, schedule the job based relative
- * to that. If we don't just start from
- * now. */
+ * to that. If we don't, just start from
+ * the activation time. */

The same code is called for both the initial calculation and this
re-calculation.  If we're _not_ already active, then this is before the
activation time has been recorded in the unit, so just use the current
time as before.  The new code is mechanically adapted from the same
logic for `OnActiveSec=` (case TIMER_ACTIVE in the code which follows).

Tested with `date --set`.

Motivations:

* Rotate monitoring data from Atop into files which are named per-day.
  Fedora currently implements this with a cron job that runs at midnight,
  but that didn't handle suspend correctly either.

* unbound-anchor.timer on Fedora, is used to update DNSSEC "root trust
  anchor" daily, before the TTL expires.  It uses OnCalendar=daily
  AccuracySec=24h.  Which is a bit suspect because the TTL is 2 days, but I
  think it has the right general idea.

  None of the other timer settings are correct, because they would not
  account for time spent in suspend.  Unless you set WakeSystem
  (this feature is currently undocumented).

* So in general, we can expect to see people using OnCalendar= for the same
  cases as cron.daily and cron.monthly.  Which use anacron to keep track of
  jobs which should be run even if the system was down at the time.

  Timers which are configured to run more frequently than that, are
  unlikely to mind if they get run slightly more often that the writer
  realized, relative to the amount of time the system was really running.

* From the user report above: "I only want to use remind to show a desktop
  notification, it seems excessive to wake up the computer for that. Also,
  I would like to get the reminder first thing in the morning, so the
  OnActiveSec doesn't help with that."

6 years agocore: timer_enter_waiting(): refactor `base` local variable
Alan Jenkins [Wed, 28 Feb 2018 15:07:30 +0000 (15:07 +0000)]
core: timer_enter_waiting(): refactor `base` local variable

We have two variables `b` and `base`.  `b` is declared within limited
scope; `base` is declared at the top of the function.  However `base`
is actually only used within a scope which is exclusive of `b`.  Clarify
by moving `base` inside the limited scope as well.

(Also `base` doesn't need initializing any more than `b` does.  The
declaration of `base` is now immediately followed by a case analysis of
`v->base`, which serves almost exclusively to determine the value of
`base`).

6 years agoman: shorten/reword a bit in sd_bus_get_n_queued_read
Zbigniew Jędrzejewski-Szmek [Wed, 28 Feb 2018 09:53:18 +0000 (10:53 +0100)]
man: shorten/reword a bit in sd_bus_get_n_queued_read

In particular:
- drop "when it is non-zero" to avoid implying that it can be called if the
  queue is not empty.
- "has been created" sounds like something happened in parallel,
  but what we really mean is that *this* particular object *was* created in a
  certain way.

6 years agoMerge pull request #8283 from poettering/nspawn-user-fix
Lennart Poettering [Wed, 28 Feb 2018 09:37:01 +0000 (10:37 +0100)]
Merge pull request #8283 from poettering/nspawn-user-fix

some trivial nspawn related fixes

6 years agorules: skip btrfs check if devices are not ready in 64-btrfs.rules (#8304)
Franck Bui [Wed, 28 Feb 2018 09:36:06 +0000 (10:36 +0100)]
rules: skip btrfs check if devices are not ready in 64-btrfs.rules (#8304)

If any devices are marked with 'SYSTEMD_READY=0' then we shouldn't run any
btrfs check on them.

Indeed there's no point in running "btrfs ready" on devices that already have
SYSTEMD_READY=0 set. Most probably such devices are members of a higher layer
aggregate device such as dm-multipath or software RAID. Doing IO on them wastes
time at best, and may cause delays, timeouts, or even hangs at worst (think
active-passive multipath or degraded RAID, for example).

It was initially reported at:
https://bugzilla.opensuse.org/show_bug.cgi?id=872929

6 years agokernel-install: Don't install BLS kernel images if dest dir doesn't exist (#8306)
Javier Martinez Canillas [Wed, 28 Feb 2018 09:25:19 +0000 (10:25 +0100)]
kernel-install: Don't install BLS kernel images if dest dir doesn't exist (#8306)

The script shouldn't rely on a previous script exiting with a status code
that prevents it to be executed. Instead, should check if the destination
directory for the BLS kernel image exists and exit otherwise.

6 years agomeson: install compat symlinks for systemctl and systemd (#8300)
Zbigniew Jędrzejewski-Szmek [Wed, 28 Feb 2018 09:20:48 +0000 (10:20 +0100)]
meson: install compat symlinks for systemctl and systemd (#8300)

v2:
- init is a symlink to systemd, not systemctl!

6 years agonspawn: close pipe on error
Lennart Poettering [Mon, 26 Feb 2018 19:51:04 +0000 (20:51 +0100)]
nspawn: close pipe on error