Commit Graph
64169 Commits
Author SHA1 Message Date
Daan De Meyer fec81dedfd Merge pull request #27415 from DaanDeMeyer/verity-minimize
repart: Add Minimize= support for verity hash partitions
2023-04-26 18:55:51 +02:00
Daan De Meyer c00f0634ad Merge pull request #27419 from yuwata/sd-journal-entry-item
sd-journal: skip invalid entry item
2023-04-26 18:35:26 +02:00
Luca Boccassi 00e5933f57 ukify: allow building PE addon
Make the kernel optional too, so that we can easily build and sign a PE addon,
that can be used to carry extra command line options.
2023-04-26 16:55:26 +02:00
Zbigniew Jędrzejewski-Szmek 1db4acbe5d Merge pull request #27398 from yuwata/udev-rule-negative-match
udev-rule: fix negative match
2023-04-26 16:40:01 +02:00
Zbigniew Jędrzejewski-Szmek 0f56698079 Merge pull request #27411 from yuwata/udev-iocost-follow-ups
udev/iocost: several follow ups
2023-04-26 16:37:59 +02:00
Zbigniew Jędrzejewski-Szmek 947579e5e2 Merge pull request #27408 from keszybz/creds-missing-message
Adjust messages when credentials are missing
2023-04-26 14:57:13 +02:00
Zbigniew Jędrzejewski-Szmek d21d71fb28 Merge pull request #26944 from aafeijoo-suse/systemd-network-generator-initrd-fix
network-generator: do not parse kernel command line more than once
2023-04-26 14:55:41 +02:00
Frantisek Sumsal 914f280d0c test: tell dfuzzer to skip Reexecute()
As described in systemd/systemd#27204 reexecuting the daemon while
running in a systemd-run "session" causes the session end prematurely.
Let's skip the Reexecute() method in dfuzzer and trigger it manually
until the issue is resolved.
2023-04-26 14:41:05 +02:00
Daan De Meyer 5eef704734 repart: Add Minimize= support for verity hash partitions
Fixes #27414
2023-04-26 14:15:16 +02:00
Daan De Meyer cf18d96f62 repart: Extend error logging for format_verity_hash/sig() 2023-04-26 14:15:14 +02:00
Yu Watanabe 85e38da2ec sd-journal: make journal_file_copy_entry() return earlier 2023-04-26 20:54:08 +09:00
Yu Watanabe bf9b7728e6 sd-journal: copy boot ID
The pointer to boot ID may be invalidate by journal_file_move_to_object()
calls in the later loop.
2023-04-26 20:51:12 +09:00
Yu Watanabe 265b1dc048 sd-journal: tighten variable scope 2023-04-26 20:50:53 +09:00
Daan De Meyer f81409f844 journal: Don't try to write garbage if journal entry is corrupted
If journal_file_data_payload() returns -EBADMSG or -EADDRNOTAVAIL,
we skip the entry and go to the next entry, but we never modify
the number of items that we pass to journal_file_append_entry_internal()
if that happens, which means we could try to append garbage to the
journal file.

Let's keep track of the number of fields we've appended to avoid this
problem.
2023-04-26 20:46:25 +09:00
Daan De Meyer 13bde177e4 repart: Allow passing target to format_verity_hash()
Let's allow specifying where the verity hash data should be written
as preparation for adding verity hash partition minimize support.
2023-04-26 10:16:21 +02:00
Daan De Meyer e463e257c7 repart: Move partition_defer() out of format_verity_hash/sig()
To allow re-using format_verity_hash() for minimizing verity hash
partitions.
2023-04-26 10:09:10 +02:00
Daan De Meyer deeae10e26 repart: Turn condition into assert
format_verity_hash() should only be called with VERITY_HASH type
partitions, so assert() if that's not the case.
2023-04-26 10:04:08 +02:00
Yu Watanabe fc73d97182 udev/iocost: invert DEVTYPE match
No functional change, just refactoring.
Addresses https://github.com/systemd/systemd/pull/23325#discussion_r1171006967.
2023-04-26 14:50:25 +09:00
Yu Watanabe c413ae18b5 udev/iocost: use ID_MODEL_FROM_DATABASE if exists
To make the rule consistent with 'iocost query'.
2023-04-26 14:50:25 +09:00
Yu Watanabe ede5e271b1 udev/iocost: fix log message 2023-04-26 14:50:25 +09:00
Yu Watanabe b2fccd0729 udev/iocost: query_named_solution() provides non-NULL model and qos on success 2023-04-26 14:50:25 +09:00
Yu Watanabe 934613bb88 udev/iocost: call get_known_solutions() in apply_solution_for_path()
Then, the solution name can be logged.
2023-04-26 14:50:09 +09:00
Yu Watanabe 22148897cf udev: use version()
Fixes #27382.
2023-04-26 07:44:39 +02:00
Yu Watanabe 9c271f4509 udev/iocost: merge get_known_solutions() and choose_solution()
As these are always called sequentially.
No functional change, just refactoring.
2023-04-26 11:49:58 +09:00
Yu Watanabe dcb379619f udev/iocost: drop unnecessary initializations 2023-04-26 11:36:28 +09:00
Yu Watanabe 878f3a4f09 udev/iocost: arg_target_solution is always non-NULL 2023-04-26 11:19:53 +09:00
Yu Watanabe 5cfe9715f5 udev/iocost: set default target in parse_config()
And make the failure in parsing config critical.
2023-04-26 11:18:46 +09:00
Yu Watanabe a101d91988 test: add test case of negative match for SYMLINK and TAG 2023-04-26 09:51:12 +09:00
Yu Watanabe 2b43ab00b0 udev-rules: fix negative match rule for SYMLINK and TAG
Fixes #27396.
2023-04-26 09:51:08 +09:00
Luca Boccassi fa84c1ce00 portablectl: add --extension to bash completion 2023-04-26 08:35:20 +09:00
Yu Watanabe ff2da67b9a Merge pull request #27409 from mrc0mmand/more-tests
test: add a couple of sanity tests for systemd-creds
2023-04-26 08:24:52 +09:00
Frantisek Sumsal ad2875af9e test: add a couple of sanity tests for systemd-creds 2023-04-25 18:34:49 +02:00
Frantisek Sumsal c74e13a5c3 creds: make --pretty behave in a slightly more expected manner 2023-04-25 18:34:49 +02:00
Frantisek Sumsal ee46e4d982 test: cover missed stuff from securebits-util.h 2023-04-25 18:34:49 +02:00
Zbigniew Jędrzejewski-Szmek 1c7ed99027 resolved: adjust message about credentials
"credential provided widget" would be better spelled as "credential-provided widget".
But let's adjust the message to name the bad credential explicitly: this
makes it easier to fix for the user.
2023-04-25 18:08:15 +02:00
Zbigniew Jędrzejewski-Szmek 55ace8e5c5 shared/creds-util: return 0 for missing creds in read_credential_strings_many
Realistically, the only thing that the caller can do is ignore failures related
to missing credentials. If the caller requires some credentials to be present,
they should just check which output variables are not NULL. One of the callers
was already doing that, and the other wanted to, but missed -ENOENT. By
suppressing -ENOENT and -ENXIO, both callers are simplified.

Fixes a warning at boot:
systemd-vconsole-setup[221]: Failed to import credentials, ignoring: No such file or directory
2023-04-25 18:08:15 +02:00
Eric CurtinandRichard Hughes b9dac41837 Support /etc/system-update for OSTree systems
This is required when / is immutable and cannot be written at runtime.

Co-authored-by: Richard Hughes <richard@hughsie.com>
2023-04-25 17:40:41 +02:00
Lennart Poettering d30d5a0374 Merge pull request #27347 from bluca/sd_bus_nonce
sd: avoid closing sd-bus in a fork, store module-global id for sd-bus/sd-session/sd-journal
2023-04-25 17:40:15 +02:00
Lennart Poettering 17b798d915 mount-util: split remount_idmap() in two
This will make things a bit longer for now, but more powerful as we can
reuse the userns fd between calls to remount_idmap() if we need to
adjust multiple mounts.

No change in behaviour, just some minor refactoring.
2023-04-25 17:39:16 +02:00
Lennart Poettering 4054d76151 sd-daemon: add sd_pid_notifyf_with_fds()
I guess it was only a question of time until we need to add the final
frontier of notification functions: one that combines the features of
all the others:

1. specifiying a source PID
2. taking a list of fds to send along
3. accepting a format string for the status string

Hence, let's add it.
2023-04-25 17:38:57 +02:00
Luca Boccassi 4a75704b16 pam: do not attempt to close sd-bus after fork in pam_end()
When pam_end() is called after a fork, and it cleans up caches, it sets
PAM_DATA_SILENT in error_status. FDs will be shared with the parent, so
we do not want to attempt to close them from a child process, or we'll
hit assertions. Complain loudly and skip.
2023-04-25 17:19:57 +02:00
Vitaly Kuznetsov b4e5c103be man: /usr/lib/systemd/random-seed -> /usr/lib/systemd/systemd-random-seed
/usr/lib/systemd/random-seed is not a thing.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2023-04-25 17:05:28 +02:00
Lennart Poettering 973527648b logind: always use 64bit session IDs
it's a bit confusing that on 32bit systems we'd risk session IDs
overruns like this. Let's expose the same behaviour everywhere and stick
to 64bit ids.

Since we format the ids as strings anyway this doesn't really change
anything performance-wise, it just pushes out collisions by overrun to
basically never happen.
2023-04-25 15:52:19 +01:00
Lawrence Thorpe 08b61b40ed docs: fix LoadCredentialEncrypted example (#27387)
Embedded credential name 'ciphertext.cred' does not match filename 'foobar', refusing.
2023-04-25 15:41:01 +02:00
Thorsten Kukuk 092e6cd19a sd-login: add SetTTY session object #26611 2023-04-25 14:33:09 +02:00
Lennart Poettering 4d26b2277a doc: say in CODING_STYLE that AT_EMPTY_PATH should be implied on openat() style APIs (and NULL path is OK)
As discussed here:

https://github.com/systemd/systemd/pull/27397#issuecomment-1521630044
2023-04-25 14:05:08 +02:00
Lennart Poettering eb3641fc3c user-record-nss: make return values optional
If we only want to know if some user ID/user name is already allocated,
we don't care for the returned data.
2023-04-25 14:00:57 +02:00
Lennart Poettering c8ab89e569 mountpoint-util: make path_get_mnt_id_at() work with a NULL path 2023-04-25 14:00:38 +02:00
Luca Boccassi 2eeff0f4f1 sd-event: store and compare per-module static origin id
sd-event objects use hashmaps, which use module-global state, so it is not safe
to pass a sd-event object created by a module instance to another module instance
(e.g.: when two libraries static linking sd-event are pulled in a single process).
Initialize a random per-module origin id and store it in the object, and compare
it when entering a public API, and error out if they don't match, together with
the PID.
2023-04-25 12:24:25 +01:00
Luca Boccassi e046719b74 sd-journal: store and compare per-module static origin id
sd-journal objects use hashmaps, which use module-global state, so it is not safe
to pass a sd-journal object created by a module instance to another module instance
(e.g.: when two libraries static linking sd-journal are pulled in a single process).
Initialize a random per-module origin id and store it in the object, and compare
it when entering a public API, and error out if they don't match, together with
the PID.
2023-04-25 12:24:25 +01:00