]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
14 months agoMerge pull request #26556 from keszybz/list-timers-optimize-left
Zbigniew Jędrzejewski-Szmek [Thu, 23 Feb 2023 10:37:48 +0000 (11:37 +0100)] 
Merge pull request #26556 from keszybz/list-timers-optimize-left

Do not say " left" on every timer in LEFT column

14 months agoMerge pull request #26458 from yuwata/core-network-namespace-remount-sysfs
Lennart Poettering [Thu, 23 Feb 2023 08:44:06 +0000 (09:44 +0100)] 
Merge pull request #26458 from yuwata/core-network-namespace-remount-sysfs

core: remount sysfs when network and mount namespace are enabled

14 months agosd-event: fix error handling
Yu Watanabe [Wed, 22 Feb 2023 22:31:01 +0000 (07:31 +0900)] 
sd-event: fix error handling

Follow-up for 6d2326e036ceed30f9ccdb0266713c10a44dcf6c.

14 months agoMerge pull request #26559 from yuwata/sd-event-memory-pressure-follow-ups
Lennart Poettering [Thu, 23 Feb 2023 08:27:20 +0000 (09:27 +0100)] 
Merge pull request #26559 from yuwata/sd-event-memory-pressure-follow-ups

sd-event: follow-ups for memory pressure event source

14 months agotest-execute: add test for PrivateNetwork= with/without mount namespacing 26458/head
Yu Watanabe [Fri, 17 Feb 2023 05:26:29 +0000 (14:26 +0900)] 
test-execute: add test for PrivateNetwork= with/without mount namespacing

14 months agocore/namespace: mount new sysfs when new network namespace is requested
Yu Watanabe [Fri, 17 Feb 2023 04:50:17 +0000 (13:50 +0900)] 
core/namespace: mount new sysfs when new network namespace is requested

Even when a mount namespace is created, previously host's sysfs is used,
especially with RootDirectory= or RootImage=, thus service processes can
still access the properties of the network interfaces in the main network
namespace through sysfs.

This makes, sysfs is remounted with the new network namespace tag, except
when PrivateMounts= is explicitly disabled. Hence, the properties of the
network interfaces in the main network namespace cannot be accessed by
service processes through sysfs.

Fixes #26422.

14 months agocore/namespace: introduce a new namespace mount mode PRIVATE_SYSFS
Yu Watanabe [Sat, 18 Feb 2023 00:44:43 +0000 (09:44 +0900)] 
core/namespace: introduce a new namespace mount mode PRIVATE_SYSFS

This is useful when a service running with a new network namespace.

The mount mode is not used yet, but will be used in a later commit.

14 months agocore/namespace: rename SYSFS -> BIND_SYSFS
Yu Watanabe [Fri, 17 Feb 2023 22:12:37 +0000 (07:12 +0900)] 
core/namespace: rename SYSFS -> BIND_SYSFS

No functional change, just preparation for later commits.

14 months agomount-util: introduce remount_sysfs()
Yu Watanabe [Fri, 17 Feb 2023 23:45:24 +0000 (08:45 +0900)] 
mount-util: introduce remount_sysfs()

This is useful when creating a new network namespace. Unlike procfs,
we need to remount sysfs, otherwise properties of the network interfaces
in the main network namespace are still accessible through the old sysfs,
e.g. /sys/class/net/eth0. All sub-mounts previously mounted on the sysfs
are moved onto the new sysfs mount.

The function will be used in later commits.

14 months agocore/execute: make PrivateMounts= tristate
Yu Watanabe [Fri, 17 Feb 2023 06:35:48 +0000 (15:35 +0900)] 
core/execute: make PrivateMounts= tristate

No functional change, just preparation for later commits.

14 months agocore/dbus-util: introduce bus_set_transient_tristate()
Yu Watanabe [Fri, 17 Feb 2023 06:33:13 +0000 (15:33 +0900)] 
core/dbus-util: introduce bus_set_transient_tristate()

This will be used in later commits.

14 months agobus-util: introduce bus_property_get_tristate()
Yu Watanabe [Fri, 17 Feb 2023 06:32:39 +0000 (15:32 +0900)] 
bus-util: introduce bus_property_get_tristate()

This will be used in later commits.

14 months agocore/execute: introduce exec_needs_ipc_namespace() helper function
Yu Watanabe [Fri, 17 Feb 2023 22:07:50 +0000 (07:07 +0900)] 
core/execute: introduce exec_needs_ipc_namespace() helper function

This also fixes a missing condition in exec_runtime_make().

14 months agocore/execute: introduce exec_needs_network_namespace() helper function
Yu Watanabe [Fri, 17 Feb 2023 06:32:02 +0000 (15:32 +0900)] 
core/execute: introduce exec_needs_network_namespace() helper function

14 months agocore/namespace: drop unused field in NamespaceInfo
Yu Watanabe [Fri, 17 Feb 2023 05:58:22 +0000 (14:58 +0900)] 
core/namespace: drop unused field in NamespaceInfo

14 months agoMerge pull request #26555 from poettering/cleanup-array
Yu Watanabe [Thu, 23 Feb 2023 06:08:56 +0000 (15:08 +0900)] 
Merge pull request #26555 from poettering/cleanup-array

add gcc cleanup attribute based logic to destroy arrays

14 months agotree-wide: port various things over to CLEANUP_ARRAY() 26555/head
Lennart Poettering [Wed, 22 Feb 2023 22:12:53 +0000 (23:12 +0100)] 
tree-wide: port various things over to CLEANUP_ARRAY()

14 months agomemory-util: add a concept for gcc cleanup attribute based array destruction
Lennart Poettering [Wed, 22 Feb 2023 22:10:25 +0000 (23:10 +0100)] 
memory-util: add a concept for gcc cleanup attribute based array destruction

14 months agosd-event: fix error handling 26559/head
Yu Watanabe [Thu, 23 Feb 2023 02:04:44 +0000 (11:04 +0900)] 
sd-event: fix error handling

Follow-up for 158fe190afe37b222c9dc2c53bd7be426b92ef89.

14 months agosd-event: fix use of uninitialized variable
Yu Watanabe [Thu, 23 Feb 2023 02:03:17 +0000 (11:03 +0900)] 
sd-event: fix use of uninitialized variable

Follow-up for 158fe190afe37b222c9dc2c53bd7be426b92ef89.

Fixes CID#1505670.

14 months agoMerge pull request #26557 from poettering/more-cap-utils
Yu Watanabe [Thu, 23 Feb 2023 01:44:53 +0000 (10:44 +0900)] 
Merge pull request #26557 from poettering/more-cap-utils

new helper for cap-list.[ch] + capability-util.[ch]

14 months agoMerge pull request #26542 from medhefgo/boot-device-path
Yu Watanabe [Thu, 23 Feb 2023 01:26:40 +0000 (10:26 +0900)] 
Merge pull request #26542 from medhefgo/boot-device-path

boot: Misc device path improvements

14 months agosd-event: always initialize sd_event.perturb
Yu Watanabe [Wed, 22 Feb 2023 22:31:01 +0000 (07:31 +0900)] 
sd-event: always initialize sd_event.perturb

If the boot ID cannot be obtained, let's first fallback to the machine
ID, and if still cannot, then let's use 0.
Otherwise, no timer event source cannot be triggered.

Fixes #26549.

14 months agoexecute: modernizations
Lennart Poettering [Wed, 22 Feb 2023 12:06:11 +0000 (13:06 +0100)] 
execute: modernizations

14 months agotree-wide: use unlink_and_freep() moreover
Lennart Poettering [Wed, 22 Feb 2023 22:13:31 +0000 (23:13 +0100)] 
tree-wide: use unlink_and_freep() moreover

14 months agocapability-util: add new capability_get_ambient() helper 26557/head
Lennart Poettering [Wed, 22 Feb 2023 12:05:44 +0000 (13:05 +0100)] 
capability-util: add new capability_get_ambient() helper

14 months agocap-list: add capability_set_to_string_negative()
Lennart Poettering [Wed, 22 Feb 2023 12:05:07 +0000 (13:05 +0100)] 
cap-list: add capability_set_to_string_negative()

14 months agocap-list: add capability_set_to_strv()
Lennart Poettering [Mon, 20 Feb 2023 10:46:08 +0000 (11:46 +0100)] 
cap-list: add capability_set_to_strv()

14 months agosystemctl: make list-timers not say "left" in "LEFT" column 26556/head
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 22:42:17 +0000 (23:42 +0100)] 
systemctl: make list-timers not say "left" in "LEFT" column

We would print:
NEXT                        LEFT          LAST                        PASSED        UNIT                           >
Wed 2023-02-22 23:55:00 CET 20min left    Wed 2023-02-22 23:25:00 CET 9min ago      pmlogger_check.timer           >
Wed 2023-02-22 23:55:10 CET 21min left    Wed 2023-02-22 23:25:16 CET 8min ago      pmlogger_farm_check.timer      >
Wed 2023-02-22 23:58:00 CET 23min left    Wed 2023-02-22 23:28:02 CET 6min ago      pmie_check.timer               >
Wed 2023-02-22 23:58:10 CET 24min left    Wed 2023-02-22 23:28:11 CET 5min ago      pmie_farm_check.timer          >
Thu 2023-02-23 00:00:00 CET 25min left    Wed 2023-02-22 00:00:10 CET 23h ago       logrotate.timer                >
Thu 2023-02-23 00:00:00 CET 25min left    Wed 2023-02-22 00:00:10 CET 23h ago       unbound-anchor.timer           >
Thu 2023-02-23 00:08:00 CET 33min left    Wed 2023-02-22 00:08:05 CET 23h ago       pmie_daily.timer               >
Thu 2023-02-23 00:10:00 CET 35min left    Wed 2023-02-22 00:10:03 CET 23h ago       pmlogger_daily.timer           >
Thu 2023-02-23 00:14:14 CET 40min left    Wed 2023-02-22 22:35:09 CET 58min ago     dnf-makecache.timer            >
Thu 2023-02-23 05:05:04 CET 5h 30min left Wed 2023-02-22 03:29:00 CET 20h ago       plocate-updatedb.timer         >
Thu 2023-02-23 11:34:34 CET 12h left      Wed 2023-02-22 11:34:33 CET 11h ago       systemd-tmpfiles-clean.timer   >
Sun 2023-02-26 01:00:00 CET 3 days left   Mon 2023-02-20 07:51:59 CET 2 days ago    raid-check.timer               >
Mon 2023-02-27 00:19:48 CET 4 days left   Mon 2023-02-20 07:51:59 CET 2 days ago    fstrim.timer                   >
Mon 2023-02-27 12:34:36 CET 4 days left   Tue 2023-02-21 08:22:14 CET 1 day 15h ago archlinux-keyring-wkd-sync.time>

The "left" part uses precious screen estate and is pretty much implied
by the column name. Drop it.

14 months agoshared/format-table: optionally print timestamps without "left"
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 22:40:04 +0000 (23:40 +0100)] 
shared/format-table: optionally print timestamps without "left"

This just adds the base functionality and some unit tests.
With TABLE_TIMESTAMP_RELATIVE we print "5s ago" and "5s left",
with the new TABLE_TIMESTAMP_LEFT, we print "5s ago" but "5s".
This is more useful for cases where we generally only want to
print timestamps in the future.

14 months agosd-journal: fix build with older glibc
Frantisek Sumsal [Wed, 22 Feb 2023 19:43:52 +0000 (20:43 +0100)] 
sd-journal: fix build with older glibc

In older glibc (like 2.28 on CentOS Stream 8) there is no wrapper
for the gettid() syscall, so we need to provide our own.

../src/libsystemd/sd-journal/journal-send.c: In function ‘close_journal_fd’:
../src/libsystemd/sd-journal/journal-send.c:88:25: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration]
         if (getpid() != gettid())
                         ^~~~~~
                         getgid
../src/libsystemd/sd-journal/journal-send.c:88:25: warning: nested extern declaration of ‘gettid’ [-Wnested-externs]
cc1: some warnings being treated as errors

Follow-up to 50b35193ec.

14 months agoboot: Take advantage of packed device paths 26542/head
Jan Janssen [Sat, 7 Jan 2023 11:03:28 +0000 (12:03 +0100)] 
boot: Take advantage of packed device paths

Now that device path types are marked as packed we can safely cast and
access them. If we ever take the address of a member, we would get a
compiler warning.

14 months agoboot: Add GUID format helper macro
Jan Janssen [Wed, 22 Feb 2023 14:19:14 +0000 (15:19 +0100)] 
boot: Add GUID format helper macro

14 months agoboot: Move more device path helpers to device-path-util.c
Jan Janssen [Sat, 7 Jan 2023 10:58:14 +0000 (11:58 +0100)] 
boot: Move more device path helpers to device-path-util.c

This also renames them to stay consistent with our naming style.

14 months agoboot: Remove some device path helper macros
Jan Janssen [Sat, 7 Jan 2023 10:46:41 +0000 (11:46 +0100)] 
boot: Remove some device path helper macros

In gnu-efi/EDK2 device paths are not marked as packed and instead the
Length field is split into 2 bytes. Accessing those requires these
helper macros as device paths may be unaligned.

Since our own efi headers define device path structs as packed, we can
access these directly, making code much more readable.

14 months agoboot: Split out device path functions
Jan Janssen [Sat, 7 Jan 2023 10:39:07 +0000 (11:39 +0100)] 
boot: Split out device path functions

No code changes aside from renaming path_replace_hd() and making its
parameter take any device path node type.

14 months agoboot: Move disk_get_part_uuid into part-discovery.c
Jan Janssen [Sat, 7 Jan 2023 10:21:56 +0000 (11:21 +0100)] 
boot: Move disk_get_part_uuid into part-discovery.c

Thematically, they are similar and disk.c is awfully small to warrant
the separation.

14 months agoMerge pull request #26540 from poettering/systemctl-list-tweaks
Lennart Poettering [Wed, 22 Feb 2023 20:19:40 +0000 (21:19 +0100)] 
Merge pull request #26540 from poettering/systemctl-list-tweaks

small tweaks to "systemctl list-automounts" + "systemctl list-timers" tabular output

14 months agotest: add coverage for #24177
Frantisek Sumsal [Wed, 22 Feb 2023 15:43:42 +0000 (16:43 +0100)] 
test: add coverage for #24177

Original issue: https://bugzilla.redhat.com/show_bug.cgi?id=1985288

14 months agosmack-util: Fix compilation error when smack is disabled
Daan De Meyer [Wed, 22 Feb 2023 14:47:54 +0000 (15:47 +0100)] 
smack-util: Fix compilation error when smack is disabled

14 months agosystemctl: read 64bit integers into uint64_t 26540/head
Lennart Poettering [Wed, 22 Feb 2023 18:00:28 +0000 (19:00 +0100)] 
systemctl: read 64bit integers into uint64_t

usec_t is also a uint64_t internally, hence this doesn't actually change
anything. However, on the conceptual level, sd-bus expects a uint64_t
hence give it one.

14 months agosystemctl: suppress timeout display if unset in list-automounts
Lennart Poettering [Wed, 22 Feb 2023 12:42:02 +0000 (13:42 +0100)] 
systemctl: suppress timeout display if unset in list-automounts

If the timeout is zero it's not set, let's suppress the output then.

14 months agosystemctl: right-align left/passed columns in list-timers
Lennart Poettering [Wed, 22 Feb 2023 12:40:53 +0000 (13:40 +0100)] 
systemctl: right-align left/passed columns in list-timers

Timespans are probably best right-aligned, in particular if they
systematically end in either " ago" or " left" because they are used as
"relative timestamps".

14 months agoMerge pull request #26448 from poettering/sd-event-mempress
Lennart Poettering [Wed, 22 Feb 2023 15:23:59 +0000 (16:23 +0100)] 
Merge pull request #26448 from poettering/sd-event-mempress

sd-event: add memory pressure event source

14 months agosystemctl: warn if units disabled in user scope are still enabled globally
Mike Yuan [Sun, 12 Feb 2023 13:08:28 +0000 (21:08 +0800)] 
systemctl: warn if units disabled in user scope are still enabled globally

Fixes #18271

14 months agosystemctl: show "Until:" field only for service and scope units
Yu Watanabe [Wed, 22 Feb 2023 04:26:28 +0000 (13:26 +0900)] 
systemctl: show "Until:" field only for service and scope units

Only service and scope units have RuntimeMaxUSec bus property.
To suppress the "Until:" field for other unit types, the entry must be
initialized with USEC_INFINITY.

Fixes #26473.

14 months agoMerge pull request #26528 from keszybz/valgrind-simplification
Yu Watanabe [Wed, 22 Feb 2023 14:04:12 +0000 (23:04 +0900)] 
Merge pull request #26528 from keszybz/valgrind-simplification

Drop the -Dvalgrind configuration option

14 months agoMerge pull request #26500 from DaanDeMeyer/repart-mountpoints
Daan De Meyer [Wed, 22 Feb 2023 13:25:45 +0000 (14:25 +0100)] 
Merge pull request #26500 from DaanDeMeyer/repart-mountpoints

repart: Several CopyFiles= improvements

14 months agoman: document the new sd_event_add_memory_pressure() API 26448/head
Lennart Poettering [Thu, 16 Feb 2023 16:24:28 +0000 (17:24 +0100)] 
man: document the new sd_event_add_memory_pressure() API

14 months agotest: add test for new memory pressure logic
Lennart Poettering [Fri, 10 Feb 2023 12:29:58 +0000 (13:29 +0100)] 
test: add test for new memory pressure logic

it tests both real PSI stuff (if available) and fake pressure via
AF_UNIX and FIFO notification.

14 months agosd-event: add high-level sd_event_add_memory_pressure() event source
Lennart Poettering [Fri, 10 Feb 2023 15:44:24 +0000 (16:44 +0100)] 
sd-event: add high-level sd_event_add_memory_pressure() event source

Typically, in reasonably complex programs we want to realease various
caches (such as glibc allocation caches) in case of memory pressure.
Let's add explicit infrastructure for that to sd-event, that can hook
Linux' Pressure Stall Information (PSI) logic with our event loop.

This adds sd_event_add_memory_pressure() as easy, one-step API to
install an even source that is called under memory pressure.

The parameters which file to watch (the per-cgroup PSI file, or the
system-wide file /proc/pressure/memory) can be configured via env vars.
The idea is that the service manager sooner or later gains controls for
setting this up correctly.

Alternatively to the PSI a similar logic is supported but instead of
waiting for POLLPRI on a procfs/cgroupfs fd we'll wait for POLLIN on
FIFO or AF_UNIX sockets. This is useful for testing, and possibly in
other environments, for example to hook up this protocol directly with
GNOME's low memory monitor.

By default this watches on the cgroup-local PSI so that we aren't
affected by pressure on cgroups we are not related to.

14 months agorepart: Exclude APIVFS mountpoint directories 26500/head
Daan De Meyer [Mon, 20 Feb 2023 15:39:34 +0000 (16:39 +0100)] 
repart: Exclude APIVFS mountpoint directories

Also exclude APIVFS and temporary files directories from the copy
operation so that these files don't accidentally end up in images.

14 months agocopy: Support both inode exclusion and contents exclusion
Daan De Meyer [Mon, 20 Feb 2023 19:30:44 +0000 (20:30 +0100)] 
copy: Support both inode exclusion and contents exclusion

In some cases, we want to exclude a directory's contents but not
the directory itself. In other cases, we want to exclude a directory
and its contents. Let's extend the denylist logic in copy.h to support
both by changing the denylist from a set to hashmap so we can store the
deny type as the value.

We also modify the repart ExcludeFiles= option to make use of this. If
a directory to exclude ends with a "/", we'll only exclude its contents.
Otherwise, we'll exclude the full directory.

14 months agorepart: Refactor make_copy_files_denylist() a bit
Daan De Meyer [Mon, 20 Feb 2023 15:18:08 +0000 (16:18 +0100)] 
repart: Refactor make_copy_files_denylist() a bit

14 months agotest-set: inline two iterator declarations 26528/head
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:15:22 +0000 (11:15 +0100)] 
test-set: inline two iterator declarations

14 months agosd-journal: use a dynamic check for valgrind
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:35:25 +0000 (11:35 +0100)] 
sd-journal: use a dynamic check for valgrind

I left this one as a separate commit because it is more involved.
We want people to compile with valgrind support, but we don't want to
use a slow hash function unless we're actually running under valgrind.
So the compile-time check is changed to a runtime check. When compiled
with optimization, the compiler should elide the checks on the constants,
and only leave the check for RUNNING_ON_VALGRIND. It is wrapped with
_unlikely_ so that the else branch is put in the hot path.

14 months agomeson: merge our two valgrind configuration conditions into one
Zbigniew Jędrzejewski-Szmek [Tue, 21 Feb 2023 18:59:57 +0000 (19:59 +0100)] 
meson: merge our two valgrind configuration conditions into one

Most of the support for valgrind was under HAVE_VALGRIND_VALGRIND_H, i.e. we
would enable if the valgrind headers were found. The operations then we be
conditionalized on RUNNING_UNDER_VALGRIND.

But in a few places we had code which was conditionalized on VALGRIND, i.e. the
config option. I noticed because I compiled with -Dvalgrind=true on a machine
that didn't have valgrind.h, and the build failed because
RUNNING_UNDER_VALGRIND was not defined. My first idea was to add a check that
the header is present if the option is set, but it seems better to just remove
the option. The code to support valgrind is trivial, and if we're
!RUNNING_UNDER_VALGRIND, it has negligible cost. And the case of running under
valgrind is always some special testing/debugging mode, so we should just do
those extra steps to make valgrind output cleaner. Removing the option makes
things simpler and we don't have to think if something should be covered by the
one or the other configuration bit.

I had a vague recollection that in some places we used -Dvalgrind=true not
for valgrind support, but to enable additional cleanup under other sanitizers.
But that code would fail to build without the valgrind headers anyway, so
I'm not sure if that was still used. If there are uses like that, we can
extend the condition for cleanup_pools().

14 months agotest-set: drop left-over valgrind check
Zbigniew Jędrzejewski-Szmek [Wed, 22 Feb 2023 10:13:48 +0000 (11:13 +0100)] 
test-set: drop left-over valgrind check

In b01f31954f1c7c4601925173ae2638b572224e9a mempool_use_allowed
was dropped, but apparently it was forgotten here.

14 months agohwdb: fix swapped buttons for Logitech Lift left
Vít Zikmund [Wed, 22 Feb 2023 07:27:17 +0000 (08:27 +0100)] 
hwdb: fix swapped buttons for Logitech Lift left

14 months agotest: add another stress test for devlink creation
Yu Watanabe [Mon, 16 Jan 2023 02:00:04 +0000 (11:00 +0900)] 
test: add another stress test for devlink creation

14 months agotree-wide: fix typo
Yu Watanabe [Wed, 22 Feb 2023 05:46:19 +0000 (14:46 +0900)] 
tree-wide: fix typo

14 months agoMerge pull request #26203 from medhefgo/meson
Yu Watanabe [Wed, 22 Feb 2023 01:27:16 +0000 (10:27 +0900)] 
Merge pull request #26203 from medhefgo/meson

meson: Use dicts for test/fuzzer definitions

14 months agoMerge pull request #26529 from medhefgo/boot-misc
Yu Watanabe [Wed, 22 Feb 2023 01:16:23 +0000 (10:16 +0900)] 
Merge pull request #26529 from medhefgo/boot-misc

boot: Misc changes

14 months agoMerge pull request #26491 from dtardon/list-paths
Yu Watanabe [Wed, 22 Feb 2023 00:29:54 +0000 (09:29 +0900)] 
Merge pull request #26491 from dtardon/list-paths

Add systemctl list-paths

14 months agopo: Translated using Weblate (Lithuanian)
mooo [Tue, 21 Feb 2023 23:20:58 +0000 (00:20 +0100)] 
po: Translated using Weblate (Lithuanian)

Currently translated at 78.2% (151 of 193 strings)

Co-authored-by: mooo <hazap@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/lt/
Translation: systemd/main

14 months agoMerge pull request #26527 from mrc0mmand/more-tests
Yu Watanabe [Tue, 21 Feb 2023 23:01:07 +0000 (08:01 +0900)] 
Merge pull request #26527 from mrc0mmand/more-tests

test: provide coverage for #26467 and #26483

14 months agosocket-proxyd: support Type=notify
Дамјан Георгиевски [Wed, 1 Feb 2023 16:13:45 +0000 (17:13 +0100)] 
socket-proxyd: support Type=notify

update examples in the man page too

14 months agoMerge pull request #26349 from yuwata/safe-fork-rearrange-stdio
Luca Boccassi [Tue, 21 Feb 2023 22:58:52 +0000 (22:58 +0000)] 
Merge pull request #26349 from yuwata/safe-fork-rearrange-stdio

process-util: introduce FORK_REARRANGE_STDIO

14 months agopam-systemd: split up weight helper funcs
Lennart Poettering [Fri, 17 Feb 2023 21:48:50 +0000 (22:48 +0100)] 
pam-systemd: split up weight helper funcs

There are three conditionalizations in the status quo ante function,
which kinda indicates this should not be the same function in the first
place. Hence split this up, simplify it, and have two distinct functions
without conditionalizations.

14 months agojournal: move journal_file_compare_locations() from journal-file.c → sd-journal.c
Lennart Poettering [Wed, 8 Feb 2023 10:16:05 +0000 (11:16 +0100)] 
journal: move journal_file_compare_locations() from journal-file.c → sd-journal.c

It's only used from sd-journal.c, and we soon would like to pass in an
sd_journal object, hence let's move this over.

This only moves code, doesn't change behaviour

14 months agoboot: Drop _harder suffix 26529/head
Jan Janssen [Sat, 7 Jan 2023 10:06:33 +0000 (11:06 +0100)] 
boot: Drop _harder suffix

Since there is no use of gnu-efi functions anymore, we don't need to
distinguish them by name.

14 months agoboot: Do not use errno.h/inttypes.h
Jan Janssen [Sat, 7 Jan 2023 08:19:23 +0000 (09:19 +0100)] 
boot: Do not use errno.h/inttypes.h

These are provided by libc instead of the compiler and are not supposed
to be used in freestanding environments.
When cross-compiling with clang and the corresponding gcc
cross-toolchain is not around, clang may pick up the wrong header from
the host system.

14 months agofundamental: Drop some unnecessary ifdefs
Jan Janssen [Sat, 7 Jan 2023 08:14:41 +0000 (09:14 +0100)] 
fundamental: Drop some unnecessary ifdefs

With gnu-efi headers gone, we don't need these guards anymore.

14 months agoEnable TPM by default with SetCredentialEncrypted
Aidan Dang [Tue, 21 Feb 2023 13:02:31 +0000 (00:02 +1100)] 
Enable TPM by default with SetCredentialEncrypted

14 months agostub: Fix unaligned read
Jan Janssen [Tue, 21 Feb 2023 17:05:10 +0000 (18:05 +0100)] 
stub: Fix unaligned read

14 months agoMerge pull request #26446 from medhefgo/efi-headers
Zbigniew Jędrzejewski-Szmek [Tue, 21 Feb 2023 19:59:33 +0000 (20:59 +0100)] 
Merge pull request #26446 from medhefgo/efi-headers

boot: Provide our own EFI API headers

14 months agoefi: drop executable-stack bit from .elf file
Zbigniew Jędrzejewski-Szmek [Tue, 21 Feb 2023 08:16:29 +0000 (09:16 +0100)] 
efi: drop executable-stack bit from .elf file

An rpminspect test in Fedora/RHEL is flagging our stub files as having an
executable stack. The check is correct:

$ readelf --wide --program-headers build/src/boot/efi/linuxx64.elf.stub | rg -i stack
  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RWE 0x10

It seems to be just an omission in the linker script… None of the objects that
are linked into the stub are marked as requiring an executable stack:

$ readelf --wide --sections build/src/boot/efi/*.c.o \
  /usr/lib/gnuefi/x64/libgnuefi.a \
  /usr/lib/gnuefi/x64/libefi.a \
  /usr/lib/gcc/x86_64-redhat-linux/12/libgcc.a \
  | rg '.note.GNU-stack.*X'
(nothing)

On aarch64 we end up with a nonexecutable stack, but on ia32 and x64 we get one,
so this might be just a matter of defaults in the linker. It doesn't matter
greatly, but let's mark the stack as non-executable to avoid the warning.

Note: '-Wl,-z' is not needed, things work with just '-z'.

14 months agologind-session: make stopping of idle session visible to admins
David Tardon [Tue, 21 Feb 2023 09:41:47 +0000 (10:41 +0100)] 
logind-session: make stopping of idle session visible to admins

14 months agosleep: check if we're on AC power before checking battery capacity
Mike Yuan [Mon, 20 Feb 2023 12:12:19 +0000 (20:12 +0800)] 
sleep: check if we're on AC power before checking battery capacity

Before this commit, battery_is_low() returns
true if there's no battery on the system.
It's now modified to check if the system is
on AC power first, and returns false early
if that's the case.

Fixes #26492

14 months agotest: add coverage for #26483 26527/head
Frantisek Sumsal [Tue, 21 Feb 2023 18:30:58 +0000 (19:30 +0100)] 
test: add coverage for #26483

14 months agotest: add coverage for #26467
Frantisek Sumsal [Tue, 21 Feb 2023 18:15:13 +0000 (19:15 +0100)] 
test: add coverage for #26467

14 months agoinstall: fail early if specifier expansion failed
David Tardon [Tue, 21 Feb 2023 13:10:33 +0000 (14:10 +0100)] 
install: fail early if specifier expansion failed

Before:

systemd[1]: Assertion 'path' failed at src/shared/install.c:288, function install_changes_add(). Aborting.
systemd[1]: Caught <ABRT> from our own process.
systemd[1]: Caught <ABRT>, dumped core as pid 2525.
systemd[1]: Freezing execution

After:

Failed to enable unit: Invalid specifier in user-%J.service

Fixes #26467.

Follow-up for: f5a0162

14 months agotest: add a minimal test for list-paths 26491/head
David Tardon [Mon, 20 Feb 2023 19:14:59 +0000 (20:14 +0100)] 
test: add a minimal test for list-paths

14 months agoshell-completion: add systemctl list-paths
David Tardon [Mon, 20 Feb 2023 19:11:57 +0000 (20:11 +0100)] 
shell-completion: add systemctl list-paths

14 months agoman: document systemctl list-paths
David Tardon [Mon, 20 Feb 2023 18:17:14 +0000 (19:17 +0100)] 
man: document systemctl list-paths

14 months agosystemctl: add list-paths verb
David Tardon [Fri, 17 Feb 2023 16:27:50 +0000 (17:27 +0100)] 
systemctl: add list-paths verb

Fixes #6054.

14 months agoMerge pull request #26518 from DaanDeMeyer/mkosi-stuff
Daan De Meyer [Tue, 21 Feb 2023 17:23:06 +0000 (18:23 +0100)] 
Merge pull request #26518 from DaanDeMeyer/mkosi-stuff

mkosi: Drop build script workarounds

14 months agobootctl: add new --print-root-device option
Lennart Poettering [Mon, 20 Feb 2023 16:25:14 +0000 (17:25 +0100)] 
bootctl: add new --print-root-device option

We already have this nice code in system that determines the block
device backing the root file system, but it's only used internally in
systemd-gpt-generator. Let's make this more accessible and expose it
directly in bootctl.

It doesn't fit immediately into the topic of bootctl, but I think it's
close enough and behaves very similar to the existing "bootctl
--print-boot-path" and "--print-esp-path" tools.

If --print-root-device (or -R) is specified once, will show the block device
backing the root fs, and if specified twice (probably easier: -RR) it
will show the whole block device that block device belongs to in case it
is a partition block device.

Suggested use:

        # cfdisk `bootctl -RR`

To get access to the partition table, behind the OS install, for
whatever it might be.

14 months agoMerge pull request #26265 from poettering/journal-refresh-fixes
Lennart Poettering [Tue, 21 Feb 2023 17:19:12 +0000 (18:19 +0100)] 
Merge pull request #26265 from poettering/journal-refresh-fixes

journal: journal file header IDs refresh fixes and corrections

14 months agosystemctl: prepend machine ID to unit ID in list-sockets
David Tardon [Mon, 20 Feb 2023 19:00:29 +0000 (20:00 +0100)] 
systemctl: prepend machine ID to unit ID in list-sockets

We do it that way in all other list-* functions, so let's be consistent.

14 months agosystemctl: extract common code to a function
David Tardon [Mon, 20 Feb 2023 18:58:36 +0000 (19:58 +0100)] 
systemctl: extract common code to a function

14 months agosystemctl: use table_add_triggered
David Tardon [Mon, 20 Feb 2023 18:39:25 +0000 (19:39 +0100)] 
systemctl: use table_add_triggered

14 months agosystemctl: extract code to a helper function
David Tardon [Mon, 20 Feb 2023 18:23:17 +0000 (19:23 +0100)] 
systemctl: extract code to a helper function

It will be used more in subsequent commits.

14 months agomkosi: Reduce postinst script indentation 26518/head
Daan De Meyer [Tue, 21 Feb 2023 14:23:15 +0000 (15:23 +0100)] 
mkosi: Reduce postinst script indentation

14 months agomkosi: Simplify BUILDDIR/SRCDIR handling a bit
Daan De Meyer [Tue, 21 Feb 2023 14:19:06 +0000 (15:19 +0100)] 
mkosi: Simplify BUILDDIR/SRCDIR handling a bit

14 months agomkosi: Move more logic to the postinst script
Daan De Meyer [Tue, 21 Feb 2023 14:09:38 +0000 (15:09 +0100)] 
mkosi: Move more logic to the postinst script

Let's move stuff that only applies to the final image to the
postinst script. Let's also move out some of the static files to
mkosi.extra/ instead of hardcoding them in scripts.

14 months agomeson: Use dicts for fuzzer definitions 26203/head
Jan Janssen [Wed, 25 Jan 2023 16:39:12 +0000 (17:39 +0100)] 
meson: Use dicts for fuzzer definitions

14 months agomeson: Add simple_fuzzers list
Jan Janssen [Fri, 27 Jan 2023 12:22:36 +0000 (13:22 +0100)] 
meson: Add simple_fuzzers list

14 months agomeson: Use dicts for test definitions
Jan Janssen [Wed, 25 Jan 2023 16:19:52 +0000 (17:19 +0100)] 
meson: Use dicts for test definitions

Although this slightly more verbose it makes it much easier to reason
about. The code that produces the tests heavily benefits from this.

Test lists are also now sorted by test name.

14 months agomeson: Add simple_tests list
Jan Janssen [Fri, 27 Jan 2023 11:57:35 +0000 (12:57 +0100)] 
meson: Add simple_tests list

A lot of tests can be defined by just their filename. Moving into their
own list keeps things simpler, especially with the next commit. It also
makes it easier to keep the lists sorted.