Commit Graph
74627 Commits
Author SHA1 Message Date
Lennart Poettering 75d08dc6e8 measure: normalize error paths
Always put the success path at least indentation, and indent the error
paths.
2024-06-26 17:09:45 +02:00
Lennart Poettering 4a3659c5f4 stub: rework linux handover to take "struct iovec" 2024-06-26 17:09:45 +02:00
Lennart Poettering a729187a19 stub: turn lookup_name() into shorter and more generic function that turns sectin into char* string 2024-06-26 17:09:45 +02:00
Lennart Poettering c36c088a93 stub: add helper that turns PE section into char16_t* string 2024-06-26 17:09:45 +02:00
Lennart Poettering c8af9aca9e stub: reorder variables 2024-06-26 17:09:45 +02:00
Lennart Poettering 4087aa38c5 stub: reorder things a bit, so that initrds are generated/looked up together 2024-06-26 17:09:45 +02:00
Lennart Poettering e864cd91d5 stub: uniformly process "measured" flags
Always pass the pointer through so that the functions combine the flags
directly, instead of doing that in the caller.
2024-06-26 17:09:45 +02:00
Lennart Poettering fe0f6c099c stub: split out function that determines main cmdline 2024-06-26 17:09:45 +02:00
Lennart Poettering 9597320f5c stub: normalize error handling when looking for PE sections 2024-06-26 17:09:45 +02:00
Lennart Poettering 9f3bc7b505 stub: slightly reorder things
Let's do the section measurement first, before we use any data of it.

Let's bring up the boot splash next, so that it covers anything else we
might do.
2024-06-26 17:09:45 +02:00
Lennart Poettering 248b3257a1 stub: split out code that displays boot splash 2024-06-26 17:09:45 +02:00
Lennart Poettering 1489e66f7c stub: split out code that loads all addons from disk into function of its own 2024-06-26 17:09:45 +02:00
Lennart Poettering 16b550d01a stub: merge separate lists for addon cmdlines/devicetrees into one
Instead of keeping the lists for the global and per-UKI addons separate
throughout, just merge them. We apply them in the same order after all.
2024-06-26 17:09:45 +02:00
Lennart Poettering acf3e58eb3 stub: don't make up errors 2024-06-26 17:09:45 +02:00
Lennart Poettering 9e2ed6c78f stub: add DevicetreeAddon structure
Instead of keeping three parallel arrays of dt base, dt size and dt
filename, just introduce a proper structure and use an array of that,
greatly simplifying DT handling.
2024-06-26 17:09:45 +02:00
Lennart Poettering dcac1e4a9b stub: split out call that loads embedded device tree 2024-06-26 17:09:45 +02:00
Lennart Poettering 8d5669a467 stub: split out code that sets EFI vars indicating measured PCRs 2024-06-26 17:09:45 +02:00
Lennart Poettering c802cb2f80 stub: move initialization of kernel iovec to the end, where it's used 2024-06-26 17:09:45 +02:00
Lennart Poettering 8e67de8402 stub: split out code that finds embedded initrds 2024-06-26 17:09:45 +02:00
Lennart Poettering b199c0f26e stub: split out code that generates embedded initrds 2024-06-26 17:09:45 +02:00
Lennart Poettering 868219655a stub: split out calls that generate sidecar initrds 2024-06-26 17:09:44 +02:00
Lennart Poettering ac32323271 stub: rework initrd handling around "struct iovec"
Let's maintain an array of "struct iovec" for the initrds. It becomes a
ton easier and shorter to process/combine the various initrds then.
2024-06-26 17:09:44 +02:00
Lennart Poettering 79d076be37 stub: split out code that finds the uname among PE sections 2024-06-26 17:09:44 +02:00
Lennart Poettering 4a033b0a11 stub: split out code that appends smbios command line 2024-06-26 17:09:44 +02:00
Lennart Poettering cd6fe7aa7f stub: split out code that measures our own PE sections 2024-06-26 17:09:44 +02:00
Lennart Poettering 201e0d53bd stub: split out random seed part out of run() 2024-06-26 17:09:44 +02:00
Lennart Poettering fb974ac485 efi: introduce PeSectionVector structure, and use it for referencing PE sections 2024-06-26 17:09:44 +02:00
Lennart Poettering 9e63e28aa6 pe: use more correct section name comparison function
we should only compare up to 8 chars
2024-06-26 17:09:44 +02:00
Lennart Poettering bacc2ed0d5 pe: tighten validity checks of DOS and PE headers
Let's make sure we validate that the DOS/PE header offsets are actually
reasonable, and do not cause overflows when added to the base addresses.

(This shouldn're really be a problem URL, since the DOS header offset is
16bit only, but let's be extra careful with this)
2024-06-26 17:09:44 +02:00
Lennart Poettering 4a47959721 pe: be more careful when loading PE section list into memory
Let's put a limit on how much memory we'll allocate for the section. And
let's add a safety overflow check.

(This is more a theoretic than a real problem, since on all PE archs
NumberOfSections is 16bit only.)
2024-06-26 17:09:44 +02:00
Lennart Poettering 9573ab8f5a util: make file_read() 64bit offset safe
File offsets in UEFI are 64bit on all archs, hence let's use that typo
too, and not create artificial confusion around types.
2024-06-26 17:09:44 +02:00
Lennart Poettering ba694646ea iovec-util: make "struct iovec" and some helpers also available in EFI mode
The construct is a POSIX invention, but it's just so useful, let's also
define it in EFI mode, so that we can use similar constructs in EFI mode
and userspace.
2024-06-26 16:01:35 +02:00
Lennart Poettering 515e1e6d35 macro: move PTR_TO_SIZE() macros to fundamental 2024-06-26 16:01:20 +02:00
Lennart Poettering ba81c365f8 macro: also move FOREACH_ARRAY()/FOREACH_ELEMENT() to fundamental
This is also very useful in EFI code.
2024-06-26 16:01:06 +02:00
Lennart Poettering 72b1809bbc macro: move sizeof_field() macro into src/fundamental/
Let's make this macro available for our EFI code too.
2024-06-26 16:00:43 +02:00
Daan De Meyer 17ef81a764 docs: Add section to HACKING.md on distribution packages 2024-06-26 15:56:41 +02:00
Mike Yuan 6320946411 import-generator: open up NotifyAccess for varlinkctl
So that it can report errors through VARLINKERROR=.
2024-06-25 23:00:26 +02:00
Daan De Meyer b6a9ad2c62 mkosi: update fedora commit reference
* 8153d9b0f9 Revert "Remove tmpfiles snippet for /home and /srv"
* a76669ee22 Remove tmpfiles snippet for /home and /srv
* b3e1d52cb4 Soft-disable tmpfiles --purge until a good use case comes up
* 4a29ab3f3b Version 256.1
* ebf352d292 disable auto-features when bootstrapping
* 1ae0516ae7 Version 256
* b32641170e Restore patch to drop varlink method call
* 421f0041b3 Version 256~rc4
* 65d9b49791 Fix typo
* c56891fb68 Drop sysusers.d/basic.conf
* 69472997b9 Renumber sources and make order more consistent
2024-06-25 18:31:59 +02:00
Daan De Meyer 0d40269e5a mkosi: update debian commit reference
* 3b4368d4b8 d/not-installed: fix shutdown.standalone path
* 2de05155e8 Update changelog for 256.1-2 release
* cd98bcef06 autopkgtest: add dependency on libcryptsetup-dev in unit-tests suite
* e220ce22f1 Bump breaks/replaces to conflicts for DEP17
2024-06-25 18:30:41 +02:00
Luca Boccassi 4d2a86936a Merge pull request #33451 from yuwata/core-exec-use-write
core: use write() instead of send()
2024-06-25 14:44:21 +02:00
Luca Boccassi a016c8b67f Merge pull request #33450 from yuwata/network-ndisc-do-not-override-static-routes
network/NDisc: do not override static routes
2024-06-25 14:40:06 +02:00
Lennart Poettering 7f1c31829b Merge pull request #33003 from poettering/repart-progress
repart: draw progress bar during CopyBlocks= operation and other tweaks
2024-06-25 14:08:04 +02:00
Lennart Poettering a34930cee2 Merge pull request #33078 from poettering/import-generator
importd: add import generator
2024-06-25 14:07:46 +02:00
Yu Watanabe a0b7cae551 network/ndisc: fix spurious log messages
- Fix swapped arguments:

Before:
veth99: Prefix 'in deny list' is 2002:da8:1::/64, ignoring
After:
veth99: Prefix '2002:da8:1::/64' is in deny list, ignoring.

- Drop unnecessary DEBUG_LOGGING.
2024-06-25 12:20:19 +02:00
Luca Boccassi 59d4970a55 mkosi: add support for TEST_SAVE_JOURNAL to integration test wrapper
Same variable and values as supported by the shell suite
2024-06-25 12:16:59 +02:00
Lennart Poettering 9a9cc27761 ci: add small test case for /dev/urandom as source for CopyBlocks= 2024-06-25 10:24:47 +02:00
Lennart Poettering add090ea82 repart: show progress bar when initializing partition via CopyBlocks=
This might take a while, hence make it pretty.
2024-06-25 10:05:07 +02:00
Lennart Poettering 468d09c319 repart: allow reading from char device for CopyBlocks=
Sometimes it is useful to allow initializing a partition with randomized
data, hence allow reading from a char device as source for CopyBlocks=
2024-06-25 10:05:07 +02:00
Lennart Poettering ad25ede488 repart: make prefix argument to clear_progress_bar() optional
In this case, let's try to override the whole line, not just the first
few chars.
2024-06-25 10:05:07 +02:00
Lennart Poettering eac0cbed8c update TODO 2024-06-25 09:57:42 +02:00