| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Follow-ups for fbb69c0306d434153ca85b227c7d42b9c92872e4.
|
|\
| |
| | |
strv: introduce strv_sort_uniq()
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We often call strv_sort() and strv_uniq(). If a strv is already sorted.
uniquifying can be faster.
Prompted by https://github.com/systemd/systemd/pull/33012#discussion_r1636633627.
|
|\ \
| | |
| | | |
core: do not imply PrivateTmp with DynamicUser, create a private tmpfs instead
|
| | |
| | |
| | |
| | |
| | |
| | | |
It is already implied by DynamicUser=yes if not set, but dropping it
allows users to instead define TemporaryFileSystem=/tmp/ /var/tmp/
in their portable services, which has fewer side effects.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DynamicUser= enables PrivateTmp= implicitly to avoid files owned by reusable uids
leaking into the host. Change it to instead create a fully private tmpfs instance
instead, which also ensures the same result, since it has less impactful semantics
with respect to PrivateTmp=yes, which links the mount namespace to the host's /tmp
instead. If a user specifies PrivateTmp manually, let the existing behaviour
unchanged to ensure backward compatibility is not broken.
|
|\ \ \
| | | |
| | | | |
strbuf: several cleanups
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- use FOREACH_ARRAY(),
- add one missing assertion,
- reduce indentation.
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
strbuf_child_entry.c is uint8_t, so using CMP() is safer.
This also adds missing assertions.
|
|\ \ \
| | | |
| | | | |
Trivial follow ups for recent PRs
|
| | | |
| | | |
| | | |
| | | | |
Follow-up for 309a747fa6cfeac0a0165543f23a924866727c9b.
|
| |/ /
| | |
| | |
| | | |
Follow-up for 88188e1ff1ffa2a4a41c9b8ee127f75cc03bc18d.
|
|\ \ \
| | | |
| | | | |
core: a few more fixes for serialization
|
| | | |
| | | |
| | | |
| | | | |
Follow-up for 45b1017488cef2a5bacdf82028ce900a311c9a1c
|
| | | |
| | | |
| | | |
| | | | |
Fixes CID#1547098
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
varlink: add nice commenting to our varlink IDL data
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
pidref: record pidfd inode number in PidRef struct
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Besides internal comparisons, the inode number of pidfds
might be interesting directly to users, too. In the future
this field should also be exposed, so that it can serve as
a unique identifier of a process (but only for display,
as there's no method to map this back to a pid or pidfd).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also, correct the comment about pidfs (added in kernel 6.9
rather than 6.8).
Co-authored-by: Lennart Poettering <lennart@poettering.net>
|
| | | | | |
|
| |_|/ /
|/| | |
| | | |
| | | | |
So far this used string length, not character width. Fix that.
|
|\ \ \ \
| |_|/ /
|/| | | |
shutdown: re-enable CAD handling in kernel at start, several other cleanups
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Also, ignore the error on caller's side.
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
core/service: several cleanups for serialization logic
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Follow-up for fc67a943d989d5e74577adea9676cdc7928b08fc
After the mentioned comment, we no longer need to record
the owner to restore the previous bus owner state.
Therefore, bus_name_owner is effectively unused. Kill it.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Rework the setting and description of system clock to the epoch
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Requested in https://github.com/systemd/systemd/pull/33214#discussion_r1630251308.
Also, reword error messages a bit. When /usr/lib/clock-epoch was introduced,
"build time" stopped being acurate. Just say "epoch" instead.
The same message ID is used in the manager and timesyncd. The event is
essentially equivalent for the user, and it seems reasonable that to search for
both at the same time.
The catalog entry is dropped. It provided almost no additional information above
the message. When the same message ID is now applied to messages from PID1 and
timesyncd, and the clock can be both advanced and rewound, it becomes very hard
to make the catalog entry provide something useful, because catalog entries don't
allow conditionalization.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We would attempt to take the built-in epoch twice. Since
advance_tstamp() is only called from one place, we don't need to do that.
Also, just pass usec_t instead of a pointer to stat buf.
Don't say we set the clock to "recorded timestamp" if we just set it
to the built-in epoch. Also, consistently say "advance" to make it clear
that we'll not attempt to rewind the clock here.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If we're updating on a system with an invalid clock, and we're installing
a newer system version with a higher update, adjust the clock. This
way the invariant that the clock is always later than
max(compile time, timestamp file, other timestamp file) is maintained.
Also, adjust the wording of messages. When /usr/lib/clock-epoch was
introduced, "build time" stopped being acurate. Just say "epoch" instead.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously systemd would not use /var/lib/systemd/timesync/clock. This means
that even if /var/ is mounted when systemd is started and the file is
available, we would potentially make one time jump and than another time jump.
From a user's POV, this doesn't seem useful at all.
Also, we would always let /usr/lib/clock-epoch take priority over the built-in
epoch. But there is no guarantee that this file is actually fresh. In
particular, a user may touch /usr/lib/clock-epoch to work around a broken clock
during installation (as recommended in [1]), and then this file will grow stale
over time.
So just load the three timestamps and use the highest one as the epoch.
[1] https://discussion.fedoraproject.org/t/f38-to-f39-40-dnf-system-upgrade-can-fail-on-raspberry-pi/92403
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Anything that is part of src/shared becomes part of the shared library, which
is wasteful, because the library is linked into almost all binaries. The
library is also forms a separate link unit, so this prevents the function from
being inlined or such.
Also, move logging into the function. Now that it's not a library function,
there is no reason not to do that.
|