Commit Graph
60910 Commits
Author SHA1 Message Date
Lennart Poettering d3a3a0fae3 format-table: teach table_add_cell_stringf_full() to generate TABLE_FIELD/TABLE_HEADER cells, too 2022-11-13 17:36:22 +09:00
Lennart Poettering 8f6469cbf9 format-table: introduce TABLE_HEADER cell type
This rework the logic for handling the "header" cells a bit. Instead of
special casing the first row in regards to uppercasing/coloring let's
just intrduce a proper cell type TABLE_HEADER which is in most ways
identical to TABLE_STRING except that it defaults to uppercase output
and underlined coloring.

This is mostly refactoring, but I think it makes a ton of sense as it
makes the first row less special and you could in fact insert
TABLE_HEADER (and in fact TABLE_FIELD) cells wherever you like and
something sensible would happen (i.e. a string cell is displayed with
a specific formatting).
2022-11-13 17:36:22 +09:00
Yu Watanabe 1c03f7f4ba ac-power: check battery existence and status
If a battery is not present or its status is not discharging, then
the battery should not be used as a power source.
Let's count batteries currently discharging.

Fixes #25316.
2022-11-13 17:35:27 +09:00
Luca Boccassi 0d217f6349 Merge pull request #25268 from PeterCxy/fido2-preflight
libfido2-util: Perform pre-flight check for credentials in token
2022-11-12 15:51:47 +01:00
Carlo Teubner e48237358f man/systemd-dissect.xml: fix trivial error 2022-11-12 01:41:59 +01:00
Luca Boccassi dcd75079ce Merge pull request #25351 from crrodriguez/Wenum-int-mismatch
Fix gcc 13 -Wenum-int-mismatch warnings
2022-11-12 01:40:57 +01:00
Cristian Rodríguez 9264db1a0a shared|install: Use InstallChangeType consistently
gcc 13 -Wenum-int-mismatch, enabled by default, reminds us enum ! = int
2022-11-12 00:40:16 +00:00
Cristian Rodríguez e14afe31c3 resolve: dns_server_feature_level_*_string type is DnsServerFeatureLevel
gcc 13 -Wenum-int-mismatch reminds us that enum != int
2022-11-12 00:40:16 +00:00
Cristian Rodríguez aa70dd624b journal-remote: code is of type enum MHD_RequestTerminationCode
Fixes gcc 13 -Wenum-int-mismatch which are enabled by default.
2022-11-12 00:40:16 +00:00
MkfsSion 32f57b0986 libfido2-util: Perform pre-flight check for credentials in token
Do not attempt to decrypt using a key slot unless its corresponding
credential is found on an available FIDO2 token. Avoids multiple touches
/ confirmations when unlocking a LUKS2 device with multiple FIDO2 tokens
enrolled.

Partially fixes #19208 (when the libcryptsetup plugin is in use).
2022-11-11 18:51:07 -05:00
MkfsSion 15203f77a9 libfido2-util: Extract error handling logic from fido2_use_hmac_hash_specific_token 2022-11-11 18:51:07 -05:00
MkfsSion 098f72ceee libfido2-util: Commonize FIDO2 basic property settings
These properties are repeatedly set across multiple functions.
2022-11-11 18:51:07 -05:00
Lennart Poettering 7f77b40011 repart: fix build
Follow-up for: 12e2b70f9b
2022-11-11 19:01:59 +01:00
Daan De Meyer 12e2b70f9b nulstr-util: Declare NULSTR_FOREACH() iterator inline 2022-11-11 16:31:32 +01:00
Daan De Meyer 5ea173a91b strv: Make sure strv_make_nulstr() always returns a valid nulstr
strv_make_nulstr() is documented to always return a valid nulstr,
but if the input is `NULL` we return a string terminated with only
a single NUL terminator, so let's fix that and always terminate the
resulting string with two NUL bytes.
2022-11-11 16:31:20 +01:00
Daan De Meyer 0f3c342903 sd-bus: Use goto finish instead of return in bus_add_match_full
Fixes #25340
2022-11-11 15:57:41 +01:00
Cristian Rodríguez 1af427632f resolve: Use only C99 flex arrays (#25335) 2022-11-11 15:22:49 +01:00
Daan De Meyer 46fddd8eb6 Merge pull request #24803 from DaanDeMeyer/repart-copy-deny-list
repart: Don't descend into directories assigned to other partitions
2022-11-11 13:19:58 +01:00
Yu Watanabe b27c803601 Merge pull request #25328 from poettering/vertical-tables
format-table: add concept of "vertical" table
2022-11-11 15:18:12 +09:00
Luca Boccassi 021397f776 Merge pull request #25325 from yuwata/resolve-cap-per-link-setting-by-global
resolve: provide effective mDNS or LLMNR settings
2022-11-10 23:20:40 +01:00
Lennart Poettering 31a19acf82 timedatectl: port to new 'vertical' table type 2022-11-10 23:11:17 +01:00
Lennart Poettering 37a50123fa resolvectl: port to new 'vertical' table type 2022-11-10 23:10:37 +01:00
Lennart Poettering 8e07db64a0 Merge pull request #25261 from poettering/dissec-uuid
systemd-dissect: show image UUID in output
2022-11-10 23:10:17 +01:00
Lennart Poettering 858409499c resolvectl: fail properly if we can't append to table 2022-11-10 23:09:56 +01:00
Lennart Poettering c6bf9dff3a format-table: add an explicit "vertical" mode
Originally, the table formatting code was written to display a number of
records, one per line, and within each line multiple fields of the same
record. The first line contains the column names.

It was then started to be used in a "vertical" mode however,
i.e. with field names on the left instead of the top. Let's support such
a mode explicitly, so that we can provide systematic styling, and can
properly convert this mode to JSON.

A new constructor "table_new_vertical()" is added creating such
"vertical" tables. Internally, this is a table with two columns: "key"
and "value". When outputting this as JSON we'll output a single JSON
object, with key/value as fields. (Which is different from the
traditional output where we'd use the first line as JSON field names,
and output an array of objects).

A new cell type TABLE_FIELD is added for specifically marking the
"field" cells, i.e. the cells in the first column. We'll automatically
suffic ":" to these fields on output.
2022-11-10 23:09:18 +01:00
Yu Watanabe 251dc2f14b meson: install systemd-ac-power under /usr/bin
And test the its help message.

The program is useful for e.g. scripts that conditionalize their tasks
to be invoked only when running on AC power.
2022-11-10 23:04:23 +01:00
Lennart Poettering 0b556555c2 update TODO 2022-11-10 22:19:42 +01:00
Ricky Tigg 0529f580ee po: Translated using Weblate (Finnish)
Currently translated at 100.0% (193 of 193 strings)

Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/fi/
Translation: systemd/main
2022-11-10 20:36:28 +01:00
Lennart Poettering 63b130a6fc test: add quick test for ensuring image UUID is deterministic based on the seed passed to repart 2022-11-10 17:33:51 +01:00
Lennart Poettering 71ea84369e locale: honour new env var $SYSTEMD_UTF8=
This is useful to force off fancy unicode glyph use (i.e. use "->"
instead of "→"), which is useful in tests where locales might be
missing, and thus control via $LC_CTYPE is not reliable.

Use this in TEST-58, to ensure the output checks we do aren't confused
by missing these glyphs being unicode or not.
2022-11-10 17:20:36 +01:00
Daan De Meyer bd69c2a85f repart: Add integration test for #24678 2022-11-10 16:40:33 +01:00
Daan De Meyer c0fad2d9b6 repart: Don't descend into directories assigned to other partitions
Let's say we have the following repart definitions files root.conf
and home.conf:

```
[Partition]
Type=root
CopyFiles=/
```

```
[Partition]
Type=home
CopyFiles=/home
```

Currently, we'd end up copying /home to both the root partition and
the home partition. To prevent this from happening, let's adopt a
new policy when copying files for a partition: We won't copy any
files/directories that appear in the CopyFiles= list of another
partition, unless that directory explicitly appears in our own
CopyFiles= list.

This way, we prevent copying /home twice into the root and home
partition, but should a user really want that behavior, they can
have it by adding /home to the CopyFIles= list of the root partition
as well.
2022-11-10 16:40:33 +01:00
Daan De Meyer 58b4ad76ca gpt: Add gpt_partition_type_mountpoint_nulstr() 2022-11-10 16:40:33 +01:00
Daan De Meyer dd8940235f gpt: Replace bitfields with designator field in GptPartitionType
To achieve this we move the PartitionDesignator enum from
dissect-image.h to gpt.h
2022-11-10 16:40:33 +01:00
Daan De Meyer a424958aa6 copy: Support passing a deny list of files/directories to not copy 2022-11-10 16:40:31 +01:00
Lennart Poettering 5db8b0bcad dissect: make image name bold 2022-11-10 16:00:59 +01:00
Lennart Poettering b387778c5b dissect: also parse out the top-level GPT table uuid and expose this as image UUID
systemd-repart generates this in a suitably stable fashion, hence let's
actually use it as an identifier for the image. As a first step parse
it, and show it.
2022-11-10 16:00:59 +01:00
Lennart Poettering 9bc4156cdf json: add build helpers to insert id128 in uuid formatting into json object 2022-11-10 16:00:59 +01:00
Lennart Poettering 9df82722f6 update TODO 2022-11-10 15:59:58 +01:00
Daan De Meyer ddfdf86f81 stat-util: Move inode_hash_ops to stat-util
TO make it usable in other code.
2022-11-10 15:59:18 +01:00
Yu Watanabe b77899af0d test: add tests for mDNS and LLMNR settings 2022-11-10 21:54:56 +09:00
Yu Watanabe e4b3f0dfe9 test: create config under /run 2022-11-10 21:54:56 +09:00
Yu Watanabe c38a03df4a resolvectl: warn if the global mDNS or LLMNR support level is lower than the requested one 2022-11-10 21:54:56 +09:00
Yu Watanabe dc167037c4 resolve: provide effective supporting levels of mDNS and LLMNR
The per-link settings are ignored if the feature is disabled by the global setting.
Let's announce the effective level, to make not users confused.

Closes #24863.
2022-11-10 21:54:56 +09:00
Yu Watanabe bce459e327 resolve: introduce link_get_llmnr_support() and link_get_mdns_support() 2022-11-10 21:54:18 +09:00
Yu Watanabe f6e4aa7b03 resolve: drop redundant call of socket_ipv6_is_supported()
As link_relevant() is called with AF_INET6, which returns true only when
the link has at least one relevant IPv6 address.
2022-11-10 21:46:36 +09:00
Cristian Rodríguez afd8e1d945 build: Use -fstrict-flex-arrays=1 if supported
Due to "historical reasons" both gcc and clang treat *all* trailing
arrays members as flexible arrays, this has an evil side effect
of inhibiting bounds checks on such members as __builtin_object_size
cannot say for sure that:

struct {
...
type foo[3];
}

has a trailing foo member of fixed size rather than unspecified.

Ideally we should use -fstrict-flex-arrays as is, but we have to
tolerate kernel uapi headers that use [0] and third party libraries
written in c89 that may use [1] like curl.
2022-11-10 21:07:59 +09:00
Yu Watanabe 7618ab1b71 test-network: skip test_match if alternative name is not supported by kernel
Fixes #25259.
2022-11-10 10:05:43 +00:00
Luca Boccassi 741504aa17 Merge pull request #24813 from DaanDeMeyer/at-all-the-things
Add more openat() style variants for existing stuff
2022-11-10 10:57:14 +01:00
Luca Boccassi 84fe5182d5 Merge pull request #25315 from poettering/dissect-mtree
dissect: add new --mtree switch to generate BSD comaptible mtree manifests of DDIs
2022-11-10 10:44:27 +01:00