Jakub Sitnicki [Thu, 14 Mar 2024 10:20:50 +0000 (11:20 +0100)]
test: integration test for PassFileDescriptorsToExec= option
Check if socket file descriptors are passed to ExecXYZ= commands from the
socket unit depending on whether PassFileDescriptorsToExec= option is set.
Jakub Sitnicki [Thu, 15 Feb 2024 17:02:50 +0000 (18:02 +0100)]
socket: pass socket FDs to all ExecXYZ= commands but ExecStartPre=
Today listen file descriptors created by socket unit don't get passed to
commands in Exec{Start,Stop}{Pre,Post}= socket options.
This prevents ExecXYZ= commands from accessing the created socket FDs to do
any kind of system setup which involves the socket but is not covered by
existing socket unit options.
One concrete example is to insert a socket FD into a BPF map capable of
holding socket references, such as BPF sockmap/sockhash [1] or
reuseport_sockarray [2]. Or, similarly, send the file descriptor with
SCM_RIGHTS to another process, which has access to a BPF map for storing
sockets.
To unblock this use case, pass ListenXYZ= file descriptors to ExecXYZ=
commands as listen FDs [4]. As an exception, ExecStartPre= command does not
inherit any file descriptors because it gets invoked before the listen FDs
are created.
This new behavior can potentially break existing configurations. Commands
invoked from ExecXYZ= might not expect to inherit file descriptors through
sd_listen_fds protocol.
To prevent breakage, add a new socket unit parameter,
PassFileDescriptorsToExec=, to control whether ExecXYZ= programs inherit
listen FDs.
[1] https://docs.kernel.org/bpf/map_sockmap.html
[2] https://lore.kernel.org/r/
20180808075917.
3009181-1-kafai@fb.com
[3] https://man.archlinux.org/man/socket.7#SO_INCOMING_CPU
[4] https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html
Yu Watanabe [Tue, 26 Mar 2024 17:37:52 +0000 (02:37 +0900)]
Merge pull request #31951 from bluca/resolve_reload
resolved: support reloading configuration at runtime
Yu Watanabe [Tue, 26 Mar 2024 17:37:23 +0000 (02:37 +0900)]
Merge pull request #31959 from YHNdnzj/execute-pass-fds
core/execute: check if EXEC_PASS_FDS is set if got exec_params.fds
Yu Watanabe [Tue, 26 Mar 2024 17:34:43 +0000 (02:34 +0900)]
Merge pull request #31960 from YHNdnzj/capsule-followup
Some follow-ups for capsule
Antonio Alvarez Feijoo [Tue, 26 Mar 2024 13:53:44 +0000 (14:53 +0100)]
dissect: fix memory leak
Antonio Alvarez Feijoo [Tue, 26 Mar 2024 15:08:57 +0000 (16:08 +0100)]
efi: skip check-alignment-* tests if pefile is not installed
Otherwise, when building with ukify disabled, no one else requires pefile, and
if it is not installed, those tests fail:
```
================================== 12/1212 ===================================
test: systemd:efi / check-alignment-systemd-bootx64.efi
start time: 14:21:54
duration: 0.08s
result: exit status 1
command: /mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py /mnt/work/systemd/upstream-fork/main/build/src/boot/efi/systemd-bootx64.efi
----------------------------------- stderr -----------------------------------
Traceback (most recent call last):
File "/mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py", line 7, in <module>
import pefile
ModuleNotFoundError: No module named 'pefile'
==============================================================================
================================== 13/1212 ===================================
test: systemd:efi / check-alignment-linuxx64.efi.stub
start time: 14:21:54
duration: 0.08s
result: exit status 1
command: /mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py /mnt/work/systemd/upstream-fork/main/build/src/boot/efi/linuxx64.efi.stub
----------------------------------- stderr -----------------------------------
Traceback (most recent call last):
File "/mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py", line 7, in <module>
import pefile
ModuleNotFoundError: No module named 'pefile'
==============================================================================
================================== 14/1212 ===================================
test: systemd:efi / check-alignment-addonx64.efi.stub
start time: 14:21:54
duration: 0.07s
result: exit status 1
command: /mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py /mnt/work/systemd/upstream-fork/main/build/src/boot/efi/addonx64.efi.stub
----------------------------------- stderr -----------------------------------
Traceback (most recent call last):
File "/mnt/work/systemd/upstream-fork/main/tools/check-efi-alignment.py", line 7, in <module>
import pefile
ModuleNotFoundError: No module named 'pefile'
==============================================================================
```
Follow-up for
7ff3b88396f440bff60328b4bff7627a34d45e4a
Luxiter [Tue, 26 Mar 2024 17:32:03 +0000 (18:32 +0100)]
hwdb: fix Asus T300FA rotation matrix (#31973)
Closes #31972.
Yu Watanabe [Tue, 26 Mar 2024 14:45:20 +0000 (23:45 +0900)]
Merge pull request #31879 from yuwata/journalctl-split
journalctl: split journalctl.c into small pieces
Yu Watanabe [Sun, 17 Mar 2024 06:33:32 +0000 (15:33 +0900)]
ndisc-option: sort options in sent message
To make the sent message reproducible.
Luca Boccassi [Tue, 26 Mar 2024 13:55:46 +0000 (13:55 +0000)]
Merge pull request #31943 from yuwata/sd-ndisc-option-getter-remover
sd-ndisc: introduce option getter and remover
Yu Watanabe [Sat, 16 Mar 2024 06:25:47 +0000 (15:25 +0900)]
sd-ndisc-protocol: list up all known options
See below for more details:
https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-5
Mike Yuan [Tue, 26 Mar 2024 12:59:32 +0000 (20:59 +0800)]
bus-util: dedup bus_set_address_capsule
Follow-up for
ad963c3f5680796ccd094b81f35ff7aa20b57247
Luca Boccassi [Fri, 8 Mar 2024 23:02:19 +0000 (23:02 +0000)]
resolved: support reloading configuration at runtime
Drop connections and caches and reload config from files, to allow
for low-interruptions updates, and hook up to the usual SIGHUP and
ExecReload=. Mark servers and services configured directly via D-Bus
so that they can be kept around, and only the configuration file
settings are dropped and reloaded.
Fixes https://github.com/systemd/systemd/issues/17503
Fixes https://github.com/systemd/systemd/issues/20604
Yu Watanabe [Thu, 21 Mar 2024 10:18:02 +0000 (19:18 +0900)]
journalctl-show: split out seek_journal()
No functional change, just refactoring.
Yu Watanabe [Wed, 20 Mar 2024 18:50:09 +0000 (03:50 +0900)]
journalctl: split journalctl.c into small pieces
And introduces per-action functions.
No functional change, just refactoring.
Yu Watanabe [Tue, 19 Mar 2024 10:04:10 +0000 (19:04 +0900)]
journalctl: use correct type for flags
This also moves its declaration, as it is not changed in the loop.
Yu Watanabe [Tue, 19 Mar 2024 09:54:24 +0000 (18:54 +0900)]
journalctl: merge three if blocks for seeking to the initial position
No functional change, just refactoring.
Mike Yuan [Tue, 26 Mar 2024 12:48:46 +0000 (20:48 +0800)]
Mike Yuan [Tue, 26 Mar 2024 12:36:28 +0000 (20:36 +0800)]
units: sort lists in meson.build
Luca Boccassi [Sat, 23 Mar 2024 01:32:44 +0000 (01:32 +0000)]
test: use /run/ instead of /etc/ in TEST-75-RESOLVE
Mike Yuan [Tue, 26 Mar 2024 09:40:01 +0000 (17:40 +0800)]
daemon-util: introduce notify_reloading helper
Prompted by #31951
Zbigniew Jędrzejewski-Szmek [Tue, 26 Mar 2024 12:19:33 +0000 (13:19 +0100)]
Merge pull request #29721 from poettering/systemd-project
New capsule@.service feature
Mike Yuan [Tue, 26 Mar 2024 10:57:08 +0000 (18:57 +0800)]
core/execute: check if EXEC_PASS_FDS is set if got exec_params.fds
Prompted by #31789 (specifically
https://github.com/systemd/systemd/pull/31789#discussion_r1525267612)
Mike Yuan [Tue, 26 Mar 2024 10:55:19 +0000 (18:55 +0800)]
core/service: remove redundant Unit.type check
SOCKET(u) returns NULL if the type doesn't match.
dependabot[bot] [Tue, 26 Mar 2024 09:21:52 +0000 (09:21 +0000)]
build(deps): bump pkg/opensuse from `
af49127` to `
acdb1cd`
Bumps pkg/opensuse from `
af49127` to `
acdb1cd`.
---
updated-dependencies:
- dependency-name: pkg/opensuse
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Dionna Amalie Glaze [Tue, 26 Mar 2024 09:26:59 +0000 (02:26 -0700)]
efi: Measure into both CC and TPM if available. (#31939)
* efi: Measure into both CC and TPM if available.
It's possible that both measurement protocols are made available, so
instead of assuming only one or the other are available, measure into
both to avoid a problem like CVE-2021-42299.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Luca Boccassi [Tue, 26 Mar 2024 09:23:19 +0000 (09:23 +0000)]
Merge pull request #31801 from flatcar-hub/krnowak/sysext-config
systemd-sysext: Add support for env vars, ephemeral layers and some fixes
Yu Watanabe [Tue, 26 Mar 2024 05:56:58 +0000 (14:56 +0900)]
Merge pull request #31947 from yuwata/test-recently-fixed-issues
Tests for recently fixed issues
Yu Watanabe [Mon, 25 Mar 2024 19:18:16 +0000 (04:18 +0900)]
test: add test cases for journalctl --facility=/--output=help
Follow-up for
d44233503f29ad6f79914c8e6137fc2d260d9f89.
Yu Watanabe [Mon, 25 Mar 2024 19:10:01 +0000 (04:10 +0900)]
test: add test cases for systemd-analyze --global
Follow-up for
ac97053618387ca1fa0d378cde7957aab8f0476c.
Yu Watanabe [Sun, 17 Mar 2024 04:27:08 +0000 (13:27 +0900)]
ndisc-option: introduce ndisc_option_remove()
Yu Watanabe [Sat, 16 Mar 2024 07:44:49 +0000 (16:44 +0900)]
ndisc-option: rename ndisc_option_get() -> ndisc_option_get_by_type()
Then, introduce more generic ndisc_option_get().
Frantisek Sumsal [Tue, 5 Mar 2024 11:24:19 +0000 (12:24 +0100)]
ci: build with clang-18
Gaël Donval [Thu, 14 Mar 2024 13:00:01 +0000 (13:00 +0000)]
Document SYSTEMD_REPART_MKFS_* in repart.d manual
Mike Yuan [Mon, 25 Mar 2024 12:33:18 +0000 (20:33 +0800)]
home/homework: use FOREACH_ARRAY more
Prompted by #31932
Yu Watanabe [Mon, 25 Mar 2024 18:04:51 +0000 (03:04 +0900)]
Merge pull request #31932 from bluca/coverity
Fix coverity issues
Vitaly Kuznetsov [Mon, 25 Mar 2024 10:18:25 +0000 (11:18 +0100)]
kernel-install/60-ukify: do not rebuild existing UKIs
In case kernel-install is called to install what's already a UKI, 60-ukify
must be skipped. E.g. when distro shipped and signed UKI is being installed,
it is counter-productive to try to rebuild it with ukify. Also, the existing
script is not ready to handle UKIs with embedded initramfs.
Note, it is already possible to disable 60-ukify by setting
KERNEL_INSTALL_UKI_GENERATOR to something but in case it is not set, 60-ukify
assumes it should run.
Yu Watanabe [Mon, 25 Mar 2024 17:56:58 +0000 (02:56 +0900)]
Merge pull request #31899 from yuwata/sd-journal-add-match
sd-journal: introduce two helpers for adding journal filter
Yu Watanabe [Mon, 25 Mar 2024 17:55:33 +0000 (02:55 +0900)]
Merge pull request #31807 from yuwata/sd-ndisc-send
sd-ndisc: introduce sd_ndisc_send()
Yu Watanabe [Mon, 25 Mar 2024 17:23:50 +0000 (02:23 +0900)]
Merge pull request #31938 from YHNdnzj/journalctl-facility
journalctl: explicitly check < 0 for error
Daan De Meyer [Mon, 25 Mar 2024 17:04:49 +0000 (18:04 +0100)]
Merge pull request #31870 from CodethinkLabs/base-image-tweaks
Base image tweaks
Richard Maw [Wed, 20 Mar 2024 15:22:36 +0000 (15:22 +0000)]
mkosi: Add selinux support to CentOS and Fedora initrds
The base initrd is also used by the system image
so selinux should be there even if not enabled by the base image.
Richard Maw [Wed, 20 Mar 2024 14:33:17 +0000 (14:33 +0000)]
mkosi: Remove testuser from base/mkosi.postinst.chroot
The testuser user is only needed for integration tests,
which are used in the system user and this config
can be provided as drop-ins instead of inline in postinst scripts.
Mike Yuan [Mon, 25 Mar 2024 15:11:27 +0000 (23:11 +0800)]
journalctl: explicitly check < 0 for error
Mike Yuan [Mon, 25 Mar 2024 15:10:52 +0000 (23:10 +0800)]
basic/string-table: remove unnecessary brackets
Luca Boccassi [Mon, 25 Mar 2024 14:32:05 +0000 (14:32 +0000)]
Merge pull request #31730 from yuwata/network-dhcp-server-lease-file-follow-ups
network: several follow-ups for DHCP server lease file
Daan De Meyer [Mon, 25 Mar 2024 12:49:42 +0000 (13:49 +0100)]
Use .git suffix for all submodule urls
Yu Watanabe [Thu, 21 Mar 2024 20:51:15 +0000 (05:51 +0900)]
logs-show: use journal_add_matchf() and journal_add_match_pair()
Yu Watanabe [Thu, 21 Mar 2024 20:33:08 +0000 (05:33 +0900)]
networkctl: use journal_add_matchf() and journal_add_match_pair()
Yu Watanabe [Thu, 21 Mar 2024 20:26:02 +0000 (05:26 +0900)]
journal-gateway: use journal_add_match_pair() and add_match_boot_id()
Yu Watanabe [Thu, 21 Mar 2024 20:18:41 +0000 (05:18 +0900)]
coredumpctl: use strv_skip()
No functional change, just refactoring.
Yu Watanabe [Thu, 21 Mar 2024 20:14:33 +0000 (05:14 +0900)]
coredumpctl: use journal_add_match_pair()
Also,
- use is_path(),
- drop unused pid.
Luca Boccassi [Mon, 25 Mar 2024 12:05:28 +0000 (12:05 +0000)]
test: add missing return value check in test-dirent-util
CID#
1540029
Follow-up for
6a57d86bf9d7f8d6f5d339f57665dfb2e1d191c5
Daan De Meyer [Mon, 25 Mar 2024 11:27:56 +0000 (12:27 +0100)]
mkosi: Use new environment variables for Arch
These were changed to be prefixed with _systemd_ so let's account
for that.
Luca Boccassi [Mon, 25 Mar 2024 12:02:20 +0000 (12:02 +0000)]
homework: add missing assert
'cache' is used unconditionally in this function, so add an assert.
CID#
1540860
Hans de Goede [Sun, 24 Mar 2024 14:04:47 +0000 (15:04 +0100)]
hwdb: Add mapping for ACPI quickstart keys on Toshiba Z830
The Toshiba Z830 has 3 hotkeys which use the ACPI PNP0C32 quickstart spec:
https://archive.org/details/microsoft-acpi-dirapplaunch
These devices have an ACPI method called GHID() which suggests
it returns a value from the "HID Usage Tables" document, but these
methods simple returns a follow number for the button (1, 2 and 3).
The first 2 buttons are for what the manual calls "TOSHIBA eco button"
and "TOSHIBA Presentation button", since there is no good match for
these simply map them to KEY_PROG1 and KEY_PROG2.
The third button is intended to toggle the touchpad on/off, map
this to F21 which GNOME/KDE will interpret as touchpad toggle.
dependabot[bot] [Mon, 25 Mar 2024 09:13:21 +0000 (09:13 +0000)]
build(deps): bump pkg/arch from `
4d1ecb0` to `
3b86b91`
Bumps pkg/arch from `
4d1ecb0` to `
3b86b91`.
---
updated-dependencies:
- dependency-name: pkg/arch
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 25 Mar 2024 09:13:26 +0000 (09:13 +0000)]
build(deps): bump pkg/fedora from `
2e32a33` to `
f1d3866`
Bumps pkg/fedora from `
2e32a33` to `
f1d3866`.
---
updated-dependencies:
- dependency-name: pkg/fedora
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 25 Mar 2024 09:13:18 +0000 (09:13 +0000)]
build(deps): bump pkg/debian from `
3b47281` to `
1932e19`
Bumps pkg/debian from `
3b47281` to `
1932e19`.
---
updated-dependencies:
- dependency-name: pkg/debian
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Krzesimir Nowak [Thu, 29 Feb 2024 07:19:16 +0000 (08:19 +0100)]
test: Add cases for failures to import the hierarchy
Krzesimir Nowak [Wed, 28 Feb 2024 15:34:05 +0000 (16:34 +0100)]
sysext: Fail when trying to import mutable layer that's a symlink to hierarchy
Krzesimir Nowak [Wed, 28 Feb 2024 14:41:46 +0000 (15:41 +0100)]
test, sysext: Actually fail the whole operation if sd-merge worker failed
This also fixes a wrong merge failure check.
Krzesimir Nowak [Thu, 29 Feb 2024 07:18:43 +0000 (08:18 +0100)]
test: Add test cases for sysext ephemeral-import mode
Krzesimir Nowak [Wed, 28 Feb 2024 13:50:05 +0000 (14:50 +0100)]
man: Document sysext ephemeral-import mode
Krzesimir Nowak [Wed, 28 Feb 2024 13:23:22 +0000 (14:23 +0100)]
sysext: Implement ephemeral import mode
To enable it, use "ephemeral-import" either for mutable mode environment
variable or for value of "--mutable=" flag.
This is a combination of "ephemeral" and "import" modes. It results in a
mutable hierarchy that includes contents of the mutable extension data, but the
modifications are thrown away when the hierarchy is unmerged.
Krzesimir Nowak [Wed, 28 Feb 2024 08:59:18 +0000 (09:59 +0100)]
test: Extend sysext tests with cases using ephemeral mode
Krzesimir Nowak [Wed, 28 Feb 2024 08:42:25 +0000 (09:42 +0100)]
man: Document sysext ephemeral mode
Krzesimir Nowak [Wed, 28 Feb 2024 08:17:27 +0000 (09:17 +0100)]
sysext: Implement ephemeral mode
To enable it, use "ephemeral" either for mutable mode environment variable or
for value of "--mutable=" flag.
Instead of using mutable dir in /var/lib/extensions.mutable/<hierarchy>, we
create a directory for overlayfs upperdir and workdir in the same tmpfs mount
that sysext worker process creates in /run/systemd/sysext. As the path for the
workdir will be gone when the worker quits, there is no need to do any
additional cleanup. As such, there is also no need to store a path to workdir
in the metadata directory.
Krzesimir Nowak [Tue, 27 Feb 2024 15:29:08 +0000 (16:29 +0100)]
sysext: Add missing --mutable mode in help output
Krzesimir Nowak [Tue, 19 Mar 2024 13:47:36 +0000 (14:47 +0100)]
man: Install sysext man pages when ENABLE_SYSEXT is true
Krzesimir Nowak [Tue, 27 Feb 2024 13:52:30 +0000 (14:52 +0100)]
test: Extend sysext tests with cases using env var for mutable mode
Krzesimir Nowak [Tue, 19 Mar 2024 13:40:57 +0000 (14:40 +0100)]
test: Fail sysext test if reusing a root directory
Krzesimir Nowak [Wed, 20 Mar 2024 07:34:41 +0000 (08:34 +0100)]
docs: Document SYSTEMD_SYSEXT_MUTABLE_MODE env var
Krzesimir Nowak [Tue, 19 Mar 2024 13:01:00 +0000 (14:01 +0100)]
sysext: Add support for mutable mode environment variables
The environment variable names are SYSTEMD_SYSEXT_MUTABLE_MODE for
systemd-sysext and SYSTEMD_CONFEXT_MUTABLE_MODE for systemd-confext. These
override the default mutable mode setting, but can be still overridden by a
command-line flag.
Krzesimir Nowak [Tue, 19 Mar 2024 12:20:46 +0000 (13:20 +0100)]
sysext: Move parsing mutable mode to a separate function
Friedrich Altheide [Wed, 20 Mar 2024 16:48:39 +0000 (17:48 +0100)]
basic/virt: Fix virtualbox detection on proprietary system via board_vendor
Identify an virtualbox instance even if product_name, sys_vendor and bios_vendor reflect the
information of the real hardware, by checking if board_vendor == "Oracle Corporation"
This fixes #13429 again
The previous fix was removed in #21127
Pierre GRASSER [Fri, 22 Mar 2024 10:36:04 +0000 (11:36 +0100)]
po: Translated using Weblate (French)
Currently translated at 100.0% (233 of 233 strings)
Co-authored-by: Pierre GRASSER <pierre.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main
Luca Boccassi [Sun, 24 Mar 2024 13:02:56 +0000 (13:02 +0000)]
test: explain how Ubuntu CI log URLs are created
Not trivially obvious, so add a couple of paragraph to explain it
Gabríel Arthúr Pétursson [Wed, 20 Mar 2024 16:48:36 +0000 (16:48 +0000)]
shared: Fix TPM2 unsealing when PCR values change
Recreate the encryption session on each retry. It's invalidated along
with the policy session when freed, failing subsequent retries.
Unsealing HMAC key.
WARNING:esys:src/tss2-esys/api/Esys_Unseal.c:295:Esys_Unseal_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/api/Esys_Unseal.c:98:Esys_Unseal() Esys Finish ErrorCode (0x00000128)
A PCR value changed during the TPM2 policy session, restarting HMAC key unsealing (30 tries left).
Missing encryption session
Failed to unseal secret using TPM2: Invalid argument
Fixes #31881
Luca Boccassi [Sun, 24 Mar 2024 11:50:44 +0000 (11:50 +0000)]
Merge pull request #31919 from YHNdnzj/analyze-verify
Some fixes/improvements for analyze
Luca Boccassi [Sun, 24 Mar 2024 11:43:37 +0000 (11:43 +0000)]
Merge pull request #31916 from YHNdnzj/socket-load-service
core/socket: validate service unit load state before continuing
Mike Yuan [Sun, 24 Mar 2024 11:19:12 +0000 (19:19 +0800)]
Merge pull request #31886 from DaanDeMeyer/logind
logind: Add fallback for when the PIDFDs= property is not available
Luca Boccassi [Sun, 24 Mar 2024 11:10:58 +0000 (11:10 +0000)]
Merge pull request #31917 from keszybz/path-equal-ptr-drop
Drop unnecessary path_equal_ptr() wrapper
Luca Boccassi [Sun, 24 Mar 2024 11:10:10 +0000 (11:10 +0000)]
Merge pull request #31913 from YHNdnzj/dynamic-user-unref
core/dynamic-user: trivial modernization
networkException [Sun, 10 Mar 2024 17:55:06 +0000 (18:55 +0100)]
bpf-socket-bind: fix unexpected behavior with either 0 allow or deny rules
This patch fixes an issue where, when not specifiying either at least one
`SocketBindAllow` or `SocketBindDeny` rule, behavior for the bind syscall
filtering would be unexpected.
For example, when trying to bind to a port with only "SocketBindDeny=any"
given, the syscall would succeed:
> systemd-run -t -p "SocketBindDeny=any" nc -l 8080
Expected with this set of rules (also in accordance with the documentation)
would be an Operation not permitted error.
This behavior occurs because a default initialized socket_bind_rule struct
matches what "any" represents. When creating the bpf list all elements get
default initialized, as such represeting "any". Seemingly it is necressarry
to set the size of the map to at least one, as such if no allow rule is
given default initialization and minimal map size cause one any allow rule
to be in the map, causing the behavior observed above.
This patch solves this by introducing a new "match nothing" magic stored in
the rule's address family and setting such a rule as the first one if no
rule is given, making sure that default initialized rule structs are never
used.
Resolves #30556
mkubiak [Sat, 23 Mar 2024 16:53:01 +0000 (17:53 +0100)]
Added resolution for Huion Kamvas Pro 19
Luca Boccassi [Sun, 24 Mar 2024 10:11:09 +0000 (10:11 +0000)]
Merge pull request #31552 from AdrianVovk/homed-update-policy-v2-split
Homed update policy: offline updates & use keyring
Mike Yuan [Fri, 22 Mar 2024 16:35:09 +0000 (00:35 +0800)]
analyze: refuse --global dot/verify
I don't quite understand the rationale of making these
verbs work with --global back in the day. But realistically
they interact with/spawn manager, while there's no
--global runtime scope manager. And to verify/inspect user
units it's sufficient to just use --user.
Fixes #31911
Mike Yuan [Fri, 22 Mar 2024 19:18:42 +0000 (03:18 +0800)]
analyze-dot: also show BindsTo= in --require
Mike Yuan [Fri, 22 Mar 2024 16:34:53 +0000 (00:34 +0800)]
analyze-dot: minor modernization
Mike Yuan [Fri, 22 Mar 2024 16:49:45 +0000 (00:49 +0800)]
analyze-security: use FOREACH_ARRAY
Mike Yuan [Sat, 23 Mar 2024 17:07:30 +0000 (01:07 +0800)]
core/socket: use FOREACH_ARRAY at one more place
Mike Yuan [Sat, 23 Mar 2024 11:55:27 +0000 (19:55 +0800)]
core/socket: clean up socket peer handling a bit
Currently, SocketPeer object acquired through
socket_acquire_peer() are referenced twice
in socket_enter_running and service_set_socket_fd,
and the reference taken by former gets dropped
through _cleanup_. This is a bit confusing.
Let's just pass ownership instead.
Mike Yuan [Sat, 23 Mar 2024 09:27:46 +0000 (17:27 +0800)]
core/socket: remove duplicate unit_add_two_dependencies
Mike Yuan [Sat, 23 Mar 2024 09:26:55 +0000 (17:26 +0800)]
core/socket: validate service unit load state before continuing
Fixes #31915
Mike Yuan [Sat, 23 Mar 2024 09:37:36 +0000 (17:37 +0800)]
core: introduce UNIT_IS_LOAD_ERROR helper
Zbigniew Jędrzejewski-Szmek [Sat, 23 Mar 2024 12:30:24 +0000 (13:30 +0100)]
shared/install: use PATH_IN_SET()
Zbigniew Jędrzejewski-Szmek [Sat, 23 Mar 2024 12:18:24 +0000 (13:18 +0100)]
Drop unnecessary path_equal_ptr() wrapper
path_equal already works with NULL pointers.
Mike Yuan [Sat, 23 Mar 2024 08:53:50 +0000 (16:53 +0800)]
core/swap: another try on memory mgmt
Follow-up for
ba31a5018f99864c22dd4e0f10712456c7abc934
Another stupid mistake... Shouldn't have
written anything when I was tired.