Commit Graph
3556 Commits
Author SHA1 Message Date
Luca Boccassi 79be4b7da8 Merge pull request #28255 from yuwata/sd-device-fix-clone
sd-device: fix device_clone_with_db()
2023-07-05 21:38:52 +01:00
Yu Watanabe 4a45a2e0e3 sd-journal: introduce SD_JOURNAL_TAKE_DIRECTORY_FD flag for sd_journal_open_directory_fd()
If it is called with the flag, then the provided file descriptor will be
owned by the sd_journal object, and will be closed in sd_journal_close().
2023-07-06 00:06:20 +09:00
Yu Watanabe 35e49f2856 sd-device: do not read uevent file in device_clone_with_db()
Follow-up for 381f6d4ba5.

When the function is called, the device may be already removed, and
another device has the same syspath. Such situation can occur when a
partition removed and another is created. In that case, the sysfs paths
of the removed and newly created partitions can be same, but their
devnums are different, and thus the database files corresponding to the
devices are also different.

Fixes #27981.
2023-07-05 23:45:57 +09:00
Yu Watanabe 86c2a76e09 Merge pull request #28132 from rpigott/dhcp-captive-portal
Implement RFC8910: captive portal dhcp options
2023-07-03 14:51:56 +09:00
Luca Boccassi b9d29a2028 Merge pull request #28226 from mrc0mmand/coverity-fixes
A couple of Coverity-related fixes
2023-07-02 15:54:56 +01:00
Frantisek Sumsal 5000cea8d2 tree-wide: explicitly ignore return value in a couple more places
Resolves:
  - CID#1490777
  - CID#1498366
  - CID#1508639
  - CID#1509084
  - CID#1509086
  - CID#1509087
2023-07-02 12:22:45 +02:00
Zbigniew Jędrzejewski-Szmek da89046643 tree-wide: "<n>bit" → "<n>-bit"
In some places, "<n> bits" is used when more appropriate.
2023-07-02 11:10:12 +01:00
Ronan Pigott edb88a7201 network: Introduce UseCaptivePortal DHCPv4 option
Accepts a boolean. When enabled, UseCaptivePortal will request and
retain the captive portal configuration from the DHCP server.
2023-07-02 01:13:43 -07:00
Lennart Poettering 9a653235d1 sd-path: add support for XDG_STATE_HOME 2023-06-28 21:55:33 +02:00
Lennart Poettering 1db8c86196 Merge pull request #28179 from poettering/sysvgendeprecated
make systemd-sysv-generator even more deprecated
2023-06-28 09:37:42 +02:00
Yu Watanabe 16e1e4b3e7 meson: drop doubled empty line 2023-06-27 22:34:25 -06:00
Lennart Poettering fba84e121b journalctl: read env vars that override compiled catalog database and source files
This makes it a bit easier to test catalog files without installing
systemd.
2023-06-27 23:20:15 +02:00
Lennart Poettering 031d21bc45 Merge pull request #27843 from yuwata/usleep_safe
time-util: introduce usleep_safe()
2023-06-23 23:03:15 +02:00
Lennart Poettering 19b761a097 tree-wide: getpid() → getpid_cached()
This doesn't really matter, but let's be systematic and prefer
getpid_cached() in our codebase.
2023-06-22 17:07:59 -06:00
Yu Watanabe 4251512ea9 time-util: introduce usleep_safe()
We use usec_t for storing time value, which is 64bit.
However, usleep() takes useconds_t that is (typically?) 32bit.
Also, usleep() may only support the range [0, 1000000].

This introduce usleep_safe() which takes usec_t.
2023-06-22 15:33:56 +09:00
Yu Watanabe 50cf2032a0 sd-journal: verify journal file header in more detail
Fixes #27635.
2023-06-21 18:25:07 -06:00
Lennart Poettering 7eb73fac04 Merge pull request #27927 from Geass-LL/main
core/unit: increase the GetNameOwner timeout to 90s
2023-06-16 09:38:53 +02:00
Frantisek Sumsal 9a27ef092e tree-wide: fix a couple of typos
As reported by Fossies.org.
2023-06-15 20:52:45 +02:00
licunlong bb30e58f64 sd-bus: make bus_add_match_full accept timeout 2023-06-15 18:15:23 +08:00
Lennart Poettering e503019bc7 tree-wide: when in doubt use greek small letter mu rather than micro symbol
Doesn't really matter since the two unicode symbols are supposedly
equivalent, but let's better follow the unicode recommendations to
prefer greek small letter mu, as per:

https://www.unicode.org/reports/tr25
2023-06-14 10:23:56 +02:00
Daan De Meyer 17f5942f8a Merge pull request #28010 from DaanDeMeyer/vsock-type
Vsock improvements
2023-06-13 15:41:58 +02:00
Daan De Meyer 7f78d3431b sd-daemon: Add vsock fallback to SOCK_STREAM
SOCK_SEQPACKET is only supported on recent kernels. Let's add a
fallback to SOCK_STREAM if it is not supported.

To accomodate SOCK_STREAM, we also modify
pid_notify_with_fds_internal() to do sendmsg() in a loop as with
SOCK_STREAM, sendmsg() is not guaranteed to write all data in a single
syscall or fail otherwise.
2023-06-13 14:24:44 +02:00
Daan De Meyer 56d02f2969 sd-daemon: Use socket type from vsock address if set
If a socket type is explicitly provided in the vsock address, let's
make sure we try only that socket type.
2023-06-13 14:24:44 +02:00
Lennart Poettering 768fcd779f socket: bump listen() backlog to INT_MAX everywhere
This is a rework of #24764 by Cristian Rodríguez
<crodriguez@owncloud.com>, which stalled.

Instead of assigning -1 we'll use a macro defined to INT_MAX however.
2023-06-13 14:17:25 +02:00
Yu Watanabe 2824385c4e test: drop test for IFLA_NUM_RX_QUEUES
The attribute is not included in the netlink message if the kernel
built with CONFIG_RPS disabled.

Fixes #27969.
2023-06-12 09:37:11 +02:00
Nick Rosbrook c5ea147104 tree-wide: fix typos of "boottime"/"BOOTTIME" 2023-06-09 21:59:36 +02:00
Lennart Poettering 97c621b72d sd-journal: when SD_JOURNAL_CURRENT_USER is set, and called from system UID, imply SD_JOURNAL_SYSTEM
Fixes: #26742 #23679
2023-06-08 09:33:02 +02:00
Thorsten Kukuk 403082602d sd-login: add sd_session_get_leader interface 2023-06-07 09:33:36 +01:00
Lennart Poettering 4dcaab9c89 tree-wide: port various pieces of code over to ROUND_UP()
There's probably more than we can convert to this.
2023-06-02 16:43:39 +02:00
Yu Watanabe 45a6a2aace sd-journal: fix assignment of tail entry offset
Fixes a bug introduced by 206f0f397e.
2023-06-01 17:04:10 +02:00
Yu Watanabe 17bd68ca74 Merge pull request #27874 from keszybz/test-bus-server-shortening
Simplify the code in test-bus-server
2023-06-01 21:10:55 +09:00
Zbigniew Jędrzejewski-Szmek 70b1676578 test-bus-server: simplify return value handling
Follow-up for f7794e423a.
2023-06-01 09:57:23 +02:00
Yu Watanabe 2485b7e2b8 tree-wide: use memstream-util 2023-06-01 06:48:47 +09:00
Yu Watanabe 3256e2027b sd-bus: rename introspect_free() -> introspect_done 2023-06-01 06:47:48 +09:00
Yu Watanabe 5d2a48da12 tree-wide: use _cleanup_set_free_ and friends
Instead of _cleanup_(set_freep) or so.
2023-06-01 06:47:48 +09:00
Daan De Meyer edabe6fc11 Merge pull request #27806 from DaanDeMeyer/fix-mkosi-check
mkosi: Use proper check to detect whether we're in a VM
2023-05-31 15:26:05 +02:00
Daan De Meyer 05d1cbb33c Merge pull request #26969 from DaanDeMeyer/xopenat-label
fs-util: Add labelling support to xopenat()
2023-05-31 14:35:50 +02:00
Daan De Meyer 5fbcad01c1 sd-daemon: Add debug logging 2023-05-31 14:19:25 +02:00
Daan De Meyer bdee762b8c sd-daemon: Introduce pid_notify_with_fds_internal()
No change in behavior, just refactoring
2023-05-31 14:19:25 +02:00
Daan De Meyer 420d2e3136 fs-util: Add XOpenFlags with XO_LABEL flag to have xopenat() MAC label files/dirs 2023-05-31 13:15:56 +02:00
Yu Watanabe b78f9481bc sd-journal: introduce sd_journal_step_one()
After the commit 7a4ee86161,
sd_journal_next() following sd_journal_seek_tail() takes no-op,
and we need to call sd_journal_previous(). This may be useful in
some cases, e.g. to fix the issue explained in the previous commit.
2023-05-28 23:53:18 +09:00
Daan De Meyer 30868c1c8d tree-wide: Downgrade a few more noisy log messages to trace 2023-05-27 14:47:56 +02:00
Frantisek Sumsal 8771463957 sd-journal: log about errors from ordered_hashmap_*()
Follow-up to 08a8fd6e8d.
2023-05-26 16:16:25 +02:00
Lennart Poettering 0f50da0f6b Merge pull request #26959 from poettering/creds-mount-dep-fix
credential ramfs mount order fixes
2023-05-25 02:06:47 -07:00
Yu Watanabe cd8910f053 Merge pull request #27770 from mrc0mmand/more-nallocfuzz-shenanigans
A couple of fixes for potential issues during OOM situations
2023-05-25 17:15:37 +09:00
Frantisek Sumsal f392dfb5a1 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.
2023-05-24 21:59:10 +02:00
Frantisek Sumsal 08a8fd6e8d sd-journal: propagate errors from ordered_hashmap_*()
Instead of masking them with -ENOMEM.
2023-05-24 18:45:06 +02:00
David Tardon a73e5eb94c tree-wide: use free_and_str*dup() more 2023-05-24 15:03:55 +02:00
David Tardon d6f2cd671c tree-wide: use free_and_replace() more 2023-05-24 14:59:07 +02:00
Frantisek Sumsal f32e44e467 sd-journal: use TAKE_PTR() a bit more 2023-05-24 13:55:39 +02:00