summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test: fix indentationYu Watanabe2022-06-021-45/+45
|
* test: add test for sha256Yu Watanabe2022-06-022-0/+52
|
* sha256: use memcpy() when result buffer is unalignedYu Watanabe2022-06-021-19/+20
| | | | Fixes #23578.
* src: The return value of server_vacuum () is not used and could be modified ↵Li kunyu2022-06-012-4/+2
| | | | to void type
* Merge pull request #23531 from yuwata/sd-bus-drop-version-2Yu Watanabe2022-06-0121-2468/+422
|\ | | | | sd-bus: drop version 2 format support
| * sd-bus: drop constant argument for message_extend_fields()Yu Watanabe2022-05-311-5/+5
| |
| * sd-bus: drop D-Bus version 2 format supportYu Watanabe2022-05-3111-2376/+367
| | | | | | | | It seems the format is used only by kdbus.
| * sd-bus: merge message_peek_fields() and buffer_peek()Yu Watanabe2022-05-311-32/+25
| |
| * sd-bus: make several functions staticYu Watanabe2022-05-312-24/+6
| | | | | | | | And drop 'bus_' prefix from them.
| * sd-bus: use UINT32_MAXYu Watanabe2022-05-313-4/+4
| |
| * sd-bus: drop unnecessary castYu Watanabe2022-05-311-1/+1
| |
| * sd-bus: drop redundant conditionYu Watanabe2022-05-311-2/+1
| | | | | | | | | | By the previous commit, ALIGN8() is always equal to or greater than the argument.
| * sd-bus: use ALIGN8()Yu Watanabe2022-05-311-1/+1
| |
| * boot: use ALIGN4()Yu Watanabe2022-05-312-5/+5
| |
| * macro: make ALIGN4() and ALIGN8() also return SIZE_MAX on overflowYu Watanabe2022-05-312-19/+8
| | | | | | | | This also drops unused ALIGN4_PTR(), ALIGN8_PTR(), and ALIGN_TO_PTR().
| * tree-wide: use ALIGN_PTR()Yu Watanabe2022-05-314-8/+8
| |
* | Merge pull request #23512 from medhefgo/efi-clangYu Watanabe2022-05-3122-261/+885
|\ \ | |/ |/| boot: Add string functions
| * boot: Use xstrdup8/16Jan Janssen2022-05-313-23/+22
| | | | | | | | | | Note that xstrdup is now safe to call with a NULL pointer and will just return NULL in that case.
| * boot: Add xstrdup8/16Jan Janssen2022-05-316-23/+124
| |
| * boot: Use memcmp/memcpy/memsetJan Janssen2022-05-3115-42/+42
| |
| * boot: Add memcmp/memcpy/memsetJan Janssen2022-05-313-1/+127
| |
| * boot: Use strsize8/16Jan Janssen2022-05-314-8/+8
| |
| * boot: Add strsize8/16Jan Janssen2022-05-312-0/+26
| |
| * boot: Use strchr8/16Jan Janssen2022-05-314-19/+6
| |
| * boot: Add strchr8/16Jan Janssen2022-05-313-0/+42
| |
| * boot: Use strcpy8/16Jan Janssen2022-05-311-2/+2
| |
| * boot: Add strcpy8/16Jan Janssen2022-05-313-0/+52
| |
| * boot: Use strtolower8/16Jan Janssen2022-05-311-2/+2
| |
| * boot: Add strtolower8/16Jan Janssen2022-05-313-0/+40
| |
| * boot: Use strcmp16 for cpio sortingJan Janssen2022-05-313-4/+4
| |
| * boot: Use strcmp8/16Jan Janssen2022-05-316-98/+63
| | | | | | | | | | | | This also replaces streq and similar functions for consistency. Note that streq16 is null pointer safe, so streq_ptr can be safely replaced too.
| * boot: Add strcmp8/16Jan Janssen2022-05-313-0/+204
| |
| * boot: Use strlen8/16Jan Janssen2022-05-319-48/+33
| | | | | | | | | | | | | | The casts in this and the next few commits are curently necessary because CHAR8 is defined as uint8_t in gnu-efi, while char is signed. Once we switch from gnu-efi typedefs to stdint types, the casts will be dropped.
| * boot: Add strlen8/16Jan Janssen2022-05-314-0/+98
| |
| * boot: Use stddef.h offsetofJan Janssen2022-05-311-2/+1
| |
* | Move message repeatAlexander Shopov2022-05-312-7/+7
| | | | | | | | | | | | | | Original catalog file is in English Move the repeating German message to German catalog Signed-off-by: Alexander Shopov <ash@kambanaria.org>
* | Update Bulgarian translationAlexander Shopov2022-05-312-295/+412
| | | | | | | | | | | | po: catalog: Bring bg.po and catalog file to 100% Signed-off-by: Alexander Shopov <ash@kambanaria.org>
* | portable: fix command option in commentYu Watanabe2022-05-311-4/+4
|/ | | | Follow-up for edea370222eec3d185dd84a7d9e942ec5933af63.
* seccomp: fix a typo in error messageFrantisek Sumsal2022-05-311-1/+1
|
* Merge pull request #23558 from msekletar/issue-20329-followupYu Watanabe2022-05-313-3/+57
|\ | | | | Actually delay running of mount start jobs when /p/s/mountinfo is rate limited
| * tests: make sure we delay running mount start jobs when /p/s/mountinfo is ↵Michal Sekletar2022-05-301-0/+53
| | | | | | | | rate limited
| * unit: check for mount rate limiting before checking active stateMichal Sekletar2022-05-302-3/+4
| | | | | | | | | | | | | | | | | | | | | | Having this check as part of mount_can_start() is too late because UNIT(u)->can_start() virtual method is called after checking the active state of unit in unit_start(). We need to hold off running mount start jobs when /p/s/mountinfo monitor is rate limited even when given mount unit is already active. Fixes #20329
* | docs: fix typo XBOOOTLDR -> XBOOTLDRMatthias Lisin2022-05-311-1/+1
| |
* | Simplify random number selectionJason A. Donenfeld2022-05-3120-203/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently have a convoluted and complex selection of which random numbers to use. We can simplify this down to two functions that cover all of our use cases: 1) Randomness for crypto: this one needs to wait until the RNG is initialized. So it uses getrandom(0). If that's not available, it polls on /dev/random, and then reads from /dev/urandom. This function returns whether or not it was successful, as before. 2) Randomness for other things: this one uses getrandom(GRND_INSECURE). If it's not available it uses getrandom(GRND_NONBLOCK). And if that would block, then it falls back to /dev/urandom. And if /dev/urandom isn't available, it uses the fallback code. It never fails and doesn't return a value. These two cases match all the uses of randomness inside of systemd. I would prefer to make both of these return void, and get rid of the fallback code, and simply assert in the incredibly unlikely case that /dev/urandom doesn't exist. But Luca disagrees, so this commit attempts to instead keep case (1) returning a return value, which all the callers already check, and fix the fallback code in (2) to be less bad than before. For the less bad fallback code for (2), we now use auxval and some timestamps, together with various counters representing the invocation, hash it all together and provide the output. Provided that AT_RANDOM is secure, this construction is probably okay too, though notably it doesn't have any forward secrecy. Fortunately, it's only used by random_bytes() and not by crypto_random_bytes().
* | Merge pull request #23533 from yuwata/portable-remove-drop-in-configsZbigniew Jędrzejewski-Szmek2022-05-313-18/+31
|\ \ | | | | | | portable: remove drop-in configs
| * | test: add coverage for #23481Frantisek Sumsal2022-05-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide some coverage for systemd/systemd#23481. Without 794da5a: ``` [ 34.730815] testsuite-29.sh[600]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0 Stopping minimal-app0-foo.service... [ OK ] Stopped minimal-app0-foo.service. Stopping minimal-app0.service... [ OK ] Stopped minimal-app0.service. [ 34.878050] testsuite-29.sh[1383]: ================================================================= [ 34.878421] testsuite-29.sh[1383]: ==1383==ERROR: LeakSanitizer: detected memory leaks [ 34.878784] testsuite-29.sh[1383]: Direct leak of 48 byte(s) in 2 object(s) allocated from: [ 34.879174] testsuite-29.sh[1383]: #0 0x7fdf9c8b0f8c in reallocarray (/lib64/libasan.so.6+0xaef8c) [ 34.879554] testsuite-29.sh[1383]: #1 0x7fdf9b4270f5 in unit_file_changes_add ../src/shared/install.c:282 [ 34.879926] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688 [ 34.880267] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582 [ 34.880673] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810 [ 34.881064] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924 [ 34.881493] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103 [ 34.881953] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427 [ 34.882459] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430 [ 34.882947] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f) [ 34.883368] testsuite-29.sh[1383]: Indirect leak of 104 byte(s) in 2 object(s) allocated from: [ 34.883732] testsuite-29.sh[1383]: #0 0x7fdf9c85b8f7 in strdup (/lib64/libasan.so.6+0x598f7) [ 34.884089] testsuite-29.sh[1383]: #1 0x7fdf9b4271aa in unit_file_changes_add ../src/shared/install.c:288 [ 34.884508] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688 [ 34.884926] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582 [ 34.885307] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810 [ 34.885647] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924 [ 34.885987] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103 [ 34.886271] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427 [ 34.886557] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430 [ 34.886892] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f) [ 34.887187] testsuite-29.sh[1383]: Indirect leak of 2 byte(s) in 2 object(s) allocated from: [ 34.887520] testsuite-29.sh[1383]: #0 0x7fdf9c85b8f7 in strdup (/lib64/libasan.so.6+0x598f7) [ 34.887797] testsuite-29.sh[1383]: #1 0x7fdf9b427249 in unit_file_changes_add ../src/shared/install.c:296 [ 34.888117] testsuite-29.sh[1383]: #2 0x7fdf9b2ad9e5 in bus_deserialize_and_dump_unit_file_changes ../src/shared/bus-unit-util.c:2688 [ 34.888434] testsuite-29.sh[1383]: #3 0x40bc27 in maybe_enable_disable ../src/portable/portablectl.c:582 [ 34.888693] testsuite-29.sh[1383]: #4 0x40ef56 in maybe_stop_disable ../src/portable/portablectl.c:810 [ 34.888990] testsuite-29.sh[1383]: #5 0x410bc2 in detach_image ../src/portable/portablectl.c:924 [ 34.889254] testsuite-29.sh[1383]: #6 0x7fdf9b5df424 in dispatch_verb ../src/shared/verbs.c:103 [ 34.889580] testsuite-29.sh[1383]: #7 0x41604a in run ../src/portable/portablectl.c:1427 [ 34.889877] testsuite-29.sh[1383]: #8 0x416106 in main ../src/portable/portablectl.c:1430 [ 34.890193] testsuite-29.sh[1383]: #9 0x7fdf99d5de8f in __libc_start_call_main (/lib64/libc.so.6+0x44e8f) [ 34.890482] testsuite-29.sh[1383]: SUMMARY: AddressSanitizer: 154 byte(s) leaked in 6 allocation(s). ``` With 794da5a: ``` [ OK ] Started minimal-app0.service. [ 36.794367] testsuite-29.sh[600]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0 Stopping minimal-app0-foo.service... [ OK ] Stopped minimal-app0-foo.service. Stopping minimal-app0.service... [ OK ] Stopped minimal-app0.service. [ 36.851251] testsuite-29.sh[600]: + umount /tmp/rootdir ```
| * | portable: remove drop-in configs even if the main unit file does not existYu Watanabe2022-05-301-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we run `portablectl detach --enable --runtime`, then it triggers `DisableUnitFilesWithFlags` DBus method and the main unit file is removed, but its drop-ins are not. Hence, portable_detach() failed to list existing portable units. This makes the loop for listing portable units also accept drop-in directories. So, all remaining drop-in directories are correctly removed. Before: ``` testsuite-29.sh[600]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0 portablectl[1391]: (Matching unit files with prefixes 'minimal-app0'.) portablectl[1391]: Queued /org/freedesktop/systemd1/job/1812 to call StopUnit on portable service minimal-app0-foo.service. portablectl[1391]: Removed "/run/systemd/system.attached/minimal-app0-foo.service". portablectl[1391]: Queued /org/freedesktop/systemd1/job/1813 to call StopUnit on portable service minimal-app0.service. portablectl[1391]: Removed "/run/systemd/system.attached/minimal-app0.service". portablectl[1391]: Got result done/Success for job minimal-app0-foo.service portablectl[1391]: Got result done/Success for job minimal-app0.service portablectl[1391]: DetachImage failed: No unit files associated with '/tmp/rootdir' found attached to the system. Image not attached? ``` After: ``` testsuite-29.sh[508]: + portablectl detach --now --runtime --enable /tmp/rootdir minimal-app0 portablectl[1076]: (Matching unit files with prefixes 'minimal-app0'.) portablectl[1076]: Queued /org/freedesktop/systemd1/job/1946 to call StopUnit on portable service minimal-app0-foo.service. portablectl[1076]: Removed "/run/systemd/system.attached/minimal-app0-foo.service". portablectl[1076]: Queued /org/freedesktop/systemd1/job/1947 to call StopUnit on portable service minimal-app0.service. portablectl[1076]: Removed "/run/systemd/system.attached/minimal-app0.service". portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0.service.d/10-profile.conf. portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0.service.d/20-portable.conf. portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0.service.d. portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0-foo.service.d/10-profile.conf. portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0-foo.service.d/20-portable.conf. portablectl[1076]: Removed /run/systemd/system.attached/minimal-app0-foo.service.d. portablectl[1076]: Removed /run/portables/rootdir. portablectl[1076]: Removed /run/systemd/system.attached. ```
| * | portable: try to remove unit files even in a spurious stateYu Watanabe2022-05-291-7/+0
| | |
| * | test: drop redundant log messageYu Watanabe2022-05-291-2/+0
| | |
* | | Merge pull request #23564 from yuwata/core-unit-add-depYu Watanabe2022-05-311-19/+22
|\ \ \ | | | | | | | | core: fix notification about unit dependency change