summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* terminal-util: correct fd validity checkMike Yuan2024-09-081-1/+1
| | | | Follow-up for 14f594b995bbaea85456a4c26e5c07446a4c446e
* Fix typo in escape.csamuelvw012024-09-081-1/+1
|
* TODO: fix typoErik Sjölund2024-09-081-1/+1
|
* Fix grammar in udevadm settle timeout messagemarginaldev2024-09-081-1/+1
|
* NEWS: fix typoYu Watanabe2024-09-071-2/+2
| | | | Follow-up for 7a3a49386cc49d3971531ea24efb84232c05cc86.
* man/varlinkctl: fix typoYu Watanabe2024-09-071-2/+2
| | | | Follow-up for 39ce86d19c7c3ac46b4afb546879ca8dcad1bdb2.
* network/route: fix typoYu Watanabe2024-09-071-1/+1
| | | | Follow-up for 195bb6f97ebc5cd5e9932c62aa80df5427c30d67.
* mkosi: Drop _fixperms workaroundDaan De Meyer2024-09-072-2/+0
| | | | | This was added to deal with a bug in the rpm 4.20 rc in Rawhide but since that's been fixed, let's drop the workaround.
* docs: use actual docs/HACKING.md URLMichal Sekletar2024-09-071-1/+1
|
* Merge pull request #34295 from poettering/uki-with-many-ukifyYu Watanabe2024-09-072-25/+224
|\ | | | | ukify: add multi-profile UKI support
| * ukify: introduce new --measure-base= switchLennart Poettering2024-09-062-8/+85
| |
| * ukify: add new --extend= switch for importing an existing UKI's sections to ↵Lennart Poettering2024-09-062-17/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | later extend This options is pretty simple, it allows specifying an UKI whose sections to import first, and place at the beginning of the new UKI. This is useful for generating multi-profile UKIs piecemeal: generate the base UKI first, then append a profile, and another one and another one. The sections imported this way are not included in any PCR signature, the assumption is that that already happened before in the imported UKI.
| * ukify: add basic .profile supportLennart Poettering2024-09-062-0/+20
| | | | | | | | | | | | This just allows including .profile sections, but doesn't try to be smart about it. This alone won't help you much to create valid multi-profile UKIs.
* | varlinkctl: add --timeout= switch to tweak time-out behaviourLennart Poettering2024-09-072-22/+79
| | | | | | | | Fixes: #33772
* | dm-util: get rid of flex array in middle of structureLennart Poettering2024-09-071-9/+17
| | | | | | | | Fixes: #33936
* | man: CAP_SYS_ADMIN does NOT grant any permission for dbus APITakeo Kondo2024-09-061-2/+1
| |
* | Merge pull request #34298 from poettering/pcrlock-cred-fixLennart Poettering2024-09-062-24/+48
|\ \ | | | | | | pcrlock: be more careful when preparing credential name for pcrlock p…
| * | pcrlock: be more careful when preparing credential name for pcrlock policyLennart Poettering2024-09-062-24/+48
|/ / | | | | | | | | | | | | | | The .cred suffix is stripped from a credential as it is imported from the ESP, hence it should not be included in the credential name embedded in the credential. Fixes: #33497
* | Merge pull request #34177 from poettering/pcrlock-and-signedLennart Poettering2024-09-0616-278/+740
|\ \ | |/ |/| cryptenroll/cryptsetup: support combined signed PCR + pcrlock policies
| * tpm2-util: introduce tpm2b_sensitive_data_erase_and_esys_freep() destructorLennart Poettering2024-09-061-9/+18
| | | | | | | | | | Let's make sure we erase TPM2B_SENSITIVE_DATA structures reliably in all code paths.
| * cryptenroll/cryptsetup: allow combined signed TPM2 PCR policy + pcrlock policyLennart Poettering2024-09-0613-272/+698
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far you had to pick: 1. Use a signed PCR TPM2 policy to lock your disk to (i.e. UKI vendor blesses your setup via signature) or 2. Use a pcrlock policy (i.e. local system blesses your setup via dynamic local policy stored in NV index) It was not possible combine these two, because TPM2 access policies do not allow the combination of PolicyAuthorize (used to implement #1 above) and PolicyAuthorizeNV (used to implement #2) in a single policy, unless one is "further upstream" (and can simply remove the other from the policy freely). This is quite limiting of course, since we actually do want to enforce on each TPM object that both the OS vendor policy and the local policy must be fulfilled, without the chance for the vendor or the local system to disable the other. This patch addresses this: instead of trying to find a way to come up with some adventurous scheme to combine both policy into one TPM2 policy, we simply shard the symmetric LUKS decryption key: one half we protect via the signed PCR policy, and the other we protect via the pcrlock policy. Only if both halves can be acquired the disk can be decrypted. This means: 1. we simply double the unlock key in length in case both policies shall be used. 2. We store two resulting TPM policy hashes in the LUKS token JSON, one for each policy 3. We store two sealed TPM policy key blobs in the LUKS token JSON, for both halves of the LUKS unlock key. This patch keeps the "sharding" logic relatively generic (i.e. the low level logic is actually fine with more than 2 shards), because I figure sooner or later we might have to encode more shards, for example if we add further TPM2-based access policies, for example when combining FIDO2 with TPM2, or implementing TOTP for this.
| * iovec-util: add iovec_append() for appending to an existing iovecLennart Poettering2024-09-063-0/+27
| |
* | journald: mention the access mode we tried to open /dev/kmsg inLennart Poettering2024-09-061-6/+4
| | | | | | | | | | | | | | | | | | | | Let's make clearer what we are going to use /dev/kmsg for: read/write or just writing. This hopefully should avoid confusion, such as the one #33975 is result of. (Also while we are at it, add one extra debug message). Fixes: #33975
* | NEWS: extend the userdb sshd_config NEWS entry a bitLennart Poettering2024-09-061-2/+13
|/
* Merge pull request #34291 from poettering/utmpx-all-the-wayLennart Poettering2024-09-067-25/+17
|\ | | | | tree-wide: complete the switch to utmpx
| * tree-wide: use UTMPX_FILE rather than _PATH_UTMPXLennart Poettering2024-09-063-9/+9
| | | | | | | | | | | | Apparently _PATH_UTMPX is a glibc'ism. UTMPX_FILE is the same thing and what everyone else uses. Since they are otherwise equivalent, let's just switch.
| * test-utmp: replace UT_LINESIZE/UT_NAMESIZE/UT_HOSTSIZE with sizeof_field()Lennart Poettering2024-09-061-12/+6
| | | | | | | | utmpx doesn't know these defines, hence fix them.
| * tree-wide: drop unnecessary utmp includesLennart Poettering2024-09-062-2/+0
| |
| * user-util: switch from utmp to utmpxLennart Poettering2024-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | We generally use utmpx instead of utmp (both are actually identical on Linux, but utmpx is POSIX, while utmp is not). Let's fix one left-over case. UT_NAMESIZE does not exist in utmpx world, it has no direct counterpart, hence let's just sizeof_field() to determine the size of the actual field. (which comes to the same result of course: 32).
* | man: document that sd_bus_message_read_strv() happily spits out empty arrays ↵Lennart Poettering2024-09-061-1/+3
|/ | | | | | as NULL Fixes: #34163
* coredump: set ProtectHome to read-onlyEtienne Cordonnier2024-09-061-1/+1
| | | | | | | | | | | | In https://github.com/systemd/systemd/pull/5283/commits/924453c22599cc246746a0233b2f52a27ade0819 ProtectHome was set to true for systemd-coredump in order to reduce risk, since an attacker could craft a malicious binary in order to compromise systemd-coredump. At that point the object analysis was done in the main systemd-coredump process. Because of this systemd-coredump is unable to product symbolicated call-stacks for binaries running under /home ("n/a" is shown instead of function names). However, later in https://github.com/systemd/systemd/commit/61aea456c12c54f49c4a76259af130e576130ce9 systemd-coredump was changed to do the object analysis in a forked process, covering those security concerns. Let's set ProtectHome to read-only so that systemd-coredump produces symbolicated call-stacks for processes running under /home.
* Merge pull request #34279 from yuwata/ask-passwordLennart Poettering2024-09-064-11/+25
|\ | | | | ask-password: refuse empty password strv
| * tree-wide: check if non-empty password is acquiredYu Watanabe2024-09-063-3/+4
| |
| * ask-password: refuse empty password strvYu Watanabe2024-09-061-8/+21
| | | | | | | | Fixes #34270.
* | Merge pull request #34285 from poettering/boot-measure-profileLennart Poettering2024-09-065-5/+15
|\ \ | | | | | | measure: introduce support for a new ".profile" section
| * | measure: introduce support for a new ".profile" sectionLennart Poettering2024-09-063-6/+14
| | | | | | | | | | | | | | | This introduces the concept, and makes sure systemd-measure covers it. See a later commit for details on the new section.
| * | uki: add new ".profile" PE section typeLennart Poettering2024-09-063-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is the most basic preparatory work for supporting multi-profile UKIs. (This temporarily drops an assert_cc() check which we'll address in the next commit)
* | | po: Translated using Weblate (French)Léane GRASSER2024-09-061-8/+9
|/ / | | | | | | | | | | | | | | Currently translated at 100.0% (253 of 253 strings) Co-authored-by: Léane GRASSER <leane.grasser@proton.me> Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/ Translation: systemd/main
* | network/route: ignore EEXIST reply when the corresponding request is already ↵Yu Watanabe2024-09-061-0/+7
| | | | | | | | | | | | | | detached Follow-ups for db8dc7c1dd7f4620e14fbc4c1560a68a1fc9b85b. Fixes #34275.
* | Merge pull request #34278 from yuwata/timesync-logDaan De Meyer2024-09-062-4/+7
|\ \ | | | | | | timesync: downgrade log level for several messages
| * | timesync: make manager_is_connected() staticYu Watanabe2024-09-062-2/+1
| | |
| * | timesync: downgrade log level about network configuration changeYu Watanabe2024-09-061-2/+6
| | | | | | | | | | | | | | | | | | | | | These message may be unnecessarily shown multiple times when e.g. networkd is restarted, system is wakeup from suspend, and so on. Closes #34262.
* | | Merge pull request #34280 from yuwata/cleanupsDaan De Meyer2024-09-064-15/+23
|\ \ \ | | | | | | | | tree-wide: trivial cleanups
| * | | test: fix copy-and-paste error in commentYu Watanabe2024-09-061-1/+1
| | | |
| * | | nspawn: fix indentationYu Watanabe2024-09-061-1/+1
| | | |
| * | | base-filesystem: use FOREACH_ELEMENT()Yu Watanabe2024-09-061-12/+12
| | | |
| * | | mount-util: wrap long lineYu Watanabe2024-09-061-1/+9
| | | |
* | | | sd-netlink: fix typoYu Watanabe2024-09-061-1/+1
| | | | | | | | | | | | | | | | Fixes #34273.
* | | | nspawn: refuse to bind mount device node from host when --private-users= is ↵Yu Watanabe2024-09-061-5/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | specified Also do not chown if a device node is bind-mounted. Fixes #34243.
* | | Merge pull request #34203 from yuwata/network-conf-parserYu Watanabe2024-09-0611-515/+375
|\ \ \ | |_|/ |/| | network: several cleanups for conf parser