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().
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()
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
Yu Watanabe [Sun, 7 Apr 2019 18:48:30 +0000 (03:48 +0900)]
fileio: introduce warn_file_is_world_accessible()
Yu Watanabe [Sun, 7 Apr 2019 17:22:40 +0000 (02:22 +0900)]
util: introduce READ_FULL_FILE_SECURE flag for reading secure data
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.
Yu Watanabe [Fri, 5 Apr 2019 08:24:50 +0000 (17:24 +0900)]
network: re-indent conf parsers in wireguard.c
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.
Lennart Poettering [Fri, 5 Apr 2019 13:31:34 +0000 (15:31 +0200)]
lgtm: warn about strerror() use
Lennart Poettering [Fri, 5 Apr 2019 14:22:47 +0000 (16:22 +0200)]
meson: sort source files again
Luís Ferreira [Wed, 3 Apr 2019 18:10:50 +0000 (19:10 +0100)]
hwdb: Add accelerometer orientation quirk for the Teclast F6 Pro
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
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.
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.
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
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
Yu Watanabe [Fri, 29 Mar 2019 21:41:29 +0000 (06:41 +0900)]
udevadm: drop unused option
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
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.
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.
Lennart Poettering [Wed, 3 Apr 2019 14:53:14 +0000 (16:53 +0200)]
shared: path_join() is your friend
Lennart Poettering [Wed, 3 Apr 2019 14:52:19 +0000 (16:52 +0200)]
shared: no need to initialize variable
Lennart Poettering [Wed, 3 Apr 2019 14:51:51 +0000 (16:51 +0200)]
portabled: fix method name
yikes.
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.
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.
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
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
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 14:43:17 +0000 (16:43 +0200)]
docs: also document updates to stable repo
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 14:23:43 +0000 (16:23 +0200)]
docs: let's not close the milestone early
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
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.
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().
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
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 08:24:34 +0000 (10:24 +0200)]
docs: update release steps for meson
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 08:00:14 +0000 (10:00 +0200)]
build-sys: bump package version
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 07:48:10 +0000 (09:48 +0200)]
Merge pull request #12121 from poettering/contrib
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.
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.
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.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Apr 2019 06:19:08 +0000 (08:19 +0200)]
test: use newer verb to set log levels
Lennart Poettering [Tue, 2 Apr 2019 19:05:54 +0000 (21:05 +0200)]
docs: fix path to unit files
Davide Cavalca [Wed, 3 Apr 2019 00:23:43 +0000 (17:23 -0700)]
core: fix build failure if seccomp is disabled
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.
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
Lennart Poettering [Tue, 2 Apr 2019 09:25:26 +0000 (11:25 +0200)]
update NEWS
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.
Lennart Poettering [Wed, 27 Mar 2019 13:23:25 +0000 (14:23 +0100)]
NEWS: add preliminary contributor list
Lennart Poettering [Wed, 27 Mar 2019 13:22:31 +0000 (14:22 +0100)]
update .mailmap
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
Lennart Poettering [Wed, 20 Mar 2019 20:00:17 +0000 (21:00 +0100)]
update TODO
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.
Lennart Poettering [Wed, 20 Mar 2019 18:52:20 +0000 (19:52 +0100)]
units: turn on RestrictSUIDSGID= in most of our long-running daemons
Lennart Poettering [Wed, 20 Mar 2019 18:45:32 +0000 (19:45 +0100)]
man: document the new RestrictSUIDSGID= setting
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.
Lennart Poettering [Wed, 20 Mar 2019 18:09:09 +0000 (19:09 +0100)]
core: expose SUID/SGID restriction as new unit setting RestrictSUIDSGID=
Lennart Poettering [Wed, 20 Mar 2019 18:01:37 +0000 (19:01 +0100)]
test: add test case for restrict_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
Lennart Poettering [Wed, 20 Mar 2019 17:59:59 +0000 (18:59 +0100)]
seccomp: add debug messages to seccomp_protect_hostname()
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.
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
Lennart Poettering [Tue, 2 Apr 2019 12:53:05 +0000 (14:53 +0200)]
udev: use strempty() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:52:56 +0000 (14:52 +0200)]
json: use SYNTHETIC_ERRNO() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:52:17 +0000 (14:52 +0200)]
sd-event: use DIV_ROUND_UP where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:52:01 +0000 (14:52 +0200)]
sd-device: use xsprintf() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:51:48 +0000 (14:51 +0200)]
tree-wide: use SYNTHETIC_ERRNO() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:50:36 +0000 (14:50 +0200)]
boot: use TAKE_PTR() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:50:15 +0000 (14:50 +0200)]
tree-wide: use reallocarray() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:49:28 +0000 (14:49 +0200)]
util-lib: use FLAGS_SET() where appropriate
Lennart Poettering [Tue, 2 Apr 2019 12:48:50 +0000 (14:48 +0200)]
analyze: use empty_or_root() where appropriate
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 12:27:27 +0000 (14:27 +0200)]
Merge pull request #12185 from poettering/login-unstore-fd
logind: remove unused fds from fdstore
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 12:19:27 +0000 (14:19 +0200)]
Merge pull request #12186 from poettering/lgtm-updates
lgtm ruleset updates
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 11:50:14 +0000 (13:50 +0200)]
Merge pull request #12183 from poettering/askpwargv
tty-ask-password: let's copy argv[] before forking
Frantisek Sumsal [Mon, 25 Mar 2019 17:22:48 +0000 (18:22 +0100)]
journal: LGTM doesn't recognize suppressions in /* */
Lennart Poettering [Tue, 2 Apr 2019 10:44:15 +0000 (12:44 +0200)]
test: stop using dup() needlessly
Lennart Poettering [Tue, 2 Apr 2019 10:43:47 +0000 (12:43 +0200)]
lgtm: beef up list of dangerous/questionnable API calls not to make
Lennart Poettering [Tue, 2 Apr 2019 09:52:58 +0000 (11:52 +0200)]
logind: when we cannot attach a passed fd to a device, close it
Replaces: #8532
Lennart Poettering [Tue, 2 Apr 2019 09:51:50 +0000 (11:51 +0200)]
logind: simplify removal of device fds
let's use sd_notifyf(). Let's also stop validating the session ID here.
This is the destructor. if it contains a dash, we are already too late
here anyway.
Chris Morin [Thu, 14 Mar 2019 18:24:52 +0000 (11:24 -0700)]
journal-remote: use source's boot-id
systemd-journal-remote always wrote the boot-id of the device it was running on
to the header of its journal files. When the source had a different boot-id
(because it was generated on a different boot, or a different device), the
boot-ids in the file were inconsistent. The _BOOT_ID field was that of the
source, but the journal file header and each entry object header were that of
the device systemd-journal-remote ran on. This breaks journalctl --list-boots
on any of these files.
Set the boot-id in the header to be that of the source. This also fixes the
entry object headers.
Yu Watanabe [Fri, 29 Mar 2019 22:33:03 +0000 (07:33 +0900)]
ipv4ll: do not reset seed generation counter on restart
Fixes #12145.
Lennart Poettering [Tue, 2 Apr 2019 08:24:35 +0000 (10:24 +0200)]
Merge pull request #12007 from poettering/clock-change
.timer OnClockChange= and OnTimezoneChange= settings
Lennart Poettering [Tue, 2 Apr 2019 08:10:30 +0000 (10:10 +0200)]
tty-ask-password: re-break comment
Lennart Poettering [Tue, 2 Apr 2019 08:10:02 +0000 (10:10 +0200)]
tty-ask-password: simplify signal handler installation
Lennart Poettering [Tue, 2 Apr 2019 08:08:29 +0000 (10:08 +0200)]
tty-ask-password: no need to initialize something already NUL initialized to NUL
Lennart Poettering [Tue, 2 Apr 2019 08:07:58 +0000 (10:07 +0200)]
tty-ask-password: drop redundant local variable
Lennart Poettering [Tue, 2 Apr 2019 08:04:16 +0000 (10:04 +0200)]
tty-ask-password: copy argv[] before forking child
Another fix in style of
bd169c2be0fbdaf6eb2ea7951e650d5e5983fbf6.
Let's also avoid strjoina() in a loop (i.e. stack allocation). While in
this specific caseone could get away with it (since we'd immediately
afterwards leave the loop) it's still ugly, and every static checker
would be totally within its rights to complain.
Also, let's simplify things by not relying on argc, since it's redundant
anyway, and it's nicer to just treat things as NULL terminated strv
array.
Fixes: #12180
Lennart Poettering [Thu, 14 Mar 2019 22:30:11 +0000 (23:30 +0100)]
update TODO
Lennart Poettering [Thu, 14 Mar 2019 22:28:46 +0000 (23:28 +0100)]
man: document the two new .timer settings
Lennart Poettering [Thu, 14 Mar 2019 20:40:08 +0000 (21:40 +0100)]
test: add tests for new .timer units
Lennart Poettering [Thu, 14 Mar 2019 20:36:47 +0000 (21:36 +0100)]
core: optionally, trigger .timer units on timezone and clock changes
Fixes: #6228
Lennart Poettering [Thu, 14 Mar 2019 18:55:29 +0000 (19:55 +0100)]
run: rename with_timer → arg_with_timer
The value is directly initialized from cmdline args, hence let's name it
so, following our usual naming style.
Lennart Poettering [Thu, 14 Mar 2019 18:54:46 +0000 (19:54 +0100)]
core: use more structured initialization
Topi Miettinen [Mon, 1 Apr 2019 20:31:47 +0000 (23:31 +0300)]
build: install /etc/systemd/{system,user}-generators
Manual page systemd.generators refers to /etc/systemd/{system,user}-generators,
but the paths do not exist, so let's install them.
Yu Watanabe [Mon, 1 Apr 2019 23:01:42 +0000 (08:01 +0900)]
Merge pull request #12030 from poettering/condition-memory
add ConditionCPUs= + ConditionMemory=
Yu Watanabe [Mon, 1 Apr 2019 22:32:40 +0000 (07:32 +0900)]
Merge pull request #12168 from poettering/man-fixes
three minor tweaks to the man pages
Lennart Poettering [Tue, 26 Mar 2019 16:05:42 +0000 (17:05 +0100)]
core: refactor transaction.c to use fewer gotos
In particular, let's not use gotos that jump up, i.e. are loops. gotos
that jump down for the purpose of clean-up are cool, but using them for
loops is evil.
No change in behaviour, just some refactoring.
Zbigniew Jędrzejewski-Szmek [Mon, 1 Apr 2019 13:47:15 +0000 (15:47 +0200)]
NEWS: document the change to installation
Yu Watanabe [Mon, 1 Apr 2019 21:10:36 +0000 (06:10 +0900)]
Merge pull request #12160 from yuwata/wait-online-allow-configuring
wait-online: add --any option
Yu Watanabe [Mon, 1 Apr 2019 21:10:07 +0000 (06:10 +0900)]
Merge pull request #12155 from yuwata/network-fix-and-extend-foo-over-udp-support
network: fix and extend Foo over UDP
Lennart Poettering [Fri, 29 Mar 2019 19:23:16 +0000 (20:23 +0100)]
systemctl: print a more accurate error message when we can
Lennart Poettering [Fri, 29 Mar 2019 15:09:49 +0000 (16:09 +0100)]
rm-rf: refuse combining REMOVE_ONLY_DIRECTORIES and REMOVE_SUBVOLUME for now
It's not easy to implement such a combined operation race-freely since
dropping a subvolume will drop all its contents, including any
non-directories.
Hence, let's just not support this combination for now. Which isn't much
of a loss, since we never combine these flags anyway.