Zbigniew Jędrzejewski-Szmek [Fri, 22 Mar 2019 12:10:39 +0000 (13:10 +0100)]
man: update description of initrd in bootup(7)
Mention that initramfs is used, not initrd, even though we still call
it that. Also add links and clarify who loads the initramfs.
Zbigniew Jędrzejewski-Szmek [Fri, 22 Mar 2019 14:27:27 +0000 (15:27 +0100)]
NEWS: prepare for v242
Evgeny Vereshchagin [Fri, 22 Mar 2019 10:38:02 +0000 (11:38 +0100)]
network: add missing nulstr terminator
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13821
Franck Bui [Fri, 22 Mar 2019 10:09:08 +0000 (11:09 +0100)]
meson: add libseccomp as a nspawn dep (#12067)
Due to this specific change: d0b6a10#diff-0203416587516c224c8fcfe8129e7caeR8,
systemd-nspawn uses libseccomp now if it is available. We we need to pass -I/usr/include
/libseccomp (or wherever seccomp.h is located) when compiling systemd-nspawn because
nspawn-settings.h does #include <seccomp.h>.
Fixes: #12060
Lennart Poettering [Thu, 21 Mar 2019 17:53:46 +0000 (18:53 +0100)]
nspawn: conditionalize libseccomp use
We support compilation without libseccomp, hence don't rely on its
symbols.
Yu Watanabe [Thu, 21 Mar 2019 20:57:38 +0000 (05:57 +0900)]
Merge pull request #12066 from yuwata/fix-network-tunnel-12041
network: fix netdev_tunnel_verify()
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 16:11:31 +0000 (17:11 +0100)]
hwdb: make ids_parser.py compatible with pyparsing-2.3.0+
https://github.com/pyparsing/pyparsing/blob/master/CHANGES#L175
says something about fixing erroneously created levels in the hierarchy.
I don't have the faintest idea what this means, but with the change in
this patch we generate output that is unchanged from pre-2.3.0 versions.
Tested with python3-pyparsing-2.3.1-1.fc30.noarch and
python3-pyparsing-2.2.0-3.fc29.noarch.
Fixes #12021.
Yu Watanabe [Thu, 21 Mar 2019 16:54:27 +0000 (01:54 +0900)]
man: mention that Tunnel.Local= and Tunnel.Remote= can take 'any'
Yu Watanabe [Thu, 21 Mar 2019 16:53:46 +0000 (01:53 +0900)]
man: do not wrap line in the table
Yu Watanabe [Thu, 21 Mar 2019 16:48:49 +0000 (01:48 +0900)]
test-network: add more tests for tunneling devices
Lennart Poettering [Thu, 21 Mar 2019 18:15:49 +0000 (19:15 +0100)]
Merge pull request #12046 from keszybz/simplify-invocation-id-check
sd-id128: look for invocation id in environment first, keyring second
Yu Watanabe [Thu, 21 Mar 2019 17:30:57 +0000 (02:30 +0900)]
Merge pull request #11931 from yuwata/condition-test-list
split static condition tests from net_match_config()
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 17:15:04 +0000 (18:15 +0100)]
Merge pull request #12020 from mrc0mmand/test-functions-interactive-debug
test: test-functions improvements for debugging
Lennart Poettering [Thu, 21 Mar 2019 17:08:27 +0000 (18:08 +0100)]
Merge pull request #12062 from poettering/nspawn-main-func
nspawn: port to DEFINE_MAIN_FUNCTION()
Yu Watanabe [Thu, 21 Mar 2019 16:47:35 +0000 (01:47 +0900)]
network: fix netdev_tunnel_verify()
Fixes #12041.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 14:24:50 +0000 (15:24 +0100)]
nspawn: add --no-pager switch
It only matters for --help.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 16:37:09 +0000 (17:37 +0100)]
Merge pull request #12014 from poettering/systemctl-exit-fix
systemctl fallback error propagation fix
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 16:33:44 +0000 (17:33 +0100)]
Merge pull request #12052 from poettering/systemctl-fixlets
systemctl refactorings
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 16:31:19 +0000 (17:31 +0100)]
Merge pull request #12057 from poettering/chown-tty
chown TTY back to root:tty after a service terminates that used them
Lennart Poettering [Thu, 21 Mar 2019 15:32:31 +0000 (16:32 +0100)]
nspawn: voidify sd_notify() calls
Lennart Poettering [Thu, 21 Mar 2019 12:49:42 +0000 (13:49 +0100)]
nspawn: port to static destructors
Lennart Poettering [Thu, 21 Mar 2019 12:35:45 +0000 (13:35 +0100)]
nspawn: port to main-func.h logic
Yu Watanabe [Fri, 8 Mar 2019 06:51:17 +0000 (15:51 +0900)]
man: mention that conditions in [Match] section support negation
Yu Watanabe [Fri, 8 Mar 2019 06:37:10 +0000 (15:37 +0900)]
man: use literal tag
Yu Watanabe [Fri, 8 Mar 2019 06:20:01 +0000 (15:20 +0900)]
network,udev: split static condition tests from net_match_config()
Yu Watanabe [Fri, 8 Mar 2019 05:42:42 +0000 (14:42 +0900)]
network: drop unnecessary strdup()
Yu Watanabe [Fri, 8 Mar 2019 05:23:03 +0000 (14:23 +0900)]
core/unit: use condition_test_list()
Yu Watanabe [Fri, 8 Mar 2019 05:22:31 +0000 (14:22 +0900)]
condition: introduce condition_test_list()
Yu Watanabe [Fri, 8 Mar 2019 05:21:15 +0000 (14:21 +0900)]
log: expose log_object_internalv()
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 14:14:11 +0000 (15:14 +0100)]
Merge pull request #12059 from poettering/nspawn-typos
some typo and other fixes result of the OCI nspawn merge
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 13:53:00 +0000 (14:53 +0100)]
man: make separate "Errors" sections subsection of "Return value"
Logically, this is better, because we're describing a subset of possible
return values. Visually this also looks quite good because groff renders
refsect2 much less prominently.
Also rewrap things, add <constant> in various places, fix some typos.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 13:08:34 +0000 (14:08 +0100)]
man: document error values for sd_id128_get_*()
Lennart Poettering [Thu, 21 Mar 2019 12:55:09 +0000 (13:55 +0100)]
Merge pull request #12058 from keszybz/oci-simplifications
Follow-ups for nspawn-oci review
Lennart Poettering [Thu, 21 Mar 2019 12:31:09 +0000 (13:31 +0100)]
nspawn: add a few missing flags from --help text
Lennart Poettering [Thu, 21 Mar 2019 12:27:48 +0000 (13:27 +0100)]
man: adjust nspawn man page to follow same section/order as --help text
No other changes, just some reshuffling and adding of section headers
(well, admittedly, I changed some "see above" and "see below" in the
text to match the new order.)
Lennart Poettering [Thu, 21 Mar 2019 12:27:19 +0000 (13:27 +0100)]
nspawn: reorder --help text, and add section
The list is so long, let's add a bit of structure and order things a
bit.
Lennart Poettering [Thu, 21 Mar 2019 11:41:02 +0000 (12:41 +0100)]
mount: when we fail to establish an inaccessible mount gracefully, undo the mount
Lennart Poettering [Thu, 21 Mar 2019 11:38:18 +0000 (12:38 +0100)]
capability: add a test that fails if we ever enter > 64bit capability territory
Lennart Poettering [Thu, 21 Mar 2019 11:37:30 +0000 (12:37 +0100)]
capability: also cap CAP_LAST_CAP at 63
Lennart Poettering [Thu, 21 Mar 2019 11:31:36 +0000 (12:31 +0100)]
capability: typo fix
Lennart Poettering [Thu, 21 Mar 2019 11:31:29 +0000 (12:31 +0100)]
capability: use UINT64_C() where appropriate
Lennart Poettering [Thu, 21 Mar 2019 11:31:14 +0000 (12:31 +0100)]
capability: minimize scope of a few variables
Lennart Poettering [Thu, 21 Mar 2019 11:30:49 +0000 (12:30 +0100)]
capability: minor coding style updates
Lennart Poettering [Thu, 21 Mar 2019 11:29:18 +0000 (12:29 +0100)]
capability: add missing ')'
As pointed out by @polarina
https://github.com/systemd/systemd/commit/
d0b6a10c005ab1fff44d032be995e3f2bcfba225#commitcomment-
32857641
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 09:01:32 +0000 (10:01 +0100)]
sd-id128: look for invocation id in environment first, keyring second
As general principle, we generally check command line args first, the
enviroment second, and external configuration and system state only later.
In case of the invocation ID, checking the keyring before the environment
was implemented as a poor-man's security measure. But this is not really
useful, since we're moving within the same security boundary. So let's just
do the expected thing, and check environment first.
Prompted by https://github.com/systemd/systemd/pull/11991#issuecomment-
474647652.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 10:08:09 +0000 (11:08 +0100)]
util-lib: get rid of a helper variable
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 09:54:24 +0000 (10:54 +0100)]
nspawn-oci: add helper function for free_and_strdup with oom check
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 10:01:53 +0000 (11:01 +0100)]
Merge pull request #9762 from poettering/nspawn-oci
OCI runtime support for nspawn
Zbigniew Jędrzejewski-Szmek [Thu, 21 Mar 2019 09:50:59 +0000 (10:50 +0100)]
nspawn-oci: use SYNTHETIC_ERRNO
Lennart Poettering [Wed, 20 Mar 2019 20:49:33 +0000 (21:49 +0100)]
update TODO
Lennart Poettering [Wed, 20 Mar 2019 20:28:02 +0000 (21:28 +0100)]
core: rework how we reset the TTY after use by a service
This makes two changes:
1. Instead of resetting the configured service TTY each time after a
process exited, let's do so only when the service goes back to "dead"
state. This should be preferable in case the started processes leave
background child processes around that still reference the TTY.
2. chmod() and chown() the TTY at the same time. This should make it
safe to run "systemd-run -p DynamicUser=1 -p StandardInput=tty -p
TTYPath=/dev/tty8 /bin/bash" without leaving a TTY owned by a dynamic
user around.
Lennart Poettering [Wed, 20 Mar 2019 20:20:00 +0000 (21:20 +0100)]
execute: split check if we might touch a tty out of exec_context_may_touch_console()
Some simple refactoring that'll come handy in a later commit.
Lennart Poettering [Wed, 20 Mar 2019 20:18:59 +0000 (21:18 +0100)]
execute: use path_equal() to compare tty names
After all they might be strings such as pts/1 which we really should
consider the same as pts//1.
Lennart Poettering [Wed, 20 Mar 2019 17:27:34 +0000 (18:27 +0100)]
Merge pull request #12049 from keszybz/assorted-fixups
Assorted fixups
David Michael [Wed, 20 Mar 2019 15:14:32 +0000 (15:14 +0000)]
shared/install: Preserve escape characters for escaped unit names
Since switching to extract_first_word with no flags for parsing
unit names in
4c9565eea534cd233a913c8c21f7920dba229743, escape
characters will be stripped from escaped unit names such as
"mnt-persistent\x2dvolume.mount" resulting in the unit not being
configured as defined. Preserve escape characters again for
compatibility with existing preset definitions.
Lennart Poettering [Fri, 15 Mar 2019 14:05:01 +0000 (15:05 +0100)]
systemctl: start_unit() returns > 0 on error, let's catch that properly
Let's make sure we fall back correctly to initctl when start_unit()
returns an error > 0.
Fixes: #11546
Lennart Poettering [Fri, 15 Mar 2019 09:42:46 +0000 (10:42 +0100)]
systemctl: use strv_consume() where we can
Lennart Poettering [Fri, 15 Mar 2019 09:42:32 +0000 (10:42 +0100)]
systemctl: port to static destructors
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 12:43:35 +0000 (13:43 +0100)]
test-fileio: avoid warning about ineffective comparison
On arm64 with gcc-8.2.1-5.fc29.aarch64:
../src/test/test-fileio.c:645:29: warning: comparison is always false due to limited range of data type [-Wtype-limits]
assert_se(c == EOF || safe_fgetc(f, &c) == 1);
^~
Casting c to int is not enough, gcc is able to figure out that the original
type was unsigned and still warns. So let's just silence the warning like
in test-sizeof.c.
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 12:34:35 +0000 (13:34 +0100)]
sd-bus: reduce scope of variable
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 12:28:29 +0000 (13:28 +0100)]
sd-bus: avoid IN_SET() invocation with two identical values
Fixes #12036.
../../../src/systemd/src/libsystemd/sd-bus/bus-objects.c: In function ‘add_object_vtable_internal’:
../../../src/systemd/src/basic/macro.h:423:19: error: duplicate case value
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 10:30:34 +0000 (11:30 +0100)]
test-alloc-util: add a smoke test for greedy_realloc
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 10:28:35 +0000 (11:28 +0100)]
TODO: add some bootctl items
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 12:03:06 +0000 (13:03 +0100)]
Merge pull request #12033 from fbuihuu/watched-process-improvments
Watched process improvments
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 12:02:34 +0000 (13:02 +0100)]
Merge pull request #12047 from poettering/cryptsetup-fixlets
some small cryptsetup, ask-password and allocation fixlets
Chris Morin [Wed, 20 Mar 2019 08:34:23 +0000 (01:34 -0700)]
journal-file: handle SIGBUS on offlining thread
The thread launched in journal_file_set_offline() accesses a memory
mapped file, so it needs to handle SIGBUS. Leave SIGBUS unblocked on the
offlining thread so that it uses the same handler as the main thread.
The result of triggering SIGBUS in a thread where it's blocked is
undefined in Linux. The tested implementations were observed to cause
the default handler to run, taking down the whole journald process.
We can leave SIGBUS unblocked in multiple threads since it's handler is
thread-safe. If SIGBUS is sent to the journald process asynchronously
(i.e. with kill, sigqueue, or raise), either thread handling it will
result in the same behavior: it will install the default handler and
reraise the signal, killing the process.
Fixes: #12042
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 10:16:51 +0000 (11:16 +0100)]
Merge pull request #12024 from poettering/bindtoifindex
use SO_BINDTOIFINDEX where appropriate
Franck Bui [Wed, 20 Mar 2019 07:06:09 +0000 (08:06 +0100)]
scope: tiny cleanup: UNIT(s) -> u
No functional changes.
Franck Bui [Tue, 19 Mar 2019 09:59:26 +0000 (10:59 +0100)]
core: only watch processes when it's really necessary
If we know that main pid is our child then it's unnecessary to watch all
other processes of a unit since in this case we will get SIGCHLD when the main
process will exit and will act upon accordingly.
So let's watch all processes only if the main process is not our child since in
this case we need to detect when the cgroup will become empty in order to
figure out when the service becomes dead. This is only needed by cgroupv1.
Franck Bui [Mon, 18 Mar 2019 19:59:36 +0000 (20:59 +0100)]
core: reduce the number of stalled PIDs from the watched processes list when possible
Some PIDs can remain in the watched list even though their processes have
exited since a long time. It can easily happen if the main process of a forking
service manages to spawn a child before the control process exits for example.
However when a pid is about to be mapped to a unit by calling unit_watch_pid(),
the caller usually knows if the pid should belong to this unit exclusively: if
we just forked() off a child, then we can be sure that its PID is otherwise
unused. In this case we take this opportunity to remove any stalled PIDs from
the watched process list.
If we learnt about a PID in any other form (for example via PID file, via
searching, MAINPID= and so on), then we can't assume anything.
Franck Bui [Mon, 18 Mar 2019 10:48:34 +0000 (11:48 +0100)]
process-util: introduce pid_is_my_child() helper
No functional changes.
Lennart Poettering [Wed, 20 Mar 2019 09:33:45 +0000 (10:33 +0100)]
ask-password: add extra paranoid overflow check
Lennart Poettering [Wed, 20 Mar 2019 09:33:23 +0000 (10:33 +0100)]
alloc-util: typo fix
Lennart Poettering [Wed, 20 Mar 2019 09:31:38 +0000 (10:31 +0100)]
alloc-util: use malloc_usable_size() to determine allocated size
It's a glibc-specific API, but supported on FreeBSD and musl too at
least, hence fairly common. This way we can reduce our calls to
realloc() as much as possible.
Lennart Poettering [Wed, 20 Mar 2019 09:31:13 +0000 (10:31 +0100)]
alloc-util: add extra overflow checks to GREEDY_REALLOC()
Lennart Poettering [Wed, 20 Mar 2019 09:30:31 +0000 (10:30 +0100)]
alloc-util: extra paranoid overflow check
Lennart Poettering [Wed, 20 Mar 2019 09:29:20 +0000 (10:29 +0100)]
ask-password: erase character read with _cleanup_
This is much nicer, since it means we erase the character regardless how
we exit the scope.
Lennart Poettering [Tue, 19 Mar 2019 20:42:21 +0000 (21:42 +0100)]
cryptsetup: small refactoring
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 09:46:32 +0000 (10:46 +0100)]
Merge pull request #12034 from poettering/stdio-bridge-fixes
small stdio-bridge and errno-util.h improvements and fixes
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2019 08:48:45 +0000 (09:48 +0100)]
Merge pull request #12005 from poettering/exec-dir-fixup
Some fixes to exec directory management
Lennart Poettering [Thu, 14 Mar 2019 16:24:47 +0000 (17:24 +0100)]
execute: generalize uid/gid handling in two cases for any kind of uid/gid
Lennart Poettering [Thu, 14 Mar 2019 16:19:30 +0000 (17:19 +0100)]
core: change ownership/mode of the execution directories also for static users
It's probably unexpected if we do a recursive chown() when dynamic users
are used but not on static users.
hence, let's tweak the logic slightly, and recursively chown in both
cases, except when operating on the configuration directory.
Fixes: #11842
Lennart Poettering [Thu, 14 Mar 2019 16:01:46 +0000 (17:01 +0100)]
execute: remove one redundant comparison check
Lennart Poettering [Thu, 14 Mar 2019 16:00:35 +0000 (17:00 +0100)]
execute: also do the private/ symlink dance when runtime dir preservation is requested
In that case it's not safe to leave a regular dir around, hence, move it
to private/ too.
Lennart Poettering [Thu, 14 Mar 2019 15:56:45 +0000 (16:56 +0100)]
execute: use path_join() where appropriate
Lennart Poettering [Thu, 14 Mar 2019 15:47:03 +0000 (16:47 +0100)]
fs-util: change chmod_and_chown() to not complain if stat data already matches
Let's reduce the chance of failure: if we can't apply the chmod/chown
requested, check if it's applied anyway, and if so, supress the error.
This is even race-free since we operate on an O_PATH fd anyway.
Lennart Poettering [Tue, 19 Mar 2019 14:39:34 +0000 (15:39 +0100)]
tree-wide: use ERRNO_IS_DISCONNECT() at more places
Lennart Poettering [Tue, 19 Mar 2019 14:39:07 +0000 (15:39 +0100)]
util: add one more disconnect errno code
Lennart Poettering [Tue, 19 Mar 2019 12:04:21 +0000 (13:04 +0100)]
stdio-bridge: slightly optimize formatting of structure
Lennart Poettering [Tue, 19 Mar 2019 12:04:05 +0000 (13:04 +0100)]
stdio-bridge: use SYNTHETIC_ERRNO() where appropriate
Lennart Poettering [Tue, 19 Mar 2019 12:03:49 +0000 (13:03 +0100)]
stdio-bridge: tweak getopt() case statement a bit
Lennart Poettering [Tue, 19 Mar 2019 12:03:18 +0000 (13:03 +0100)]
stdio-bridge: fix getopt() parameter list to match reality
Lennart Poettering [Tue, 19 Mar 2019 12:02:21 +0000 (13:02 +0100)]
stdio-bridge: use ERRNO_IS_DISCONNECT() to detect disconnects
Let's use the macro we already have to make this safer. Moreover log
about all other errors.
Lennart Poettering [Tue, 19 Mar 2019 12:00:29 +0000 (13:00 +0100)]
util: move ERRNO_IS_xyz macros to errno-util.h
It's where they fit much better.
Lennart Poettering [Tue, 19 Mar 2019 11:56:25 +0000 (12:56 +0100)]
fd-util: beef up ERRNO_IS_xyz() macros a bit
Let's implicit drop the negation if there is one, to simplify things a
bit, similar how we do it in log_xyz()...
Zbigniew Jędrzejewski-Szmek [Tue, 19 Mar 2019 12:40:55 +0000 (13:40 +0100)]
Merge pull request #12028 from poettering/start-limit-hit
core: some start limit checking improvements + refactoring
Zbigniew Jędrzejewski-Szmek [Tue, 18 Dec 2018 14:05:48 +0000 (15:05 +0100)]
Revert "Revert "units: lock down logind with fs namespacing options""
This reverts commit
28f38a76345b7548700d2337dd8b9a8c3f5b0643.
The revert was done because Ubuntu CI was completely broken with it. Let's see
if it fares better now.
Lennart Poettering [Wed, 13 Mar 2019 17:47:28 +0000 (18:47 +0100)]
units: turn off keyring handling for user@.service
This service uses PAM anyway, hence let pam_keyring set things up for
us. Moreover, this way we ensure that the invocation ID is not set for
this service as key, and thus can't confuse the user service's
invocation ID.
Fixes: #11649
dana [Thu, 7 Mar 2019 01:20:06 +0000 (19:20 -0600)]
journalctl: support `-b all` to negate effect of -b
Also fix an issue where -b without argument didn't always behave as -b0
Hugo Kindel [Tue, 19 Mar 2019 09:14:51 +0000 (10:14 +0100)]
systemd-cgls: typo error in help command
Correct a small typo error happening on two lines of the help command:
"specifified" instead of "specified".