Yu Watanabe [Tue, 2 Nov 2021 19:50:00 +0000 (04:50 +0900)]
network: tc/cake: introduce CompensationMode= setting
Yu Watanabe [Tue, 2 Nov 2021 19:14:08 +0000 (04:14 +0900)]
network: tc/cake: do not pass 0 if OverheadBytes= is not specified
Yu Watanabe [Tue, 2 Nov 2021 19:05:02 +0000 (04:05 +0900)]
network: tc/cake: introduce AutoRateIngress= setting
Yu Watanabe [Thu, 4 Nov 2021 00:20:21 +0000 (09:20 +0900)]
man: use "…" for specifying ranges
Yu Watanabe [Tue, 2 Nov 2021 19:32:00 +0000 (04:32 +0900)]
man: move Bandwidth= setting at the beginning of the [CAKE] section
For consistency with tc-cake(8).
Yu Watanabe [Tue, 2 Nov 2021 18:39:46 +0000 (03:39 +0900)]
sd-netlink: add more attributes for CAKE
Jan Janssen [Thu, 4 Nov 2021 18:03:45 +0000 (19:03 +0100)]
meson: Add --warn-common and --fatal-warnings to link flags
Yu Watanabe [Mon, 8 Nov 2021 23:14:52 +0000 (08:14 +0900)]
Merge pull request #21265 from poettering/userdb-fixes
userdb: various userdb fixes and minor feature additions
Lennart Poettering [Mon, 8 Nov 2021 17:05:32 +0000 (18:05 +0100)]
man: document new --json= mode
Lennart Poettering [Mon, 8 Nov 2021 17:02:33 +0000 (18:02 +0100)]
man: document new --multipler= switch
Lennart Poettering [Mon, 8 Nov 2021 16:57:42 +0000 (17:57 +0100)]
userwork: make sure to return correct errors when service is not specified correctly
Fixes: #21215 #21222
Lennart Poettering [Mon, 8 Nov 2021 16:36:42 +0000 (17:36 +0100)]
userdbctl: always show summary after printing table (unless legend is off)
We do this in many (most?) other tools, do so here too. It's quite
useful info to count users/groups/…
Lennart Poettering [Mon, 8 Nov 2021 16:27:26 +0000 (17:27 +0100)]
userdbctl: add a switch for explicitly enabling/disabling multiplexer-based lookups
This is incredibly useful for debugging.
Lennart Poettering [Mon, 8 Nov 2021 16:25:50 +0000 (17:25 +0100)]
userdbctl: make JSON output mode details configurable like in the other tools
Let's add --json= with the same parser as in the other tools, and honour
it.
Lennart Poettering [Mon, 8 Nov 2021 16:20:16 +0000 (17:20 +0100)]
userdbctl: explicitly handle ESRCH/ENOLINK from userdb_all()
Similar in style to previous commit, let's handle these two errors
properly, i.e. as equivalent to no entries found. Let's debug log about
them, to make things either to deal with when debugging (after all
userdbctl to a large degree are debugging tools).
Lennart Poettering [Mon, 8 Nov 2021 15:43:07 +0000 (16:43 +0100)]
userwork: properly handle ENOLINK error from lower-level userdb code
The lower-level userdb code will return ENOLINK if varlink lookups are
disabled explicitly and we couldn#t find an answer any other way. Let's
not propagate this to clients, since they don't have control over this
feature anyway: we decide internally when to disable varlink lookups
(e.g. if DropIn lookups are requested we disable them) and to the client
side that should not be visible: if we can't find a record with the
flags we pick then we should report then we can't find any, and that's
it.
Fixes: #21223
Lennart Poettering [Mon, 8 Nov 2021 17:19:43 +0000 (18:19 +0100)]
man: extend os-release docs a bit regarding quotes
Fixes: #21194
Zbigniew Jędrzejewski-Szmek [Mon, 8 Nov 2021 14:06:37 +0000 (15:06 +0100)]
Merge pull request #20813 from unusual-thoughts/exittype_v2
Reintroduce ExitType
Albert Brox [Wed, 29 Sep 2021 14:09:34 +0000 (10:09 -0400)]
implement aliasing for systemd-analyze verify
Christian Brauner [Fri, 5 Nov 2021 13:29:53 +0000 (14:29 +0100)]
build: preserve correct mode when generating files via jinja2
When using "capture : true" in custom_target()s the mode of the source
file is not preserved when the generated file is not installed and so
needs to be tweaked manually. Switch from output capture to creating the
target file and copy the permissions from the input file.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Henri Chain [Fri, 5 Nov 2021 15:11:42 +0000 (16:11 +0100)]
Use ExitType=cgroup for autostart generated services
This fixes a bug[1] with some generated autostart app services which
fork and exit immediately after main application process start,
that caused them not to launch during session startup, as the entire
cgroup was immediately killed by systemd.
This can also happen with apps such as file browsers, whose initial
process will exit after the window is closed, but who intend to leave a
daemon child running.
Since the forking model of a .desktop application cannot be known at
service generation time otherwise, ExitType=cgroup is the only effective
way to fix this bug.
[1] https://bugs.kde.org/show_bug.cgi?id=433299
Henri Chain [Wed, 24 Feb 2021 15:13:21 +0000 (16:13 +0100)]
Reintroduce ExitType
This introduces `ExitType=main|cgroup` for services.
Similar to how `Type` specifies the launch of a service, `ExitType` is
concerned with how systemd determines that a service exited.
- If set to `main` (the current behavior), the service manager will consider
the unit stopped when the main process exits.
- The `cgroup` exit type is meant for applications whose forking model is not
known ahead of time and which might not have a specific main process.
The service will stay running as long as at least one process in the cgroup
is running. This is intended for transient or automatically generated
services, such as graphical applications inside of a desktop environment.
Motivation for this is #16805. The original PR (#18782) was reverted (#20073)
after realizing that the exit status of "the last process in the cgroup" can't
reliably be known (#19385)
This version instead uses the main process exit status if there is one and just
listens to the cgroup empty event otherwise.
The advantages of a service with `ExitType=cgroup` over scopes are:
- Integrated logging / stdout redirection
- Avoids the race / synchronisation issue between launch and scope creation
- More extensive use of drop-ins and thus distro-level configuration:
by moving from scopes to services we can have drop ins that will affect
properties that can only be set during service creation,
like `OOMPolicy` and security-related properties
- It makes systemd-xdg-autostart-generator usable by fixing [1], as obviously
only services can be used in the generator, not scopes.
[1] https://bugs.kde.org/show_bug.cgi?id=433299
Dan Streetman [Fri, 5 Nov 2021 20:56:16 +0000 (16:56 -0400)]
test: refactor test-procfs-util for clarity and skip test on perm failure
After commit
c3dead53d50e334f2d072a2248256983d6dc9f8c the test can fail
if the procfs file(s) aren't writable, because the check for permission
failure happens after a call that will never fail, since setting the
limit to the existing limit will always pass.
This also refactors the function slightly to make the test var names
clearer.
Peter Hutterer [Mon, 8 Nov 2021 00:47:56 +0000 (10:47 +1000)]
hwdb: remove the tablet pad entry for the UC-Logic 1060N
This entry only matches on vid/pid, so the pen event node of the device
would also get assigned the ID_INPUT_TABLET_PAD property - making it
break with libinput.
On top of that, UC-Logic's tablets re-use USB ids, so now we're breaking
multiple devices this way.
To get this device tagged correctly, use libwacom which has the
per-device hwdb entries.
Fixes #17953
This reverts commit
0fbe78ac7a4c5689660b1c1e2c956ffa1a2e4ee5
Ettore Atalan [Mon, 8 Nov 2021 00:49:23 +0000 (01:49 +0100)]
po: Translated using Weblate (German)
Currently translated at 77.7% (147 of 189 strings)
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/de/
Translation: systemd/main
Luca Boccassi [Sat, 6 Nov 2021 11:19:40 +0000 (11:19 +0000)]
Merge pull request #21237 from bluca/analyze_skip
analyze: allow a custom policy to skip a check
Lennart Poettering [Sat, 6 Nov 2021 09:16:45 +0000 (10:16 +0100)]
Merge pull request #21171 from DaanDeMeyer/tty-dimensions
exec: Add TTYRows and TTYColumns properties to set TTY dimensions
Lennart Poettering [Fri, 5 Nov 2021 14:30:36 +0000 (15:30 +0100)]
user-record: show CIFS extra mount options, in output too
Follow-up for
4c2ee5c7f26fda41d7eb1250c61c85cc869a90de
Frantisek Sumsal [Fri, 5 Nov 2021 17:57:26 +0000 (18:57 +0100)]
test: wait until `lvm-activate-$vgroup.service` finishes
The new lvm autoactivation method runs `vgchange` via
`systemd-run --no-block`[0], which means that checking if the unit
is in the `active` state is not enough, since the main binary might
still be running. Let's fix this by waiting until the unit reaches
the `exited` sub state.
Follow-up to:
*
29f8bef05eb9a4bb7f578b31409ca38ec1b1a069
*
e50d743f99fa66c9f55e534c4e109a2cf6323f04
[0] https://sourceware.org/git/?p=lvm2.git;a=blob;f=udev/69-dm-lvm.rules.in;h=
39e5b98074010745f78a7a86a05929700c9cd690;hb=
67722b312390cdab29c076c912e14bd739c5c0f6#l83
Example:
```
[ 17.102002] systemd-udevd[282]: sdf: '/usr/bin/systemd-run -r --no-block --property DefaultDependencies=no --unit lvm-activate-iscsi_lvm2212 /usr/bin/lvm vgchange -aay --nohints iscsi_lvm2212'(err) 'Running as unit: lvm-activate-iscsi_>
[ 17.102522] systemd-udevd[282]: sdf: Process '/usr/bin/systemd-run -r --no-block --property DefaultDependencies=no --unit lvm-activate-iscsi_lvm2212 /usr/bin/lvm vgchange -aay --nohints iscsi_lvm2212' succeeded.
[ 17.102697] systemd-udevd[282]: sdf: Adding watch on '/dev/sdf'
[ 17.104944] systemd[1]: lvm-activate-iscsi_lvm2212.service: Changed dead -> running
...
[ 17.105434] systemd[1]: Started /usr/bin/lvm vgchange -aay --nohints iscsi_lvm2212.
[ 17.105601] systemd[931]: lvm-activate-iscsi_lvm2212.service: Executing: /usr/bin/lvm vgchange -aay --nohints iscsi_lvm2212
...
[ 17.420228] testsuite-64.sh[268]: + systemctl -q is-active lvm-activate-iscsi_lvm2212.service
[ 17.420228] testsuite-64.sh[268]: + return 0
[ 17.420228] testsuite-64.sh[268]: + test -e /dev/disk/by-path/ip-127.0.0.1:3260-iscsi-iqn.2021-09.com.example:iscsi.lvm.test-lun-4
[ 17.420228] testsuite-64.sh[268]: + udevadm settle
[ 17.420228] testsuite-64.sh[268]: + test -e /dev/iscsi_lvm2212/mypart1
...
[ 17.451313] systemd[1]: testsuite-64.service: Main process exited, code=exited, status=1/FAILURE
[ 17.451475] systemd[1]: testsuite-64.service: Failed with result 'exit-code'.
...
[ 17.555759] systemd[1]: Starting End the test...
[ 17.556972] sh[941]: + systemctl poweroff --no-block
...
[ 17.688923] lvm[931]: 2 logical volume(s) in volume group "iscsi_lvm2212" now active
...
[ 17.838484] systemd[1]: lvm-activate-iscsi_lvm2212.service: Child 931 belongs to lvm-activate-iscsi_lvm2212.service.
[ 17.838718] systemd[1]: lvm-activate-iscsi_lvm2212.service: Main process exited, code=exited, status=0/SUCCESS (success)
```
xdavidwu [Fri, 5 Nov 2021 14:37:06 +0000 (22:37 +0800)]
coredump: fix filename in journal when not compressed
Since
587f2a5e564cf434c2e0a653f52b8f73e86092d8, filename for
not-compressed coredump is missing from save_external_coredump, making
it write COREDUMP_FILENAME= (empty) in journal, making `coredumpctl`
report it missing but it is actually saved.
This fixes it.
Luca Boccassi [Thu, 4 Nov 2021 19:48:58 +0000 (19:48 +0000)]
analyze: allow a custom policy to skip a check with weight=0
In some cases an offline analysis should ignore some fields, for example
a portable service in an image will never list RootImage/RootDirectory, as
they are added at runtime, and thus can be skipped.
Daan De Meyer [Thu, 28 Oct 2021 15:26:50 +0000 (16:26 +0100)]
exec: Add TTYRows and TTYColumns properties to set TTY dimensions
Daan De Meyer [Fri, 29 Oct 2021 12:54:31 +0000 (13:54 +0100)]
getty: Pass tty to use by agetty via stdin
If the tty arg is set to "-", agetty uses the stdin fd as the tty.
Let's pass the tty this way so that we keep an fd open to the tty
at all times. If all fd's to a tty are closed, the kernel might
reset the tty which we want to avoid.
Tony Asleson [Thu, 4 Nov 2021 19:19:56 +0000 (14:19 -0500)]
test: exercise sytemd-integritysetup & generator
Ensures we can open a dm-integrity volume formated with
integritysetup.
Jan Janssen [Thu, 4 Nov 2021 09:37:25 +0000 (10:37 +0100)]
sd-boot: Add .osrel section
This allows starting systemd-boot from \EFI\Linux for easier testing
and bisection without risking an unbootable system as the user does not
need to replace their working loader.
Luca Boccassi [Thu, 4 Nov 2021 19:47:29 +0000 (19:47 +0000)]
analyze: explain how the weight/range policy fields are used
Lennart Poettering [Fri, 5 Nov 2021 20:52:00 +0000 (21:52 +0100)]
Merge pull request #21252 from poettering/homed-record-dir-env-var
homed: add env var to override dir where we fine stored user records
Lennart Poettering [Fri, 5 Nov 2021 15:36:32 +0000 (16:36 +0100)]
user-record: fix display of access mode
Lennart Poettering [Fri, 5 Nov 2021 17:04:53 +0000 (18:04 +0100)]
user-record: show fs/luks/gpt UUIDs as proper UUIDs
These are not defined by us, but are defined as proper UUIDs by their
respective specs, hence show them as such.
Lennart Poettering [Fri, 5 Nov 2021 18:07:52 +0000 (19:07 +0100)]
docs: document systemd-homed development env vars
Lennart Poettering [Fri, 5 Nov 2021 17:03:05 +0000 (18:03 +0100)]
homed: add env var to override dir where we fine stored user records
This adds an env var which we can use to redirect where homed stores and
looks for user records kept on the host. This is useful for debugging
purposes so that one can easily run another homed instnce that doesn't
interfere with the main instance.
Jan Janssen [Fri, 5 Nov 2021 11:53:09 +0000 (12:53 +0100)]
test: Add test for flag macros
Zbigniew Jędrzejewski-Szmek [Fri, 5 Nov 2021 14:30:33 +0000 (15:30 +0100)]
Merge pull request #20056 from calestyo/split-up-sysusers.d-systemd.conf.in
sysusers: split up systemd.conf
Luca Boccassi [Fri, 5 Nov 2021 13:57:30 +0000 (13:57 +0000)]
Merge pull request #20138 from keszybz/coding-style-variable-decls
A coding style tweak and checking of sd_notify() calls and voidification of pager_open()
Zbigniew Jędrzejewski-Szmek [Fri, 5 Nov 2021 10:51:17 +0000 (11:51 +0100)]
meson-render-jinja2: use ast.literal_eval()
Imports are sorted in the usual fashion: stdlib first.
literal_eval() parses string/numbers/lists/sets/dicts, and nothing else, while
eval will execute any python code. Using literal_eval() is generally more
correct, because it avoids the risk of side effects from the parsed expression.
In this case, we generate the parsed strings ourselves, so it's very unlikely
to have anything unexpected in the expressions. But let's do the correct thing
anyway.
Zbigniew Jędrzejewski-Szmek [Fri, 5 Nov 2021 13:53:47 +0000 (14:53 +0100)]
Merge pull request #21225 from medhefgo/boot-cleanup
Boot cleanup
Luca Boccassi [Thu, 4 Nov 2021 20:29:43 +0000 (20:29 +0000)]
basic/mountpoint-util: detect erofs as a read-only FS
Lennart Poettering [Thu, 4 Nov 2021 14:01:33 +0000 (15:01 +0100)]
loop-util: reopen device node if we shortcut loop device creation
The LoopDevice object supports a shortcut: if the backing fd we are
supposed to create a loopback device of refers to a
block device alrady then we'll use it as is – if we can – instead of
setting up an unnecessary loopback device that would be pretty much
the same as its backing device.
Previously, when doing this we'd just dup() the original backing fd and
use that. But that's problematic in case O_DIRECT was set on the fd,
since we'll keep that flag set on our copy too, which means we can't do
simple, regular IO on it anymore.
Thus, let's reopen the inode in this case with the exact access flags
we'd apply if we'd actually allocate and open a new loopback device.
Fixes: #21176
Luca Boccassi [Thu, 4 Nov 2021 19:22:28 +0000 (19:22 +0000)]
analyze: fix typos in test policy
Luca Boccassi [Thu, 4 Nov 2021 18:40:26 +0000 (18:40 +0000)]
Merge pull request #21229 from keszybz/improve-m-hint
Improve hint to use -M in various tools
Jan Janssen [Tue, 2 Nov 2021 09:47:41 +0000 (10:47 +0100)]
sd-boot: Fix efi_arch checks
efi_arch is set to whatever meson returns from host_machine.cpu_family() and
gnu_efi_arch is then set accordingly.
On x86, efi_arch == x86 and gnu_efi_arch == ia32. Surprisingly, compilation
worked (without disabling some instruction sets) and nobody ever complained
about systemd-bootia32.efi not working.
Jan Janssen [Tue, 2 Nov 2021 09:21:19 +0000 (10:21 +0100)]
sd-boot: Detect supported compile args
This brings the final list of compiler arguments more in line with
how meson does things. In particular, --buildtype=plain will not
add any optimizations on its own (and would have to be provided
through CFLAGS=).
Jan Janssen [Mon, 1 Nov 2021 09:36:12 +0000 (10:36 +0100)]
sd-boot: Add some link flags
These flags are used by gnu-efi. Adding --no-undefined even allows
us to drop the no-undefined-symbols.sh test in favor of immediate
compile time errors.
Jan Janssen [Tue, 26 Oct 2021 10:39:16 +0000 (12:39 +0200)]
sd-stub: Fix possible memory leak
Jan Janssen [Tue, 26 Oct 2021 10:33:43 +0000 (12:33 +0200)]
sd-boot: Check for existence of required pe sections
Jan Janssen [Tue, 26 Oct 2021 10:25:41 +0000 (12:25 +0200)]
sd-boot: Move optional header verification into verify_pe
Jan Janssen [Tue, 26 Oct 2021 10:17:31 +0000 (12:17 +0200)]
sd-boot: Use FLAGS_SET
Jan Janssen [Tue, 26 Oct 2021 09:07:39 +0000 (11:07 +0200)]
sd-boot: Move flags helpers to macro-fundamental.h
Jan Janssen [Tue, 26 Oct 2021 08:56:17 +0000 (10:56 +0200)]
sd-boot: Always compile with -ffreestanding and -fshort-wchar
This is not a hosted environment and we should not pretend otherwise
if -ffreestanding is not supported.
With EFI strings being in UCS2, it is not supported to build without
-fshort-wchar as gcc/clang default to a w_char_t size of 4 bytes.
This also makes the charset for wide chars explicit on gcc. This way
we get a nice error message if anyone ever tries to add 💩 to strings.
Jan Janssen [Tue, 26 Oct 2021 07:56:32 +0000 (09:56 +0200)]
sd-boot: Save and restore console attributes
This also only writes the message on a new line if we aren't at the
beginning of one already.
Lennart Poettering [Thu, 4 Nov 2021 16:37:12 +0000 (17:37 +0100)]
Merge pull request #21070 from medhefgo/boot-save
sd-boot: Add support to boot last select entry
Lennart Poettering [Thu, 4 Nov 2021 14:20:00 +0000 (15:20 +0100)]
Merge pull request #21030 from DaanDeMeyer/path-skipped
core: Propagate condition failed state from service to path unit.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 08:49:18 +0000 (09:49 +0100)]
update-helper: add missing loop over user units
Noticed by Luca.
shellcheck doens't catch this, and somehow it was missed in review
and testing ;(
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:41:47 +0000 (10:41 +0100)]
tree-wide: do not print hint about -M if -M is already used
(Or when -H is used, since -H and -M are incompatible.)
Note that the slightly unusual form with separate boolean variables (hint_vars,
hint_addr) instead of e.g. a const char* variable to hold the message, because this
way we don't trigger the warning about non-literal format.
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:41:47 +0000 (10:41 +0100)]
busctl: do not print hint about -M if -M is already used
(Or when -H is used, since -H and -M are incompatible.)
Zbigniew Jędrzejewski-Szmek [Thu, 4 Nov 2021 09:37:11 +0000 (10:37 +0100)]
shared/bus-util: make bus_log_*_error() functions functions
They were defined as macros, but they are a bit too complicated for this,
so it's getting unwieldy. We can make them functions without any loss.
Lennart Poettering [Tue, 2 Nov 2021 14:50:55 +0000 (15:50 +0100)]
tree-wide: always use TAKE_FD() when calling rearrange_stdio()
rearrange_stdio() invalidates specified fds even on failure, which means
we should always invalidate the fds we pass in no matter what. Let's
make this explicit by using TAKE_FD() for that everywhere.
Note that in many places we such invalidation doesnt get us much
behaviour-wise, since we don't use the variables anymore later. But
TAKE_FD() in a way is also documentation, it encodes explicitly that the
fds are invalidated here, so I think it's a good thing to always make
this explicit here.
Daan De Meyer [Mon, 18 Oct 2021 12:17:02 +0000 (14:17 +0200)]
core: Propagate condition failed state to triggering units.
Alternative to https://github.com/systemd/systemd/pull/20531.
Whenever a service triggered by another unit fails condition checks,
stop the triggering unit to prevent systemd busy looping trying to
start the triggered unit.
Yu Watanabe [Wed, 3 Nov 2021 19:03:56 +0000 (04:03 +0900)]
Merge pull request #21217 from keszybz/debug-test-process-util
procfs-util: fix confusion wrt. quantity limit and maximum value
Yu Watanabe [Wed, 3 Nov 2021 19:01:45 +0000 (04:01 +0900)]
Merge pull request #21216 from poettering/take-fd-tweak
fd-util: make TAKE_FD free of double evaluation
Lennart Poettering [Wed, 3 Nov 2021 14:56:34 +0000 (15:56 +0100)]
macro: make TAKE_PTR() side-effect free
Lennart Poettering [Wed, 3 Nov 2021 15:35:44 +0000 (16:35 +0100)]
tree-wide: port more code to sigkill_wait()
Lennart Poettering [Wed, 3 Nov 2021 14:56:09 +0000 (15:56 +0100)]
tree-wide: port various places to use TAKE_PID()
Lennart Poettering [Wed, 3 Nov 2021 14:55:14 +0000 (15:55 +0100)]
process-util: rework TAKE_PID() to be side-effect free
Lennart Poettering [Wed, 3 Nov 2021 14:54:28 +0000 (15:54 +0100)]
process-util: wait for processes we killed even if killing failed
The processes might be zombies in which case killing will fail, but
reaping them still matters.
Lennart Poettering [Wed, 3 Nov 2021 14:56:48 +0000 (15:56 +0100)]
test: add test that ensures TAKE_FD() works as it should
Zbigniew Jędrzejewski-Szmek [Tue, 3 Aug 2021 14:59:09 +0000 (16:59 +0200)]
Make pager_open() return void
Lennart Poettering [Tue, 2 Nov 2021 16:52:24 +0000 (17:52 +0100)]
fd-util: make TAKE_FD free of double evaluation
Better be safe than sorry.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 10:22:28 +0000 (11:22 +0100)]
manager: fix confusion when to send READY=1
I got the logic reversed in
6d9326595592f98e8126eacb4176acd8c3516d5c.
Let's just remove the conditionalization of the status message: if we're
sending something, we might just as well always attach READY=1, the extra
few bytes don't make much of a difference.
FWIW, it seems that this bug didn't cause problems, probably because we'd send
READY=1 either from user_manager_send_ready() or from a later call to
manager_send_ready().
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 10:12:25 +0000 (11:12 +0100)]
tree-wide: drop "f" from sd_notify() calls with a static string
If we don't need to do any formatting, let's optimize things a bit.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 10:05:23 +0000 (11:05 +0100)]
journald: modernize code to send notifications
No change except making things a bit less verbose.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 10:04:46 +0000 (11:04 +0100)]
tree-wide: warn when sd_notify fails with READY=1 or FDSTOREREMOVE=1
Most sd_notify() calls are like log_info() — the result is only informative
and if they fail, it's best ignore this. But if a call with READY=1 fails,
the unit may enter a failed state, so we should warn about this. Similarly
for FSTOREREMOVE=1: the manager may be left with a stale fd, at least wasting
resources.
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jul 2021 11:44:51 +0000 (13:44 +0200)]
CODING_STYLE: allow joined variable declarations and function calls
… but only for a single variable.
The guidelines already allowed declaring variables at the point of
initialization. But not making a function call to do that. Let's allow that
now. The existing style of declaring and initializing seperate is still
allowed, and whatever makes most sense should be used.
Zbigniew Jędrzejewski-Szmek [Wed, 3 Nov 2021 08:39:16 +0000 (09:39 +0100)]
test-process-util: also add EROFS to the list of "good" errors
It is only added in the one place where we actually try to set the
setting to a new value. Before we were testing if we can set to it the
existing value, which was a noop. We could still get a permission error,
but this is the first place where we would propagate EROFS.
Zbigniew Jędrzejewski-Szmek [Tue, 2 Nov 2021 17:18:21 +0000 (18:18 +0100)]
procfs-util: fix confusion wrt. quantity limit and maximum value
From packit/rawhide-arm64 logs:
Assertion 'limit >= INT_MAX || get_process_ppid(limit+1, NULL) == -ESRCH' failed at src/test/test-process-util.c:855, function test_get_process_ppid(). Aborting.
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
The kernel has a few different limits. In particular kernel.threads-max can be
set to some lower value, and kernel.pid_max can be set to a higher value. This
is nice because it reduces PID reuse, even if the number of threads that is
allowed is limited. But the tests assumed that we cannot have a thread with
PID above MIN(kernel.threads-max, kernel.pid_max-1), which is not valid.
So let's rework the whole thing: let's expose the helpers to read
kernel.threads-max and kernel.pid_max, and print what they return in tests.
procfs_tasks_get_limit() was something that is only used in tests, and wasn't
very well defined, so let's drop it.
Fixes #21193.
Yu Watanabe [Wed, 3 Nov 2021 03:41:34 +0000 (12:41 +0900)]
Merge pull request #21210 from yuwata/network-dhcp-server-introduce-router-setting
network: dhcp-server: introduce Router= setting to specify router address
Lennart Poettering [Fri, 29 Oct 2021 12:33:37 +0000 (14:33 +0200)]
percent-util: clamp percent range before converting to 2^32 scale
Let#s better be safe than sorry and clamp the input, so that we don't
hit overflow issues.
Lennart Poettering [Tue, 2 Nov 2021 17:15:32 +0000 (18:15 +0100)]
missing: add missing header inclusions
These headers should work without any manual header inclusion.
Yu Watanabe [Tue, 2 Nov 2021 04:06:48 +0000 (13:06 +0900)]
test-network: add a testcase for Router= setting
Yu Watanabe [Tue, 2 Nov 2021 03:58:50 +0000 (12:58 +0900)]
network: dhcp-server: introduce Router= setting to specify router address
Closes #21202.
Franck Bui [Wed, 19 May 2021 12:14:58 +0000 (14:14 +0200)]
test-keymap-util: always use kbd-model-map we ship
This test makes assumptions on the availability of some mappings contained in
kbd-model-map and therefore strongly relies on the version shipped by
upstream. IOW the test is likely to fail if it's installed on a system with a
more comprehensive kbd-model-map.
This patch makes the upstream kbd-model-map file available via a symlink in
test/testdata/test-keymap-util dir and makes sure that this specific version is
always used by test-keymap-util regardless of whether the test is installed and
run on a different system or directly run (optionally via meson) from the
project working dir.
Lennart Poettering [Tue, 2 Nov 2021 12:37:27 +0000 (13:37 +0100)]
man: document cryptenroll limitations
Let's document this for now. We should be able to lift these limitations
sooner or later, at which point we can drop this documentation again.
These two limitations are a pitfall that people should be aware of,
before going FIDO2-only.
See: #20230 #19208
Frantisek Sumsal [Tue, 2 Nov 2021 14:09:57 +0000 (14:09 +0000)]
Merge pull request #21207 from mrc0mmand/test-tweak-lvm-installation
test: support the new lvm udev autoactivation
Frantisek Sumsal [Mon, 1 Nov 2021 22:03:26 +0000 (23:03 +0100)]
test: support both lvm vgroup activation methods
Daan De Meyer [Tue, 2 Nov 2021 09:58:39 +0000 (09:58 +0000)]
Merge pull request #21209 from yuwata/veth-peer-mtu
network: also set MTU for veth peer interface
Yu Watanabe [Tue, 2 Nov 2021 03:35:07 +0000 (12:35 +0900)]
test-network: add test case for MTUBytes= for veth
Yu Watanabe [Tue, 2 Nov 2021 03:25:12 +0000 (12:25 +0900)]
network/veth: also set MTU for peer interface
Fixes #21206.
Frantisek Sumsal [Mon, 1 Nov 2021 19:55:38 +0000 (20:55 +0100)]
test: support the new lvm udev autoactivation
Introduced in lvm 2.03.14.
See: https://sourceware.org/git/?p=lvm2.git;a=commit;h=
67722b312390cdab29c076c912e14bd739c5c0f6
Yu Watanabe [Mon, 1 Nov 2021 18:11:02 +0000 (03:11 +0900)]
Merge pull request #21204 from yuwata/sd-dhcp6-client-cleanups
sd-dhcp6-client: further cleanups
Yu Watanabe [Mon, 1 Nov 2021 13:50:55 +0000 (22:50 +0900)]
sd-dhcp6-client: simplify code a bit
Also this adds a note.