Commit Graph
8191 Commits
Author SHA1 Message Date
Lennart Poettering 2099cd6289 tpm2: unify symbolic name infra for PCRs
We so far maintained two places for symboic names for PCRs. One in
tpm2-util.h and one in tpm-pcr.h.

Let's unify this into one, i.e. move the full list from tpm2-util.h into
tpm-pcr.h, replacing the short list placed so far there.

Systematically prefix the definitions with TPM2_ or tpm2_, to follow how
we do this for all other defines in this context.

No change in behaviour, just unification of tables.
2023-08-24 13:40:37 +02:00
Lennart Poettering f5fc7732b0 json: add json_variant_set_fieldb() helper
Let's a "b" helper for json_variant_set_field() that combines
json_build() with json_variant_set_field(), similar to the
json_variant_merge_objectb(), json_variant_append_arrayb().
2023-08-24 13:20:39 +02:00
Lennart Poettering e931768eb4 json: rename json_append() → json_variant_merge_objectb()
json_append() is a useful wrapper around json_variant_merge(). However,
I think the naming sould be cleaned up a bit of both functions.

I thinker "merge" is the better word than "append", since it does
decidedly more than just append: it replaces existing fields of the same
name, hence "merge" sounds more appropriate. This is as opposed to the
similar operations for arrays, where no such override logic is applied
and we really just append, hence those functions are called "append"
already.

To make clearer that "merge" is about objects, and "append" about
arrays, also include "object" in the name.

Also, include "json_variant" in the name, like we do for almost all
other functions in the JSON API that take a JSON object as primary
input, and hence are kinda object methods.

Finally, let's follow the logic that helpers that combine json_build()
with some other operation get suffixed with "b" like we already have in
some cases.

Hence:

json_variant_merge() → json_variant_merge_object()
       json_append() → json_variant_merge_objectb()

This mirrors nicely the existing:
                       json_variant_append_array()
                       json_vairant_append_arrayb()

This also drops the variant of json_append() that takes a va_arg
parameter (i.e. json_appendv()). We have no user of that so far, and
given the nature as a helper function only I don#t see that happening,
and if it happens after all it's trivial to bring back.
2023-08-24 13:20:39 +02:00
Lennart Poettering 3218794f1c json: add json_variant_append_arrayb() helper 2023-08-24 13:19:52 +02:00
Lennart Poettering ba091282e5 utf8: automatically determine length of string if SIZE_MAX is specified
Let's make utf8_to_utf16() and utf16_to_utf8() a bit nicer to use by
adding shortcuts for common cases.

This is particularly relevant for utf16_to_utf8() since the
multiplication with 2 is easy to forget.
2023-08-24 13:19:12 +02:00
Daan De Meyer b56ee69233 hostname: Make sure we pass error to bus_verify_polkit_async()
Fixes #28943
2023-08-24 11:23:01 +02:00
Topi Miettinen 274ffe1abb shared/firewall-util: make NFT table init optional 2023-08-23 19:54:08 +03:00
Topi Miettinen 0872f0bbe9 shared/firewall-util: parametrize table name
Parametrize table name for nft_{add,del}_element.
2023-08-23 19:53:50 +03:00
Topi Miettinen 940965803e shared/firewall-util: parametrize table and set names
Parametrize table and set names for fw_nftables_add_masquerade_internal, rename
to nft_set_element_op_iprange to reflect more general usage. Export and use
nfproto_is_valid().

Remove also unused and obsolete NFPROTO_DECNET.
2023-08-23 19:53:13 +03:00
Jan Janssen 9ee80846f8 meson: Convert fidsk to meson feature
By making this a disabler dependency, we can slightly simplify the code
and it als fixes the build for -Dfdisk=disabled as we failed to create a
fallback empty libshared_fdisk variable.
2023-08-23 14:45:02 +02:00
Yu Watanabe 2b60ce545c mount-util: drop unused remount_and_move_sub_mounts() 2023-08-22 23:21:43 +09:00
Lennart Poettering ea803614fc verbs: make a helpful suggestion when user types unrecognized verb
I have been mistyping commands too often myself, and I think the tools
could simply be more helpful, by suggesting to me what I probably wanted
to write. Copy/Paste FTW, after all!
2023-08-21 23:19:49 +02:00
Lennart Poettering afa303254d Merge pull request #28907 from poettering/have-seccomp-tweaks
reduce HAVE_SECCOMP ifdeffery
2023-08-21 23:15:39 +02:00
Lennart Poettering cf1ab844a9 tree-wide: drop "static inline" use in .c files
"static inline" makes sense in .h files. But in .c files it's useless
decoration, the compiler should just make its own decisions there, and
it can do that.

hence, replace all remaining uses of "static line" by a simple" static"
in all .c files (but keep them in .h files, where they make sense)
2023-08-21 23:15:12 +02:00
Lennart Poettering e2fc0a7222 tree-wide: don't ifdef seccomp-util.h, drop seccomp.h inclusion everywhere
seccomp-util.h doesn't need ifdeffing, hence don't. It has worked since
quite a while with HAVE_SECCOMP is off, hence use it everywhere.

Also drop explicit seccomp.h inclusion everywhere (which needs
HAVE_SECCOMP ifdeffery everywhere). seccomp-util.h includes it anyway,
automatically, which we can just rely on, and it deals with HAVE_SECCOMP
at one central place.
2023-08-21 18:50:29 +02:00
Lennart Poettering 65a57927ad seccomp: move seccomp_parse_errno_or_action() into common definitions
Let's remove some HAVE_SECCOMP ifdeffery by simply defining the funcion
in question (seccomp_parse_errno_or_action() + related calls) into
common code that is also compiled if HAVE_SECCOMP is off.

This is generally the better approach anyway, since we want as much as
possible and easily feasible parsers work even if the code implementing
them is disabled. THis is easy to achieve here, hence do.
2023-08-21 18:50:29 +02:00
Mike Yuan 121ce4a687 generators: use generator_open_unit_file where appropriate 2023-08-19 01:15:01 +01:00
Daan De Meyer 3c1c52f2c9 install: Drop install_info_may_process() from unit_file_get_default()
This currently makes unit_file_get_default() fail if the default
target is transient which shouldn't make us fail to get the default
unit.
2023-08-18 20:48:47 +08:00
Lennart Poettering f51ed26b38 tpm2-util: add _const_/_pure_ to a couple of to_string()/from_string() functions 2023-08-18 11:54:25 +02:00
Lennart Poettering b060b9a492 tpm2-util: give PCR 6 a name too
The specs call this TCG PC Client Platform Firmware Profile
Specification says this PCR is owned by the Host Platform Manufacturer,
at various places. Hence let's give it that name.
2023-08-18 11:54:19 +02:00
Luca Boccassi f1a621b09b Merge pull request #28832 from dtardon/list-clear
Add LIST_CLEAR() helper that empties the list
2023-08-17 16:27:43 +01:00
Daan De Meyer be7d808c1c Merge pull request #28869 from DaanDeMeyer/repart-trailing
repart: Make sure we keep trailing slashes in ExcludeFiles=
2023-08-17 14:55:03 +02:00
Daan De Meyer ce60b3a40a parse-helpers: Add PATH_KEEP_TRAILING_SLASH 2023-08-17 13:23:39 +02:00
David Tardon 45b1c015b0 bus-polkit: don't propagate error from polkit
An error reply from polkit is a valid case and should not be propagated
as failure of async_polkit_callback(). It should only be saved here.
It'll be returned by bus_verify_polkit_async() later, when it's called
for the same method again.

Follow-up for #26365.
2023-08-17 12:08:32 +02:00
David Tardon 01d3fe43e2 open-file: add missing assert 2023-08-17 09:48:17 +02:00
David Tardon 52e3671bf7 tree-wide: use LIST_POP() 2023-08-17 09:48:17 +02:00
David Tardon 9aad490e53 tree-wide: use LIST_CLEAR() 2023-08-17 09:48:17 +02:00
Zbigniew Jędrzejewski-Szmek 7ab24710a6 shared/barrier: remove parens 2023-08-16 12:52:56 +02:00
Zbigniew Jędrzejewski-Szmek 3c098014f5 nspawn,shared: make ERRNO_IS_SECCOMP_FATAL an inline func with _NEG_ variant
Also rebreak comments and lines.

No functional change.
2023-08-16 12:52:56 +02:00
Zbigniew Jędrzejewski-Szmek 7d01eb35dc shared/kbd-util: simplify error handling in keymap_exists()
Once we know the return value, we can just return it, no need to
exit the loop.
2023-08-16 12:52:56 +02:00
Zbigniew Jędrzejewski-Szmek bb44fd0734 various: use _NEG_ macros to reduce indentation
No functional change intended.
2023-08-16 12:52:56 +02:00
Zbigniew Jędrzejewski-Szmek 3c8c67ce1d shared/cgroup-show: do not format path twice
Also, invert the "negative" condition to positive so that it matches the assert
right above. Also, print the path in the debug message.
2023-08-16 12:52:56 +02:00
Zbigniew Jędrzejewski-Szmek 13d84288bc tree-wide: use cocinnelle to apply _NEG_ macros 2023-08-16 12:52:56 +02:00
Maanya Goenka 55ea4ef096 allow ExtensionImages= and ExtensionDirectories= settings to support confext images 2023-08-15 18:34:46 +00:00
Luca Boccassi 75bb2425a3 Merge pull request #28839 from DaanDeMeyer/repart-followups
Repart followups
2023-08-15 16:40:05 +01:00
Warren 5007942477 p11kit: check the flags associated with the slot instead of flags associated with the token
The logic around checking PKCS11 tokens (used by systemd-cryptenroll) contains a bug.
The code is checking the flags field of a pkcs11 token_info structure against a set of flags defined for the pkcs11 slot_info structure. This PR changes the check so that the correct structure's flag field is being checked.
(Reference to the PKCS#11 spec:http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html, section CK_SLOT_INFO).
2023-08-15 11:28:14 +01:00
Daan De Meyer b1110c81d8 mkfs-util: Don't set MKE2FS_DEVICE_PHYS_SECTSIZE
We only care about the logical sector size and if the physical sector
size isn't set and we're operating on a file, mke2fs will default the
physical sector size to the logical block size anyway.

This change makes sure that if we're operating on a block device and
set an explicit logical sector size, that doesn't affect the physical
sector size.
2023-08-15 12:10:14 +02:00
Luca Boccassi 4ccee4b426 Merge pull request #28812 from DaanDeMeyer/sector-size
repart: Use 4096 as the fallback sector size for verity/luks/filesystems
2023-08-15 10:16:24 +01:00
Daan De Meyer c55a97f1fd mkdir: Add support for creating subvolumes to mkdir_p_root()
We pass in the paths which should be subvolumes and try to create
those as subvolumes if we can.
2023-08-14 18:46:08 +02:00
Daan De Meyer ad6fae7ffc copy: Add support for creating subvolumes to copy_tree_at()
The subvolumes set is a set of source inodes similar to how the
denylist hashmap contains source inodes as keys. It indicates
directories in the source tree that should become subvolumes in
the target tree.
2023-08-14 18:46:08 +02:00
Daan De Meyer e54c79ccc2 btrfs-util: Move subvolume creation to basic/btrfs.h
Also make btrfs_subvol_make() an openat style function.
2023-08-14 18:46:08 +02:00
Daan De Meyer 672de611dd Merge pull request #28828 from DaanDeMeyer/sysupdate-fdisk
fdisk-util: Make fdisk_new_context_fd() more generic
2023-08-14 14:23:03 +02:00
Daan De Meyer e36c6210b7 dissect-image: Fix mount_point_is_available()
We call dir_is_empty() to check if the directory is empty but don't
take the result into account when returning from the function.
2023-08-14 14:22:38 +02:00
Daan De Meyer fd9fe57a26 fdisk-util: Make fdisk_new_context_fd() more generic
Let's make this an openat() style function so we can also pass a
device path.
2023-08-14 10:27:57 +02:00
Yu Watanabe e3390a22dc Merge pull request #28744 from YHNdnzj/battery-check-minor-followup
battery-util: minor follow-ups
2023-08-13 19:27:56 +09:00
Yu Watanabe 88321d5d77 Merge pull request #28809 from YHNdnzj/proc-cmdline-true-when-missing
proc-cmdline: introduce PROC_CMDLINE_TRUE_WHEN_MISSING and use it where appropriate
2023-08-13 19:25:22 +09:00
Luca Boccassi a0b0b670ab test: skip test-path on Salsa CI
Salsa is the Debian git forge. In the package build environment test-path
always fails as we cannot set up cgroups and so the path unit fails to
start. Skip the test in that environment.

Unfortunately meson doesn't allow to skip individual tests by name.
2023-08-13 10:27:04 +01:00
Mike Yuan 46b0b7e24a battery-util: log_notice when unsure about battery state
Follow-up for 02f7f8aa4f

This deserves some highlight.

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288592726
2023-08-13 13:02:58 +08:00
Mike Yuan 60d83c3e86 battery-util: don't log duplicate message
Follow-up for 02f7f8aa4f

Addresses https://github.com/systemd/systemd/pull/28597#discussion_r1288591215

> this is pretty unnecessary, battery_read_capacity_percentage()
debug logs on its own about this already, in more detailed way?
2023-08-13 13:02:57 +08:00
Mike Yuan 022a19c9f6 reboot-util: cache the result of shall_restore_state 2023-08-13 12:54:56 +08:00