]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agotpm2: add tpm2_calculate_sealing_policy() 27517/head
Dan Streetman [Thu, 15 Dec 2022 17:56:35 +0000 (12:56 -0500)] 
tpm2: add tpm2_calculate_sealing_policy()

This adds a function to fully calculate the authPolicy needed to seal a secret,
and updates tpm2_seal() to use the new function instead of a trial policy.

2 years agotpm2: use tpm2_policy_authorize()
Dan Streetman [Thu, 9 Feb 2023 15:04:58 +0000 (10:04 -0500)] 
tpm2: use tpm2_policy_authorize()

This updates the function to build the sealing policy to use the dedicated
function to perform PolicyAuthorize.

This is separate from the previous commit to make each commit easier to read.

2 years agotpm2: add tpm2_policy_authorize()
Dan Streetman [Fri, 9 Dec 2022 19:49:52 +0000 (14:49 -0500)] 
tpm2: add tpm2_policy_authorize()

This adds functions to get the digest for a PolicyAuthorize operation. For
building a policy hash, this provides a function to calculate the hash; and for
building a policy hash to satisfy the authPolicy for an existing object, this
provides a function to perform PolicyAuthorize with an existing session.

2 years agotpm2: add tpm2_policy_auth_value()
Dan Streetman [Fri, 9 Dec 2022 19:59:05 +0000 (14:59 -0500)] 
tpm2: add tpm2_policy_auth_value()

This adds functions to get the digest for a PolicyAuthValue operation. For
building a policy hash, this provides a function to calculate the hash; and for
building a policy hash to satisfy the authPolicy for an existing object, this
provides a function to perform PolicyAuthValue with an existing session.

2 years agotpm2: add tpm2_policy_pcr()
Dan Streetman [Thu, 8 Dec 2022 22:56:11 +0000 (17:56 -0500)] 
tpm2: add tpm2_policy_pcr()

This adds functions to get the digest for a PolicyPCR operation. For building
a policy hash, this provides a function to calculate the hash; and for building
a policy hash to satisfy the authPolicy for an existing object, this provides a
function to perform PolicyPCR with an existing session.

2 years agotpm2: rename pcr_values_size vars to n_pcr_values
Dan Streetman [Thu, 11 May 2023 19:33:31 +0000 (15:33 -0400)] 
tpm2: rename pcr_values_size vars to n_pcr_values

Using the n_ prefix is more appropriate/conventional than the _size suffix.

No functional change, this is cosmetic only.

2 years agotpm2: add tpm2_get_name()
Dan Streetman [Wed, 14 Dec 2022 15:46:13 +0000 (10:46 -0500)] 
tpm2: add tpm2_get_name()

This adds functions to get the "name" of a key. The key "name", as defined
by the TPM2 spec, includes its entire public area (with attribute fields),
not only its key fingerprint.

A function is added to calculate the name of a provided key public area,
as well as a function to get the name of a key which is present in the TPM.

2 years agotpm2: add tpm2_set_auth()
Dan Streetman [Tue, 6 Dec 2022 18:16:43 +0000 (13:16 -0500)] 
tpm2: add tpm2_set_auth()

This provides a function to perform the SetAuth TPM function, which provides
the authValue for a key.

2 years agotpm2: replace hash_pin() with tpm2_digest_*() functions
Dan Streetman [Wed, 14 Dec 2022 15:46:13 +0000 (10:46 -0500)] 
tpm2: replace hash_pin() with tpm2_digest_*() functions

The hash_pin() function is just a specific use case of the digest functions.

2 years agotpm2: add tpm2_digest_*() functions
Dan Streetman [Wed, 14 Dec 2022 15:46:13 +0000 (10:46 -0500)] 
tpm2: add tpm2_digest_*() functions

These functions allow extending (or initializing) a TPM2B_DIGEST with additional
data, using a specified hash operation. This is needed to perform hash
calculations instead of relying on the TPM to perform the calculations in
trial sessions.

2 years agoMerge pull request #27746 from yuwata/unit-bidirectional-dep
Zbigniew Jędrzejewski-Szmek [Fri, 26 May 2023 14:20:48 +0000 (16:20 +0200)] 
Merge pull request #27746 from yuwata/unit-bidirectional-dep

core/unit: make unit dependency always bidirectional

2 years agoMerge pull request #27554 from ElvishJerricco/tmpfiles-c-escapes
Zbigniew Jędrzejewski-Szmek [Fri, 26 May 2023 13:42:48 +0000 (15:42 +0200)] 
Merge pull request #27554 from ElvishJerricco/tmpfiles-c-escapes

tmpfiles: Allow C escapes

2 years agofstab-generator: use correct swap name var
Frantisek Sumsal [Fri, 26 May 2023 12:05:40 +0000 (14:05 +0200)] 
fstab-generator: use correct swap name var

Follow-up to 9445623363.

2 years agoMerge pull request #27563 from yuwata/fstab-generator
Lennart Poettering [Fri, 26 May 2023 09:52:19 +0000 (02:52 -0700)] 
Merge pull request #27563 from yuwata/fstab-generator

fstab-generator: support defining mount units through kernel command line

2 years agocore: change 'basename' to 'path_extract_filename'
Jordan Rome [Thu, 25 May 2023 21:40:58 +0000 (14:40 -0700)] 
core: change 'basename' to 'path_extract_filename'

This is part of a cleanup effort in the TODO doc.

Tested locally: `meson compile -C build && meson test -C build`

2 years agocore/unit: update bidirectional dependency simultaneously 27746/head
Yu Watanabe [Tue, 23 May 2023 08:49:16 +0000 (17:49 +0900)] 
core/unit: update bidirectional dependency simultaneously

Previously, if unit_add_dependency_hashmap() failed, then a
one-directional unit dependency reference might be created, and
triggeres use-after-free. See issue #27742 for more details.

This makes unit dependency always bidirectional, and cleanly revert
partial update on failure.

Fixes #27742.

2 years agocore/unit: search shared namespace in transitive relation of JoinsNamespaceOf=
Yu Watanabe [Thu, 25 May 2023 09:08:37 +0000 (18:08 +0900)] 
core/unit: search shared namespace in transitive relation of JoinsNamespaceOf=

Previously, dependency chain of JoinsNamespaceOf= did not work, e.g.
- a.service has JoinsNamespaceOf=b.service
- b.service has JoinsNamespaceOf=c.service
if, first c.service, next a.service, finally b.service is started,
then a.service is not joined to the namespace of c.service. And, as
mentioned in the document, the namespace used by b.service is not
deterministic.

This makes when searching exsiting namespace to be joined, all units in
the transitive dependency of JoinsNamespaceOf= are checked.

2 years agotmpfiles: Allow C escapes 27554/head
Will Fancher [Sat, 6 May 2023 20:11:58 +0000 (16:11 -0400)] 
tmpfiles: Allow C escapes

Fixes #26955

2 years agotmpfiles: Test C-style escape sequences
Will Fancher [Fri, 26 May 2023 04:02:35 +0000 (00:02 -0400)] 
tmpfiles: Test C-style escape sequences

2 years agotest: split the ASan wrapper into smaller blocks and tidy it up a bit
Frantisek Sumsal [Thu, 25 May 2023 13:31:48 +0000 (15:31 +0200)] 
test: split the ASan wrapper into smaller blocks and tidy it up a bit

No functional change (hopefully), just making it easier on the eyes.

2 years agocore/unit: make JoinsNamespaceOf= implies the inverse dependency
Yu Watanabe [Mon, 22 May 2023 21:36:44 +0000 (06:36 +0900)] 
core/unit: make JoinsNamespaceOf= implies the inverse dependency

Previously, even if a.service has JoinsNamespaceOf=b.service, the
inverse direction of reference was not introduced.
Hence, a.service is started earlier than b.service, the namespace will
not shared with b.service.
Also, even if a.service had the reference to b.service, b.service did not.
If b.service is freed earlier, then unit_clear_dependencies() does not clear
the reference from a to b, and will cause use-after-free on unit_free() for
a.service.

Let's make JoinsNamespaceOf=b.service in a.service implies the inverse
dependency, i.e. JoinsNamespaceOf=a.service for b.service. Then, we can safely
free b.service.

2 years agocore/unit: drop doubled empty line
Yu Watanabe [Mon, 22 May 2023 21:03:52 +0000 (06:03 +0900)] 
core/unit: drop doubled empty line

2 years agotest: add tests for JoinsNamespaceOf=
Yu Watanabe [Wed, 24 May 2023 21:48:16 +0000 (06:48 +0900)] 
test: add tests for JoinsNamespaceOf=

To illustrate the current behavior of the dependency.

2 years agounits: Shut down networkd and resolved on switch-root
Daan De Meyer [Thu, 25 May 2023 16:13:02 +0000 (18:13 +0200)] 
units: Shut down networkd and resolved on switch-root

Let's explicitly order these against initrd-switch-root.target, so
that they are properly shut down before we switch root. Otherwise,
there's a race condition where networkd might only shut down after
switching root and after we've already we've loaded the unit graph,
meaning it won't be restarted in the rootfs.

Fixes #27718

2 years agorules: add rule for accel devices
Stanislaw Gruszka [Thu, 25 May 2023 09:44:00 +0000 (11:44 +0200)] 
rules: add rule for accel devices

Accel (Compute Acceleration) are new devices for AI/ML computation:
https://docs.kernel.org/accel/introduction.html

They are part of DRM subsystem. Add them to 'render' group since
no other appropriate group in standard linux systems exist. This
can be changed when proper common user-space components will emerge,
and new group for acceleration devices access will be established.

Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
2 years agogpt-auto-generator: also honor systemd.swap=no
David Tardon [Thu, 25 May 2023 07:03:10 +0000 (09:03 +0200)] 
gpt-auto-generator: also honor systemd.swap=no

2 years agoman: add trailing =
David Tardon [Thu, 25 May 2023 06:44:21 +0000 (08:44 +0200)] 
man: add trailing =

2 years agomeson: Create credstore directories
Daan De Meyer [Wed, 24 May 2023 13:32:17 +0000 (15:32 +0200)] 
meson: Create credstore directories

Let's make the creds directories a bit more discoverable and make it
easier for users to use them. This also allows us to fix the
mode to 0700 for /etc instead of the usual 0755 which is what probably
would happen if users had to create this directory themselves.

2 years agoresolved-dns-rr: use automatic cleanup
David Tardon [Thu, 25 May 2023 08:30:06 +0000 (10:30 +0200)] 
resolved-dns-rr: use automatic cleanup

Follow-up for #27770.

2 years agoupdate TODO
Lennart Poettering [Thu, 25 May 2023 12:33:45 +0000 (14:33 +0200)] 
update TODO

2 years agoMerge pull request #27358 from bluca/pe_mule
Lennart Poettering [Thu, 25 May 2023 10:56:06 +0000 (03:56 -0700)] 
Merge pull request #27358 from bluca/pe_mule

stub: allow loading and verifying kernel command line addons

2 years agomount-util: Downgrade log message to trace
Daan De Meyer [Thu, 25 May 2023 07:48:24 +0000 (09:48 +0200)] 
mount-util: Downgrade log message to trace

This debug log message is extremely noisy so let's downgrade it to
trace.

2 years agomkosi: Bump default timeout to 180s
Daan De Meyer [Thu, 25 May 2023 08:00:59 +0000 (10:00 +0200)] 
mkosi: Bump default timeout to 180s

Hopefully fixes #27778 where waiting for the root device to appear
times out before systemd-repart has a chance to run and create it.

2 years agoMerge pull request #26959 from poettering/creds-mount-dep-fix
Lennart Poettering [Thu, 25 May 2023 09:06:47 +0000 (02:06 -0700)] 
Merge pull request #26959 from poettering/creds-mount-dep-fix

credential ramfs mount order fixes

2 years agoMerge pull request #27483 from yuwata/udev-id-path-usb-revision
Zbigniew Jędrzejewski-Szmek [Thu, 25 May 2023 08:24:45 +0000 (10:24 +0200)] 
Merge pull request #27483 from yuwata/udev-id-path-usb-revision

udev: include USB revision in ID_PATH

2 years agoMerge pull request #27770 from mrc0mmand/more-nallocfuzz-shenanigans
Yu Watanabe [Thu, 25 May 2023 08:15:37 +0000 (17:15 +0900)] 
Merge pull request #27770 from mrc0mmand/more-nallocfuzz-shenanigans

A couple of fixes for potential issues during OOM situations

2 years agoMerge pull request #27769 from YHNdnzj/loginctl-followup
Yu Watanabe [Wed, 24 May 2023 20:52:06 +0000 (05:52 +0900)] 
Merge pull request #27769 from YHNdnzj/loginctl-followup

loginctl: some follow-ups

2 years agoMerge pull request #27723 from YHNdnzj/service-restart-cleanup
Yu Watanabe [Wed, 24 May 2023 20:14:52 +0000 (05:14 +0900)] 
Merge pull request #27723 from YHNdnzj/service-restart-cleanup

core: get rid of unused Service.will_auto_restart logic

2 years agotree-wide: check memstream buffer after closing the handle 27770/head
Frantisek Sumsal [Wed, 24 May 2023 11:29:52 +0000 (13:29 +0200)] 
tree-wide: check memstream buffer after closing the handle

When closing the FILE handle attached to a memstream, it may attempt to
do a realloc() that may fail during OOM situations, in which case we are
left with the buffer pointer pointing to NULL and buffer size > 0. For
example:

```
    #include <errno.h>
    #include <stdio.h>
    #include <stdlib.h>

    void *realloc(void *ptr, size_t size) {
        return NULL;
    }

    int main(int argc, char *argv[])
    {
        FILE *f;
        char *buf;
        size_t sz = 0;

        f = open_memstream(&buf, &sz);
        if (!f)
            return -ENOMEM;

        fputs("Hello", f);

        fflush(f);
        printf("buf: 0x%lx, sz: %lu, errno: %d\n",
                    (unsigned long) buf, sz, errno);
        fclose(f);
        printf("buf: 0x%lx, sz: %lu, errno: %d\n",
                    (unsigned long) buf, sz, errno);

        return 0;
    }
```

```
$ gcc -o main main.c
$ ./main
buf: 0x74d4a0, sz: 5, errno: 0
buf: 0x0, sz: 5, errno: 0
```

This might do unexpected things if the underlying code expects a valid
pointer to the memstream buffer after closing the handle.

Found by Nallocfuzz.

2 years agosystem-update-generator: drop pointless goto
David Tardon [Tue, 16 May 2023 05:39:32 +0000 (07:39 +0200)] 
system-update-generator: drop pointless goto

2 years agoMerge pull request #27173 from yuwata/update-utmp
Yu Watanabe [Wed, 24 May 2023 19:00:58 +0000 (04:00 +0900)] 
Merge pull request #27173 from yuwata/update-utmp

update-utmp: do not fail when PID1 is reexecuting

2 years agoMerge pull request #27773 from dtardon/timestamp-cleanup
Yu Watanabe [Wed, 24 May 2023 18:27:15 +0000 (03:27 +0900)] 
Merge pull request #27773 from dtardon/timestamp-cleanup

Use *timestamp_is_set() at more places

2 years agoMerge pull request #27774 from dtardon/free-cleanup
Yu Watanabe [Wed, 24 May 2023 18:06:51 +0000 (03:06 +0900)] 
Merge pull request #27774 from dtardon/free-cleanup

Use free_and_*() more

2 years agologinctl: also show idle hint in session-status 27769/head
Mike Yuan [Tue, 23 May 2023 10:54:30 +0000 (18:54 +0800)] 
loginctl: also show idle hint in session-status

2 years agologinctl: list-users: use bus_map_all_properties
Mike Yuan [Tue, 23 May 2023 10:27:05 +0000 (18:27 +0800)] 
loginctl: list-users: use bus_map_all_properties

2 years agologinctl: list-sessions: fix timestamp for idle hint
Mike Yuan [Wed, 24 May 2023 17:20:45 +0000 (01:20 +0800)] 
loginctl: list-sessions: fix timestamp for idle hint

Follow-up for 556723e738b96a5c2b2d45a96b87b7b80e0c5664

TABLE_TIMESTAMP_RELATIVE takes a realtime timestamp.

2 years agologinctl: some modernizations
Mike Yuan [Wed, 24 May 2023 11:42:03 +0000 (19:42 +0800)] 
loginctl: some modernizations

2 years agoukify: fix handling signed kernel as file
Malte Poll [Wed, 24 May 2023 09:01:25 +0000 (11:01 +0200)] 
ukify: fix handling signed kernel as file

The .linux section would contain the path to the signed kernel (instead of the signed kernel itself), since the python type of the variable is used to determine how it is handled when adding the pe sections.

Co-authored-by: Otto Bittner <cobittner@posteo.net>
2 years agosd-journal: propagate errors from ordered_hashmap_*()
Frantisek Sumsal [Wed, 24 May 2023 12:17:25 +0000 (14:17 +0200)] 
sd-journal: propagate errors from ordered_hashmap_*()

Instead of masking them with -ENOMEM.

2 years agotimer: use dual_timestamp_is_set() at one more place 27773/head
David Tardon [Wed, 24 May 2023 13:29:30 +0000 (15:29 +0200)] 
timer: use dual_timestamp_is_set() at one more place

2 years agotree-wide: use timestamp_is_set() at more places
David Tardon [Wed, 24 May 2023 13:26:32 +0000 (15:26 +0200)] 
tree-wide: use timestamp_is_set() at more places

2 years agoTODO: remove fixed item 27358/head
Luca Boccassi [Wed, 24 May 2023 10:18:18 +0000 (11:18 +0100)] 
TODO: remove fixed item

2 years agostub: allow loading and verifying cmdline addons
Luca Boccassi [Thu, 11 May 2023 23:55:58 +0000 (00:55 +0100)] 
stub: allow loading and verifying cmdline addons

Files placed in /EFI/Linux/UKI.efi.extra.d/ and /loader/addons/ are
opened and verified using the LoadImage protocol, and will thus get
verified via shim/firmware.
If they are valid signed PE files, the .cmdline section will be
extracted and appended. If there are multiple addons in each directory,
they will be parsed in alphanumerical order.

Optionally the .uname sections are also matched if present, so
that they can be used to filter out addons as well if needed, and only
addons that correspond exactly to the UKI being loaded are used.
It is recommended to also always add a .sbat section to addons, so
that they can be mass-revoked with just a policy update.

The files must have a .addon.efi suffix.

Files in the per-UKI directory are parsed, sorted, measured and
appended first. Then, files in the generic directory are processed.

2 years agocore: drop UnitNotifyFlags 27723/head
Mike Yuan [Mon, 22 May 2023 00:35:53 +0000 (08:35 +0800)] 
core: drop UnitNotifyFlags

This essentially reverts 2ad2e41a72ec19159c0746a78e15ff880fe32a63.

No longer needed after dropping UNIT_NOTIFY_WILL_AUTO_RESTART.

2 years agocore: get rid of unused Service.will_auto_restart logic
Mike Yuan [Mon, 22 May 2023 00:30:30 +0000 (08:30 +0800)] 
core: get rid of unused Service.will_auto_restart logic

The announced new behavior for OnFailure= never worked properly,
and we've fixed the document instead in #27675.
Therefore, let's get rid of the unused logic completely. More at #27594.

The to-be-added RestartMode= option should cover the use case hopefully.

Closes #27594

2 years agojournal-upload: use mfree() 27774/head
David Tardon [Wed, 24 May 2023 12:27:27 +0000 (14:27 +0200)] 
journal-upload: use mfree()

2 years agotree-wide: use free_and_str*dup() more
David Tardon [Wed, 24 May 2023 12:47:36 +0000 (14:47 +0200)] 
tree-wide: use free_and_str*dup() more

2 years agotree-wide: use free_and_replace() more
David Tardon [Wed, 24 May 2023 12:21:04 +0000 (14:21 +0200)] 
tree-wide: use free_and_replace() more

2 years agoMerge pull request #27752 from DaanDeMeyer/timer-oncalendar-fix
Daan De Meyer [Wed, 24 May 2023 12:39:32 +0000 (14:39 +0200)] 
Merge pull request #27752 from DaanDeMeyer/timer-oncalendar-fix

core/timer: Always use inactive_exit_timestamp if it is set

2 years agoenv-file: use free_and_replace()
Frantisek Sumsal [Wed, 24 May 2023 09:41:30 +0000 (11:41 +0200)] 
env-file: use free_and_replace()

2 years agospecifier: avoid leaking memory on allocation error
Frantisek Sumsal [Wed, 24 May 2023 09:39:24 +0000 (11:39 +0200)] 
specifier: avoid leaking memory on allocation error

==8036==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x4a10bc in __interceptor_realloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:85:3
    #1 0x4deef1 in realloc (/build/fuzz-unit-file+0x4deef1)
    #2 0x7ffa35abfe23 in greedy_realloc /work/build/../../src/systemd/src/basic/alloc-util.c:70:13
    #3 0x7ffa35aefad2 in parse_env_file_internal /work/build/../../src/systemd/src/basic/env-file.c:127:38
    #4 0x7ffa35af08a6 in parse_env_file_fdv /work/build/../../src/systemd/src/basic/env-file.c:374:13
    #5 0x7ffa35b6391e in parse_extension_release_atv /work/build/../../src/systemd/src/basic/os-util.c:323:16
    #6 0x7ffa35b63c8a in parse_extension_release_sentinel /work/build/../../src/systemd/src/basic/os-util.c:360:13
    #7 0x7ffa35a5e3f5 in parse_os_release_specifier /work/build/../../src/systemd/src/shared/specifier.c:292:13
    #8 0x7ffa35a5e3f5 in specifier_os_id /work/build/../../src/systemd/src/shared/specifier.c:303:16
    #9 0x7ffa35a5c7f5 in specifier_printf /work/build/../../src/systemd/src/shared/specifier.c:70:45
    #10 0x7ffa3690b279 in unit_full_printf_full /work/build/../../src/systemd/src/core/unit-printf.c:264:16
    #11 0x7ffa367de795 in config_parse_bus_name /work/build/../../src/systemd/src/core/load-fragment.c:2401:13
    #12 0x7ffa358fe5ec in next_assignment /work/build/../../src/systemd/src/shared/conf-parser.c:151:24
    #13 0x7ffa358fe5ec in parse_line /work/build/../../src/systemd/src/shared/conf-parser.c:257:16
    #14 0x7ffa358fd653 in config_parse /work/build/../../src/systemd/src/shared/conf-parser.c:400:21
    #15 0x4de828 in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/core/fuzz-unit-file.c:72:16
    #16 0x4df208 in NaloFuzzerTestOneInput (/build/fuzz-unit-file+0x4df208)
    #17 0x4fe213 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #18 0x4fd9fa in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #19 0x4ff0c9 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #20 0x4ffd95 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #21 0x4ef0ff in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #22 0x4ef9c8 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #23 0x4df485 in main (/build/fuzz-unit-file+0x4df485)
    #24 0x7ffa35232082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)

DEDUP_TOKEN: __interceptor_realloc--realloc--greedy_realloc
SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).

Found by Nallocfuzz.

2 years agoresolve: avoid memory leak from a partially processed RR
Frantisek Sumsal [Tue, 23 May 2023 19:34:48 +0000 (21:34 +0200)] 
resolve: avoid memory leak from a partially processed RR

==5==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x4a2056 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3
    #1 0x5180a9 in malloc (/build/fuzz-resource-record+0x5180a9)
    #2 0x4f7182 in dns_packet_extend /work/build/../../src/systemd/src/resolve/resolved-dns-packet.c:371:36
    #3 0x4f8b8b in dns_packet_append_uint8 /work/build/../../src/systemd/src/resolve/resolved-dns-packet.c:433:13
    #4 0x4f8b8b in dns_packet_append_name /work/build/../../src/systemd/src/resolve/resolved-dns-packet.c:597:13
    #5 0x4f8f16 in dns_packet_append_key /work/build/../../src/systemd/src/resolve/resolved-dns-packet.c:622:13
    #6 0x4fa9a0 in dns_packet_append_rr /work/build/../../src/systemd/src/resolve/resolved-dns-packet.c:883:13
    #7 0x4eb00c in dns_resource_record_to_wire_format /work/build/../../src/systemd/src/resolve/resolved-dns-rr.c:1224:13
    #8 0x4df7be in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/resolve/fuzz-resource-record.c:32:16
    #9 0x518428 in NaloFuzzerTestOneInput (/build/fuzz-resource-record+0x518428)
    #10 0x537433 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #11 0x536c1a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #12 0x5382e9 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #13 0x538fb5 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #14 0x52831f in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #15 0x528be8 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #16 0x5186a5 in main (/build/fuzz-resource-record+0x5186a5)
    #17 0x7f991fab8082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)

DEDUP_TOKEN: __interceptor_malloc--malloc--dns_packet_extend
SUMMARY: AddressSanitizer: 4096 byte(s) leaked in 1 allocation(s).

Found by Nallocfuzz.

2 years agosd-journal: use TAKE_PTR() a bit more
Frantisek Sumsal [Tue, 23 May 2023 17:21:20 +0000 (19:21 +0200)] 
sd-journal: use TAKE_PTR() a bit more

2 years agosd-journal: avoid double-free
Frantisek Sumsal [Tue, 23 May 2023 16:09:23 +0000 (18:09 +0200)] 
sd-journal: avoid double-free

If we fail to combine the new entry with a previous one, or update it in
the hashmap, we might later on attempt a double-free:

=================================================================
==10==ERROR: AddressSanitizer: attempting double-free on 0x611000039fc0 in thread T0:
SCARINESS: 42 (double-free)
    #0 0x4a0962 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3
    #1 0x7f55e431d9f2 in _hashmap_clear /work/build/../../src/systemd/src/basic/hashmap.c:927:33
    #2 0x7f55e431d4c8 in _hashmap_free /work/build/../../src/systemd/src/basic/hashmap.c:896:17
    #3 0x4de1de in ordered_hashmap_free_free_free /work/build/../../src/systemd/src/basic/hashmap.h:120:24
    #4 0x4de1de in ordered_hashmap_free_free_freep /work/build/../../src/systemd/src/basic/hashmap.h:434:1
    #5 0x4de1de in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-catalog.c:26:1
    #6 0x4de8b8 in NaloFuzzerTestOneInput (/build/fuzz-catalog+0x4de8b8)
    #7 0x4fd8c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #8 0x4fd0aa in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #9 0x4fe779 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #10 0x4ff445 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #11 0x4ee7af in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #12 0x4ef078 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #13 0x4deb35 in main (/build/fuzz-catalog+0x4deb35)
    #14 0x7f55e3a32082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)
    #15 0x41f7cd in _start (/build/fuzz-catalog+0x41f7cd)

DEDUP_TOKEN: __interceptor_free--_hashmap_clear--_hashmap_free
0x611000039fc0 is located 0 bytes inside of 224-byte region [0x611000039fc0,0x61100003a0a0)
freed by thread T0 here:
    #0 0x4a0962 in __interceptor_free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3
    #1 0x7f55e451493d in freep /work/build/../../src/systemd/src/basic/alloc-util.h:107:22
    #2 0x7f55e451493d in finish_item /work/build/../../src/systemd/src/libsystemd/sd-journal/catalog.c:187:1
    #3 0x7f55e4513e56 in catalog_import_file /work/build/../../src/systemd/src/libsystemd/sd-journal/catalog.c:313:45
    #4 0x4de1be in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-catalog.c:23:16
    #5 0x4de8b8 in NaloFuzzerTestOneInput (/build/fuzz-catalog+0x4de8b8)
    #6 0x4fd8c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #7 0x4fd0aa in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #8 0x4fe779 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #9 0x4ff445 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #10 0x4ee7af in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #11 0x4ef078 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #12 0x4deb35 in main (/build/fuzz-catalog+0x4deb35)
    #13 0x7f55e3a32082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)

DEDUP_TOKEN: __interceptor_free--freep--finish_item
previously allocated by thread T0 here:
    #0 0x4a0c06 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3
    #1 0x4de539 in malloc (/build/fuzz-catalog+0x4de539)
    #2 0x7f55e42bf96b in memdup /work/build/../../src/systemd/src/basic/alloc-util.c:16:15
    #3 0x7f55e451475d in finish_item /work/build/../../src/systemd/src/libsystemd/sd-journal/catalog.c:176:28
    #4 0x7f55e4513e56 in catalog_import_file /work/build/../../src/systemd/src/libsystemd/sd-journal/catalog.c:313:45
    #5 0x4de1be in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-catalog.c:23:16
    #6 0x4de8b8 in NaloFuzzerTestOneInput (/build/fuzz-catalog+0x4de8b8)
    #7 0x4fd8c3 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
    #8 0x4fd0aa in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
    #9 0x4fe779 in fuzzer::Fuzzer::MutateAndTestOne() /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:757:19
    #10 0x4ff445 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:895:5
    #11 0x4ee7af in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
    #12 0x4ef078 in LLVMFuzzerRunDriver /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:925:10
    #13 0x4deb35 in main (/build/fuzz-catalog+0x4deb35)
    #14 0x7f55e3a32082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 1878e6b475720c7c51969e69ab2d276fae6d1dee)

DEDUP_TOKEN: __interceptor_malloc--malloc--memdup
SUMMARY: AddressSanitizer: double-free /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3 in __interceptor_free

Found by Nallocfuzz.

2 years agotest: add test case for systemd-update-utmp vs daemon-reexec 27173/head
Yu Watanabe [Wed, 26 Apr 2023 14:56:50 +0000 (23:56 +0900)] 
test: add test case for systemd-update-utmp vs daemon-reexec

2 years agotest: drop a workaround
Yu Watanabe [Fri, 7 Apr 2023 01:05:40 +0000 (10:05 +0900)] 
test: drop a workaround

Follow-up for 61961e693d3ba71386068947d85078c086e455e4.

2 years agoupdate-utmp: reconnect after sleep when PID1 is reexecuting
Yu Watanabe [Thu, 6 Apr 2023 19:49:07 +0000 (04:49 +0900)] 
update-utmp: reconnect after sleep when PID1 is reexecuting

Fixes #27167.

2 years agoupdate-utmp: update log message
Yu Watanabe [Fri, 7 Apr 2023 09:44:22 +0000 (18:44 +0900)] 
update-utmp: update log message

2 years agoupdate-utmp: downgrade log level of ignored failure
Yu Watanabe [Thu, 6 Apr 2023 19:34:54 +0000 (04:34 +0900)] 
update-utmp: downgrade log level of ignored failure

2 years agoupdate-utmp: swap q <-> r
Yu Watanabe [Thu, 6 Apr 2023 19:31:21 +0000 (04:31 +0900)] 
update-utmp: swap q <-> r

We usually use 'r' for general purpose.

No functional change, just refactoring.

2 years agoupdate-utmp: modernize get_startup_monotonic_time()
Yu Watanabe [Thu, 6 Apr 2023 19:26:19 +0000 (04:26 +0900)] 
update-utmp: modernize get_startup_monotonic_time()

This also downgrade error level, as the failure will be ignored.

No functional change, just refactoring.

2 years agoupdate-utmp: rebreak comments
Yu Watanabe [Thu, 6 Apr 2023 19:13:57 +0000 (04:13 +0900)] 
update-utmp: rebreak comments

2 years agoupdate-utmp: use verbs
Yu Watanabe [Thu, 6 Apr 2023 19:07:17 +0000 (04:07 +0900)] 
update-utmp: use verbs

No functional change, just refactoring.

2 years agoMerge pull request #27740 from dtardon/list-sessions-idle
Yu Watanabe [Wed, 24 May 2023 11:03:39 +0000 (20:03 +0900)] 
Merge pull request #27740 from dtardon/list-sessions-idle

Show idle status in `loginctl list-sessions`

2 years agoMerge pull request #27757 from dtardon/bus-locator
Yu Watanabe [Wed, 24 May 2023 11:02:57 +0000 (20:02 +0900)] 
Merge pull request #27757 from dtardon/bus-locator

Convert more DBus calls to BusLocator

2 years agoukify: add default .sbat section for addons
Luca Boccassi [Sun, 21 May 2023 13:32:39 +0000 (14:32 +0100)] 
ukify: add default .sbat section for addons

In order to ensure addons can always be revoked via SBAT, and it is not
left out by mistake, have a default metadata entry if none is specified
by the caller.
https://github.com/rhboot/shim/blob/main/SBAT.md

2 years agoukify: use empty stub for addons
Luca Boccassi [Tue, 23 May 2023 00:45:40 +0000 (01:45 +0100)] 
ukify: use empty stub for addons

Instead of picking up sd-stub, which is runnable, add an empty
addon stub that just returns an error if executed

2 years agoelf2efi: ensure minimum gap between .text and other sections
Luca Boccassi [Tue, 23 May 2023 01:12:12 +0000 (02:12 +0100)] 
elf2efi: ensure minimum gap between .text and other sections

When linking an almost empty binary the linker can merged .text with
a later section, creating a RWE segment, that then it rejects.

2 years agoelf2efi: add parameter to increase reserved space for headers
Luca Boccassi [Tue, 23 May 2023 00:43:59 +0000 (01:43 +0100)] 
elf2efi: add parameter to increase reserved space for headers

When building a minimal empty addon it would not have enough
space to append sections. Add an option that will later be
used to reserve enough space.

2 years agostub/measure: document and measure .uname UKI section
Luca Boccassi [Sun, 21 May 2023 13:32:09 +0000 (14:32 +0100)] 
stub/measure: document and measure .uname UKI section

2 years agotimer: Use dual_timestamp_is_set() in one more place 27752/head
Daan De Meyer [Wed, 24 May 2023 09:41:37 +0000 (11:41 +0200)] 
timer: Use dual_timestamp_is_set() in one more place

2 years agoefi: set EFIVAR to stop Shim from uninstalling its protocol
Luca Boccassi [Thu, 11 May 2023 23:51:19 +0000 (00:51 +0100)] 
efi: set EFIVAR to stop Shim from uninstalling its protocol

We'll use it from the stub to validate files. Requires Shim 5.18.
By default, Shim uninstalls its protocol when calling StartImage(),
so when loading systemd-boot via shim and then loading an UKI, the
UKI's sd-stub will no longer be able to use the shim verification
protocol by default.

2 years agoMerge pull request #27761 from yuwata/network-vlan-qos-mapping
Luca Boccassi [Wed, 24 May 2023 08:59:41 +0000 (09:59 +0100)] 
Merge pull request #27761 from yuwata/network-vlan-qos-mapping

network: fix vlan qos mapping

2 years agoexecute: add missing NULL handling 26959/head
Lennart Poettering [Wed, 3 May 2023 19:54:29 +0000 (21:54 +0200)] 
execute: add missing NULL handling

2 years agomount: check right before invoking /bin/umount if it makes sense
Lennart Poettering [Thu, 23 Mar 2023 18:05:30 +0000 (19:05 +0100)] 
mount: check right before invoking /bin/umount if it makes sense

Notifications from /proc/self/mountinfo are async, so if we stop a
service (and while doing so get rid of the credentials mount point of
it), then it will take a while until the notification reaches us and we
actually scan the table again. In particular as we nowadays ratelimit
notifications on the table, since it's so inefficient. And as I learnt
the ratelimiting is actually quite regularly hit during shutdown, where
a flurry of umount events are genreated. Hence, let's check if a mount
point is actually a mountpoint before trying to unmount it. And if it
isn't let's wait for the notification to come in.

(This race might be triggred not just by us on ourselves btw: there are
other daemons that unmount stuff when stopping where the race also
exists, but might simply be harder to trigger: if during service
shutdown these services remove some mount then they might collide with
us doing the same. After all, we have the rule to unmount everything
mounted automatically for you during shutdown.)

In the long run we should also start making us of this when it becomes
available: https://github.com/util-linux/util-linux/issues/2132 With
that we can make issues like this go away entirely from our side of
things at least.

Fixes: #25527
2 years agosd-event: add an explicit API for leaving the ratelimit state
Lennart Poettering [Thu, 23 Mar 2023 22:16:43 +0000 (23:16 +0100)] 
sd-event: add an explicit API for leaving the ratelimit state

Sometimes, it might make sense to end the ratelimit window early.

2 years agocore: split out default network dep generation into own function
Lennart Poettering [Thu, 23 Mar 2023 13:03:47 +0000 (14:03 +0100)] 
core: split out default network dep generation into own function

Just some simple refactoring: let's split out network dep generation
into its own function mount_add_default_network_dependencies().

This way mount_add_default_dependencies() only does preparatory stuff,
and then calls both mount_add_default_network_dependencies() and
mount_add_default_ordering_dependencies() with that, making things
nicely symmetric.

2 years agocore: suppress various defaults deps for credentials mounts
Lennart Poettering [Thu, 23 Mar 2023 12:59:45 +0000 (13:59 +0100)] 
core: suppress various defaults deps for credentials mounts

The per-unit credentials mounts might show up for any kind of service,
including very very early ones. Hence let's not order them after
local-fs-pre.target, because otherwise we might trigger cyclic deps of
services that want to plug before that but still use credentials.

2 years agounit: add ordering dep relative to credentials dir
Lennart Poettering [Thu, 23 Mar 2023 11:35:38 +0000 (12:35 +0100)] 
unit: add ordering dep relative to credentials dir

See: #25527

2 years agocore/timer: Always use inactive_exit_timestamp if it is set
Daan De Meyer [Tue, 23 May 2023 14:24:47 +0000 (16:24 +0200)] 
core/timer: Always use inactive_exit_timestamp if it is set

If we're doing a daemon-reload, we'll be going from TIMER_DEAD => TIMER_WAITING,
so we won't use inactive_exit_timestamp because TIMER_DEAD != UNIT_ACTIVE, even
though inactive_exit_timestamp is serialized/deserialized and will be valid after
the daemon-reload.

This issue can lead to timers never firing as we'll always calculate the next
elapse based on the current realtime on daemon-reload, so if daemon-reload happens
often enough, the elapse interval will be moved into the future every time, which
means the timer will never trigger.

To fix the issue, let's always use inactive_exit_timestamp if it is set, and only
fall back to the current realtime if it is not set.

2 years agologinctl: show session idle status in list-sessions 27740/head
David Tardon [Fri, 19 May 2023 12:03:09 +0000 (14:03 +0200)] 
loginctl: show session idle status in list-sessions

2 years agotest: rotate journal before storing coredumps
Yu Watanabe [Wed, 24 May 2023 01:31:41 +0000 (10:31 +0900)] 
test: rotate journal before storing coredumps

Hopefully fixes the failure like
https://jenkins-systemd.apps.ocp.cloud.ci.centos.org/job/upstream-vagrant-archlinux-sanitizers/2558/
---
[   66.708894] testsuite-74.sh[728]: + coredumpctl --json=off
[   66.709344] testsuite-74.sh[826]: TIME                        PID UID GID SIG     COREFILE EXE             SIZE
[   66.709773] testsuite-74.sh[826]: Tue 2023-05-23 22:10:17 UTC 739   0   0 SIGTRAP journal  /tmp/test-dump     -
[   66.711134] testsuite-74.sh[826]: Tue 2023-05-23 22:10:18 UTC 747   0   0 SIGABRT journal  /tmp/test-dump     -
[   66.711789] testsuite-74.sh[826]: Tue 2023-05-23 22:10:19 UTC 763   0   0 SIGTRAP present  /tmp/test-dump 53.5K
[   66.712460] testsuite-74.sh[826]: Tue 2023-05-23 22:10:20 UTC 776   0   0 SIGABRT present  /tmp/test-dump 53.3K
[   66.713505] testsuite-74.sh[728]: + coredumpctl --root=/
[   66.714144] testsuite-74.sh[828]: TIME                        PID UID GID SIG     COREFILE EXE             SIZE
[   66.714535] testsuite-74.sh[828]: Tue 2023-05-23 22:10:17 UTC 739   0   0 SIGTRAP journal  /tmp/test-dump     -
[   66.715208] testsuite-74.sh[828]: Tue 2023-05-23 22:10:18 UTC 747   0   0 SIGABRT journal  /tmp/test-dump     -
[   66.715907] testsuite-74.sh[828]: Tue 2023-05-23 22:10:19 UTC 763   0   0 SIGTRAP present  /tmp/test-dump 53.5K
[   66.716565] testsuite-74.sh[828]: Tue 2023-05-23 22:10:20 UTC 776   0   0 SIGABRT present  /tmp/test-dump 53.3K
[   66.717494] testsuite-74.sh[728]: + coredumpctl --directory=/var/log/journal
[   66.718188] testsuite-74.sh[830]: TIME                        PID UID GID SIG     COREFILE EXE             SIZE
[   66.882072] testsuite-74.sh[830]: Tue 2023-05-23 22:10:17 UTC 739   0   0 SIGTRAP journal  /tmp/test-dump     -
[   66.882642] testsuite-74.sh[830]: Tue 2023-05-23 22:10:18 UTC 747   0   0 SIGABRT journal  /tmp/test-dump     -
[   66.883450] testsuite-74.sh[830]: Tue 2023-05-23 22:10:19 UTC 763   0   0 SIGTRAP present  /tmp/test-dump 53.5K
[   66.883944] testsuite-74.sh[830]: Tue 2023-05-23 22:10:20 UTC 776   0   0 SIGABRT present  /tmp/test-dump 53.3K
[   66.885448] testsuite-74.sh[728]: + coredumpctl --file=/var/log/journal/2e1ed84be19a4e22adfc99ad849be1f6/system.journal
[   66.885989] testsuite-74.sh[728]: + at_exit
[   66.894162] coredumpctl[833]: No coredumps found.
---

2 years agooomctl: convert a oom1.Manager call to BusLocator 27757/head
David Tardon [Wed, 24 May 2023 06:40:51 +0000 (08:40 +0200)] 
oomctl: convert a oom1.Manager call to BusLocator

2 years agobus-locator: sort the list
David Tardon [Wed, 24 May 2023 06:47:25 +0000 (08:47 +0200)] 
bus-locator: sort the list

2 years agobus-locator: declare bus locator for oom1 and timesync1
David Tardon [Wed, 24 May 2023 06:38:53 +0000 (08:38 +0200)] 
bus-locator: declare bus locator for oom1 and timesync1

2 years agohostnamectl: convert more hostname1 calls to BusLocator
David Tardon [Tue, 23 May 2023 18:40:47 +0000 (20:40 +0200)] 
hostnamectl: convert more hostname1 calls to BusLocator

2 years agotree-wide: convert more resolve1.Manager calls to BusLocator
David Tardon [Tue, 23 May 2023 18:37:27 +0000 (20:37 +0200)] 
tree-wide: convert more resolve1.Manager calls to BusLocator

2 years agojournalctl: convert a machine1.Manager call to BusLocator
David Tardon [Tue, 23 May 2023 18:33:16 +0000 (20:33 +0200)] 
journalctl: convert a machine1.Manager call to BusLocator

2 years agosleep: convert a home1.Manager call to BusLocator
David Tardon [Tue, 23 May 2023 18:28:55 +0000 (20:28 +0200)] 
sleep: convert a home1.Manager call to BusLocator

2 years agologin: use NULL to denote arg-less method call
David Tardon [Wed, 24 May 2023 06:29:22 +0000 (08:29 +0200)] 
login: use NULL to denote arg-less method call

"" and NULL are equivalent, but the latter is normally used.