wouter bolsterlee [Wed, 1 Feb 2023 20:15:22 +0000 (21:15 +0100)]
docs: tweak rsync flags for moving existing home dir to systemd-homed
The documentation on moving an existing homedir into a systemd-homed managed
one suggests using rsync(1) with a bunch of flags to preserve as much metadata
as possible: permissions, xattrs, timestamps, etc. The previously suggested
flags were:
rsync -aHAXv --remove-source-files …
… which does include mtimes, but not ctimes and atimes, because -a does not
include those:
--archive, -a archive mode is -rlptgoD (no -A,-X,-U,-N,-H)
This change adds the -N and -U flags to preserve even more file timestamps,
turning the command into:
rsync -aHANUXv --remove-source-files …
The new flags are:
--crtimes, -N preserve create times (newness)
--atimes, -U preserve access (use) times
Dan Streetman [Fri, 9 Dec 2022 22:20:24 +0000 (17:20 -0500)]
tpm2: rename tpm2 alg id<->string functions
The 'pcr_bank' functions operate on hash algs, and are not specific to the PCR
banks, while the 'primary_alg' functions operate on asymmetric algs, and are
not specific to primary keys.
Zbigniew Jędrzejewski-Szmek [Wed, 1 Feb 2023 16:18:35 +0000 (17:18 +0100)]
Merge pull request #26219 from yuwata/localed-follow-ups
locale: check conversion before polkit
Zbigniew Jędrzejewski-Szmek [Wed, 1 Feb 2023 16:03:46 +0000 (17:03 +0100)]
Merge pull request #26286 from keszybz/two-doc-updates
Two doc updates
Zbigniew Jędrzejewski-Szmek [Wed, 1 Feb 2023 14:34:38 +0000 (15:34 +0100)]
man: strengthen language about generator output
Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=
2165433.
Zbigniew Jędrzejewski-Szmek [Thu, 26 Jan 2023 15:33:42 +0000 (16:33 +0100)]
NEWS: extend entry for systemd-journald-audit.socket
I knew about the change but forgot to update the packaging scriptlets…
Let's add this to make it easier for other distros to notice.
Lennart Poettering [Mon, 30 Jan 2023 17:39:20 +0000 (18:39 +0100)]
test-journal-flush: minor modernizations
let's automatically destroy test dirs, instead of manually.
Lennart Poettering [Wed, 1 Feb 2023 11:08:25 +0000 (12:08 +0100)]
id128: introduce ERRNO_IS_MACHINE_ID_UNSET() helper macro
Robin Humble [Wed, 1 Feb 2023 12:36:48 +0000 (23:36 +1100)]
pid1: fix segv triggered by status query (#26279)
If any query makes it to the end of install_info_follow() then I think symlink_target is set to NULL.
If that is followed by -EXDEV from unit_file_load_or_readlink(), then that causes basename(NULL)
which segfaults pid 1.
This is triggered by eg. "systemctl status crond" in RHEL9 if
/etc/systemd/system/crond.service
-> /ram/etc/systemd/system/crond.service
-> /usr/lib/systemd/system/.crond.service.blah.blah
-> /usr/lib/systemd/system/crond.service
Zbigniew Jędrzejewski-Szmek [Tue, 26 Jan 2021 19:23:12 +0000 (20:23 +0100)]
core: split system/user job timeouts and make them configurable
Config options are -Ddefault-timeout-sec= and -Ddefault-user-timeout-sec=.
Existing -Dupdate-helper-user-timeout= is renamed to -Dupdate-helper-user-timeout-sec=
for consistency. All three options take an integer value in seconds. The
renaming and type-change of the option is a small compat break, but it's just
at compile time and result in a clear error message. I also doubt that anyone was
actually using the option.
This commit separates the user manager timeouts, but keeps them unchanged at 90 s.
The timeout for the user manager is set to 4/3*user-timeout, which means that it
is still 120 s.
Fedora wants to experiment with lower timeouts, but doing this via a patch would
be annoying and more work than necessary. Let's make this easy to configure.
dependabot[bot] [Wed, 1 Feb 2023 09:01:53 +0000 (09:01 +0000)]
build(deps): bump systemd/mkosi
Bumps [systemd/mkosi](https://github.com/systemd/mkosi) from
f36983f552a197faf9e36361cc68a297e68bee73 to
500f93a36cc3d5bf1d06848a0a8870bf1424625f.
- [Release notes](https://github.com/systemd/mkosi/releases)
- [Changelog](https://github.com/systemd/mkosi/blob/main/NEWS.md)
- [Commits](https://github.com/systemd/mkosi/compare/
f36983f552a197faf9e36361cc68a297e68bee73...
500f93a36cc3d5bf1d06848a0a8870bf1424625f)
---
updated-dependencies:
- dependency-name: systemd/mkosi
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 1 Feb 2023 09:01:43 +0000 (09:01 +0000)]
build(deps): bump actions/github-script from 6.3.3 to 6.4.0
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.3.3 to 6.4.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/
d556feaca394842dc55e4734bf3bb9f685482fa0...
98814c53be79b1d30f795b907e553d8679345975)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 1 Feb 2023 09:01:40 +0000 (09:01 +0000)]
build(deps): bump redhat-plumbers-in-action/advanced-issue-labeler
Bumps [redhat-plumbers-in-action/advanced-issue-labeler](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler) from 2.0.1 to 2.0.4.
- [Release notes](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/releases)
- [Commits](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/compare/
88209aef583c66312529c515d41ea6a710a4baba...
25a1e41826424cdf577c71b58c852df4347f13b8)
---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/advanced-issue-labeler
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Zbigniew Jędrzejewski-Szmek [Wed, 1 Feb 2023 09:05:36 +0000 (10:05 +0100)]
Merge pull request #26236 from medhefgo/meson-fixes
meson: Fixes
Lennart Poettering [Tue, 31 Jan 2023 15:21:54 +0000 (16:21 +0100)]
journald: some minor modernizations
Lennart Poettering [Tue, 31 Jan 2023 12:40:23 +0000 (13:40 +0100)]
journal: generate a clean message when we try to write to a journal file from a different host
Lennart Poettering [Tue, 31 Jan 2023 22:00:07 +0000 (23:00 +0100)]
journal-file: refuse writing to journal files where the header size is different then expected
We keep adding fields to the header, and it's fine reading files with
different header sizes, as we check via the size if the fields we need
are included. However, let's be stricter when writing journal files than
when reading, and insist that the header structure in the file actually
matches our expectations. Refuse otherwise, so that a new file is
created after rotation that then matches our expectations.
This makes sure that mismatch in header size is treated exactly as
unknown "compatible" flags, which is our other mechanism to allow
extending the journal file format in a non-breaking way.
Rudi Heitbaum [Tue, 31 Jan 2023 12:06:56 +0000 (12:06 +0000)]
glibc: Conditionally #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz>
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jan 2023 16:04:10 +0000 (17:04 +0100)]
sysusers: insist that root group is 0
In https://bugzilla.redhat.com/show_bug.cgi?id=
2156900 sysusers was reporting a
conflict between the following lines:
u root 0:0 "Super User" /root /bin/bash
u root 0 "Super User" /root
The problem is that those configurations are indeed not equivalent. If group 0
exists with a different name, the first line would just create the user, but the
second line would create a 'root' group with a different GID. The second
behaviour seems definitely wrong. (Or at least more confusing in practice than
the first one. The system is in a strange shape, but the second approach takes
an additional step than is worse than doing nothing.)
When this line was initially added, we didn't have the uid:gid functionality for
'u', so we didn't think about this too much. But now we do, so we should use it.
$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'g foobar 0'
Creating group 'foobar' with GID 0.
$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'u root 0 "Zuper zuper"'
src/sysusers/sysusers.c:1365: Creating group 'root' with GID 999.
src/sysusers/sysusers.c:1115: Suggested user ID 0 for root already used.
src/sysusers/sysusers.c:1183: Creating user 'root' (Zuper zuper) with UID 999 and GID 999.
vs.
$ build/systemd-sysusers --root=/var/tmp/inst7 --inline 'u root 0:0 "Zuper zuper"'
src/sysusers/sysusers.c:1183: Creating user 'root' (Zuper zuper) with UID 0 and GID 0.
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jan 2023 15:12:09 +0000 (16:12 +0100)]
meson: fail build on implicit int warnings
Yu Watanabe [Mon, 30 Jan 2023 09:55:10 +0000 (18:55 +0900)]
network: dhcp-server: do not create DHCPServer object when the DHCP server is running in relaying mode
Follow-up for
c95df5879eeb2cec8bc8eec2cfa7e741e1d9469f.
Fixes #26196.
Tuetuopay [Fri, 27 Jan 2023 14:10:49 +0000 (15:10 +0100)]
network/dhcp4: accept local subnet routes from DHCP
RFC3442 specifies option 121 (Classless Static Routes) that allow a DHCP
server to push arbitrary routes to a client. It has a Local Subnet
Routes section expliciting the behavior of routes with a null (0.0.0.0)
gateway.
Such routes are to be installed on the interface with a Link scope, to
mark them as directly available on the link without any gateway.
Networkd currently drops those routes, which is against the RFC, as
Linux has proper support for such routes.
Fixes:
7f20627 ("network: dhcp4: ignore gateway in static routes if destination is link-local or in the same network")
Frantisek Sumsal [Tue, 31 Jan 2023 20:43:53 +0000 (21:43 +0100)]
ukify: don't install ukify man page if ukify is not enabled
Checking for gnu-efi is not enough, since ukify can be explicitly
disabled.
Resolves: #26274
Ilya Leoshkevich [Mon, 30 Jan 2023 20:21:48 +0000 (21:21 +0100)]
bpf: fix restrict_fs on s390x
Linux kernel's bpf-next contains BPF LSM support for s390x. systemd's
test-bpf-lsm currently fails with this kernel.
This is an endianness issue: in the restrict_fs bpf program,
magic_number has type unsigned long (64 bits on s390x), but magic_map
keys are uint32_t (32 bits). Accessing magic_map using 64-bit keys may
work by accident on little-endian systems, but fails hard on big-endian
ones.
Fix by casting magic_number to uint32_t.
Arsen Arsenović [Sat, 28 Jan 2023 21:32:41 +0000 (22:32 +0100)]
importd: Always specify file unpacked by tar
Despite popular belief, the default file extracted by GNU tar is not stdin. It
is the value of the TAPE environment variable, falling back on a compile-time
constant. On my system, the default value is /dev/full, which causes tar to
just spin forever due to --ignore-zeros. Always specifying this flag is the
safe thing to do.
~$ tar --show-defaults
--format=gnu -f/dev/full -b20 --quoting-style=escape
--rmt-command=/usr/sbin/grmt
See also: ``(tar)defaults'', available via Info viewers, and in HTML form at:
https://www.gnu.org/s/tar/manual/html_node/defaults.html
Lennart Poettering [Tue, 31 Jan 2023 11:21:09 +0000 (12:21 +0100)]
Merge pull request #26249 from DaanDeMeyer/nspawn-uid-fix
nspawn: Make sure we create bind mount points as the correct UID/GID
Lennart Poettering [Mon, 30 Jan 2023 16:14:03 +0000 (17:14 +0100)]
Merge pull request #26245 from ldv-alt/tmpfiles-fixes
tmpfiles: fix specifier expansion in arguments of C and L lines
Yu Watanabe [Mon, 30 Jan 2023 10:21:19 +0000 (19:21 +0900)]
Merge pull request #23956 from mrc0mmand/resolved-ipv6
test: cover (not only) IPv6 in the resolved test suite
Luca Boccassi [Mon, 30 Jan 2023 09:51:21 +0000 (09:51 +0000)]
Merge pull request #25374 from yuwata/sleep-fixlets
sleep: several fixlets
Daan De Meyer [Sun, 29 Jan 2023 18:31:15 +0000 (19:31 +0100)]
Merge pull request #26252 from DaanDeMeyer/mkosi-drop-workaround
mkosi fixes
Daan De Meyer [Sat, 28 Jan 2023 14:09:25 +0000 (15:09 +0100)]
test-systemd-tmpfiles: Fix execution when user is not in /etc/passwd
We might be running in a chroot as a uid that doesn't exist in /etc/passwd.
Let's make sure we don't fail in this scenario.
We pass $HOME when resetting the env so that we can find a home directory
and skip tests that depend on user name/group.
Daan De Meyer [Sun, 29 Jan 2023 16:34:21 +0000 (17:34 +0100)]
mkosi: Disable auditd when running with nspawn in CI
auditd fails to start in CentOS Stream 9 causing CI failures so let's
disable it when running with nspawn in CI.
Daan De Meyer [Sun, 29 Jan 2023 14:17:06 +0000 (15:17 +0100)]
mkosi: Add back CentOS Stream 8 to CI
It's still useful to test the EFI handover logic in systemd-boot.
We use a mkosi.prepare script to install a newer python and update
the system to use it.
Daan De Meyer [Sun, 29 Jan 2023 14:07:38 +0000 (15:07 +0100)]
mkosi: Drop focal workaround in build script
Now that jammy is the latest LTS, lets drop the focal workaround
from the build script.
Daan De Meyer [Sun, 29 Jan 2023 14:04:13 +0000 (15:04 +0100)]
mkosi: Don't modify rootfs in build script
When unprivileged mkosi becomes available, builds will be executed
as an unprivileged user, so we won't be able to modify the rootfs
anymore. Let's update the build script to account for this.
Daan De Meyer [Sun, 29 Jan 2023 16:05:04 +0000 (17:05 +0100)]
mkosi: Fix shellcheck warnings
cake03 [Sun, 29 Jan 2023 05:13:10 +0000 (05:13 +0000)]
update footer to 2023
Daan De Meyer [Sun, 29 Jan 2023 09:45:17 +0000 (10:45 +0100)]
mkosi: Drop epel-testing repository from centos config
python3-pefile was pushed to epel 9 stable.
Daan De Meyer [Sat, 28 Jan 2023 14:12:08 +0000 (15:12 +0100)]
nspawn: Make sure we create bind mount points as the correct UID/GID
When using --private-users, we have to create bind mount points as
the user that will become root in the user namespace, so let's take
that into account.
Daan De Meyer [Sat, 28 Jan 2023 14:11:29 +0000 (15:11 +0100)]
mkdir-label: Add mkdir_parents_safe_label()
Yu Watanabe [Sat, 28 Jan 2023 05:01:37 +0000 (14:01 +0900)]
sd-dhcp-server: allow to send header only message
If we receive a header only message, and the server is running in relay
mode, then the assertion was triggered.
Fixes #26151.
Yu Watanabe [Thu, 26 Jan 2023 14:09:08 +0000 (23:09 +0900)]
test: add tests for localectl --no-convert
Yu Watanabe [Thu, 26 Jan 2023 14:31:10 +0000 (23:31 +0900)]
locale: downgrade level of one more log message
Yu Watanabe [Thu, 26 Jan 2023 14:30:27 +0000 (23:30 +0900)]
locale: move logging from library-like functions to caller
Yu Watanabe [Sat, 28 Jan 2023 06:01:38 +0000 (15:01 +0900)]
locale: decouple vconsole_read_data() from x11_read_data()
Let's make library-functions simple and independent as possible as they
are. No functional change, just refactoring.
Yu Watanabe [Thu, 26 Jan 2023 09:05:32 +0000 (18:05 +0900)]
locale: also check if converted keymap or friends is same as the current settings
Before this commit, if virtual console keymap is unchanged, localed just
returns without modifying anything. However, the X11 part may need updating.
So we should check for both and ensure they are unmodified.
Replaces #26190.
Yu Watanabe [Thu, 26 Jan 2023 08:41:47 +0000 (17:41 +0900)]
locale: sync two X11 contexts on update
Yu Watanabe [Thu, 26 Jan 2023 08:48:11 +0000 (17:48 +0900)]
locale: always check input keyboard layout and friends earlier
Yu Watanabe [Thu, 26 Jan 2023 08:34:08 +0000 (17:34 +0900)]
locale: replace context_get_x11_context() with context_get_x11_context_safe()
Then, context_get_x11_context() always replies a valid X11 context.
No functional change, just refactoring.
Yu Watanabe [Wed, 25 Jan 2023 04:35:42 +0000 (13:35 +0900)]
locale: make vconsole_convert_to_x11() not update Context
This also makes x11_convert_to_vconsole() changed in the same way.
Then, their callers update Context if necessary.
No functional change, just preparation for later commits.
Yu Watanabe [Wed, 25 Jan 2023 03:11:40 +0000 (12:11 +0900)]
locale: introduce VCContext and several helper functions for the struct
No functional changes, preparation for later commits.
Yu Watanabe [Sat, 28 Jan 2023 05:46:49 +0000 (14:46 +0900)]
locale: add missing logs
Daan De Meyer [Fri, 27 Jan 2023 20:21:51 +0000 (21:21 +0100)]
ukify: python 3.9 compat followup
Yu Watanabe [Sun, 13 Nov 2022 17:54:50 +0000 (02:54 +0900)]
sleep: enumerate only existing and non-device batteries
The enumerator is now mostly consistent with on_ac_power() in
udev-util.c.
Yu Watanabe [Sun, 13 Nov 2022 17:52:55 +0000 (02:52 +0900)]
sleep: fix indentation
Yu Watanabe [Sun, 13 Nov 2022 17:49:19 +0000 (02:49 +0900)]
sleep: introduce siphash24_compress_id128()
Also, rename get_battery_identifier() to siphash24_compress_device_sysattr().
This also makes any errors in sd_id128_get_machine() or id128_get_product()
ignored. For the machine ID, the failure should not be significant unless
the file stored in the discharge level is reused by another system, which
is quite unusual. For the product ID, if the firmware provides useless
ID (all zero or all 0xFF), then loading/storing the discharge rate
becomes completely broken, that should be avoided.
Note, now sysattrs are used instead of properties in uevent files, but
both provide the same information, hence no functionality should be
changed.
Yu Watanabe [Sun, 13 Nov 2022 17:46:53 +0000 (02:46 +0900)]
sleep: simplify code a bit
- use device_get_sysattr_int(),
- drop redundant log message.
Yu Watanabe [Sun, 13 Nov 2022 17:44:13 +0000 (02:44 +0900)]
sleep: coding style fixlets
Yu Watanabe [Sun, 13 Nov 2022 17:08:05 +0000 (02:08 +0900)]
sleep: introduce SuspendEstimationSec=
Before v252, HibernateDelaySec= specifies the maximum timespan that the
system in suspend state, and the system hibernate after the timespan.
However, after
96d662fa4c8cab24da57523c5e49e6ef3967fc13, the setting is
repurposed as the default interval to measure battery charge level and
estimate the battery discharging late. And if the system has enough
battery capacity, then the system will stay in suspend state and not
hibernate even if the time passed. See issue #25269.
To keep the backward compatibility, let's introduce another setting
SuspendEstimationSec= for controlling the interval to measure
battery charge level, and make HibernateDelaySec= work as of v251.
This also drops implementation details from the man page.
Fixes #25269.
Jan Janssen [Fri, 27 Jan 2023 17:37:15 +0000 (18:37 +0100)]
meson: Use files() in one more place
Jan Janssen [Fri, 27 Jan 2023 17:23:02 +0000 (18:23 +0100)]
meson: Install missing udev rule
Jan Janssen [Fri, 27 Jan 2023 16:56:12 +0000 (17:56 +0100)]
meson: Install missing bash-completions
Jan Janssen [Fri, 27 Jan 2023 16:50:27 +0000 (17:50 +0100)]
meson: Install missing network file
Jan Janssen [Fri, 27 Jan 2023 13:37:45 +0000 (14:37 +0100)]
meson: Install all catalogs
Jan Janssen [Fri, 27 Jan 2023 13:28:58 +0000 (14:28 +0100)]
meson: Properly install 90-uki-copy.install
Jan Janssen [Fri, 27 Jan 2023 13:28:15 +0000 (14:28 +0100)]
meson: Remove unused variables
Frantisek Sumsal [Fri, 27 Jan 2023 14:34:36 +0000 (15:34 +0100)]
test: wrap delv & dig when running with sanitizers
On Arch both delv and dig pull in libnss_resolve:
```
$ grep resolve /etc/nsswitch.conf
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
```
Frantisek Sumsal [Fri, 27 Jan 2023 13:29:42 +0000 (14:29 +0100)]
test: don't hang indefinitely on no match
Frantisek Sumsal [Fri, 8 Jul 2022 18:23:13 +0000 (20:23 +0200)]
test: add a test for the OPENPGPKEY RR
Frantisek Sumsal [Fri, 8 Jul 2022 16:12:47 +0000 (18:12 +0200)]
test: add a couple of SRV records to check service resolution
Frantisek Sumsal [Fri, 8 Jul 2022 11:36:03 +0000 (13:36 +0200)]
test: cover IPv6 in the resolved test suite
Daan De Meyer [Tue, 24 Jan 2023 11:51:31 +0000 (12:51 +0100)]
mkosi: Update and enable ukify in mkosi builds
We also add the necessary deps for ukify to the mkosi configs.
CentOS Stream 8 is dropped from CI because its python version is too
old (3.6) to be able to run ukify.
Lennart Poettering [Thu, 26 Jan 2023 21:30:27 +0000 (22:30 +0100)]
tmpfiles: automatically create /etc/credstore/ and friends
This adds a tmpfiles.d/ snippet for LoadCredential= style credentials
directories in /etc/ and /run/.
This is done primarily to ensure that the access modes for the dirs are
set up properly, in the most restrictive ways. Specifically these are
set to 0000, so that CAP_DAC_OVERRIDE is necessary to enumerate and read
the credentials, and being UID=0 is not sufficient to do so.
This creates /etc/credstore/, but leaves /run/credstore/ absent if
missing, for now. Thinking is: the latter being non-persistent is
created by software usually, not manually by users, and hence more
likely right. But dunno, we might want to revisit this sooner or later.
This is ultimately an exercise to advertise the LoadCredential= concept
a bit, and do so in a reasonably secure way, underlining the safety of
the concept.
Lennart Poettering [Fri, 27 Jan 2023 09:03:17 +0000 (10:03 +0100)]
Merge pull request #26228 from DaanDeMeyer/resolve-cap
resolve: Skip stubs if running in a container with userns but without network namespace
Lennart Poettering [Thu, 26 Jan 2023 16:32:52 +0000 (17:32 +0100)]
journald: don't check for -EREMCHG on open, given that open doesn't generate it
We generate EREMCHG when writing entries, but not during open, hence
don't bother with checking for it.
Lennart Poettering [Thu, 26 Jan 2023 16:12:10 +0000 (17:12 +0100)]
journal: use TAKE_PTR() at one more place
Jan Janssen [Thu, 26 Jan 2023 22:10:53 +0000 (23:10 +0100)]
boot: Use aarch64 virtual counter
This should be used in VMs and should also yield the same value when
running on real devices. It is also what grub uses.
Fixes: #26224
Daan De Meyer [Thu, 26 Jan 2023 21:20:01 +0000 (22:20 +0100)]
resolve: Skip creating stubs if missing CAP_NET_BIND_SERVICE
If we don't have CAP_NET_BIND_SERVICE, we won't be able to bind
the stub listener socket, so let's skip creating it and log a warning.
We do the same for the extra stubs if they're configured on privileged
ports.
Daan De Meyer [Thu, 26 Jan 2023 21:18:47 +0000 (22:18 +0100)]
nspawn: Drop CAP_NET_BIND_SERVICE when in userns but not in netns
If we're in a user namespace but not unsharing the network namespace,
we won't be able to bind any privileged ports even with
CAP_NET_BIND_SERVICE, so let's drop it from the retained capabilities
so services can condition themselves on that.
Zbigniew Jędrzejewski-Szmek [Thu, 26 Jan 2023 15:29:06 +0000 (16:29 +0100)]
Merge pull request #26209 from PeterCxy/doc-fido2-changes
Update NEWS and docs regarding FIDO2 support in systemd-crypt{enroll,setup}
Peter Cai [Thu, 26 Jan 2023 01:47:35 +0000 (20:47 -0500)]
NEWS: Add entry about support for multiple FIDO2 tokens
Peter Cai [Thu, 26 Jan 2023 01:39:17 +0000 (20:39 -0500)]
docs: Update crypt{enroll,setup} limitations regarding FIDO2
Lennart Poettering [Thu, 26 Jan 2023 09:39:28 +0000 (10:39 +0100)]
journal: prefix all functions with "server_" that operate on Server objects
Just some search/replace, no real code changes.
The majority of functions already followed this rule, but some did not.
Fix that.
Lennart Poettering [Mon, 23 Jan 2023 21:46:12 +0000 (22:46 +0100)]
journal-file: be a tiny bit more careful with generating seqnums
Let's handle overflows in a vaguely reasonable way, i.e. avoid the
special values 0 and UINT64_MAX
Yu Watanabe [Sun, 13 Nov 2022 15:09:34 +0000 (00:09 +0900)]
sleep: drop unnecessary temporal vaiable and initialization
Yu Watanabe [Sun, 13 Nov 2022 23:31:09 +0000 (08:31 +0900)]
sleep: fetch_batteries_capacity_by_name() does not return -ENOENT
Yu Watanabe [Sun, 13 Nov 2022 14:59:49 +0000 (23:59 +0900)]
sleep: rename hibernate_delay_sec -> _usec
Lennart Poettering [Thu, 26 Jan 2023 10:51:38 +0000 (11:51 +0100)]
update TODO
Lennart Poettering [Thu, 26 Jan 2023 09:10:20 +0000 (10:10 +0100)]
journald: minor modernizations in kmsg handling code
Nothing earth shattering. Mostly just fixes (and some more careful
checking of the boolean variables we keep)
Lennart Poettering [Thu, 26 Jan 2023 10:19:54 +0000 (11:19 +0100)]
Merge pull request #26198 from poettering/journal-strict-mode
journal: enforce strict ordering only when writing journal files from journald, but not from journal-remote and similar
Zbigniew Jędrzejewski-Szmek [Thu, 26 Jan 2023 09:42:05 +0000 (10:42 +0100)]
github/labeller: fix yaml syntax
Zbigniew Jędrzejewski-Szmek [Wed, 25 Jan 2023 16:41:16 +0000 (17:41 +0100)]
github/labeller: add more match patterns
Lennart Poettering [Thu, 19 Jan 2023 21:45:17 +0000 (22:45 +0100)]
journal: automatically pick up boot ID in journal_file_append_entry()
Let's pick up the boot ID early if unspecified, in
journal_file_append_entry(). This is symmetric to the fact that we
already pick up the monotonic timestamp in journal_file_append_entry()
if unspecified, and given that the monotonic clock is not too useful
without its boot ID it makes a lot of sense to pick them up at the same
time.
There are two relevant callers of journal_file_append_entry() right now:
journald (which leaves the boot ID unspecified) and journal-remote
(there are also some tests, but those don't matter too much). The former
calls it to store new entries in the journal file, the latter for
converting/processing/merging existing ones (where it passes along the
original boot ID). This new code hence only is relevant on the former,
and using the boot ID of the current system is the right choice for live
generated entries.
Note that this effectively changes little, since the lower-level
function journal_file_append_entry_internal() will copy boot ID stored
in the file header into all records if unspecified, and typically that's
the one of the local system. But strictly speaking this is not the right
thing to do, since we actually might end up appending to journal files
from previous boots. (The lower level function is indirectly used by
various tests, where the copying-from-header logic kinda makes sense
since they are detached from any live messages streaming in from the
host after all).
William Roberts [Wed, 25 Jan 2023 19:46:19 +0000 (13:46 -0600)]
sha256: header needs stddef
The sha256 header uses size_t which is within stddef, so add it.
Signed-off-by: William Roberts <william.c.roberts@intel.com>
Lennart Poettering [Wed, 25 Jan 2023 14:05:36 +0000 (15:05 +0100)]
journal: add some line breaks/comments
Lennart Poettering [Thu, 19 Jan 2023 21:45:06 +0000 (22:45 +0100)]
journal-file: make strict order optional
This is a follow-up for
1d8d483f59ffa62974772fb58a8ef4abe88550ec and
makes the strict ordering by realtime clock within each journal file
optional, not mandatory. It then enables it for all journal files
written by journald, but leaves it off on others (for example those
written by journald-remote).
This relaxes the logic behind writing journal files to the status quo
ante for all cases where the journal files are not generated, but are
merged/processed/propagated. Typically when processing journal records
from many files ordering by realtime clock and monotonic clock are
contradictory, and cannot be universally guaranteed as the records are
interleaved. By enforcing strict rules we would thus end up generating
myriads of separate journal files, each with just a few records in them.
Hence, let's losen restrictions again, but continue to enforce them in
journald, i.e. when we original create the journal files locally.
Note that generally there's nothing really wring with having journal
files with non-monotonically ordered entries by realtime clock. Looking
for records will not be deterministic anymore, but that's inherent to a
realtime clock that jumps up and down. So you won't get the "only"
answer, but still *a* answer that is correct if you seek for a realtime
clock.
This also adds similar logic on the monotonic clock, which is also only
enabled when generating journal files locally. This should be harder to
trigger (as journald will generate the messages, and should run with a
stable boot id and monotonic clock), but let's better be safe than
sorry, and refuse on the lower layer what makes no sense, even if it's
unlikely the higher layer will ever generate records that aren't ordered
by their monotonic clock.
Lennart Poettering [Wed, 25 Jan 2023 20:22:07 +0000 (21:22 +0100)]
Merge pull request #26204 from poettering/journal-header-compoung-init
journal: use compound initialization for journal file "Header" structure
Luca Boccassi [Wed, 25 Jan 2023 19:51:24 +0000 (19:51 +0000)]
Merge pull request #26179 from medhefgo/boot-no-gnu-efi
boot: Use size_t/unicode string literals
Daan De Meyer [Wed, 25 Jan 2023 14:56:30 +0000 (15:56 +0100)]
repart: Add roothash to output of all verity siblings
This can be used to match verity partitions together using the repart
JSON output.
Luca Boccassi [Wed, 25 Jan 2023 19:49:00 +0000 (19:49 +0000)]
Merge pull request #26195 from mrc0mmand/update-uapi
basic/linux: update l2tp.h