]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agoMerge pull request #12252 from keszybz/libmount-dont-unescape v242-rc4
Zbigniew Jędrzejewski-Szmek [Tue, 9 Apr 2019 09:56:52 +0000 (11:56 +0200)] 
Merge pull request #12252 from keszybz/libmount-dont-unescape

Don't unescape paths from libmount

5 years agoMerge pull request #12223 from yuwata/network-wireguard-preshared-key-file
Zbigniew Jędrzejewski-Szmek [Tue, 9 Apr 2019 08:52:52 +0000 (10:52 +0200)] 
Merge pull request #12223 from yuwata/network-wireguard-preshared-key-file

network: add PresharedKeyFile= setting and make reading key file failure fatal

5 years agopid1,shutdown: do not cunescape paths from libmount 12252/head
Zbigniew Jędrzejewski-Szmek [Fri, 5 Apr 2019 08:17:03 +0000 (10:17 +0200)] 
pid1,shutdown: do not cunescape paths from libmount

The test added in previous commit shows that libmount does the unescaping
internally.

5 years agotest-libmount: let's see how libmount parses stuff
Zbigniew Jędrzejewski-Szmek [Fri, 5 Apr 2019 07:43:12 +0000 (09:43 +0200)] 
test-libmount: let's see how libmount parses stuff

With libmount-2.33.1-3.fc30.x86_64 I get:
/* test_libmount_unescaping_one escaped space + utf8 */
from '729 38 0:59 / /tmp/\342\200\236zupa\\040z\304\231bowa\342\200\235 rw,relatime shared:395 - tmpfs die\\040Br\303\274he rw,seclabel'
source: 'die Brühe'
source: 'die Br\303\274he'
source: 'die Brühe'
expected: 'die Brühe'
target: '/tmp/„zupa zębowa”'
target: '/tmp/\342\200\236zupa z\304\231bowa\342\200\235'
target: '/tmp/„zupa zębowa”'
expected: '/tmp/„zupa zębowa”'
/* test_libmount_unescaping_one escaped newline */
from '729 38 0:59 / /tmp/x\\012y rw,relatime shared:395 - tmpfs newline rw,seclabel'
source: 'newline'
source: 'newline'
source: 'newline'
expected: 'newline'
target: '/tmp/x
y'
target: '/tmp/x\ny'
target: '/tmp/x
y'
expected: '/tmp/x
y'
/* test_libmount_unescaping_one empty source */
from '760 38 0:60 / /tmp/emptysource rw,relatime shared:410 - tmpfs  rw,seclabel'
source: ''
source: ''
source: ''
expected: ''
target: '/tmp/emptysource'
target: '/tmp/emptysource'
target: '/tmp/emptysource'
expected: '/tmp/emptysource'
/* test_libmount_unescaping_one foo\rbar */
from '790 38 0:61 / /tmp/foo\rbar rw,relatime shared:425 - tmpfs tmpfs rw,seclabel'
source: 'tmpfs'
source: 'tmpfs'
source: 'tmpfs'
expected: 'tmpfs'
target: '/tmp/foo'
target: '/tmp/foo'
target: '/tmp/foo'
expected: 'n/a'

With https://github.com/karelzak/util-linux/issues/780 fixed, we get

/* test_libmount_unescaping_one foo\rbar */
from '790 38 0:61 / /tmp/foo\rbar rw,relatime shared:425 - tmpfs tmpfs rw,seclabel'
source: 'tmpfs'
source: 'tmpfs'
source: 'tmpfs'
expected: 'tmpfs'
target: '/tmp/foo
bar'
target: '/tmp/foo\rbar'
target: '/tmp/foo
bar'
expected: '/tmp/foo
bar'

5 years agol10n: Updated Lithuanian translation
welaq [Mon, 8 Apr 2019 19:03:26 +0000 (22:03 +0300)] 
l10n: Updated Lithuanian translation

5 years agoNEWS: mention PresharedKeyFile= 12223/head
Yu Watanabe [Mon, 8 Apr 2019 15:13:56 +0000 (00:13 +0900)] 
NEWS: mention PresharedKeyFile=

5 years agotest-network: add tests for WireGuardPeer.PresharedKey= and PresharedKeyFile=
Yu Watanabe [Fri, 5 Apr 2019 08:52:29 +0000 (17:52 +0900)] 
test-network: add tests for WireGuardPeer.PresharedKey= and PresharedKeyFile=

5 years agonetwork: make wireguard_decode_key_and_warn() take uint8_t buf[static WG_KEY_LEN]
Yu Watanabe [Mon, 8 Apr 2019 15:11:43 +0000 (00:11 +0900)] 
network: make wireguard_decode_key_and_warn() take uint8_t buf[static WG_KEY_LEN]

5 years agonetwork: warn when wireguard keys are stored in world readable files
Yu Watanabe [Sun, 7 Apr 2019 18:48:57 +0000 (03:48 +0900)] 
network: warn when wireguard keys are stored in world readable files

5 years agonetwork: add WireGuardPeer.PresharedKeyFile= setting
Yu Watanabe [Fri, 5 Apr 2019 08:33:09 +0000 (17:33 +0900)] 
network: add WireGuardPeer.PresharedKeyFile= setting

5 years agonetwork: clear wireguard keys on failure or on exit
Yu Watanabe [Sun, 7 Apr 2019 17:48:02 +0000 (02:48 +0900)] 
network: clear wireguard keys on failure or on exit

5 years agonetwork: make reading PrivateKeyFile= failure always fatal
Yu Watanabe [Fri, 5 Apr 2019 08:28:46 +0000 (17:28 +0900)] 
network: make reading PrivateKeyFile= failure always fatal

This also refactor wireguard_read_key_file().

5 years agofileio: add READ_FULL_FILE_UNBASE64 flag for read_full_file_full()
Yu Watanabe [Mon, 8 Apr 2019 14:40:22 +0000 (23:40 +0900)] 
fileio: add READ_FULL_FILE_UNBASE64 flag for read_full_file_full()

5 years agofileio: read_full_file_full() also warns when file is world readable and secure flag...
Yu Watanabe [Mon, 8 Apr 2019 05:15:10 +0000 (14:15 +0900)] 
fileio: read_full_file_full() also warns when file is world readable and secure flag is set

5 years agofileio: introduce warn_file_is_world_accessible()
Yu Watanabe [Sun, 7 Apr 2019 18:48:30 +0000 (03:48 +0900)] 
fileio: introduce warn_file_is_world_accessible()

5 years agoutil: introduce READ_FULL_FILE_SECURE flag for reading secure data
Yu Watanabe [Sun, 7 Apr 2019 17:22:40 +0000 (02:22 +0900)] 
util: introduce READ_FULL_FILE_SECURE flag for reading secure data

5 years agoMerge pull request #12241 from keszybz/two-man-link-additions
Zbigniew Jędrzejewski-Szmek [Mon, 8 Apr 2019 19:58:11 +0000 (21:58 +0200)] 
Merge pull request #12241 from keszybz/two-man-link-additions

Two man link additions

5 years agoinhibit: fix argv[] usage
Lennart Poettering [Mon, 8 Apr 2019 12:55:41 +0000 (14:55 +0200)] 
inhibit: fix argv[] usage

Another fix in style of ed179fd71030ddd657500591dac37e7499fc7b2c and
bd169c2be0fbdaf6eb2ea7951e650d5e5983fbf6..

I hope we are soon complete with these.

Fixes: #12246
5 years agoNEWS: add mention of time-set.target
Zbigniew Jędrzejewski-Szmek [Mon, 8 Apr 2019 13:45:45 +0000 (15:45 +0200)] 
NEWS: add mention of time-set.target

5 years agoman: add a lengthy example for NamePolicy= debugging 12241/head
Zbigniew Jędrzejewski-Szmek [Mon, 8 Apr 2019 07:20:16 +0000 (09:20 +0200)] 
man: add a lengthy example for NamePolicy= debugging

This is still rather opaque, and test-builtin is quite useful in this
case, let's advertise it a bit more.

5 years agoman: say that .link NamePolicy= should be empty for Name= to take effect
Zbigniew Jędrzejewski-Szmek [Mon, 8 Apr 2019 06:59:45 +0000 (08:59 +0200)] 
man: say that .link NamePolicy= should be empty for Name= to take effect

The description of NamePolicy= implied this, but didn't spell it out. It's a
very common use case, so let's add a bit of explanation and ehance the example
a bit.

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1695894.

5 years agoMerge pull request #12244 from poettering/242-news-final
Lennart Poettering [Mon, 8 Apr 2019 13:31:31 +0000 (15:31 +0200)] 
Merge pull request #12244 from poettering/242-news-final

final 242 NEWS tweaks + another hwdb update

5 years agoman: add references from the .mount and .service man pages to systemd-{mount,run...
Lennart Poettering [Mon, 8 Apr 2019 13:17:23 +0000 (15:17 +0200)] 
man: add references from the .mount and .service man pages to systemd-{mount,run} pages

Fixes: #12235
5 years agoMerge pull request #12245 from poettering/empty-or-dash
Zbigniew Jędrzejewski-Szmek [Mon, 8 Apr 2019 13:22:44 +0000 (15:22 +0200)] 
Merge pull request #12245 from poettering/empty-or-dash

introduce empty_or_dash() helper

5 years agoman: elaborate on fd ownership in sd_event_add_io(3)
Lennart Poettering [Mon, 8 Apr 2019 12:43:37 +0000 (14:43 +0200)] 
man: elaborate on fd ownership in sd_event_add_io(3)

Replaces: #12239

5 years agounits: add time-set.target
Peter A. Bigot [Mon, 30 Apr 2018 12:05:29 +0000 (07:05 -0500)] 
units: add time-set.target

time-sync.target is supposed to indicate system clock is synchronized
with a remote clock, but as used through 241 it only provided a system
clock that was updated based on a locally-maintained timestamp.  Systems
that are powered off for extended periods would not come up with
accurate time.

Retain the existing behavior using a new time-set.target leaving
time-sync.target for cases where accuracy is required.

Closes #8861

5 years agococcinelle: add coccinelle script for empty_or_dash() use 12245/head
Lennart Poettering [Mon, 8 Apr 2019 12:31:15 +0000 (14:31 +0200)] 
coccinelle: add coccinelle script for empty_or_dash() use

5 years agoman/systemd-sysusers: Fix typo in *from* to *form*
Paul Menzel [Mon, 8 Apr 2019 08:53:55 +0000 (10:53 +0200)] 
man/systemd-sysusers: Fix typo in *from* to *form*

5 years agobasic: add new helper call empty_or_dash_to_null()
Lennart Poettering [Mon, 8 Apr 2019 10:11:11 +0000 (12:11 +0200)] 
basic: add new helper call empty_or_dash_to_null()

We have a function like this at two places already. Let's unify it in
one generic location and let's port a number of users over.

5 years agotree-wide: introduce empty_or_dash() helper
Lennart Poettering [Mon, 8 Apr 2019 10:03:33 +0000 (12:03 +0200)] 
tree-wide: introduce empty_or_dash() helper

At quite a few places we check isempty() || streq(…, "-"), let's add a
helper to simplify that, and replace that by a single function call.

5 years agohwdb: update hwdb 12244/head
Lennart Poettering [Mon, 8 Apr 2019 09:42:10 +0000 (11:42 +0200)] 
hwdb: update hwdb

5 years agoupdate NEWS for 242 final
Lennart Poettering [Mon, 8 Apr 2019 09:35:45 +0000 (11:35 +0200)] 
update NEWS for 242 final

5 years agoMerge pull request #12238 from keszybz/one-genuine-bugfix+lots-of-line-wrapping
Lennart Poettering [Mon, 8 Apr 2019 09:19:34 +0000 (11:19 +0200)] 
Merge pull request #12238 from keszybz/one-genuine-bugfix+lots-of-line-wrapping

One genuine bugfix and lots of line wrapping

5 years agopam-systemd: use secure_getenv() rather than getenv()
Lennart Poettering [Mon, 4 Feb 2019 09:23:43 +0000 (10:23 +0100)] 
pam-systemd: use secure_getenv() rather than getenv()

And explain why in a comment.

5 years agoman: correct units path usage according to FHS (#11388)
Jonas DOREL [Mon, 8 Apr 2019 06:19:58 +0000 (08:19 +0200)] 
man: correct units path usage according to FHS (#11388)

According to the Filesystem Hierarchy Standard, "The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated". So it should not be used by installed packages.

5 years agosysusers: use return_error_errno() where possible 12238/head
Zbigniew Jędrzejewski-Szmek [Sun, 7 Apr 2019 20:00:11 +0000 (22:00 +0200)] 
sysusers: use return_error_errno() where possible

5 years agosysusers: add missing initalizer
Zbigniew Jędrzejewski-Szmek [Sun, 7 Apr 2019 19:37:18 +0000 (21:37 +0200)] 
sysusers: add missing initalizer

I assume that this is the error causing the invalid free in
https://bugzilla.redhat.com/show_bug.cgi?id=1670679.

5 years agologind: linewrap some long lines and remove unnecessary conditional
Zbigniew Jędrzejewski-Szmek [Sun, 7 Apr 2019 18:51:44 +0000 (20:51 +0200)] 
logind: linewrap some long lines and remove unnecessary conditional

5 years agoutil: extend unbase64mem() to accept secure flag
Yu Watanabe [Sun, 7 Apr 2019 18:41:03 +0000 (03:41 +0900)] 
util: extend unbase64mem() to accept secure flag

When the flag is set, buffer is cleared on failure.

5 years agomeson: drop misplaced -Wl,--undefined argument
Jussi Pakkanen [Sat, 6 Apr 2019 19:59:06 +0000 (21:59 +0200)] 
meson: drop misplaced -Wl,--undefined argument

Ld's man page says the following:

  -u symbol
  --undefined=symbol

  Force symbol to be entered in the output file as an undefined symbol. Doing
  this may, for example, trigger linking of additional modules from standard
  libraries. -u may be repeated with different option arguments to enter
  additional undefined symbols. This option is equivalent to the "EXTERN"
  linker script command.

  If this option is being used to force additional modules to be pulled into
  the link, and if it is an error for the symbol to remain undefined, then the
  option --require-defined should be used instead.

This would imply that it always requires an argument, which this does not
pass. Thus it will grab the next argument on the command line as its
argument. Before it took one of the many -lrt args (presumably) and now it
grabs something other random linker argument and things break.

[zj: this line was added in the first version of the meson configuration back
in 5c23128daba7236a6080383b2a5649033cfef85c. AFAICT, this was a mistake. No
such flag appeared in Makefile.am at the time.]

https://github.com/mesonbuild/meson/issues/5113

5 years agoMerge pull request #12234 from yuwata/calendarspec-fix-oss-fuzz-14108
Lennart Poettering [Sun, 7 Apr 2019 17:36:32 +0000 (19:36 +0200)] 
Merge pull request #12234 from yuwata/calendarspec-fix-oss-fuzz-14108

Calendarspec cleanups and fixes integer overflow

5 years agonetwork: re-indent conf parsers in wireguard.c
Yu Watanabe [Fri, 5 Apr 2019 08:24:50 +0000 (17:24 +0900)] 
network: re-indent conf parsers in wireguard.c

5 years agocalendarspec: fix possible integer overflow 12234/head
Yu Watanabe [Sun, 7 Apr 2019 15:37:31 +0000 (00:37 +0900)] 
calendarspec: fix possible integer overflow

Fixes oss-fuzz#14108.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14108

5 years agocalendarspec: use _cleanup_ attributes for CalendarComponent
Yu Watanabe [Sun, 7 Apr 2019 15:32:14 +0000 (00:32 +0900)] 
calendarspec: use _cleanup_ attributes for CalendarComponent

5 years agocalendarspec: rename free_chain() to chain_free()
Yu Watanabe [Sun, 7 Apr 2019 15:21:37 +0000 (00:21 +0900)] 
calendarspec: rename free_chain() to chain_free()

5 years agocalendarspec: use structured initializers
Yu Watanabe [Sun, 7 Apr 2019 15:18:54 +0000 (00:18 +0900)] 
calendarspec: use structured initializers

5 years agonspawn: create boot_id and kmsg files for overmounting in /run, not /tmp
Lennart Poettering [Fri, 5 Apr 2019 16:14:43 +0000 (18:14 +0200)] 
nspawn: create boot_id and kmsg files for overmounting in /run, not /tmp

/tmp might not be mounted at all yet (given that we support
SYSTEMD_NSPAWN_TMPFS_TMP=0 to turn this off), and /tmp is a dir systemd
usually tries to unmount during shutdown (unlike /run), and we shouldn't
keep it busy. Hence let's just move these deleted files to /run so that
we don't keep /tmp needlessly busy.

5 years agolgtm: warn about strerror() use
Lennart Poettering [Fri, 5 Apr 2019 13:31:34 +0000 (15:31 +0200)] 
lgtm: warn about strerror() use

5 years agomeson: sort source files again
Lennart Poettering [Fri, 5 Apr 2019 14:22:47 +0000 (16:22 +0200)] 
meson: sort source files again

5 years agoshared: add a single definition of libmount cleanup functions
Zbigniew Jędrzejewski-Szmek [Thu, 4 Apr 2019 10:54:19 +0000 (12:54 +0200)] 
shared: add a single definition of libmount cleanup functions

Use a trivial header file to share mnt_free_tablep and mnt_free_iterp.
It would be nicer put this in mount-util.h, but libmount.h is not in the
default include path, and the build system would have to be adjusted to pass
pkg-config include path in various places, and it's just not worth the trouble.
A separate header file works nicely.

5 years agohwdb: Add accelerometer orientation quirk for the Teclast F6 Pro
Luís Ferreira [Wed, 3 Apr 2019 18:10:50 +0000 (19:10 +0100)] 
hwdb: Add accelerometer orientation quirk for the Teclast F6 Pro

5 years agotest-journal: move tests to /var/tmp/ and set FS_NOCOW_FL v242-rc3
Lennart Poettering [Thu, 4 Apr 2019 08:04:26 +0000 (10:04 +0200)] 
test-journal: move tests to /var/tmp/ and set FS_NOCOW_FL

The journal files might not be tiny hence let's write them to /var/tmp/
instead of /tmp. Also, let's turn on NOCOW on the files, as these tests
might apparently be slow on btrfs.

Fixes: #12210
5 years agoask-passwd: slightly optimize handling arguments
Yu Watanabe [Thu, 4 Apr 2019 03:40:44 +0000 (12:40 +0900)] 
ask-passwd: slightly optimize handling arguments

It is not necessary to copy arguments for each console.

5 years agobus-util: treat org.freedesktop.DBus.Error.ServiceUnknown nicely when polkit does...
Yu Watanabe [Thu, 4 Apr 2019 04:35:29 +0000 (13:35 +0900)] 
bus-util: treat org.freedesktop.DBus.Error.ServiceUnknown nicely when polkit does not exist

Fixes #12209.

5 years agoMerge pull request #12208 from poettering/base-file-system-tweaks
Yu Watanabe [Thu, 4 Apr 2019 04:05:12 +0000 (13:05 +0900)] 
Merge pull request #12208 from poettering/base-file-system-tweaks

base-filesystem: be nicer to read-only fs images

5 years agoMerge pull request #12207 from poettering/portable-bus-policy-fix
Yu Watanabe [Thu, 4 Apr 2019 03:59:04 +0000 (12:59 +0900)] 
Merge pull request #12207 from poettering/portable-bus-policy-fix

portabled dbus policy fix

5 years agoudevadm: drop unused option
Yu Watanabe [Fri, 29 Mar 2019 21:41:29 +0000 (06:41 +0900)] 
udevadm: drop unused option

5 years agotty-ask-pw-agent: use right array
Lennart Poettering [Wed, 3 Apr 2019 18:10:19 +0000 (20:10 +0200)] 
tty-ask-pw-agent: use right array

No point in copying the array if we are not going to use the copy.

Prompted by: https://github.com/systemd/systemd/pull/12183#issuecomment-479591781

5 years agoudev-util: allocate an event loop of our own for waiting
Lennart Poettering [Wed, 3 Apr 2019 14:12:41 +0000 (16:12 +0200)] 
udev-util: allocate an event loop of our own for waiting

We can't use the per-thread default one here, as it might already be
running (for example, that's the case in portabled), and our event loops
are not recursive, hence running them a second time is not OK.

5 years agoshared: be friendly to EROFS images 12208/head
Lennart Poettering [Wed, 3 Apr 2019 14:55:01 +0000 (16:55 +0200)] 
shared: be friendly to EROFS images

There are environments where /lib might not be necessary (think:
statically compiled portable service binary), hence don't insist on it
if the image is read-only.

5 years agoshared: path_join() is your friend
Lennart Poettering [Wed, 3 Apr 2019 14:53:14 +0000 (16:53 +0200)] 
shared: path_join() is your friend

5 years agoshared: no need to initialize variable
Lennart Poettering [Wed, 3 Apr 2019 14:52:19 +0000 (16:52 +0200)] 
shared: no need to initialize variable

5 years agoportabled: fix method name 12207/head
Lennart Poettering [Wed, 3 Apr 2019 14:51:51 +0000 (16:51 +0200)] 
portabled: fix method name

yikes.

5 years agoportabled: reorder methods in vtable
Lennart Poettering [Wed, 3 Apr 2019 14:51:26 +0000 (16:51 +0200)] 
portabled: reorder methods in vtable

Let's stick to the same order in the per-image vtable and the manager
vtable.

5 years agoportabled: fix dbus policy
Lennart Poettering [Wed, 3 Apr 2019 14:50:49 +0000 (16:50 +0200)] 
portabled: fix dbus policy

Let's whitelist the method calls actually defined, not some outdated old
names.

5 years agoMerge pull request #12198 from keszybz/seccomp-parsing-logging
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 15:19:14 +0000 (17:19 +0200)] 
Merge pull request #12198 from keszybz/seccomp-parsing-logging

Seccomp parsing logging cleanup

5 years agoMerge pull request #12205 from keszybz/update-release-docs
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 15:18:35 +0000 (17:18 +0200)] 
Merge pull request #12205 from keszybz/update-release-docs

docs: let's not close the milestone early

5 years agodocs: also document updates to stable repo 12205/head
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 14:43:17 +0000 (16:43 +0200)] 
docs: also document updates to stable repo

5 years agodocs: let's not close the milestone early
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 14:23:43 +0000 (16:23 +0200)] 
docs: let's not close the milestone early

5 years agoMerge pull request #12202 from keszybz/seccomp-arm64
Lennart Poettering [Wed, 3 Apr 2019 13:47:18 +0000 (15:47 +0200)] 
Merge pull request #12202 from keszybz/seccomp-arm64

Fixes for S[GU]ID filter on arm64

5 years agoseccomp: rework how the S[UG]ID filter is installed 12202/head
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 11:11:00 +0000 (13:11 +0200)] 
seccomp: rework how the S[UG]ID filter is installed

If we know that a syscall is undefined on the given architecture, don't
even try to add it.

Try to install the filter even if some syscalls fail. Also use a helper
function to make the whole a bit less magic.

This allows the S[UG]ID test to pass on arm64.

5 years agotest-seccomp: fix compilation on arm64
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 10:36:03 +0000 (12:36 +0200)] 
test-seccomp: fix compilation on arm64

It has no open().

5 years agokernel-install: add a check that the vmlinuz arg is sane
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 12:54:42 +0000 (14:54 +0200)] 
kernel-install: add a check that the vmlinuz arg is sane

5 years agodocs: update release steps for meson
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 08:24:34 +0000 (10:24 +0200)] 
docs: update release steps for meson

5 years agobuild-sys: bump package version v242-rc2
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 08:00:14 +0000 (10:00 +0200)] 
build-sys: bump package version

5 years agoMerge pull request #12121 from poettering/contrib v242-rc1
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 07:48:10 +0000 (09:48 +0200)] 
Merge pull request #12121 from poettering/contrib

5 years agopid1: pass unit name to seccomp parser when we have no file location 12198/head
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 07:17:42 +0000 (09:17 +0200)] 
pid1: pass unit name to seccomp parser when we have no file location

Building on previous commit, let's pass the unit name when parsing
dbus message or builtin whitelist, which is better than nothing.

seccomp_parse_syscall_filter() is not needed anymore, so it is removed,
and seccomp_parse_syscall_filter_full() is renamed to take its place.

5 years agobasic/log: log any available location information in log_syntax()
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 07:13:37 +0000 (09:13 +0200)] 
basic/log: log any available location information in log_syntax()

We would log "(null):0: Failed to parse system call, ignoring: rseq" from
log_syntax_internal() from log_syntax() from seccomp_parse_syscall_filter_full()
from seccomp_parse_syscall_filter() from config_parse_syscall_filter(),
when generating the built-in @default whitelist. Since it was not based on the
unit file, we would not pass a file name.

So let's make sure that log_syntax() does not print "(null)" pointer (which is
iffy and ugly), and use the unit name as fallback or nothing if both are missing.
In principle, one of the two should be always available, since why use log_syntax()
otherwise, but let's make things more resilient by guarding against this case too.
log_syntax() is called from a thousand places, and often in error path, so it's
hard to verify all callers.

5 years agocore: use a temporary variable for calculation of seccomp flags
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 06:56:06 +0000 (08:56 +0200)] 
core: use a temporary variable for calculation of seccomp flags

I think it is easier to read this way.

5 years agotest: use newer verb to set log levels
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 06:19:08 +0000 (08:19 +0200)] 
test: use newer verb to set log levels

5 years agodocs: fix path to unit files
Lennart Poettering [Tue, 2 Apr 2019 19:05:54 +0000 (21:05 +0200)] 
docs: fix path to unit files

5 years agocore: fix build failure if seccomp is disabled
Davide Cavalca [Wed, 3 Apr 2019 00:23:43 +0000 (17:23 -0700)] 
core: fix build failure if seccomp is disabled

5 years agoRevert "build: install /etc/systemd/{system,user}-generators"
Lennart Poettering [Tue, 2 Apr 2019 15:05:15 +0000 (17:05 +0200)] 
Revert "build: install /etc/systemd/{system,user}-generators"

This reverts commit 509276f2b7d44d472b66e79cbfa531c1de4c3801.

5 years agoMerge pull request #12188 from poettering/coccinelle-fixlets
Yu Watanabe [Tue, 2 Apr 2019 16:46:54 +0000 (01:46 +0900)] 
Merge pull request #12188 from poettering/coccinelle-fixlets

tree-wide: let's run coccinelle again

5 years agoupdate NEWS 12121/head
Lennart Poettering [Tue, 2 Apr 2019 09:25:26 +0000 (11:25 +0200)] 
update NEWS

5 years agomeson: bump so versions
Lennart Poettering [Wed, 27 Mar 2019 13:23:57 +0000 (14:23 +0100)] 
meson: bump so versions

Since we aren't quite ready for release v242 yet, let's not bump the
package version yet, but let's already bump the soversion.

5 years agoNEWS: add preliminary contributor list
Lennart Poettering [Wed, 27 Mar 2019 13:23:25 +0000 (14:23 +0100)] 
NEWS: add preliminary contributor list

5 years agoupdate .mailmap
Lennart Poettering [Wed, 27 Mar 2019 13:22:31 +0000 (14:22 +0100)] 
update .mailmap

5 years agoMerge pull request #12056 from poettering/seccomp-suid-sgid
Lennart Poettering [Tue, 2 Apr 2019 15:30:11 +0000 (17:30 +0200)] 
Merge pull request #12056 from poettering/seccomp-suid-sgid

Introduce RestrictSUIDSGID= for disabling SUID/SGID file creation

5 years agoupdate TODO 12056/head
Lennart Poettering [Wed, 20 Mar 2019 20:00:17 +0000 (21:00 +0100)] 
update TODO

5 years agocore: imply NNP and SUID/SGID restriction for DynamicUser=yes service
Lennart Poettering [Wed, 20 Mar 2019 19:19:38 +0000 (20:19 +0100)] 
core: imply NNP and SUID/SGID restriction for DynamicUser=yes service

Let's be safe, rather than sorry. This way DynamicUser=yes services can
neither take benefit of, nor create SUID/SGID binaries.

Given that DynamicUser= is a recent addition only we should be able to
get away with turning this on, even though this is strictly speaking a
binary compatibility breakage.

5 years agounits: turn on RestrictSUIDSGID= in most of our long-running daemons
Lennart Poettering [Wed, 20 Mar 2019 18:52:20 +0000 (19:52 +0100)] 
units: turn on RestrictSUIDSGID= in most of our long-running daemons

5 years agoman: document the new RestrictSUIDSGID= setting
Lennart Poettering [Wed, 20 Mar 2019 18:45:32 +0000 (19:45 +0100)] 
man: document the new RestrictSUIDSGID= setting

5 years agoanalyze: check for RestrictSUIDSGID= in "systemd-analyze security"
Lennart Poettering [Wed, 20 Mar 2019 18:20:35 +0000 (19:20 +0100)] 
analyze: check for RestrictSUIDSGID= in "systemd-analyze security"

And let's give it a heigh weight, since it pretty much can be used for
bad things only.

5 years agocore: expose SUID/SGID restriction as new unit setting RestrictSUIDSGID=
Lennart Poettering [Wed, 20 Mar 2019 18:09:09 +0000 (19:09 +0100)] 
core: expose SUID/SGID restriction as new unit setting RestrictSUIDSGID=

5 years agotest: add test case for restrict_suid_sgid()
Lennart Poettering [Wed, 20 Mar 2019 18:01:37 +0000 (19:01 +0100)] 
test: add test case for restrict_suid_sgid()

5 years agoseccomp: introduce seccomp_restrict_suid_sgid() for blocking chmod() for suid/sgid...
Lennart Poettering [Wed, 20 Mar 2019 18:00:28 +0000 (19:00 +0100)] 
seccomp: introduce seccomp_restrict_suid_sgid() for blocking chmod() for suid/sgid files

5 years agoseccomp: add debug messages to seccomp_protect_hostname()
Lennart Poettering [Wed, 20 Mar 2019 17:59:59 +0000 (18:59 +0100)] 
seccomp: add debug messages to seccomp_protect_hostname()

5 years agocore: add a generic helper that forwards per-unit method calls from Manager
Lennart Poettering [Fri, 29 Mar 2019 19:34:45 +0000 (20:34 +0100)] 
core: add a generic helper that forwards per-unit method calls from Manager

Quite often we have a method DoSomethingWithUnit() on the Manager object
that is the same as a function DoSomething() on a Unit object. Let's
shorten things by introducing a common function that forwards the
former to the latter, instead of writing this again and again.

5 years agoMerge pull request #12013 from yuwata/fix-switchroot-11997
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 14:06:07 +0000 (16:06 +0200)] 
Merge pull request #12013 from yuwata/fix-switchroot-11997

core: on switching root do not emit device state change based on enumeration results