]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agoFix ObjectManager interface emitted for non-manager objects 23702/head
igo95862 [Sun, 3 Jul 2022 16:24:15 +0000 (19:24 +0300)] 
Fix ObjectManager interface emitted for non-manager objects

3 years agotest-bus-objects: Test interfaces added/removed signal interfaces
igo95862 [Sun, 3 Jul 2022 15:40:10 +0000 (18:40 +0300)] 
test-bus-objects: Test interfaces added/removed signal interfaces

`org.freedesktop.DBus.ObjectManager` should only be emitted if
object in question has ObjectManager attached.

3 years agoFix GetManagedObjects returning ObjectManager interface for non-manager objects
igo95862 [Sun, 3 Jul 2022 14:11:46 +0000 (17:11 +0300)] 
Fix GetManagedObjects returning ObjectManager interface for non-manager objects

3 years agotest-bus-objects: Test GetManagedObjects interfaces are correct
igo95862 [Fri, 10 Jun 2022 17:51:04 +0000 (20:51 +0300)] 
test-bus-objects: Test GetManagedObjects interfaces are correct

Objects without ObjectManager should not have
`org.freedesktop.DBus.ObjectManager` interface.

Object with ObjectManager should do.

Also added ASSERT_SE_NONNEG and ASSERT_NONNEG macros.

3 years agolocaled: don't fail if we cannot copy an xattr
Lennart Poettering [Mon, 25 Jul 2022 09:31:05 +0000 (11:31 +0200)] 
localed: don't fail if we cannot copy an xattr

We ignore xattr copy failures on all other cases, and we should do so
here too.

Fixes: #24106
3 years agoupdate TODO
Lennart Poettering [Mon, 25 Jul 2022 14:08:10 +0000 (16:08 +0200)] 
update TODO

3 years agoupdate TODO
Lennart Poettering [Mon, 25 Jul 2022 13:01:37 +0000 (15:01 +0200)] 
update TODO

3 years agoupdate TODO
Lennart Poettering [Mon, 25 Jul 2022 12:59:35 +0000 (14:59 +0200)] 
update TODO

3 years agoTODO: add new 'deprecations and removals' section
Lennart Poettering [Mon, 25 Jul 2022 12:55:48 +0000 (14:55 +0200)] 
TODO: add new 'deprecations and removals' section

3 years agojournal: Move more pattern matching logic into pcre2-util
Daan De Meyer [Fri, 22 Jul 2022 12:49:42 +0000 (14:49 +0200)] 
journal: Move more pattern matching logic into pcre2-util

To avoid having "#if HAVE_PCRE2" all throughout the code, let's
confine the pcre2 header specific stuff to pcre2-util.c. Instead of
exposing all the individual symbols from pcre2, let's only expose
three high level functions that do all we need:

- pcre2_pattern_compile(): Compile the regex
- pcre2_pattern_matches(): Check if the compiled regex matches a message
- pcre2_pattern_free(): Free the compiled regex

We expose the compiled pcre2 pattern (which is of type pcre2_code *) as
a void pointer to avoid having to include pcre2.h in all code where we
work with compiled pcre2 patterns. For readability, we typedef void
to pcre2_pattern and use that as the type specifier for compiled pcre2
patterns.

3 years agoboot: a couple of tweaks recommended by Coccinelle
Frantisek Sumsal [Mon, 25 Jul 2022 07:49:39 +0000 (09:49 +0200)] 
boot: a couple of tweaks recommended by Coccinelle

3 years agosystemctl: fix type used for array sizes to size_t
Lennart Poettering [Mon, 25 Jul 2022 08:40:32 +0000 (10:40 +0200)] 
systemctl: fix type used for array sizes to size_t

We always should use size_t for sizes of arrays (and any size of memory,
in fact), unless there's a strong reason to use something else. Hence,
let's fix these cases where we sloppily used "unsigned" or "int"
instead.

No change in behaviour, this is just to make things less surprising for
the random reader.

3 years agoMerge pull request #23991 from yuwata/udev-reload
Lennart Poettering [Mon, 25 Jul 2022 09:20:08 +0000 (11:20 +0200)] 
Merge pull request #23991 from yuwata/udev-reload

udev: reload rules and builtins only when mtime of a config changed

3 years agosysctl: add --strict option to fail if sysctl does not exists
Quentin Deslandes [Fri, 22 Jul 2022 15:18:15 +0000 (17:18 +0200)] 
sysctl: add --strict option to fail if sysctl does not exists

systemd-sysctl currently fails silently under any of these conditions:
- Missing permission to write a sysctl.
- Invalid sysctl (path doesn't exists).
- Ignore failure flag ('-' in front of the sysctl name).

Because of this behaviour, configuration issues can go unnoticed as
there is no way to detect those unless going through the logs.

--strict option forces systemd-sysctl to fail if a sysctl is invalid or
if permission are insufficient. Errors on sysctl marked as "ignore
failure" will still be ignored.

3 years agoglibc: Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict...
Rudi Heitbaum [Sat, 23 Jul 2022 10:38:49 +0000 (10:38 +0000)] 
glibc: Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36

3 years agounit-file: avoid (null) in debugging logs
Yu Watanabe [Sat, 23 Jul 2022 03:48:35 +0000 (12:48 +0900)] 
unit-file: avoid (null) in debugging logs

The variable `inst` was set to NULL by TAKE_PTR().

This fixes the following log message:
```
systemd[1]: Unit getty@tty2.service has alias (null).
```

3 years agoMerge pull request #24020 from yuwata/network-rfkill
Yu Watanabe [Sun, 24 Jul 2022 04:01:50 +0000 (13:01 +0900)] 
Merge pull request #24020 from yuwata/network-rfkill

network: fix wlan interface handling when its RF is killed

3 years agoMerge pull request #23828 from yuwata/nfnl-cleanups
Yu Watanabe [Sun, 24 Jul 2022 04:01:28 +0000 (13:01 +0900)] 
Merge pull request #23828 from yuwata/nfnl-cleanups

sd-netlink: several cleanups for netfilter

3 years agosd-netlink: introduce sd_nfnl_{send,call}_batch() 23828/head
Yu Watanabe [Sat, 25 Jun 2022 18:52:59 +0000 (03:52 +0900)] 
sd-netlink: introduce sd_nfnl_{send,call}_batch()

This also introduces sd_nfnl_message_new() which can be also used for
non-nftables subsystems.

3 years agosd-netlink: do not compare pointer with 0
Yu Watanabe [Sat, 25 Jun 2022 06:38:06 +0000 (15:38 +0900)] 
sd-netlink: do not compare pointer with 0

3 years agofirewall-util: introduce nfnl_close_expr_container() helper function
Yu Watanabe [Wed, 15 Jun 2022 04:45:37 +0000 (13:45 +0900)] 
firewall-util: introduce nfnl_close_expr_container() helper function

And merge nfnl_add_expr_lookup_set() and nfnl_add_expr_lookup_map().

3 years agosd-netlink: merge sd_nfnl_nft_message_{new,del}_setelems_begin()
Yu Watanabe [Wed, 15 Jun 2022 04:04:46 +0000 (13:04 +0900)] 
sd-netlink: merge sd_nfnl_nft_message_{new,del}_setelems_begin()

And this makes the new merged function `sd_nfnl_nft_message_new_setelems()`
not open container, as containers should be opened and closed in the
same function in general. Otherwise, it is hard to understand which
level we are in the nested attribute tree.

3 years agosd-netlink: drop unused sd_nfnl_nft_message_del_table()
Yu Watanabe [Wed, 15 Jun 2022 03:57:41 +0000 (12:57 +0900)] 
sd-netlink: drop unused sd_nfnl_nft_message_del_table()

3 years agosd-netlink: introduce sd_netlink_message_append_container_data()
Yu Watanabe [Wed, 15 Jun 2022 04:55:20 +0000 (13:55 +0900)] 
sd-netlink: introduce sd_netlink_message_append_container_data()

3 years agosd-netlink: several cleanups for netfilter
Yu Watanabe [Tue, 14 Jun 2022 13:22:54 +0000 (22:22 +0900)] 
sd-netlink: several cleanups for netfilter

- rename family -> nfproto, and other arguments,
- check specified nfproto,
- change type of several function arguments that specify data length,
- add several assertions,
- drop unnecessary headers.

3 years agofirewall-util: drop unnecessary string attribute
Yu Watanabe [Wed, 15 Jun 2022 03:53:32 +0000 (12:53 +0900)] 
firewall-util: drop unnecessary string attribute

As `sd_netlink_message_open_container_union()` also appends the string
attribute.

3 years agofirewall-util-nft: various cleanups
Yu Watanabe [Tue, 14 Jun 2022 08:50:59 +0000 (17:50 +0900)] 
firewall-util-nft: various cleanups

- add missing assertions,
- align enum elements,
- use cleanup attribute, and so on.

3 years agotree-wide: drop unnecessary inclusion of netlink-util.h
Yu Watanabe [Tue, 14 Jun 2022 07:36:45 +0000 (16:36 +0900)] 
tree-wide: drop unnecessary inclusion of netlink-util.h

3 years agosd-netlink: move rtnl_message_type_is_*() to netlink-message-rtnl.c
Yu Watanabe [Tue, 14 Jun 2022 07:36:17 +0000 (16:36 +0900)] 
sd-netlink: move rtnl_message_type_is_*() to netlink-message-rtnl.c

3 years agonetwork: do not try to bring up wifi interface if rfkill is active 24020/head
Yu Watanabe [Thu, 14 Jul 2022 21:26:57 +0000 (06:26 +0900)] 
network: do not try to bring up wifi interface if rfkill is active

This fixes the following error:
---
systemd-networkd[465]: wlan0: Could not bring up interface: Operation not possible due to RF-kill
---

Fixes #23649.

3 years agonetwork: also assign rfkill device to Wiphy object
Yu Watanabe [Fri, 22 Jul 2022 00:46:52 +0000 (09:46 +0900)] 
network: also assign rfkill device to Wiphy object

Preparation for later commits.

3 years agonetwork: assign corresponding sd-device object to Wiphy object
Yu Watanabe [Thu, 21 Jul 2022 23:48:55 +0000 (08:48 +0900)] 
network: assign corresponding sd-device object to Wiphy object

As an analogy for Link object, let's each Wiphy object has the
corresponding sd-device object. The sd-device object will be used in
later commits.

3 years agonetwork: set wiphy name in wiphy_new()
Yu Watanabe [Sat, 23 Jul 2022 11:19:39 +0000 (20:19 +0900)] 
network: set wiphy name in wiphy_new()

Then, we can assume all Wiphy objects managed by Manager has both valid
index and name.

3 years agonetwork: add TODO about interface renaming
Yu Watanabe [Sat, 23 Jul 2022 00:11:54 +0000 (09:11 +0900)] 
network: add TODO about interface renaming

3 years agonetwork: unref sd-device object assigned to Link on remove uevent
Yu Watanabe [Sat, 23 Jul 2022 00:00:32 +0000 (09:00 +0900)] 
network: unref sd-device object assigned to Link on remove uevent

Otherwise, outdated device information may be used in a short timespan.

3 years agonetwork: introduce a tiny wrapper for manager_udev_process_link()
Yu Watanabe [Thu, 21 Jul 2022 23:32:39 +0000 (08:32 +0900)] 
network: introduce a tiny wrapper for manager_udev_process_link()

Preparation for later commits.

3 years agonetwork: rename Link.sd_device -> Link.dev
Yu Watanabe [Sat, 23 Jul 2022 11:00:44 +0000 (20:00 +0900)] 
network: rename Link.sd_device -> Link.dev

3 years agotest-network: reload udevd when .link file is copied/removed 23991/head
Yu Watanabe [Wed, 13 Jul 2022 03:29:17 +0000 (12:29 +0900)] 
test-network: reload udevd when .link file is copied/removed

3 years agoudev-builtin: logs when needs reloading
Yu Watanabe [Fri, 15 Jul 2022 03:41:26 +0000 (12:41 +0900)] 
udev-builtin: logs when needs reloading

3 years agoudev: reload rules and builtins only when mtime of a config changed
Yu Watanabe [Wed, 13 Jul 2022 02:52:37 +0000 (11:52 +0900)] 
udev: reload rules and builtins only when mtime of a config changed

This makes udevd reload rules only when the timestamp is updated,
even on SIGHUP or `udevadm control --reload`.
So, we can call `udevadm control --reload` without huge performance
penalty when no rules, .link files, and so on are changed.

3 years agoudev: save stats of all udev rules file
Yu Watanabe [Wed, 13 Jul 2022 12:58:15 +0000 (21:58 +0900)] 
udev: save stats of all udev rules file

The mtime of directory is not updated when an existing rule file is
changed. Hence, paths_check_timestamp() is not reliable.

3 years agoconf-parser: add a boolean flag for config_get_stats_by_path() to control if drop...
Yu Watanabe [Sat, 23 Jul 2022 06:02:48 +0000 (15:02 +0900)] 
conf-parser: add a boolean flag for config_get_stats_by_path() to control if drop-in configs are checked

Preparation for later commits.

3 years agoudev: delay to start queued events on `udevadm control --start-exec-queue`
Yu Watanabe [Wed, 13 Jul 2022 12:05:06 +0000 (21:05 +0900)] 
udev: delay to start queued events on `udevadm control --start-exec-queue`

3 years agoudev: use event_reset_time_relative()
Yu Watanabe [Wed, 13 Jul 2022 02:49:16 +0000 (11:49 +0900)] 
udev: use event_reset_time_relative()

3 years agoudev: downgrade error level and mention that the error is ignored
Yu Watanabe [Wed, 13 Jul 2022 02:08:09 +0000 (11:08 +0900)] 
udev: downgrade error level and mention that the error is ignored

3 years agoudev: fix error check
Yu Watanabe [Wed, 13 Jul 2022 02:07:23 +0000 (11:07 +0900)] 
udev: fix error check

3 years agoman: Fix typo
codefiles [Sat, 23 Jul 2022 00:33:07 +0000 (20:33 -0400)] 
man: Fix typo

3 years agonetwork: use device_unref_and_replace()
Yu Watanabe [Thu, 21 Jul 2022 23:48:33 +0000 (08:48 +0900)] 
network: use device_unref_and_replace()

3 years agosd-device: introduce device_unref_and_replace()
Yu Watanabe [Thu, 21 Jul 2022 23:46:51 +0000 (08:46 +0900)] 
sd-device: introduce device_unref_and_replace()

3 years agosd-device: introduce device_clear_sysattr_cache()
Yu Watanabe [Thu, 21 Jul 2022 05:15:20 +0000 (14:15 +0900)] 
sd-device: introduce device_clear_sysattr_cache()

3 years agosd-device: introduce device_get_sysattr_bool()
Yu Watanabe [Fri, 15 Jul 2022 00:08:10 +0000 (09:08 +0900)] 
sd-device: introduce device_get_sysattr_bool()

3 years agonetwork: do not silently stop to process configuration on activation failure
Yu Watanabe [Thu, 14 Jul 2022 21:04:51 +0000 (06:04 +0900)] 
network: do not silently stop to process configuration on activation failure

Previously, if activation failed, link did not enter the failed state,
but still Link.activated flag not set. Hence, nothing processed even if
the interface is manually brought up later.

Partially fixes #23649.

3 years agoMerge pull request #24074 from yuwata/network-dhcp6-rapid-commit
Yu Watanabe [Fri, 22 Jul 2022 23:10:01 +0000 (08:10 +0900)] 
Merge pull request #24074 from yuwata/network-dhcp6-rapid-commit

network: dhcp6: re-introduce RapidCommit= setting

3 years agomanager: limit access to private dbus socket
Zbigniew Jędrzejewski-Szmek [Fri, 22 Jul 2022 09:45:12 +0000 (11:45 +0200)] 
manager: limit access to private dbus socket

For the system manager, /run/systemd/private is publicly accessible, because
/run/systemd is 0755, and /run/systemd/private is 0777. For the user manager,
/run/user/<uid> is 0700, and /run/user/<uid>/systemd/private is 0777. This
does not directly cause any security issue because we check the sender in
bus_check_peercred (ucred.uid != 0 && ucred.uid != geteuid()).

But it makes sense to limit access to the socket to avoid wasting time in PID1.
Somebody could send messages there that'd we'd reject anyway. It also makes
things more explicit.

3 years agotests: add a simple test that checks what fexecve_or_execve does
Zbigniew Jędrzejewski-Szmek [Fri, 22 Jul 2022 09:04:01 +0000 (11:04 +0200)] 
tests: add a simple test that checks what fexecve_or_execve does

This can be easily used to show that the issue described in
ceedbf8185fc7593366679f02d31da63af8c4bd1 is still reproduced:

$ strace -e execveat build/test-execve /bin/grep Name /proc/self/status
execveat(3, "", ["/bin/grep", "Name", "/proc/self/status"], NULL, AT_EMPTY_PATH) = 0
Name: 3

3 years agoudev: enable BLKID_SUBLKS_FSINFO tags
Andrey Albershteyn [Fri, 8 Jul 2022 20:19:48 +0000 (22:19 +0200)] 
udev: enable BLKID_SUBLKS_FSINFO tags

libblkid gained new tags - FSSIZE, FSLASTBLOCK and FSBLOCKSIZE.
These tags are filesystem related properties probed from superblock.
All of them are enabled by BLKID_SUBLKS_FSINFO flag.

Set the flag to allow these tags to be cached in udev db.

3 years agotest: wait for user service or slice to be finished
Yu Watanabe [Fri, 22 Jul 2022 06:45:24 +0000 (15:45 +0900)] 
test: wait for user service or slice to be finished

Hopefully fixes #24040.

3 years agoMerge pull request #24084 from pothos/mask-sysext-docs
Luca Boccassi [Fri, 22 Jul 2022 19:02:07 +0000 (20:02 +0100)] 
Merge pull request #24084 from pothos/mask-sysext-docs

man: Sysext docs improvements

3 years agoman: Use correct target type for sysupdate entry
Kai Lueke [Fri, 22 Jul 2022 12:57:55 +0000 (14:57 +0200)] 
man: Use correct target type for sysupdate entry

While Type=file works because it seems to be the default, the line gets
ignored as printed on the stderr output.
Use the correct value "regular-file" for the target type.

3 years agoTODO/NEWS: write down that we intend to remove cgroupsv1 support by EOY 2023
Lennart Poettering [Fri, 22 Jul 2022 15:18:46 +0000 (17:18 +0200)] 
TODO/NEWS: write down that we intend to remove cgroupsv1 support by EOY 2023

After discussions here:

https://lists.freedesktop.org/archives/systemd-devel/2022-July/thread.html

EOY 2023 is apparently what people can agree with, hence let formalize
this in the TODO list, so we don't forget.

3 years agoman: Document mask workaround for sysext images 24084/head
Kai Lueke [Fri, 22 Jul 2022 13:09:21 +0000 (15:09 +0200)] 
man: Document mask workaround for sysext images

A read-only /usr may ship a sysext image by default and the user wants
to opt out. Currently it's not clear how to do this.
Document that a /dev/null symlink in /etc/extensions/ works to "mask" a
sysext image in a folder with lower precedence.

3 years agoman: Do not recommend to overlay files with sysext even if possible
Kai Lueke [Fri, 22 Jul 2022 13:03:12 +0000 (15:03 +0200)] 
man: Do not recommend to overlay files with sysext even if possible

While overlaying files with a sysext can be useful, it may lead to
unexpected problems depending on when a process got started and which
version of the file it gets.
Call out that overlaying files is possible but don't recommend to make
use of it.

3 years agotest-network: add tests for RapidCommit= 24074/head
Yu Watanabe [Fri, 22 Jul 2022 04:23:41 +0000 (13:23 +0900)] 
test-network: add tests for RapidCommit=

3 years agonetwork: dhcp6: re-introduce RapidCommit= setting
Yu Watanabe [Fri, 22 Jul 2022 04:11:20 +0000 (13:11 +0900)] 
network: dhcp6: re-introduce RapidCommit= setting

Previous implementation of disabling rapid commit was broken, and
dropped by 308d01f3c4decf3240ca0c6c7f91049953df7299.

Let's re-introduce the option in the correct way, as some servers seem
to return borked message when the solicit message contain the rapid
commit option.

Closes #24065.

3 years agosd-dhcp6-client: introduce sd_dhcp6_client_set_rapid_commit()
Yu Watanabe [Fri, 22 Jul 2022 04:05:15 +0000 (13:05 +0900)] 
sd-dhcp6-client: introduce sd_dhcp6_client_set_rapid_commit()

3 years agoman: document udevadm lock's exit code
Ulrich Ölmann [Thu, 21 Jul 2022 12:04:49 +0000 (14:04 +0200)] 
man: document udevadm lock's exit code

3 years agoMerge pull request #24073 from yuwata/test-network
Frantisek Sumsal [Fri, 22 Jul 2022 07:31:14 +0000 (07:31 +0000)] 
Merge pull request #24073 from yuwata/test-network

test-network: do not stop/restart udevd and relevant sockets

3 years agotest-network: drop unnecessary call of systemctl 24073/head
Yu Watanabe [Fri, 22 Jul 2022 01:35:58 +0000 (10:35 +0900)] 
test-network: drop unnecessary call of systemctl

As the units are not started at that stage.

3 years agotest-network: drop unnecessary default argument
Yu Watanabe [Fri, 22 Jul 2022 01:34:33 +0000 (10:34 +0900)] 
test-network: drop unnecessary default argument

3 years agotest-network: do not stop/restart udevd and related socket units
Yu Watanabe [Fri, 22 Jul 2022 01:24:09 +0000 (10:24 +0900)] 
test-network: do not stop/restart udevd and related socket units

That's not necessary. Moreover, if the socket units are stopped in
`setUpModule()`, then there exists a short timespan that we cannot call
`udevadm control`, as the control socket may not be opened yet.

If we run whole tests, then the first test is
NetworkctlTests.test_altname, and it calls `udevadm control` in `setUp()`.
Hence, the test may fail.

Fixes https://github.com/systemd/systemd-centos-ci/pull/512#issuecomment-1191591008.

3 years agoMerge pull request #24014 from poettering/tmpfiles-extra-creds
Luca Boccassi [Thu, 21 Jul 2022 10:55:43 +0000 (11:55 +0100)] 
Merge pull request #24014 from poettering/tmpfiles-extra-creds

tmpfiles: accept additional tmpfiles lines via credential

3 years agoMerge pull request #23986 from poettering/cache-selinux-unit-labels
Lennart Poettering [Thu, 21 Jul 2022 08:24:51 +0000 (10:24 +0200)] 
Merge pull request #23986 from poettering/cache-selinux-unit-labels

selinux: make selinux access checks based on unit file contexts read at unit load time

3 years agocoredumpctl: Use BusLocator functions
Alexander Wilson [Wed, 20 Jul 2022 18:02:56 +0000 (11:02 -0700)] 
coredumpctl: Use BusLocator functions

3 years agoMerge pull request #24051 from yuwata/json-fpclassify
Zbigniew Jędrzejewski-Szmek [Thu, 21 Jul 2022 07:35:19 +0000 (09:35 +0200)] 
Merge pull request #24051 from yuwata/json-fpclassify

json: use fpclassify() macro and refuse -ffinite-math-only

3 years agotree-wide: Introduce free_and_replace_full()
Daan De Meyer [Wed, 20 Jul 2022 15:11:34 +0000 (17:11 +0200)] 
tree-wide: Introduce free_and_replace_full()

Let's have all our free_and_replace() functions use a single
implementation.

3 years agomeson: refuse -ffinite-math-only 24051/head
Yu Watanabe [Sun, 17 Jul 2022 20:02:48 +0000 (05:02 +0900)] 
meson: refuse -ffinite-math-only

Closes #23610.

3 years agojson: use fpclassify() or its helper functions
Yu Watanabe [Mon, 18 Jul 2022 19:30:59 +0000 (04:30 +0900)] 
json: use fpclassify() or its helper functions

3 years agomath-util: introduce iszero_safe() and fp_equal()
Yu Watanabe [Mon, 18 Jul 2022 19:28:57 +0000 (04:28 +0900)] 
math-util: introduce iszero_safe() and fp_equal()

3 years agotest: use fabs() as the argument is double
Yu Watanabe [Sun, 17 Jul 2022 19:37:53 +0000 (04:37 +0900)] 
test: use fabs() as the argument is double

This also drop unnecessary cast.

3 years agoMerge pull request #23963 from matoro/main
Lennart Poettering [Wed, 20 Jul 2022 22:10:01 +0000 (00:10 +0200)] 
Merge pull request #23963 from matoro/main

Replace __sync intrinsics with __atomic

3 years agotmpfiles: automatically provision /etc/issue.d/ + /etc/motd.d/ + /etc/hosts from... 24014/head
Lennart Poettering [Fri, 15 Jul 2022 14:33:20 +0000 (16:33 +0200)] 
tmpfiles: automatically provision /etc/issue.d/ + /etc/motd.d/ + /etc/hosts from credentials

3 years agoman: split out "Type Modifiers" section from "Types" section in tmpfiles.d docs
Lennart Poettering [Fri, 15 Jul 2022 14:23:56 +0000 (16:23 +0200)] 
man: split out "Type Modifiers" section from "Types" section in tmpfiles.d docs

I had trouble finding the right paragraphs, so I guess others might have
too. Hence let's add a tiny bit more structure by separating these two
parts out.

3 years agotmpfiles: add ^ line modifier for loading file contents from specific credential
Lennart Poettering [Wed, 13 Jul 2022 12:55:45 +0000 (14:55 +0200)] 
tmpfiles: add ^ line modifier for loading file contents from specific credential

3 years agotmpfiles: accept additional tmpfiles lines via credential
Lennart Poettering [Wed, 13 Jul 2022 09:32:39 +0000 (11:32 +0200)] 
tmpfiles: accept additional tmpfiles lines via credential

3 years agoselinux: include precise low-level error string in returned D-Bus errors 23986/head
Lennart Poettering [Tue, 12 Jul 2022 14:23:02 +0000 (16:23 +0200)] 
selinux: include precise low-level error string in returned D-Bus errors

3 years agocore: cache unit file selinux label, and make decisions based on that
Lennart Poettering [Tue, 12 Jul 2022 14:13:40 +0000 (16:13 +0200)] 
core: cache unit file selinux label, and make decisions based on that

Do not go back to disk on each selinux access, but instead cache the
label off the inode we are actually reading. That way unit file contents
and unit file label we use for access checks are always in sync.

Based on discussions here:

https://github.com/systemd/systemd/pull/10023#issuecomment-1179835586

Replaces:

https://github.com/systemd/systemd/pull/23910

This changes behaviour a bit, because we'll reach and cache the label at
the moment of loading the unit (i.e. usually on boot and reload), but
not after relabelling. Thus, users must refresh the cache explicitly via
a "systemctl daemon-reload" if they relabelled things.

This makes the SELinux story a bit more debuggable, as it adds an
AccessSELinuxContext bus property to units that will report the label we are
using for a unit (or the empty string if not known).

This also drops using the "source" path of a unit as label source. if
there's value in it, then generators should manually copy the selinux
label from the source files onto the generated unit files, so that the
rule that "access labels are read when we read the definition files" is
upheld. But I am not convinced this is really a necessary, good idea.

3 years agoMerge pull request #23640 from cerebro1/week1
Luca Boccassi [Wed, 20 Jul 2022 17:07:22 +0000 (18:07 +0100)] 
Merge pull request #23640 from cerebro1/week1

Estimate battery level

3 years agosleep: store battery discharge rate/hour with hash 23640/head
Sonali Srivastava [Wed, 20 Jul 2022 09:17:04 +0000 (14:47 +0530)] 
sleep: store battery discharge rate/hour with hash

Estimated battery discharge rate per hour is stored in :
/var/lib/systemd/sleep/battery_discharge_percentage_rate_per_hour

This value is used to determine the initial suspend interval. In case
this file is not available or value is invalid, HibernateDelaySec
interval is used.
After wakeup from initial suspend, this value is again estimated and
written to file if value is in range of 1-199.

Logs for reference : HibernateDelaySec=15min
- Updated in /etc/systemd/sleep.conf

Jul 14 19:17:58 localhost systemd-sleep[567]: Current battery charge
percentage: 100%
Jul 14 19:17:58 localhost systemd-sleep[567]: Failed to read discharge
rate from /var/lib/systemd/sleep/batt
ery_discharge_percentage_rate_per_hour: No such file or directory
Jul 14 19:17:58 localhost systemd-sleep[567]: Set timerfd wake alarm
for 15min
Jul 14 19:33:00 localhost systemd-sleep[567]: Current battery charge
percentage after wakeup: 90%
Jul 14 19:33:00 localhost systemd-sleep[567]: Attempting to estimate
battery discharge rate after wakeup from 15min sleep
Jul 14 19:33:00 localhost systemd-sleep[567]: product_id does not
exist: No such file or directory
Jul 14 19:33:00 localhost systemd-sleep[567]: Estimated discharge rate
39 successfully updated to
/var/lib/systemd/sleep/battery_discharge_percentage_rate_per_hour
Jul 14 19:33:00 localhost systemd-sleep[567]: Current battery charge
percentage: 90%
Jul 14 19:33:00 localhost systemd-sleep[567]: product_id does not
exist: No such file or directory
Jul 14 19:33:00 localhost systemd-sleep[567]: Set timerfd wake alarm
for 1h 48min 27s
Jul 14 21:21:30 localhost systemd-sleep[567]: Current battery charge
percentage after wakeup: 90%
Jul 14 21:21:30 localhost systemd-sleep[567]: Battery was not
discharged during suspension

3 years agosleep: use current charge level to decide suspension
Sonali Srivastava [Fri, 15 Jul 2022 02:26:30 +0000 (07:56 +0530)] 
sleep: use current charge level to decide suspension

If battery current charge percentage is below 5% hibernate directly.
Else initial suspend interval is set for HibernateDelaySec. On wakeup
estimate battery discharge rate per hour and if battery charge
percentage is not below 5% system is suspended else hibernated.

3 years agotree-wide: fix typo
Yu Watanabe [Wed, 20 Jul 2022 04:15:37 +0000 (13:15 +0900)] 
tree-wide: fix typo

3 years agoupdate TODO
Lennart Poettering [Tue, 19 Jul 2022 20:33:08 +0000 (22:33 +0200)] 
update TODO

3 years agomkosi: Silence gdb debuginfo messages/prompts
Daan De Meyer [Tue, 19 Jul 2022 11:45:24 +0000 (13:45 +0200)] 
mkosi: Silence gdb debuginfo messages/prompts

Let's silence gdb asking about debuginfod and complaining about
missing debuginfo to reduce friction when using mkosi to work
on systemd.

3 years agoman: Miscellaneous fixes
Jan Janssen [Tue, 19 Jul 2022 08:57:33 +0000 (10:57 +0200)] 
man: Miscellaneous fixes

Fixes: #24056
3 years agopo: Translated using Weblate (Korean)
김인수 [Mon, 18 Jul 2022 15:19:05 +0000 (17:19 +0200)] 
po: Translated using Weblate (Korean)

Currently translated at 100.0% (189 of 189 strings)

Co-authored-by: 김인수 <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/ko/
Translation: systemd/main

3 years agoMerge pull request #24025 from DaanDeMeyer/mkosi-sanitizers
Evgeny Vereshchagin [Mon, 18 Jul 2022 16:24:51 +0000 (19:24 +0300)] 
Merge pull request #24025 from DaanDeMeyer/mkosi-sanitizers

mkosi: Changes to allow booting with sanitizers in mkosi

3 years agomkosi: Remove usage of deprecated option names/sections 24025/head
Daan De Meyer [Mon, 18 Jul 2022 10:43:37 +0000 (12:43 +0200)] 
mkosi: Remove usage of deprecated option names/sections

3 years agomkosi: Changes to allow booting with sanitizers in mkosi
Daan De Meyer [Fri, 15 Jul 2022 00:26:52 +0000 (02:26 +0200)] 
mkosi: Changes to allow booting with sanitizers in mkosi

- Extra memory because ASAN needs it
- The environment variables to make the sanitizers more useful
- LD_PRELOAD because the ASAN DSO needs to be the first in the list
- The sanitizer library packages
- Disable syscall filters because they interfere with ASAN
- Disable systemd-hwdb-update because it's super slow when systemd-hwdb
  is built with sanitizers
- Take the value for meson's b_sanitize option from the SANITIZERS
  environment variable

3 years agoman/system-or-user-ns.xml: explicitly refer to `PrivateUsers=` option
Ansgar Burchardt [Mon, 18 Jul 2022 12:13:40 +0000 (14:13 +0200)] 
man/system-or-user-ns.xml: explicitly refer to `PrivateUsers=` option

It is not clear what "unprivileged user namespaces are available" means.
It could mean either that they are only usable, that is, enabled in the kernel,
or they have been enabled for the specific service. Referring to the
`PrivateUsers=` options makes it clear that the latter is meant.

3 years agoMerge pull request #24001 from yuwata/network-lifetime-fix
Luca Boccassi [Mon, 18 Jul 2022 09:02:02 +0000 (10:02 +0100)] 
Merge pull request #24001 from yuwata/network-lifetime-fix

network: fixes for lifetime handling

3 years agomkosi: Update Ubuntu config to 22.04
Daan De Meyer [Sun, 17 Jul 2022 21:52:23 +0000 (23:52 +0200)] 
mkosi: Update Ubuntu config to 22.04