Commit Graph
36053 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 6dc57047ff shared/format-table: allocate buffer of sufficient size 2021-07-09 11:03:36 +02:00
Zbigniew Jędrzejewski-Szmek 32fc5c4763 tree-wide: add FORMAT_TIMESTAMP_RELATIVE() 2021-07-09 11:03:36 +02:00
Zbigniew Jędrzejewski-Szmek 5291f26d4a tree-wide: add FORMAT_TIMESPAN() 2021-07-09 11:03:36 +02:00
Zbigniew Jędrzejewski-Szmek 5e62ac8b51 sd-journal: add FORMAT_TIMESTAMP_SAFE() 2021-07-09 11:03:35 +02:00
Zbigniew Jędrzejewski-Szmek 04f5c018ce tree-wide: use FORMAT_TIMESTAMP() 2021-07-09 11:03:35 +02:00
Zbigniew Jędrzejewski-Szmek ae7c644c22 basic/time-util: add FORMAT_TIMESTAMP
This uses the same idea of an anonyous buffer as ETHER_ADDR_TO_STR().
2021-07-09 11:03:35 +02:00
Zbigniew Jędrzejewski-Szmek e265fa8198 test-ether-addr-util: add a simple test that HW_ADDR_TO_STR works with nesting
It seems to, but I was a bit incredulous… The comment is adjusted to match
the standard.

The trick with a temporary buffer is neat. I wasn't sure if it is valid, but
the standard says so. The test really tests that we are reading the rules right
and that the compiler doesn't do anythign strange or emit an unexpected
warning.
2021-07-09 11:03:35 +02:00
Yu Watanabe d0e18bb4b0 Merge pull request #20166 from poettering/fsync-more
various tweaks to existing fsync() helpers, and some new apis
2021-07-09 07:32:01 +09:00
Yu Watanabe 452a07cfd6 Merge pull request #20168 from poettering/signal-util-tweak
generalize SIGINT handling in copy.c
2021-07-09 07:24:43 +09:00
Yu Watanabe f1ee01e342 Merge pull request #20167 from poettering/format-table-tweaks
format-table: three new features
2021-07-09 07:20:49 +09:00
Lennart Poettering 6a24c995f0 dirent-util: no need to bother with fstatat() for "." and ".." to figure out if these are dirs 2021-07-09 04:18:09 +09:00
Lennart Poettering bcf8fc267f blockdev-util: add fd-based APIs for getting backing block device for file 2021-07-08 14:49:02 +02:00
Lennart Poettering 1053967781 path-util: make path_compare() accept NULL 2021-07-08 13:56:06 +02:00
Yegor Alexeyev a520bb6654 logind: allow binding different operation to reboot key long presses 2021-07-08 13:08:20 +02:00
Lennart Poettering 949162552d conf-files: rename return parameters ret_xyz 2021-07-08 13:06:58 +02:00
Lennart Poettering c860665ef3 Merge pull request #20163 from poettering/repart-root-fix
repart: drop duplicate handling of /sysroot/ prefix
2021-07-08 13:06:41 +02:00
Lennart Poettering 19755bca19 Merge pull request #19995 from poettering/cred-tool
Add support for encrypted credentials
2021-07-08 12:59:59 +02:00
Lennart Poettering 14a4c4edc7 repart: when we can't fit the partitions in, report needed disk size current disk size
This improves error output in repart if we can't fit the defined
partitions into the disk image. With this change we'll now show not only
the disk size we need (as before), but also the current one, as well as
the largest free area on disk.

This should make it a bit easier to debug disk space issues that repart
runs into.
2021-07-08 11:46:35 +02:00
Hugo Osvaldo Barrera 8859b8f77a Mount encrypted swap partitions via gpt-auto
If the auto-discovered swap partition is LUKS encrypted, decrypt it
automatically.

This aligns with the Discoverable Partitions Specification, though I've
also updated it to explicitly mention that LUKS is now supported here.

Since systemd retries any key already in the kernel keyring, if the swap
partition has the same passphrase as the root partition, the user won't
be prompted a second time for a second passphrase.

See https://github.com/systemd/systemd/issues/20019
2021-07-08 11:46:20 +02:00
Lennart Poettering 215b64b2ad copy: port over to pop_pending_signal() 2021-07-08 10:38:09 +02:00
Lennart Poettering 0178ff292b signal-util: add helper pop_pending_signal() 2021-07-08 10:33:38 +02:00
Lennart Poettering 2c177b30e3 format-table: teach table_hide_column_from_display() to accept multiple arguments
In case we want to hide multiple columns in one go, make that easy.
2021-07-08 10:29:43 +02:00
Lennart Poettering 21fbf095b8 format-table: add cell type for outputting 64bit values in hex 2021-07-08 10:29:43 +02:00
Lennart Poettering bc773fcb35 format-table: add cell type for "mode_t" values 2021-07-08 10:29:43 +02:00
Lennart Poettering 4050625e5b fs-util: teach syncfs_path() handle with empty path argument 2021-07-08 10:22:34 +02:00
Lennart Poettering 32a3041656 fs-util: add fsync_path_and_parent_at() 2021-07-08 10:22:34 +02:00
Lennart Poettering 814a7e0345 fs-util: add API for fsync()ing parent dir of path 2021-07-08 10:22:34 +02:00
Lennart Poettering 427c934fdb fs-util: make sure fsync_directory_of_file() does something useful on O_PATH fds
When handling O_PATH fds it's safe to use the parent of
/proc/self/fd/<fd> for any kind of inode. Hence do so.
2021-07-08 10:22:34 +02:00
Lennart Poettering 6bbae9f8b3 repart: don't prefix /sysroot/ twice
For some reason I first commited
a73b2ad041 and then
8f47e32a3e. But the latter makes the
former obsolete and causes us to suffix paths twice.

Let's hence revert a73b2ad041 and stick to
8f47e32a3e as the latter is the ore
generic solution of the two.
2021-07-08 10:10:39 +02:00
Lennart Poettering 43144be4a1 pid1: add support for encrypted credentials 2021-07-08 09:30:56 +02:00
Lennart Poettering 5945640e2a creds: add a new tool for listing/showing/encrypting/decrypting credentials 2021-07-08 09:30:45 +02:00
Lennart Poettering 21bc0b6fa1 creds-util: add infra for encrypting/decrypting credentials 2021-07-08 09:30:29 +02:00
Lennart Poettering 8f860b4df0 util: move src/basic/creds-util.[ch] → src/shared/
This is preparation for adding encryption support to the credentials
logic, and we thus would like to add more deps. Let's hence move things
from src/basic/ to src/shared, so that we can rely on the OpenSSL
utilities already in src/shared.
2021-07-08 09:30:18 +02:00
Lennart Poettering 82b4ec445b hexdecoct: optionally, line break base64 encoded data 2021-07-08 09:30:03 +02:00
Lennart Poettering 7b0da71d49 fileio: optionally allow interpreting file size as limit 2021-07-08 09:29:53 +02:00
Lennart Poettering c1631ee124 chattr-util: generalize chattr manipulation for files with secrets from journalctl
This moves the code for setting chattr file attributes appropriate for
"secrets" files from journalctl into generic chattr-util.c code so that
we can use it elsewhere.

Also, let's reuse the "bitwise" logic already implemented in the chattr
code, instead of doing it again.
2021-07-08 09:29:48 +02:00
Lennart Poettering 91358db9dc fs-util: add fd-based flavour of path_is_encrypted() 2021-07-08 09:29:33 +02:00
Lennart Poettering 0bfef8b46f blockdev-util: add fd-based flavour of get_block_device() 2021-07-08 09:29:18 +02:00
Lennart Poettering 011d129cf4 sd-id128: make sure sd_id128_get_machine_app_specific() logic also works without "khash"
So, as it turns out AF_ALG is turned off in a lot of kernels/container
environments, including our CI. Hence, if we link against OpenSSL
anyway, let's just use that client side. It's also faster.

One of those days we should drop the khash code, and ust use OpenSSL,
once the licensing issues are resolved.
2021-07-08 09:28:28 +02:00
Jan Palus 105a4245ff hostnamed: correct variable with errno in fallback_chassis
fixes assertion failure on arm:

systemd-hostnamed[642]: Assertion '(_error) != 0' failed at src/hostname/hostnamed.c:207, function fallback_chassis(). Aborting.
2021-07-08 09:27:12 +02:00
Zbigniew Jędrzejewski-Szmek 5ca75ec9fc test-escape: add usual debug headers 2021-07-07 21:37:09 +02:00
Lennart Poettering 0c4d1e6d96 process-util: explicitly handle processes lacking parents in get_process_ppid()
Let's make sure we signal out-of-band via an error message if a process
doesn't have a parent process whose PID we could return. Otherwise we'll
too likely hide errors, as we return an invalid PID 0, which in other
contexts has special meaning (i.e. usually "myself").

Replaces: #20153

This is based on work by @dtardon, but goes a different route, by
ensuring we propagate a proper error in this case.

This modernizes the function in question a bit in other ways, i.e.
renames stuff and makes the return parameter optional.
2021-07-07 18:41:08 +01:00
Zbigniew Jędrzejewski-Szmek 8def4b347a basic/time-util: fix errno name
Fixup for bdaeafea5d. This was supposed to be
pushed in an updated version, but I forgot to stage the change.
2021-07-07 14:21:21 +02:00
Yu Watanabe 8ca29d97f2 wait-online: fix typo 2021-07-07 11:06:11 +02:00
Anita Zhang d61ee727f0 oomd: don't collect candidate stats on every interval
cb13961ada updated the oomd logic to
collect candidate data when a kill was about to happen. However there
was still a call left over in the main loop to collect candidate data on
every interval. Remove this since it's unneeded.

Fixes #20122
2021-07-07 00:19:53 +01:00
Zbigniew Jędrzejewski-Szmek b4b0f87c62 tmpfiles: fix borked assert
It seems that fd_set_perms() is always called after checking that
fd >= 0 (also when called as action() in glob_item_recursively()),
so it seems that the assertion really came from fd==0.

Fixes #20140.

Also three other similar cases are updated.
2021-07-06 20:05:00 +01:00
Zbigniew Jędrzejewski-Szmek ef1a927848 Merge pull request #20092 from fbuihuu/tag-xgi-z7z9-graphic-chip-as-master-of-seat-take2
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to…
2021-07-06 12:52:53 +02:00
Franck Bui f1232f5e38 login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag
This assumes that (vesa)fb driver is used as fallback.
2021-07-05 11:56:10 +02:00
Franck Bui 7802260baa login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag
Graphic devices that don't do DRM and relies on fb devices are now listed in
hwdb. Dedicated udev rules are no more needed.
2021-07-05 11:56:10 +02:00
Franck Bui c0b2e69f88 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set
This graphic chip doesn't have a DRM driver and fall back to vesa-framebuffer
driver.

Without this patch, users of such chip suddenly see their GUI broken without
any indication or reason of what happened (no error message). Hence this
regression is near to impossible to troubleshoot for end users. Such case was
reported https://bugzilla.opensuse.org/show_bug.cgi?id=1187154.

Rather than adding another exception in the udev rules to deal with such
HWs, they instead get their own hwdb file '60-seat.hwdb'.
2021-07-05 11:56:06 +02:00