]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
11 months agoMerge pull request #27946 from keszybz/ukify-genkey-verb
Zbigniew Jędrzejewski-Szmek [Wed, 14 Jun 2023 15:57:24 +0000 (17:57 +0200)] 
Merge pull request #27946 from keszybz/ukify-genkey-verb

Add 'genkey' verb to ukify

11 months agocoverage: fix build with g++
Frantisek Sumsal [Wed, 14 Jun 2023 08:01:15 +0000 (10:01 +0200)] 
coverage: fix build with g++

Guard the coverage-related shenanigans from g++ when building the one
C++ unit test we have, so we don't have to make it C++ compatible:

[1573/2109] Compiling C++ object test-bus-vtable-cc.p/src_libsystemd_sd-bus_test-bus-vtable-cc.cc.o
FAILED: test-bus-vtable-cc.p/src_libsystemd_sd-bus_test-bus-vtable-cc.cc.o
ccache c++ -Itest-bus-vtable-cc. ... -c ../src/libsystemd/sd-bus/test-bus-vtable-cc.cc
In file included from <command-line>:
../src/basic/coverage.h:17:15: error: ‘_Noreturn’ does not name a type
   17 | static inline _Noreturn void _coverage__exit(int status) {
      |               ^~~~~~~~~
../src/basic/coverage.h:46:29: error: conflicting declaration of ‘int _coverage_execveat(int, const char*, char* const*, char* const*, int)’ with ‘C’ linkage
   46 | #define execveat(d,p,a,e,f) _coverage_execveat(d, p, a, e, f)
      |                             ^~~~~~~~~~~~~~~~~~
../src/basic/coverage.h:34:19: note: previous declaration with ‘C++’ linkage
   34 | static inline int _coverage_execveat(
      |                   ^~~~~~~~~~~~~~~~~~
../src/basic/coverage.h:46:29: error: declaration of ‘int _coverage_execveat(int, const char*, char* const*, char* const*, int) noexcept’ has a different exception specifier
   46 | #define execveat(d,p,a,e,f) _coverage_execveat(d, p, a, e, f)
      |                             ^~~~~~~~~~~~~~~~~~
../src/basic/coverage.h:34:19: note: from previous declaration ‘int _coverage_execveat(int, const char*, char* const*, char* const*, int)’
   34 | static inline int _coverage_execveat(
      |                   ^~~~~~~~~~~~~~~~~~
../src/basic/coverage.h:58:24: error: conflicting declaration of ‘int _coverage_execvpe(const char*, char* const*, char* const*)’ with ‘C’ linkage
   58 | #define execvpe(f,a,e) _coverage_execvpe(f, a, e)
      |                        ^~~~~~~~~~~~~~~~~
../src/basic/coverage.h:48:19: note: previous declaration with ‘C++’ linkage
   48 | static inline int _coverage_execvpe(
      |                   ^~~~~~~~~~~~~~~~~
../src/basic/coverage.h:58:24: error: declaration of ‘int _coverage_execvpe(const char*, char* const*, char* const*) noexcept’ has a different exception specifier
   58 | #define execvpe(f,a,e) _coverage_execvpe(f, a, e)
      |                        ^~~~~~~~~~~~~~~~~
../src/basic/coverage.h:48:19: note: from previous declaration ‘int _coverage_execvpe(const char*, char* const*, char* const*)’
   48 | static inline int _coverage_execvpe(
      |                   ^~~~~~~~~~~~~~~~~
[1582/2109] Compiling C object test-event.p/src_libsystemd_sd-event_test-event.c.o
ninja: build stopped: subcommand failed.

11 months agosleep-config: add comment about security
Christoph Anton Mitterer [Sun, 26 Mar 2023 02:31:38 +0000 (04:31 +0200)] 
sleep-config: add comment about security

Adds information about attacks that might become possible when the hibernate
location is automatically determined.

11 months agoMerge pull request #28032 from poettering/mumumµ
Lennart Poettering [Wed, 14 Jun 2023 12:00:10 +0000 (14:00 +0200)] 
Merge pull request #28032 from poettering/mumumµ

deal with µ unicode ambiguities

11 months agoukify: make the certficate validity configurable 27946/head
Zbigniew Jędrzejewski-Szmek [Wed, 14 Jun 2023 10:38:37 +0000 (12:38 +0200)] 
ukify: make the certficate validity configurable

Requested in https://github.com/systemd/systemd/pull/27946/commits/4cc743319ae378d458050d6e0cfdeaa03addd379#r1228592001

11 months agoman/ukify: add structure to describe verbs, document genkey
Zbigniew Jędrzejewski-Szmek [Mon, 12 Jun 2023 10:22:32 +0000 (12:22 +0200)] 
man/ukify: add structure to describe verbs, document genkey

This just adds two paragraphs of text, but moves a lot of the text
one level down into a subsection.

11 months agotest_ukify: skip test requiring cryptography
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jun 2023 08:05:02 +0000 (10:05 +0200)] 
test_ukify: skip test requiring cryptography

I'll add the dep in Fedora spec so it does get tested at least
in some cases.

11 months agoman: add example how to configure automatic signing
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 19:31:17 +0000 (21:31 +0200)] 
man: add example how to configure automatic signing

Fixes #978.

11 months agotest_ukify: cleanups suggested by pylint
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 19:07:58 +0000 (21:07 +0200)] 
test_ukify: cleanups suggested by pylint

11 months agoukify: add 'genkey' verb
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 19:06:20 +0000 (21:06 +0200)] 
ukify: add 'genkey' verb

The idea is to make it easy to generate all the signing key and certs
that can be used for local signing. The verb is the modeled after
'mkosi genkey', but there are some important differences: we generate
the keys to the paths where they will be read from, both pcr signing
keys and the SecureBoot certificate+key.

If any of the outputs exist, operation is refused. Maybe we could add a
--force option in the future, but this operation should be rare, so I think
it's better to refuse to overwrite anything initially.

I'm only doing a token man page change here.
https://github.com/systemd/systemd/pull/27621 reworks the man page,
and the changes done here would conflict heavily with that work. I'll
submit a follow-up patch later.

11 months agobootctl: fix docs/--help to say that "bootctl random-seed" not just initializes but...
Lennart Poettering [Tue, 13 Jun 2023 14:47:36 +0000 (16:47 +0200)] 
bootctl: fix docs/--help to say that "bootctl random-seed" not just initializes but also refreshes ESP random seeds

11 months agoMerge pull request #28012 from poettering/resolvectl-dump-cache
Lennart Poettering [Wed, 14 Jun 2023 08:33:13 +0000 (10:33 +0200)] 
Merge pull request #28012 from poettering/resolvectl-dump-cache

add "resolvectl show-cache" call and IPC backend for that

11 months agotree-wide: when in doubt use greek small letter mu rather than micro symbol 28032/head
Lennart Poettering [Wed, 14 Jun 2023 08:13:08 +0000 (10:13 +0200)] 
tree-wide: when in doubt use greek small letter mu rather than micro symbol

Doesn't really matter since the two unicode symbols are supposedly
equivalent, but let's better follow the unicode recommendations to
prefer greek small letter mu, as per:

https://www.unicode.org/reports/tr25

11 months agotime-util,socket: accept both kinds of unicode µ symbols
Lennart Poettering [Wed, 14 Jun 2023 08:09:22 +0000 (10:09 +0200)] 
time-util,socket: accept both kinds of unicode µ symbols

Apparently there are two µ symbols, accept both when parsing.

One is the greek small letter mu (μ) the other is the micro sign (µ).
Unicode recommendation considers both equivalent, and says use of greek
small letter mu is preferred. See:

https://www.unicode.org/reports/tr25

Hence accept both when parsing.

Inspired by: #28029

11 months agoMerge pull request #26728 from keszybz/meson-update
Lennart Poettering [Tue, 13 Jun 2023 21:38:41 +0000 (23:38 +0200)] 
Merge pull request #26728 from keszybz/meson-update

Meson version update

11 months agoFix scorecard version comment format (#28027)
Joyce [Tue, 13 Jun 2023 21:36:32 +0000 (18:36 -0300)] 
Fix scorecard version comment format (#28027)

* Update scorecards.yml version comments

Signed-off-by: Joyce <joycebrum@google.com>
11 months agoMerge pull request #27846 from keszybz/link-mode-generation
Lennart Poettering [Tue, 13 Jun 2023 21:03:51 +0000 (23:03 +0200)] 
Merge pull request #27846 from keszybz/link-mode-generation

Autogenerate list of link modes

11 months agopo: Translated using Weblate (Korean)
김인수 [Tue, 13 Jun 2023 20:18:12 +0000 (22:18 +0200)] 
po: Translated using Weblate (Korean)

Currently translated at 100.0% (193 of 193 strings)

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

11 months agoudev-node: optimize device node symlink creation
Yu Watanabe [Fri, 13 Jan 2023 04:25:43 +0000 (13:25 +0900)] 
udev-node: optimize device node symlink creation

If multiple devices requested the same device node symlink with the same
priority, then previously we read O(N^2) of files saved in
/run/udev/links.

This makes if the requested symlink already exists with equal or higher
priority, then the symlink is kept, and skip to read all existing files,
except for one related to the current device node, in /run/udev/links.
Hence, the total amount of file read becomes O(N).

This improves performance of testcase_simultaneous_events_2 added by the
previous commit about 30%.
Before (32.8 sec):
```
 ## 3 iterations start: 11:13:44.690953163
 ## 3 iterations end: 11:14:17.493974927
```
After (23.8 sec):
```
 ## 3 iterations start: 11:17:53.869938387
 ## 3 iterations end: 11:18:17.624268345
```

This is based on the idea and analysis by Franck Bui.

Replaces #25839.

Co-authored-by: Franck Bui <fbui@suse.com>
11 months agoit.po: minor updates
Daniele Medri [Mon, 5 Jun 2023 16:06:41 +0000 (18:06 +0200)] 
it.po: minor updates

11 months agoMerge pull request #28020 from DaanDeMeyer/followups
Lennart Poettering [Tue, 13 Jun 2023 20:14:33 +0000 (22:14 +0200)] 
Merge pull request #28020 from DaanDeMeyer/followups

Followups

11 months agoMerge pull request #27952 from mrc0mmand/drop-TEST-61
Luca Boccassi [Tue, 13 Jun 2023 20:13:14 +0000 (21:13 +0100)] 
Merge pull request #27952 from mrc0mmand/drop-TEST-61

test: merge TEST-61-UNITTESTS-QEMU with TEST-02-UNITTESTS

11 months agoMerge pull request #27977 from DaanDeMeyer/update-mkosi
Daan De Meyer [Tue, 13 Jun 2023 14:56:54 +0000 (16:56 +0200)] 
Merge pull request #27977 from DaanDeMeyer/update-mkosi

Update mkosi

11 months agoman: document "s" is default --vacuum-time= suffix
Anatoli Babenia [Sun, 30 Oct 2022 14:06:38 +0000 (17:06 +0300)] 
man: document "s" is default --vacuum-time= suffix

11 months agorm-rf: Fix assertion 28020/head
Daan De Meyer [Tue, 13 Jun 2023 14:01:17 +0000 (16:01 +0200)] 
rm-rf: Fix assertion

This doesn't cover every case but cases where people try to do
rm_rf(dir_fd, ".") are covered by unlinkat() simply failing.

11 months agofd-util: Add extra shortcut to path_is_root_at()
Daan De Meyer [Tue, 13 Jun 2023 13:54:21 +0000 (15:54 +0200)] 
fd-util: Add extra shortcut to path_is_root_at()

11 months agobtrfs-util: Drop redundant parentheses
Daan De Meyer [Tue, 13 Jun 2023 13:53:15 +0000 (15:53 +0200)] 
btrfs-util: Drop redundant parentheses

11 months agorepart: Store dm_name in DecryptedPartitionTarget
Daan De Meyer [Tue, 13 Jun 2023 13:52:03 +0000 (15:52 +0200)] 
repart: Store dm_name in DecryptedPartitionTarget

This means we don't have to do a fallible allocation in the
DecryptedPartitionTarget destructor. Also use log_warning_error_errno()
for the failure we ignore in the destructor.

11 months agomkosi: Remove explicit /testok check 27977/head
Daan De Meyer [Thu, 8 Jun 2023 15:50:05 +0000 (17:50 +0200)] 
mkosi: Remove explicit /testok check

vsock should work properly after the latest release of mkosi. But
to make sure it works, let's exit with 123 in case of success and
check for that in Github Actions.

11 months agomkosi: Update to latest
Daan De Meyer [Thu, 8 Jun 2023 15:49:21 +0000 (17:49 +0200)] 
mkosi: Update to latest

We update our configuration to replace the removed
RepositoryDirectories= option with the new PackageManagerTrees=
option.

11 months agomkosi: Make sure we build custom kernels with EROFS support
Daan De Meyer [Thu, 8 Jun 2023 14:33:00 +0000 (16:33 +0200)] 
mkosi: Make sure we build custom kernels with EROFS support

11 months agomkosi: Add bpftool to final image
Daan De Meyer [Mon, 12 Jun 2023 12:40:54 +0000 (14:40 +0200)] 
mkosi: Add bpftool to final image

Useful for debugging bpf.

11 months agomkosi: Add socat to the final image
Daan De Meyer [Thu, 8 Jun 2023 14:32:24 +0000 (16:32 +0200)] 
mkosi: Add socat to the final image

Useful for debugging vsock stuff

11 months agoMerge pull request #28010 from DaanDeMeyer/vsock-type
Daan De Meyer [Tue, 13 Jun 2023 13:41:58 +0000 (15:41 +0200)] 
Merge pull request #28010 from DaanDeMeyer/vsock-type

Vsock improvements

11 months agoudevadm-control: fix error message
David Tardon [Tue, 13 Jun 2023 13:31:20 +0000 (15:31 +0200)] 
udevadm-control: fix error message

Extracted from #25523 by Lennart.

11 months agosd-daemon: Add vsock fallback to SOCK_STREAM 28010/head
Daan De Meyer [Tue, 13 Jun 2023 08:26:00 +0000 (10:26 +0200)] 
sd-daemon: Add vsock fallback to SOCK_STREAM

SOCK_SEQPACKET is only supported on recent kernels. Let's add a
fallback to SOCK_STREAM if it is not supported.

To accomodate SOCK_STREAM, we also modify
pid_notify_with_fds_internal() to do sendmsg() in a loop as with
SOCK_STREAM, sendmsg() is not guaranteed to write all data in a single
syscall or fail otherwise.

11 months agosd-daemon: Use socket type from vsock address if set
Daan De Meyer [Mon, 12 Jun 2023 16:21:08 +0000 (18:21 +0200)] 
sd-daemon: Use socket type from vsock address if set

If a socket type is explicitly provided in the vsock address, let's
make sure we try only that socket type.

11 months agosocket-util: Allow specifying socket type in vsock address
Daan De Meyer [Tue, 13 Jun 2023 08:03:44 +0000 (10:03 +0200)] 
socket-util: Allow specifying socket type in vsock address

11 months agosocket: bump listen() backlog to INT_MAX everywhere
Lennart Poettering [Tue, 13 Jun 2023 08:15:59 +0000 (10:15 +0200)] 
socket: bump listen() backlog to INT_MAX everywhere

This is a rework of #24764 by Cristian Rodríguez
<crodriguez@owncloud.com>, which stalled.

Instead of assigning -1 we'll use a macro defined to INT_MAX however.

11 months agoMerge pull request #28014 from bluca/portable_fixes
Lennart Poettering [Tue, 13 Jun 2023 11:19:02 +0000 (13:19 +0200)] 
Merge pull request #28014 from bluca/portable_fixes

portabled fixes

11 months agoMerge pull request #28017 from poettering/link-tmpfile-flags
Lennart Poettering [Tue, 13 Jun 2023 11:18:42 +0000 (13:18 +0200)] 
Merge pull request #28017 from poettering/link-tmpfile-flags

teach link_tmpfile_at() to properly sync

11 months agoportable: make sure to fsync after extracting/copying 28014/head
Luca Boccassi [Mon, 12 Jun 2023 22:51:51 +0000 (23:51 +0100)] 
portable: make sure to fsync after extracting/copying

Just in case we are on a flimsy filesystem/disk

11 months agotest: re-enable TEST-02 on ppc64le 27952/head
Frantisek Sumsal [Mon, 12 Jun 2023 13:43:54 +0000 (15:43 +0200)] 
test: re-enable TEST-02 on ppc64le

11 months agotest: make sure ping works for unprivileged users
Frantisek Sumsal [Mon, 12 Jun 2023 12:13:25 +0000 (14:13 +0200)] 
test: make sure ping works for unprivileged users

11 months agotest: copy file xattrs (if any) as well
Frantisek Sumsal [Mon, 12 Jun 2023 11:21:11 +0000 (13:21 +0200)] 
test: copy file xattrs (if any) as well

11 months agotest: merge TEST-61-UNITTESTS-QEMU with TEST-02-UNITTESTS
Frantisek Sumsal [Wed, 7 Jun 2023 11:51:02 +0000 (13:51 +0200)] 
test: merge TEST-61-UNITTESTS-QEMU with TEST-02-UNITTESTS

The test was originally introduced for Ubuntu CI, as it uses
PREFER_NSPAWN=1, but it was subsequently disabled two years ago [0], so
it was pretty much useless. Let's merge it into TEST-02 and tweak it a
bit to run only certain tests under QEMU when $TEST_PREFER_NSPAWN is
set.

[0] b152adbfa9b708dade8559b9962241902bf2eb7c

11 months agoproc-cmdline: parse the whole /proc/cmdline
Frantisek Sumsal [Mon, 12 Jun 2023 19:05:30 +0000 (21:05 +0200)] 
proc-cmdline: parse the whole /proc/cmdline

The kernel command line may contain newlines which kernel happily
accepts, but we'd ignore everything past the first newline. Let's fix
that by replacing read_one_line_file() with read_full_file().

11 months agotree-wide: start properly syncing at various places we so far didn't 28017/head
Lennart Poettering [Tue, 13 Jun 2023 07:49:50 +0000 (09:49 +0200)] 
tree-wide: start properly syncing at various places we so far didn't

Let's better be safe than sorry, and install files fully safely now that
is is easy.

11 months agocoredump: port over code to new LINK_TMPFILE_SYNC flag
Lennart Poettering [Tue, 13 Jun 2023 07:49:35 +0000 (09:49 +0200)] 
coredump: port over code to new LINK_TMPFILE_SYNC flag

11 months agotmpfile-util: add new LINK_TMPFILE_SYNC flag for syncing properly before/after linkin...
Lennart Poettering [Tue, 13 Jun 2023 07:45:39 +0000 (09:45 +0200)] 
tmpfile-util: add new LINK_TMPFILE_SYNC flag for syncing properly before/after linking in the file

This syncs the data before linking it in, and both data + dir once done.
This should give us proper semantics for installing files safely into
the fs.

11 months agotmpfile-util: turn last parameter of link_tmpfile() into a proper flags
Lennart Poettering [Tue, 13 Jun 2023 07:40:53 +0000 (09:40 +0200)] 
tmpfile-util: turn last parameter of link_tmpfile() into a proper flags

This changes a boolean param into a proper bitflag field.

Given this only defines a single flag for now this doesn't look like
much of an improvement. But we'll add another flag shortly, where it
starts to make more sense.

11 months agoportable: do not extract empty unit files
Luca Boccassi [Mon, 12 Jun 2023 22:47:03 +0000 (23:47 +0100)] 
portable: do not extract empty unit files

Bare minimum sanity check, an empty unit is an invalid unit so
skip it early.

11 months agoupdate TODO
Lennart Poettering [Mon, 12 Jun 2023 21:00:47 +0000 (23:00 +0200)] 
update TODO

11 months agoresolvectl: add resolvectl command for dumping cache contents 28012/head
Lennart Poettering [Mon, 12 Jun 2023 14:46:04 +0000 (16:46 +0200)] 
resolvectl: add resolvectl command for dumping cache contents

A wrapper around the new varlink call, showing the data either in its
native JSON or in a more human readable textual form.

11 months agoresolved: add DNS_RESOURCE_KEY_TO_STRING() macro helper
Lennart Poettering [Mon, 12 Jun 2023 14:45:25 +0000 (16:45 +0200)] 
resolved: add DNS_RESOURCE_KEY_TO_STRING() macro helper

This does the usual compound init trick to get formatted strings of
stuff.

We should probably port various pieces of code over to using this.

11 months agoresolved: add dns_resource_key_from_json() helper
Lennart Poettering [Mon, 12 Jun 2023 14:44:40 +0000 (16:44 +0200)] 
resolved: add dns_resource_key_from_json() helper

It reverse what dns_resource_key_to_json(), i.e. turns JSON data into a
parsed DnsResourceKey object.

Ultimately this just moves a client-side local wrapper into generic
code. Nothing truly new here.

11 months agoresolved: add DumpCache varlink call for acquiring a complete dump of all of resolved...
Lennart Poettering [Mon, 12 Jun 2023 14:40:59 +0000 (16:40 +0200)] 
resolved: add DumpCache varlink call for acquiring a complete dump of all of resolved's RR caches

This adds a simple varlink call io.systemd.Resolve.Monitor.DumpCache to
the existing io.systemd.Resolve.Monitor service. It compiles a JSON
object containing the per-scope cache entries and returns it.

Replaces: #20053 #19104

Fixes: #14796
11 months agoboot: Unify protocol opening
Jan Janssen [Mon, 12 Jun 2023 13:12:05 +0000 (15:12 +0200)] 
boot: Unify protocol opening

We are using HandleProtocol everywhere except in these few cases. This
unifies on HandleProtocol as it is simpler to use and equivalent to
OpenProtocol.

The only difference between the two is that OpenProtocol attributes the
opened protocol to a firmware-owned handle instead of our image handle.
This has no real use for regular UEFI applications as any protocols
opened via BY_HANDLE or GET_PROTOCOL is not required to be closed. In
fact, when a protocol is uninstalled it will do nothing more than reduce
the open count for these.

11 months agojson: add json_dispatch_variant_noref() helper
Lennart Poettering [Mon, 12 Jun 2023 14:37:37 +0000 (16:37 +0200)] 
json: add json_dispatch_variant_noref() helper

This is identical to json_dispatch_variant() but doesn't increase the
ref counter of the variant. This is useful for taking JSON objects apart
locally without the intention to keep any component pinned for longer
than the local stack frame.

11 months agoman: explain timesyncd epoch mtime touch files in a bit more detail
Lennart Poettering [Mon, 12 Jun 2023 12:06:10 +0000 (14:06 +0200)] 
man: explain timesyncd epoch mtime touch files in a bit more detail

Let's mention what /usr/lib/clock-epoch precisely does, and underline we
only *advance* the time based on it.

Inspired by Darkdragon-001's #23214.

Replaces #23214

11 months agoMerge pull request #27989 from poettering/message-append-string-set
Lennart Poettering [Mon, 12 Jun 2023 12:12:05 +0000 (14:12 +0200)] 
Merge pull request #27989 from poettering/message-append-string-set

common helpers for serializing Set of strings into bus message

11 months agobus-util: add bus_property_get_string_set() helper 27989/head
Lennart Poettering [Fri, 9 Jun 2023 19:45:31 +0000 (21:45 +0200)] 
bus-util: add bus_property_get_string_set() helper

This is a common implementation of a property getter for a Set of
strings.

11 months agobus-util: add bus_message_append_string_set() helper
Lennart Poettering [Fri, 9 Jun 2023 17:12:51 +0000 (19:12 +0200)] 
bus-util: add bus_message_append_string_set() helper

This new helper adds all strings from a Set object as a string array to
a message.

Various places where we have similar code are then ported over to this.

11 months agoukify: move verb mangling to finalize_options()
Zbigniew Jędrzejewski-Szmek [Wed, 7 Jun 2023 07:10:49 +0000 (09:10 +0200)] 
ukify: move verb mangling to finalize_options()

This simplifies the logic: finalize_options() is the step that does the
checks and the mangling. The checks for consistency are done in more places,
so we need to pass a verb (we only have 'build', but once we add other verbs,
any would do).

11 months agoukify: split out iteration over phase path groups and keys
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 19:03:10 +0000 (21:03 +0200)] 
ukify: split out iteration over phase path groups and keys

In preparation for future changes.

11 months agoman,test: root or hardware is not needed for ukify
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 18:32:33 +0000 (20:32 +0200)] 
man,test: root or hardware is not needed for ukify

11 months agoukify: fix synopsis in --help
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 18:27:48 +0000 (20:27 +0200)] 
ukify: fix synopsis in --help

Missed in a3b227d28a823d59e3281109f5369d0f63b40f62.

11 months agoukify: use pager for --help
Zbigniew Jędrzejewski-Szmek [Tue, 6 Jun 2023 15:32:47 +0000 (17:32 +0200)] 
ukify: use pager for --help

The output is now too long to fit on one page, let's use a pager automatically
like in other places.

The implementation is copied from mkosi, but adjusted to follow what other
systemd tools do.

11 months agomeson: bump required version to 0.56.0 26728/head
Yu Watanabe [Sun, 15 May 2022 18:36:34 +0000 (03:36 +0900)] 
meson: bump required version to 0.56.0

11 months agomeson: bump required version to 0.55.0
Yu Watanabe [Sun, 15 May 2022 18:22:33 +0000 (03:22 +0900)] 
meson: bump required version to 0.55.0

11 months agomeson: bump required version to 0.54.0
Yu Watanabe [Sun, 15 May 2022 18:21:16 +0000 (03:21 +0900)] 
meson: bump required version to 0.54.0

11 months agomeson: define _GNU_SOURCE as '1'
Zbigniew Jędrzejewski-Szmek [Mon, 12 Jun 2023 08:45:48 +0000 (10:45 +0200)] 
meson: define _GNU_SOURCE as '1'

This changes the generated config.h file thusly:
-#define _GNU_SOURCE
+#define _GNU_SOURCE 1

Canonically, _GNU_SOURCE is just defined, without any value, but g++ defines
_GNU_SOURCE implicitly [1]. This causes a warning about a redefinition during
complilation of C++ programs after '-include config.h'. Our config attempts to
inject this (and a bunch of other arguments) into all compliations. But before
meson 0.54, flags for dependencies were not propagated correctly (*), and the C++
compilation was done without various flags (**). Once that was fixed, we started
getting a warning.

[1] http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.predefined
(*) Actually, the changelog doesn't say anything. But it mentions various work
    related to dependency propagation, and apparently this changes as a side
    effect.
(**) -fno-strict-aliasing
    -fstrict-flex-arrays=1
    -fvisibility=hidden
    -fno-omit-frame-pointer
    -include config.h

This could be solved in various ways, but it'd require either making the
compilation command line longer, which we want to avoid for readability of the
build logs, or splitting the logic to define the args for C++ progs separately,
which would make our meson.build files more complicated. Changing the
definition to '1' also solves the issue (because apparently now we match the
implicit definition), and shouldn't have other effects. I checked compilation
with gcc and clang. Maybe on other systems this could cause problems. We can
revisit if people report issues.

11 months agotest: drop test for IFLA_NUM_RX_QUEUES
Yu Watanabe [Sat, 10 Jun 2023 07:45:02 +0000 (16:45 +0900)] 
test: drop test for IFLA_NUM_RX_QUEUES

The attribute is not included in the netlink message if the kernel
built with CONFIG_RPS disabled.

Fixes #27969.

11 months agomeson: add systemd.pc and udev.pc to 'devel' target/tag
Luca Boccassi [Sun, 11 Jun 2023 23:41:49 +0000 (00:41 +0100)] 
meson: add systemd.pc and udev.pc to 'devel' target/tag

Same as the other pkg-config files, it is useful to install these in a specific
target that doesn't require compiling anything

11 months agotest: make coverage runs happy again
Frantisek Sumsal [Sun, 11 Jun 2023 07:02:52 +0000 (09:02 +0200)] 
test: make coverage runs happy again

11 months agoMerge pull request #27980 from bluca/tests
Yu Watanabe [Sat, 10 Jun 2023 08:46:10 +0000 (17:46 +0900)] 
Merge pull request #27980 from bluca/tests

add unit tests for *DirectorySymlink= and deserialize_strv helper

11 months agoexecute: fix minor type confusion
Lennart Poettering [Fri, 9 Jun 2023 19:57:51 +0000 (21:57 +0200)] 
execute: fix minor type confusion

The .gl_pathc field is size_t, hence count in size_t too, to not
accidentally drop 32 of 64bits on the floor.

11 months agohwdb: fix arrow keys on HP Elite Dragonfly G3
Benjamin Raison [Fri, 9 Jun 2023 22:34:28 +0000 (00:34 +0200)] 
hwdb: fix arrow keys on HP Elite Dragonfly G3

11 months agobattery-util: debug log when we're unsure about the battery level
Mike Yuan [Fri, 9 Jun 2023 16:30:41 +0000 (00:30 +0800)] 
battery-util: debug log when we're unsure about the battery level

11 months agoman: 'flag' parameter in portable1 spec is now used
Luca Boccassi [Fri, 9 Jun 2023 15:14:59 +0000 (16:14 +0100)] 
man: 'flag' parameter in portable1 spec is now used

It has been used for a while, and it is described fully a couple of
paragraphs below, but this snippet was not deleted.

11 months agotree-wide: fix typos of "boottime"/"BOOTTIME"
Nick Rosbrook [Fri, 9 Jun 2023 16:21:11 +0000 (12:21 -0400)] 
tree-wide: fix typos of "boottime"/"BOOTTIME"

11 months agoserialize: add deserialize_strv helper 27980/head
Luca Boccassi [Thu, 1 Jun 2023 18:32:29 +0000 (19:32 +0100)] 
serialize: add deserialize_strv helper

11 months agotest-execute: add unit tests for *DirectorySymlink=
Luca Boccassi [Fri, 2 Jun 2023 22:00:18 +0000 (23:00 +0100)] 
test-execute: add unit tests for *DirectorySymlink=

11 months agoxdg-autostart-generator: extend start timeout
Lennart Poettering [Thu, 8 Jun 2023 13:29:17 +0000 (15:29 +0200)] 
xdg-autostart-generator: extend start timeout

The current start + stop timeouts for xdg autostart files are *very*
short with 5s. On a busy system this might be too easy to hit even in
unintended case.

Apparently, the intention here was to cut the shutdown logic short.
(https://github.com/systemd/systemd/issues/27919#issuecomment-1580576178)
Let's hence stick to the very short timeout for that (under the
assumption that apps are written in a safe enough style to not lose data
if killed too early). But for starting XGD autostrat services, use our
regular timeouts.

See: #27919

11 months agoboot: Fix memory leak
Jan Janssen [Thu, 8 Jun 2023 17:04:22 +0000 (19:04 +0200)] 
boot: Fix memory leak

11 months agoMerge pull request #26059 from DaanDeMeyer/cred-glob
Luca Boccassi [Thu, 8 Jun 2023 19:40:37 +0000 (20:40 +0100)] 
Merge pull request #26059 from DaanDeMeyer/cred-glob

creds: Add ImportCredential=

11 months agoMerge pull request #26848 from yuwata/kernel-install
Luca Boccassi [Thu, 8 Jun 2023 19:23:10 +0000 (20:23 +0100)] 
Merge pull request #26848 from yuwata/kernel-install

kernel-install: rewrite in C

11 months agointegritysetup: support mode=(journal|bitmap|direct)
Alfred Klomp [Thu, 8 Jun 2023 11:26:24 +0000 (13:26 +0200)] 
integritysetup: support mode=(journal|bitmap|direct)

Add a parameter to the integritytab file to set the mode in which to
open the integrity volume. The mode can be journaled (the default),
bitmap without a journal, or direct mode without a journal or a bitmap.

This change removes the `no-journal' option because it is redundant,
being replaced with `mode=direct'.

Supercedes commit bcc1ee56c, from a week ago, which implemented
`no-journal'.

Resolves #27587

11 months agoman/os-release: Add VENDOR_NAME= and VENDOR_URL= keys to os-release
Philip Withnall [Wed, 31 May 2023 14:49:42 +0000 (15:49 +0100)] 
man/os-release: Add VENDOR_NAME= and VENDOR_URL= keys to os-release

These will be used in UIs to refer to the company or organization which
produces the OS separately from referring to the OS itself.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Fixes: #27777
11 months agoman: document that "systemctl mask" doesn't work for units whose file is in /etc
Lennart Poettering [Thu, 8 Jun 2023 14:59:15 +0000 (16:59 +0200)] 
man: document that "systemctl mask" doesn't work for units whose file is in /etc

Fixes: #27965
11 months agoMerge pull request #27712 from ddstreet/tpm2_simplify_srk
Luca Boccassi [Thu, 8 Jun 2023 17:52:31 +0000 (18:52 +0100)] 
Merge pull request #27712 from ddstreet/tpm2_simplify_srk

Tpm2 simplify srk

11 months agoac-power: fix a typo
Mike Yuan [Mon, 5 Jun 2023 15:03:58 +0000 (23:03 +0800)] 
ac-power: fix a typo

11 months agoman: reference naming of triggered services of timer unit
Lennart Poettering [Thu, 8 Jun 2023 12:20:42 +0000 (14:20 +0200)] 
man: reference naming of triggered services of timer unit

Fixes: #27116
11 months agoMerge pull request #27968 from poettering/may-gc-tweaks
Lennart Poettering [Thu, 8 Jun 2023 12:54:09 +0000 (14:54 +0200)] 
Merge pull request #27968 from poettering/may-gc-tweaks

pid1: some minor GC logic tweaks

11 months agoMerge pull request #27961 from poettering/journalctl-user-unit-man-fix
Mike Yuan [Thu, 8 Jun 2023 12:19:07 +0000 (20:19 +0800)] 
Merge pull request #27961 from poettering/journalctl-user-unit-man-fix

journalctl: fix --user when invoked by system users

11 months agounits: Use ImportCredential= where applicable 26059/head
Daan De Meyer [Thu, 8 Jun 2023 12:09:36 +0000 (14:09 +0200)] 
units: Use ImportCredential= where applicable

11 months agocreds: Add ImportCredential=
Daan De Meyer [Fri, 13 Jan 2023 15:22:46 +0000 (16:22 +0100)] 
creds: Add ImportCredential=

ImportCredential= takes a credential name and searches for a matching
credential in all the credential stores we know about it. It supports
globs which are expanded so that all matching credentials are loaded.

11 months agotpm2: add tpm2_get_legacy_template() and tpm2_get_srk_template() 27712/head
Dan Streetman [Fri, 17 Feb 2023 17:59:18 +0000 (12:59 -0500)] 
tpm2: add tpm2_get_legacy_template() and tpm2_get_srk_template()

Add functions to get either the 'legacy' or standard SRK template, for RSA or
ECC. The 'legacy' templates are those used with earlier code, where a transient
key was created to use for tpm sealing; the standard SRK is the persistent
shared key as defined in TCG guidance docs.

This also replaces tpm2_get_primary_template() with the new functions; that
function's use of flags is confusing and unnecessary.

11 months agotpm2: add tpm2_read_public()
Dan Streetman [Thu, 18 May 2023 00:03:00 +0000 (20:03 -0400)] 
tpm2: add tpm2_read_public()

11 months agotpm2: add tpm2_get_capability_handle(), tpm2_esys_handle_from_tpm_handle()
Dan Streetman [Fri, 17 Feb 2023 17:50:31 +0000 (12:50 -0500)] 
tpm2: add tpm2_get_capability_handle(), tpm2_esys_handle_from_tpm_handle()

Add tpm2_get_capability_handle() to query if a "TPM handle" (meaning, a
location/address in TPM storage) is populated in the TPM, and
tpm2_get_capability_handles() to query for a specific number of handles.

Add tpm2_esys_handle_from_tpm_handle() to create an "esys handle" (an opaque
reference for use with the TPM EAPI that represents a TPM handle address) for an
existing TPM handle.

Since the TPM handle already exists in the TPM, this also also requires
updating the cleanup code for Tpm2Handle objects to close the object (free its
resources only from the EAPI code, but leave the handle in the TPM) instead of
flush the object (which frees its EAPI resources and removes it from the TPM).