systemd/.git
2 years agoMerge pull request #26578 from thkukuk/main
Yu Watanabe [Sat, 25 Feb 2023 22:54:11 +0000 (07:54 +0900)]
Merge pull request #26578 from thkukuk/main

sd-login: add sd_uid_get_login_time interface #26574

2 years agorules: remove redundant duplicate comparisons
Dmitry V. Levin [Sat, 25 Feb 2023 20:00:00 +0000 (20:00 +0000)]
rules: remove redundant duplicate comparisons

$ grep -F -n -o 'ENV{DISKSEQ}=="?*", ' rules.d/60-persistent-storage.rules
139:ENV{DISKSEQ}=="?*",
139:ENV{DISKSEQ}=="?*",
140:ENV{DISKSEQ}=="?*",
140:ENV{DISKSEQ}=="?*",

Reported-by: Alexey Gladkov <legion@kernel.org>
Fixes: 17d97d4c90f8 ("udev: create disk/by-diskseq symlink only when the device has diskseq")
Fixes: 583dc6d933d8 ("udev: also create partition /dev/disk/by-diskseq/ symlinks")

2 years agosd-login: document that result is in microseconds
Thorsten Kukuk [Fri, 24 Feb 2023 13:51:00 +0000 (14:51 +0100)]
sd-login: document that result is in microseconds

2 years agosd-login: add sd_uid_get_login_time interface #26574
Thorsten Kukuk [Fri, 24 Feb 2023 08:47:52 +0000 (09:47 +0100)]
sd-login: add sd_uid_get_login_time interface #26574

2 years agotpm2-util: use compound initialization when allocating tpm2 objects
Lennart Poettering [Fri, 24 Feb 2023 17:20:50 +0000 (18:20 +0100)]
tpm2-util: use compound initialization when allocating tpm2 objects

2 years agotree-wide: Use correct SPDX license identifier
Jan Janssen [Fri, 24 Feb 2023 18:23:01 +0000 (19:23 +0100)]
tree-wide: Use correct SPDX license identifier

2 years agoman: add two missing commands to synopsys
Lennart Poettering [Fri, 24 Feb 2023 13:24:18 +0000 (14:24 +0100)]
man: add two missing commands to synopsys

2 years agoupdate TODO
Lennart Poettering [Fri, 24 Feb 2023 16:08:56 +0000 (17:08 +0100)]
update TODO

2 years agoMerge pull request #26579 from poettering/manager-env-clean-up
Lennart Poettering [Fri, 24 Feb 2023 13:11:57 +0000 (14:11 +0100)]
Merge pull request #26579 from poettering/manager-env-clean-up

service manager env var clean-up fixes

2 years agomempool: fix tile alignment check
Lennart Poettering [Fri, 24 Feb 2023 09:41:47 +0000 (10:41 +0100)]
mempool: fix tile alignment check

We should check alignment *after* determining the pointer points into
our pool, not before. Otherwise might might end up checking alignment of
the pointer relative to our base, even though it is taken relative to
some other base.

Follow-up for: a2b052b29f8bc141e94a4af95d1653a38a57eaeb
See: https://github.com/systemd/systemd/pull/26393#issuecomment-1442295012

2 years agolibsystemd: sd_journal_get_seqnum() must be tagged with 254 symver, not 253
Lennart Poettering [Fri, 24 Feb 2023 10:15:46 +0000 (11:15 +0100)]
libsystemd: sd_journal_get_seqnum() must be tagged with 254 symver, not 253

This is a follow-up for b1712fabd1702640b04b0acdbba2d78294313a4d which
was prepped for 253, but merged into early 254 development cycle. It
thus had the symbol it adds at the wrong symver. Fix thta.

2 years agoMerge pull request #26409 from yuwata/parse-timestamp
Luca Boccassi [Fri, 24 Feb 2023 11:45:03 +0000 (11:45 +0000)]
Merge pull request #26409 from yuwata/parse-timestamp

fix parse_timestamp()

2 years agoMerge pull request #26217 from bluca/dump_mem
Luca Boccassi [Fri, 24 Feb 2023 10:31:21 +0000 (10:31 +0000)]
Merge pull request #26217 from bluca/dump_mem

Add D-Bus method and analyze command to dump malloc_info()

2 years agoman: document REMOTE_ADDR/REMOTE_PORT along with the other env vars
Lennart Poettering [Fri, 24 Feb 2023 09:21:49 +0000 (10:21 +0100)]
man: document REMOTE_ADDR/REMOTE_PORT along with the other env vars

2 years agomanager: be more careful with env var clean-up
Lennart Poettering [Fri, 24 Feb 2023 09:15:35 +0000 (10:15 +0100)]
manager: be more careful with env var clean-up

Let's add some more env vars we nowadays set for activated services to
the list of env vars we strip from the environment block we pass on.

2 years agoMerge pull request #26574 from YHNdnzj/sd-login-new-interface
Yu Watanabe [Fri, 24 Feb 2023 00:20:52 +0000 (09:20 +0900)]
Merge pull request #26574 from YHNdnzj/sd-login-new-interface

sd-login: add two interfaces for retriving session info

2 years agotest: add tests for format_timestamp() and parse_timestamp() with various timezone
Yu Watanabe [Sat, 11 Feb 2023 20:30:49 +0000 (05:30 +0900)]
test: add tests for format_timestamp() and parse_timestamp() with various timezone

2 years agotime-util: make parse_timestamp() use the RFC-822/ISO 8601 standard timezone spec
Yu Watanabe [Mon, 13 Feb 2023 18:39:15 +0000 (03:39 +0900)]
time-util: make parse_timestamp() use the RFC-822/ISO 8601 standard timezone spec

If the timezone is specified with a number e.g. +0900 or so, then
let's parse the time as a UTC, and adjust it with the specified time
shift.

Otherwise, if an area has timezone change, e.g.
---
Africa/Casablanca  Sun Jun 17 01:59:59 2018 UT = Sun Jun 17 01:59:59 2018 +00 isdst=0 gmtoff=0
Africa/Casablanca  Sun Jun 17 02:00:00 2018 UT = Sun Jun 17 03:00:00 2018 +01 isdst=1 gmtoff=3600
Africa/Casablanca  Sun Oct 28 01:59:59 2018 UT = Sun Oct 28 02:59:59 2018 +01 isdst=1 gmtoff=3600
Africa/Casablanca  Sun Oct 28 02:00:00 2018 UT = Sun Oct 28 03:00:00 2018 +01 isdst=0 gmtoff=3600
---
then we could not determine isdst from the timezone (+01 in the above)
and mktime() will provide wrong results.

Fixes #26370.

2 years agotime-util: drop unnecessary assignment of timezone name
Yu Watanabe [Wed, 15 Feb 2023 04:51:15 +0000 (13:51 +0900)]
time-util: drop unnecessary assignment of timezone name

As mktime() does not use timezone neme.

2 years agotime-util: rename variables
Yu Watanabe [Wed, 15 Feb 2023 04:46:50 +0000 (13:46 +0900)]
time-util: rename variables

No functional changes, just refactoring.

2 years agotime-util: shorten code a bit
Yu Watanabe [Mon, 13 Feb 2023 19:27:52 +0000 (04:27 +0900)]
time-util: shorten code a bit

No functional change, just refactoring.

2 years agotime-util: use usec_add() and usec_sub_unsigned()
Yu Watanabe [Mon, 13 Feb 2023 19:27:27 +0000 (04:27 +0900)]
time-util: use usec_add() and usec_sub_unsigned()

And move the check with USEC_TIMESTAMP_FORMATTABLE_MAX at the end,
as usec_add() can handle overflow correctly.

2 years agotime-util: use result from startswith_no_case()
Yu Watanabe [Mon, 13 Feb 2023 19:14:24 +0000 (04:14 +0900)]
time-util: use result from startswith_no_case()

No functional change, just refactoring.

2 years agotime-util: do not use strdupa()
Yu Watanabe [Mon, 13 Feb 2023 18:41:26 +0000 (03:41 +0900)]
time-util: do not use strdupa()

The input string may come from command line, config files.

2 years agotime-util: drop redundant else
Yu Watanabe [Mon, 13 Feb 2023 18:43:58 +0000 (03:43 +0900)]
time-util: drop redundant else

2 years agotime-util: add assertions
Yu Watanabe [Mon, 13 Feb 2023 17:06:13 +0000 (02:06 +0900)]
time-util: add assertions

2 years agotime-util: rename variables
Yu Watanabe [Mon, 13 Feb 2023 17:04:31 +0000 (02:04 +0900)]
time-util: rename variables

2 years agotime-util: align string table
Yu Watanabe [Mon, 13 Feb 2023 16:41:38 +0000 (01:41 +0900)]
time-util: align string table

2 years agotime-util: use DEFINE_STRING_TABLE_LOOKUP_TO_STRING() macro
Yu Watanabe [Mon, 13 Feb 2023 16:40:56 +0000 (01:40 +0900)]
time-util: use DEFINE_STRING_TABLE_LOOKUP_TO_STRING() macro

2 years agotime-util: drop redundant space
Yu Watanabe [Mon, 13 Feb 2023 16:38:57 +0000 (01:38 +0900)]
time-util: drop redundant space

2 years agotime-util: drop unused definition of FORMAT_TIMESTAMP_WIDTH
Yu Watanabe [Sat, 11 Feb 2023 20:30:34 +0000 (05:30 +0900)]
time-util: drop unused definition of FORMAT_TIMESTAMP_WIDTH

2 years agoman,catalog: fix typo
Yu Watanabe [Thu, 23 Feb 2023 23:52:39 +0000 (08:52 +0900)]
man,catalog: fix typo

Follow-up for #26448.

2 years agoshared: move cg_set_access() declaration to right header file
Lennart Poettering [Thu, 23 Feb 2023 17:27:43 +0000 (18:27 +0100)]
shared: move cg_set_access() declaration to right header file

This function was moved from cgroup-util.c to cgroup-setup.c a while
back, but the prototype in the matching header files wasn't migrated.
Let's fix that.

2 years agojournal-file: Improve debug messages
Daan De Meyer [Thu, 23 Feb 2023 14:55:36 +0000 (15:55 +0100)]
journal-file: Improve debug messages

2 years agojournal-file: Fix return value in bump_entry_array()
Daan De Meyer [Thu, 23 Feb 2023 14:40:38 +0000 (15:40 +0100)]
journal-file: Fix return value in bump_entry_array()

2 years agosystemctl: use bus_message_hash_ops
Yu Watanabe [Thu, 23 Feb 2023 12:49:29 +0000 (21:49 +0900)]
systemctl: use bus_message_hash_ops

2 years agoman: link up sd_event_add_memory_pressure() more
Lennart Poettering [Thu, 23 Feb 2023 16:22:57 +0000 (17:22 +0100)]
man: link up sd_event_add_memory_pressure() more

2 years agoanalyze: add 'malloc' verb to dump malloc_info()
Luca Boccassi [Thu, 26 Jan 2023 13:28:15 +0000 (13:28 +0000)]
analyze: add 'malloc' verb to dump malloc_info()

Gets the memory state of the manager:

root@image:~# systemd-analyze malloc
<malloc version=1>
<heap nr=0>
<sizes>
  <size from=33 to=33 total=396 count=12/>
  <unsorted from=20385 to=20385 total=20385 count=1/>
</sizes>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<system type=current size=1691648/>
<system type=max size=1839104/>
<aspace type=total size=1691648/>
<aspace type=mprotect size=1691648/>
</heap>
<total type=fast count=0 size=0/>
<total type=rest count=14 size=36589/>
<total type=mmap count=0 size=0/>
<system type=current size=1691648/>
<system type=max size=1839104/>
<aspace type=total size=1691648/>
<aspace type=mprotect size=1691648/>
</malloc>

2 years agosd-login: add sd_session_get_start_time
Mike Yuan [Thu, 23 Feb 2023 17:45:50 +0000 (01:45 +0800)]
sd-login: add sd_session_get_start_time

2 years agosd-login: add sd_session_get_username
Mike Yuan [Thu, 23 Feb 2023 16:48:10 +0000 (00:48 +0800)]
sd-login: add sd_session_get_username

2 years agoMerge pull request #26258 from DaanDeMeyer/boot-smbios
Daan De Meyer [Thu, 23 Feb 2023 14:59:18 +0000 (15:59 +0100)]
Merge pull request #26258 from DaanDeMeyer/boot-smbios

stub: Read extra kernel command line items from SMBIOS

2 years agomanager: add GetMallocInfo() hidden/debug method
Luca Boccassi [Thu, 26 Jan 2023 12:51:55 +0000 (12:51 +0000)]
manager: add GetMallocInfo() hidden/debug method

Return the output of malloc_info() via a file descriptor (in case it
gets large on a busy system). Useful to get live data about memory
usage when it is not possible to run under a profiler from the get-go.
Do not formally register the method, but add a 'hidden' interface
so that it cannot be seen by introspection or by looking at the
object.

2 years agoMerge pull request #26535 from yuwata/systemctl-list-cleanups
Yu Watanabe [Thu, 23 Feb 2023 12:38:13 +0000 (21:38 +0900)]
Merge pull request #26535 from yuwata/systemctl-list-cleanups

systemctl-list: several cleanups

2 years agoMerge pull request #26560 from yuwata/journal-send-fix-memleak-and-cleanups
Yu Watanabe [Thu, 23 Feb 2023 12:37:20 +0000 (21:37 +0900)]
Merge pull request #26560 from yuwata/journal-send-fix-memleak-and-cleanups

sd-journal: several fixlets and cleanups for sd_journal_send()

2 years agocore/dbus-socket: check the socket path is absolute
Yu Watanabe [Thu, 23 Feb 2023 09:03:50 +0000 (18:03 +0900)]
core/dbus-socket: check the socket path is absolute

In config_parse_socket_listen(), we have checked the path is absolute,
however we have not in the dbus method.

2 years agoexecute: pass ambient caps from PAM through to invoked service
Lennart Poettering [Wed, 22 Feb 2023 12:06:29 +0000 (13:06 +0100)]
execute: pass ambient caps from PAM through to invoked service

If a PAM service sets some ambient caps, we should honour that, hence
query it, and merge it with our own ambient settings.

This needs to be done manually since otherwise dropping privs via
setresuid() will undo all such caps, and we need to manually tweak
things to keep them.

2 years agoMerge pull request #26563 from dtardon/fd-init
Zbigniew Jędrzejewski-Szmek [Thu, 23 Feb 2023 10:43:09 +0000 (11:43 +0100)]
Merge pull request #26563 from dtardon/fd-init

Initialize fds with -EBADF + drop one unneeded initialization

2 years 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

2 years agosystemctl: cleanups for list-paths
Yu Watanabe [Wed, 22 Feb 2023 07:28:43 +0000 (16:28 +0900)]
systemctl: cleanups for list-paths

- Rename struct path_info -> PathInfo,
- Drop struct path_infos,
- Use CLEANUP_ARRAY(),

No functional change, just refactoring.

2 years agosystemctl: cleanups for list-automounts
Yu Watanabe [Wed, 22 Feb 2023 07:12:29 +0000 (16:12 +0900)]
systemctl: cleanups for list-automounts

- Rename struct automount_info -> AutomountInfo,
- use CLEANUP_ARRAY(), and etc.

No functional change, just refactoring.

2 years agosystemctl: cleanups for list-timers
Yu Watanabe [Wed, 22 Feb 2023 06:57:33 +0000 (15:57 +0900)]
systemctl: cleanups for list-timers

- Rename struct timer_info -> TimerInfo,
- use CLEANUP_ARRAY().

No functional change, just refactoring.

2 years agosystemctl: cleanups for list-sockets
Yu Watanabe [Wed, 22 Feb 2023 06:20:20 +0000 (15:20 +0900)]
systemctl: cleanups for list-sockets

- Rename struct socket_info -> SocketInfo.
- Drop own_triggered field, and always copy the triggered field.
- Use CLEANUP_ARRAY().

No functional changes, just refactoring.

2 years agovmm: Modernize get_smbios_table()
Daan De Meyer [Wed, 22 Feb 2023 16:04:58 +0000 (17:04 +0100)]
vmm: Modernize get_smbios_table()

2 years agostub: Read extra kernel command line items from SMBIOS
Daan De Meyer [Mon, 30 Jan 2023 15:26:50 +0000 (16:26 +0100)]
stub: Read extra kernel command line items from SMBIOS

Let's read more kernel command line arguments from SMBIOS OEM string
io.systemd.stub.kernel-cmdline-extra. This allows adding debug kernel
command line arguments when booting in qemy without having to modify
the UKI.

2 years agobootctl: drop unneeded initialization
David Tardon [Thu, 23 Feb 2023 08:50:26 +0000 (09:50 +0100)]
bootctl: drop unneeded initialization

2 years agovmm: Add smbios_find_oem_string()
Daan De Meyer [Mon, 30 Jan 2023 15:26:14 +0000 (16:26 +0100)]
vmm: Add smbios_find_oem_string()

This function can be used to find SMBIOS strings in the SMBIOS Type 11
table.

2 years agovmm: Add more const
Daan De Meyer [Mon, 30 Jan 2023 20:15:12 +0000 (21:15 +0100)]
vmm: Add more const

SMBIOS tables are immutable, so let's access it via const pointers
where possible.

2 years agoefi-string: Add efi_memchr()
Daan De Meyer [Tue, 31 Jan 2023 14:39:40 +0000 (15:39 +0100)]
efi-string: Add efi_memchr()

2 years agotree-wide: initialize fds with -EBADF
David Tardon [Thu, 23 Feb 2023 08:48:54 +0000 (09:48 +0100)]
tree-wide: initialize fds with -EBADF

2 years 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

2 years 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.

2 years 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

2 years agosystemctl-list-units: drop unused return value
Yu Watanabe [Wed, 22 Feb 2023 07:38:36 +0000 (16:38 +0900)]
systemctl-list-units: drop unused return value

2 years agosystemctl-list-units: fix memleak on error
Yu Watanabe [Wed, 22 Feb 2023 07:38:18 +0000 (16:38 +0900)]
systemctl-list-units: fix memleak on error

2 years agosd-journal: fix memleak and freeing invalid pointers
Yu Watanabe [Thu, 23 Feb 2023 02:39:42 +0000 (11:39 +0900)]
sd-journal: fix memleak and freeing invalid pointers

This also makes
- use GREEDY_REALLOC() or GREEDY_REALLOC0(),
- use CLEANUP_ARRAY() macro.

2 years agoio-util: drop double evaluation in IOVEC_INIT_STRING()
Yu Watanabe [Thu, 23 Feb 2023 04:10:31 +0000 (13:10 +0900)]
io-util: drop double evaluation in IOVEC_INIT_STRING()

This also makes IOVEC_INIT_STRING() and IOVEC_MAKE_STRING() identical.

2 years agoio-util: introduce IOVEC_NULL
Yu Watanabe [Thu, 23 Feb 2023 04:09:46 +0000 (13:09 +0900)]
io-util: introduce IOVEC_NULL

2 years agoio-util: introduce iovec_array_free()
Lennart Poettering [Thu, 23 Feb 2023 02:42:11 +0000 (11:42 +0900)]
io-util: introduce iovec_array_free()

It will be used in later commits.

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

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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().

2 years 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

2 years 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

2 years 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

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

2 years 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

2 years agosd-event: fix error handling
Yu Watanabe [Thu, 23 Feb 2023 02:04:44 +0000 (11:04 +0900)]
sd-event: fix error handling

Follow-up for 158fe190afe37b222c9dc2c53bd7be426b92ef89.

2 years 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.

2 years 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]

2 years 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

2 years 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.

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

2 years 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

2 years agocapability-util: add new capability_get_ambient() helper
Lennart Poettering [Wed, 22 Feb 2023 12:05:44 +0000 (13:05 +0100)]
capability-util: add new capability_get_ambient() helper

2 years 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()

2 years 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()

2 years agosystemctl: make list-timers not say "left" in "LEFT" column
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.

2 years 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.

2 years 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.

2 years agoboot: Take advantage of packed device paths
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.

2 years 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

2 years 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.

2 years 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.

2 years 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.