]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
15 months agoos-release: break RELEASE_TYPE into paragraphs and clarify about rolling stable releases 33904/head
Luca Boccassi [Thu, 1 Aug 2024 19:44:11 +0000 (20:44 +0100)] 
os-release: break RELEASE_TYPE into paragraphs and clarify about rolling stable releases

Arch and Tumbleweed do not do EOLs but are still stable, so clarify the paragraph.
Also break the entry in paragraphs, to make it more readable when rendered.

15 months agoos-release: change RELEASE_TYPE value from 'pre-release' to 'development'
Luca Boccassi [Thu, 1 Aug 2024 19:35:57 +0000 (20:35 +0100)] 
os-release: change RELEASE_TYPE value from 'pre-release' to 'development'

The point was made on https://lists.debian.org/debian-ctte/2024/08/msg00005.html
that 'pre-release sounds' like an RC candidate, ie, something that will change
very slightly in the released version. But this is not necessarily the case
for example at the beginnig of a Fedora Rawhide or Debian Testing release cycle,
so change it to a more generic 'development'

Follow-up for 7102dc52e6b03248da1f01b3a8a4b83c6d7a1316

15 months agoMerge pull request #33893 from yuwata/coverity
Luca Boccassi [Thu, 1 Aug 2024 18:33:53 +0000 (20:33 +0200)] 
Merge pull request #33893 from yuwata/coverity

tree-wide: resolve several issues found by coverity

15 months agoMerge pull request #32988 from AdrianVovk/os-release-prerelease
Luca Boccassi [Thu, 1 Aug 2024 16:56:15 +0000 (18:56 +0200)] 
Merge pull request #32988 from AdrianVovk/os-release-prerelease

os-release: Add RELEASE_TYPE=

15 months agoos-release: Introduce experiment RELEASE_TYPE 32988/head
Adrian Vovk [Fri, 24 May 2024 03:39:52 +0000 (23:39 -0400)] 
os-release: Introduce experiment RELEASE_TYPE

This is for experimental builds of the OS made to test some specific WIP
feature.

For example, let's say the distro in question is Asahi Linux and Apple
just released the M3 SoC. The Asahi developers will start porting to the
M3, and will quickly generate builds of Asahi Linux that can technically
boot but aren't ready for any kind of daily use. These images are marked
as experimental, and can be shared among the developers. If a user
somehow stumbles upon one of these images and tries to install it,
they'll be warned that they're about to install an experimental Apple M3
port of Asahi Linux. Eventually, once the Asahi developers think that
their M3 port is ready for a wider audience, they can merge it into the
mainline Asahi repos, where it will be distributed through the usual
nightly CI builds (where RELEASE_TYPE=pre-release; M3 support is no
longer experimental).

15 months agoos-release: Add RELEASE_TYPE=
Adrian Vovk [Wed, 22 May 2024 22:06:54 +0000 (18:06 -0400)] 
os-release: Add RELEASE_TYPE=

This will allow GUIs to customize their behavior a little based on the
type of release.

For example, an OS installer may display a warning/disclaimer if
RELEASE_TYPE=prerelease. The software updates app might be a bit more
insistent about upgrading to the next major release if
RELEASE_TYPE=stable than if RELEASE_TYPE=lts

15 months agoimport: check overflow 33893/head
Yu Watanabe [Thu, 1 Aug 2024 03:03:54 +0000 (12:03 +0900)] 
import: check overflow

Fixes CID#1548022 and CID#1548075.

15 months agotest: use ASSERT_OK_ERRNO() for setenv() and unsetenv()
Yu Watanabe [Thu, 1 Aug 2024 06:58:30 +0000 (15:58 +0900)] 
test: use ASSERT_OK_ERRNO() for setenv() and unsetenv()

15 months agotest: resolve "Unchecked return value" coverity warning
Yu Watanabe [Thu, 1 Aug 2024 02:57:43 +0000 (11:57 +0900)] 
test: resolve "Unchecked return value" coverity warning

Follow-up for c8210d98a4b64af6fadb1cb765c0451758af1303.
Fixes CID#1548920.

15 months agovmspawn: check overflow earlier
Yu Watanabe [Thu, 1 Aug 2024 02:50:53 +0000 (11:50 +0900)] 
vmspawn: check overflow earlier

Follow-up for 862c68a914ab4561d83875e58e05dcf65cb4a551.
Fixes CID#1550749.

15 months agotest: resolve "Unchecked return value" coverity warning
Yu Watanabe [Thu, 1 Aug 2024 02:47:33 +0000 (11:47 +0900)] 
test: resolve "Unchecked return value" coverity warning

Follow-up for 5fef5552a658130f00dc97d0a1003a6a49f3ca96.
Fixes CID#1558540.

15 months agotest: resolve "Unchecked return value" coverity warning
Yu Watanabe [Thu, 1 Aug 2024 02:44:51 +0000 (11:44 +0900)] 
test: resolve "Unchecked return value" coverity warning

Follow-up for 8c57700b6b61318594aaa757dff5e34219c0281d.
Fixes CID#1558539.

15 months agotest: attempt to install sshd-session from multiple places
Frantisek Sumsal [Thu, 1 Aug 2024 11:14:52 +0000 (13:14 +0200)] 
test: attempt to install sshd-session from multiple places

On Fedora the sshd-session binary is under /usr/libexec/openssh/ so
cover this path as well in the old framework.

Follow-up for aaa7b36bd15ca3a96a1e11a557482b0bc59c769f.

15 months agobuild(deps): bump github/codeql-action from 3.25.11 to 3.25.15
dependabot[bot] [Thu, 1 Aug 2024 09:02:04 +0000 (09:02 +0000)] 
build(deps): bump github/codeql-action from 3.25.11 to 3.25.15

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b611370bb5703a7efb587f9d136a52ea24c5c38c...afb54ba388a7dca6ecae48f608c4ff05ff4cc77a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
15 months agobuild(deps): bump meson from 1.4.1 to 1.5.1 in /.github/workflows
dependabot[bot] [Thu, 1 Aug 2024 09:15:29 +0000 (09:15 +0000)] 
build(deps): bump meson from 1.4.1 to 1.5.1 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.4.1 to 1.5.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.4.1...1.5.1)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
15 months agobuild(deps): bump systemd/mkosi
dependabot[bot] [Thu, 1 Aug 2024 09:02:16 +0000 (09:02 +0000)] 
build(deps): bump systemd/mkosi

Bumps [systemd/mkosi](https://github.com/systemd/mkosi) from 4eba736412c702bbbe2c6d4a58a92fa977219249 to 63fc1fde5b1aac1abf07ac499068c2b62263dafb.
- [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/4eba736412c702bbbe2c6d4a58a92fa977219249...63fc1fde5b1aac1abf07ac499068c2b62263dafb)

---
updated-dependencies:
- dependency-name: systemd/mkosi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
15 months agobuild(deps): bump redhat-plumbers-in-action/differential-shellcheck
dependabot[bot] [Thu, 1 Aug 2024 09:02:10 +0000 (09:02 +0000)] 
build(deps): bump redhat-plumbers-in-action/differential-shellcheck

Bumps [redhat-plumbers-in-action/differential-shellcheck](https://github.com/redhat-plumbers-in-action/differential-shellcheck) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/redhat-plumbers-in-action/differential-shellcheck/releases)
- [Changelog](https://github.com/redhat-plumbers-in-action/differential-shellcheck/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/redhat-plumbers-in-action/differential-shellcheck/compare/60c9f2b924a9c5a2ddbb25e7b23e8e11b56faab9...cc6721c45a8800cc666de45493545a07a638d121)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/differential-shellcheck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
15 months agobuild(deps): bump ossf/scorecard-action from 2.3.3 to 2.4.0
dependabot[bot] [Thu, 1 Aug 2024 09:02:08 +0000 (09:02 +0000)] 
build(deps): bump ossf/scorecard-action from 2.3.3 to 2.4.0

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.3 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/dc50aa9510b46c811795eb24b2f1ba02a914e534...62b2cac7ed8198b15735ed49ab1e5cf35480ba46)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
15 months agojournalctl: fix compile error on i386
Yu Watanabe [Thu, 1 Aug 2024 02:40:20 +0000 (11:40 +0900)] 
journalctl: fix compile error on i386

Fixes the following error:
===
In file included from ../src/basic/macro.h:13,
                 from ../src/basic/dirent-util.h:8,
                 from ../src/journal/journalctl-misc.c:3:
../src/journal/journalctl-misc.c: In function 'show_log_ids':
../src/journal/journalctl-misc.c:107:22: error: comparison is always true due to limited range of data type [-Werror=type-limits]
  107 |         assert(n_ids < INT64_MAX);
      |                      ^
../src/fundamental/macro-fundamental.h:70:44: note: in definition of macro '_unlikely_'
   70 | #define _unlikely_(x) (__builtin_expect(!!(x), 0))
      |                                            ^
../src/basic/macro.h:165:22: note: in expansion of macro 'assert_message_se'
  165 | #define assert(expr) assert_message_se(expr, #expr)
      |                      ^~~~~~~~~~~~~~~~~
../src/journal/journalctl-misc.c:107:9: note: in expansion of macro 'assert'
  107 |         assert(n_ids < INT64_MAX);
      |         ^~~~~~
cc1: all warnings being treated as errors
===

Follow-up for 0a8c1f6212a874b542a57ed5416e7d3575d2da93.

15 months agoMerge pull request #33888 from YHNdnzj/followups
Yu Watanabe [Thu, 1 Aug 2024 02:35:13 +0000 (11:35 +0900)] 
Merge pull request #33888 from YHNdnzj/followups

core: a few follow-ups for recent PRs

15 months agoMerge pull request #32448 from yuwata/journalctl-current-invocation
Yu Watanabe [Thu, 1 Aug 2024 02:33:20 +0000 (11:33 +0900)] 
Merge pull request #32448 from yuwata/journalctl-current-invocation

journalctl: introduce --list-invocations, -I, --invocation= options

15 months agotest: add test for journalctl --list-invocations and --invocation= 32448/head
Yu Watanabe [Sun, 12 May 2024 07:15:22 +0000 (16:15 +0900)] 
test: add test for journalctl --list-invocations and --invocation=

15 months agojournalctl: add --list-invocations command and -I/--invocation options
Yu Watanabe [Thu, 25 Apr 2024 04:38:24 +0000 (13:38 +0900)] 
journalctl: add --list-invocations command and -I/--invocation options

The --list-invocations command is similar to --list-boots, but shows
invocation IDs of specified unit. This should be useful when showing
a specific invocation of a unit.

The --invocation option is similar to --boot, but takes a invocation ID
or an offset. The -I option is equivalent to --invocation=0.

15 months agologs-show: extend journal_get_boots() and friends to find invocation IDs
Yu Watanabe [Thu, 25 Apr 2024 06:28:19 +0000 (15:28 +0900)] 
logs-show: extend journal_get_boots() and friends to find invocation IDs

Currently the extended features are not used, but will be used later.

15 months agologs-show: introduce several helper functions
Yu Watanabe [Thu, 25 Apr 2024 06:27:43 +0000 (15:27 +0900)] 
logs-show: introduce several helper functions

Currently these are not used, but will be used later.

15 months agouse int64_t for index in show_log_ids()
Yu Watanabe [Sat, 22 Jun 2024 08:45:57 +0000 (17:45 +0900)] 
use int64_t for index in show_log_ids()

15 months agojournalctl: split out show_log_ids() from action_list_boots()
Yu Watanabe [Thu, 25 Apr 2024 04:15:49 +0000 (13:15 +0900)] 
journalctl: split out show_log_ids() from action_list_boots()

No functional change, just refactoring and prepraration for later change.

15 months agojournalctl: update log messages
Yu Watanabe [Wed, 31 Jul 2024 02:27:28 +0000 (11:27 +0900)] 
journalctl: update log messages

15 months agologs-show: rename BootId -> LogId
Yu Watanabe [Thu, 25 Apr 2024 01:10:39 +0000 (10:10 +0900)] 
logs-show: rename BootId -> LogId

The struct itself is generic, and can be used for other ID.
Let's rename it to more generic one.
No functional change, just refactoring and preparation for later
commits.

15 months agocore/socket: stop hardcoding every service inactive state 33888/head
Mike Yuan [Wed, 31 Jul 2024 18:02:05 +0000 (20:02 +0200)] 
core/socket: stop hardcoding every service inactive state

History (c068650fcfc69aebb35be1c71f35dbc25b22030a,
941a12dcba57f6673230a9c413738c51374d2998) has proven
that we're not good at keeping socket and service states
in sync. Instead, let's query the high-level unit_active_state()
first, and only hardcode the two special auto-restart
service states.

Additionally, allow returning to listening state on SERVICE_CLEANING.

15 months agocore/cgroup: use UNIT_IS_INACTIVE_OR_FAILED where appropriate
Mike Yuan [Wed, 31 Jul 2024 17:53:53 +0000 (19:53 +0200)] 
core/cgroup: use UNIT_IS_INACTIVE_OR_FAILED where appropriate

15 months agocore/unit: merge use of LOG_CONTEXT_SET_LOG_LEVEL into LOG_CONTEXT_PUSH_UNIT
Mike Yuan [Wed, 31 Jul 2024 17:51:23 +0000 (19:51 +0200)] 
core/unit: merge use of LOG_CONTEXT_SET_LOG_LEVEL into LOG_CONTEXT_PUSH_UNIT

No functional change, since LOG_CONTEXT_PUSH_UNIT is only used
in exec_spawn().

15 months agocore: clean up ambient capability logging
Mike Yuan [Wed, 31 Jul 2024 16:38:14 +0000 (18:38 +0200)] 
core: clean up ambient capability logging

Follow-up for e0ebc81b2d194206c519375394bd67baa19e67ce

15 months agoMerge pull request #33886 from DaanDeMeyer/autologin
Daan De Meyer [Wed, 31 Jul 2024 18:21:12 +0000 (20:21 +0200)] 
Merge pull request #33886 from DaanDeMeyer/autologin

Two mkosi improvements

15 months agoMerge pull request #33885 from DaanDeMeyer/pidref-kthread
Daan De Meyer [Wed, 31 Jul 2024 17:07:35 +0000 (19:07 +0200)] 
Merge pull request #33885 from DaanDeMeyer/pidref-kthread

Two pidfd fixes

15 months agomkosi: Beef up testuser a bit 33886/head
Daan De Meyer [Wed, 31 Jul 2024 15:42:56 +0000 (17:42 +0200)] 
mkosi: Beef up testuser a bit

Give it a password and add it to some common groups.

15 months agomkosi: Switch to autologin via credentials
Daan De Meyer [Wed, 31 Jul 2024 15:38:12 +0000 (17:38 +0200)] 
mkosi: Switch to autologin via credentials

Let's use the newly added credentials to only enable autologin for
/dev/console (systemd-nspawn) and /dev/hvc0 (qemu) instead of enabling
autologin for every tty.

15 months agoMerge pull request #33873 from DaanDeMeyer/rename-creds
Daan De Meyer [Wed, 31 Jul 2024 15:35:58 +0000 (17:35 +0200)] 
Merge pull request #33873 from DaanDeMeyer/rename-creds

core: Add support for renaming credentials with ImportCredential=

15 months agosocket: fix socket activation of stopped services with pinned FD store
Michal Sekletar [Tue, 30 Jul 2024 14:22:03 +0000 (16:22 +0200)] 
socket: fix socket activation of stopped services with pinned FD store

15 months agoMerge pull request #32937 from steelman/github/drop-ambient-caps-executor
Luca Boccassi [Wed, 31 Jul 2024 14:11:30 +0000 (16:11 +0200)] 
Merge pull request #32937 from steelman/github/drop-ambient-caps-executor

core: drop ambient capabilities in systemd-executor

15 months agounits: Import tty specific credentials for each getty unit 33873/head
Daan De Meyer [Tue, 30 Jul 2024 14:22:34 +0000 (16:22 +0200)] 
units: Import tty specific credentials for each getty unit

As explained in the previous commit, this allows us to configure
agetty and login for individual ttys instead of globally.

15 months agocore: Add support for renaming credentials with ImportCredential=
Daan De Meyer [Tue, 30 Jul 2024 14:16:26 +0000 (16:16 +0200)] 
core: Add support for renaming credentials with ImportCredential=

This allows for "per-instance" credentials for units. The use case
is best explained with an example. Currently all our getty units
have the following stanzas in their unit file:

"""
ImportCredential=agetty.*
ImportCredential=login.*
"""

This means that setting agetty.autologin=root as a system credential
will make every instance of our all our getty units autologin as the
root user. This prevents us from doing autologin on /dev/hvc0 while
still requiring manual login on all other ttys.

To solve the issue, we introduce support for renaming credentials with
ImportCredential=. This will allow us to add the following to e.g.
serial-getty@.service:

"""
ImportCredential=tty.serial.%I.agetty.*:agetty.
ImportCredential=tty.serial.%I.login.*:login.
"""

which for serial-getty@hvc0.service will make the service manager read
all credentials of the form "tty.serial.hvc0.agetty.xxx" and pass them
to the service in the form "agetty.xxx" (same goes for login). We can
apply the same to each of the getty units to allow setting agetty and
login credentials for individual ttys instead of globally.

15 months agoexec-credential: Skip duplicate credentials in load_credential_glob()
Daan De Meyer [Wed, 31 Jul 2024 13:02:07 +0000 (15:02 +0200)] 
exec-credential: Skip duplicate credentials in load_credential_glob()

We document that when multiple credentials of the same name are found,
we use the first one found so let's actually implement that behavior.

15 months agoexec-credential: Log if we skip duplicate credential
Daan De Meyer [Wed, 31 Jul 2024 13:01:40 +0000 (15:01 +0200)] 
exec-credential: Log if we skip duplicate credential

15 months agoDrop EEXIST handling in load_credential_glob()
Daan De Meyer [Wed, 31 Jul 2024 13:21:17 +0000 (15:21 +0200)] 
Drop EEXIST handling in load_credential_glob()

Credentials are written to a temporary file and renamed to the
destination with renameat() which will replace existing files so
EEXIST should not happen so drop the handling for EEXIST.

15 months agoMerge pull request #33884 from DaanDeMeyer/log-context
Daan De Meyer [Wed, 31 Jul 2024 12:23:08 +0000 (14:23 +0200)] 
Merge pull request #33884 from DaanDeMeyer/log-context

log: Fix size calculation for number of iovecs

15 months agocgroup-util: Don't try to open pidfd for kernel threads 33885/head
Daan De Meyer [Wed, 31 Jul 2024 11:38:50 +0000 (13:38 +0200)] 
cgroup-util: Don't try to open pidfd for kernel threads

The kernel might start returning -EINVAL when trying to open pidfd's
for kernel threads so let's not try to open pidfd's for kernel threads.

15 months agoMerge pull request #33882 from bluca/efi_proto_fallback_memory
Daan De Meyer [Wed, 31 Jul 2024 11:46:41 +0000 (13:46 +0200)] 
Merge pull request #33882 from bluca/efi_proto_fallback_memory

stub: allocate and zero enough space in legacy x86 handover protocol

15 months agolog: Fix size calculation for number of iovecs 33884/head
Daan De Meyer [Wed, 31 Jul 2024 09:39:04 +0000 (11:39 +0200)] 
log: Fix size calculation for number of iovecs

Each log context field can expand to up to three iovecs (key, value
and newline) so let's fix the size calculation to take this into
account.

15 months agoexecute: Drop log level to unit log level in exec_spawn()
Daan De Meyer [Wed, 31 Jul 2024 11:11:51 +0000 (13:11 +0200)] 
execute: Drop log level to unit log level in exec_spawn()

All messages logged from exec_spawn() are attributed to the unit
and as such we should set the log level to the unit's max log level
for the duration of the function.

15 months agoRevert "execute: Call capability_ambient_set_apply even if ambient set is 0" 32937/head
Łukasz Stelmach [Tue, 28 May 2024 14:56:03 +0000 (16:56 +0200)] 
Revert "execute: Call capability_ambient_set_apply even if ambient set is 0"

With ambient capabilities being dropped at the start of process managers
(both system and user) as well as systemd-executor it isn't necessary
to drop them here. Moreover, at this point also the inheritable set can
be preserved. This makes it possible to assign a user session manager
inheritable capabilities which combined with file capabilites (ei sets)
of service executables enable running user services with capabilities
but only when started by the manager.

This reverts commit 943800f4e7728feb2416dd57b8c296614497b94f.

15 months agocore: drop ambient capabilities in systemd-executor
Łukasz Stelmach [Mon, 20 May 2024 14:51:55 +0000 (16:51 +0200)] 
core: drop ambient capabilities in systemd-executor

Since the commit 963b6b906e ("core: drop ambient capabilities in
user manager") systemd running as the session manager has dropped ambient
capabilities retaining other sets allowing user services to be started
with elevated capabilities. This, worked fine until the introduction of
sd-executor. For a non-root process to be started with elevated
capabilities by a non-root parent it either needs file capabilities or
ambient capabilities in the parent process. Thus, systemd needs to allow
sd-executor to inherit its ambient capabilities and sd-executor should
drop them as systemd did before.

The ambient set is managed for both system and session managers, but
with the default set for PID#1 being empty, this code does not affect
operation of PID#1.

Fixes: bb5232b6a3 ("core: add systemd-executor binary")
15 months agoman: suggest to enable global IPv6Forwarding= setting to make IPv6 packets forwarded
Yu Watanabe [Sun, 23 Jun 2024 20:03:58 +0000 (05:03 +0900)] 
man: suggest to enable global IPv6Forwarding= setting to make IPv6 packets forwarded

Closes #33414.

15 months agoNEWS: mention that udevadm test and test-builtin are now non-destructive
Yu Watanabe [Tue, 30 Jul 2024 22:31:21 +0000 (07:31 +0900)] 
NEWS: mention that udevadm test and test-builtin are now non-destructive

Follow-up for 089bef66316e5bdc91b9984148e5a6455449c1da.
Prompted by https://github.com/systemd/systemd/issues/33619#issuecomment-2257576579.

15 months agonetwork: mention that IPv4 ACD is enabled by default for 169.254.0.0/16
Yu Watanabe [Tue, 30 Jul 2024 22:21:09 +0000 (07:21 +0900)] 
network: mention that IPv4 ACD is enabled by default for 169.254.0.0/16

Prompted by #33824.

15 months agonetwork: request non-NULL SSID when a wlan interface is configured as station
Yu Watanabe [Tue, 30 Jul 2024 21:49:32 +0000 (06:49 +0900)] 
network: request non-NULL SSID when a wlan interface is configured as station

To avoid conflicts with user .network file for the wlan interface with Bond=.
See https://github.com/systemd/systemd/issues/19832#issuecomment-857661200.

15 months agoMerge pull request #33878 from yuwata/network-bind-carrier
Yu Watanabe [Wed, 31 Jul 2024 01:05:43 +0000 (10:05 +0900)] 
Merge pull request #33878 from yuwata/network-bind-carrier

network: several cleanups for BindCarrier= setting

15 months agoMerge pull request #33875 from yuwata/network-link-get-address
Yu Watanabe [Wed, 31 Jul 2024 01:05:11 +0000 (10:05 +0900)] 
Merge pull request #33875 from yuwata/network-link-get-address

network: several fixlets related to link_get_address()

15 months agoefi: fix link to legacy EFI handover protocol 33882/head
Luca Boccassi [Wed, 31 Jul 2024 00:46:58 +0000 (01:46 +0100)] 
efi: fix link to legacy EFI handover protocol

15 months agostub: allocate and zero enough space in legacy x86 handover protocol
Luca Boccassi [Wed, 31 Jul 2024 00:45:06 +0000 (01:45 +0100)] 
stub: allocate and zero enough space in legacy x86 handover protocol

A PE image's memory footprint might be larger than its file size due
to uninitialized memory sections. Normally all PE headers should be
parsed to check the actual required size, but the legacy EFI handover
protocol is only used for x86 Linux bzImages, so we know only the last
section will require extra memory. Use SizeOfImage from the PE header
and if it is larger than the file size, allocate and zero extra memory
before using it.

Fixes https://github.com/systemd/systemd/issues/33816

15 months agonetwork: shorten code a bit 33878/head
Yu Watanabe [Tue, 30 Jul 2024 18:55:37 +0000 (03:55 +0900)] 
network: shorten code a bit

15 months agonetwork: call link_handle_bound_by_list() before trying to reconfigure interface
Yu Watanabe [Tue, 30 Jul 2024 18:50:55 +0000 (03:50 +0900)] 
network: call link_handle_bound_by_list() before trying to reconfigure interface

Otherwise, when an interface gained its carrier, the interface may not
have matching .network file yet, then link_reconfigure_impl() returns
zero, and link_handle_bound_by_list() is skipped.

Fixes #33837.

15 months agoRevert "network/ndisc: ignore most fields of RA header when lifetime is zero"
Ivan Shapovalov [Sun, 16 Jun 2024 08:46:34 +0000 (10:46 +0200)] 
Revert "network/ndisc: ignore most fields of RA header when lifetime is zero"

This reverts commit ffef01acddcac27caaef02f7f28bff03d7799e5e.

Similar to 2d393b1b6d8 ("network: IPv6 Compliance: Router Advertisement
Processing, Reachable Time [v6LC.2.2.15]"),

Extract from: https://www.ietf.org/rfc/rfc4861.html#section-4.2, p.21,
first paragraph:

    The Router Lifetime applies only to
    the router's usefulness as a default router; it
    does not apply to information contained in other
    message fields or options.

So it does not make sense to prevent DHCPv6 when Router Lifetime is 0.

Fixes #33357.

15 months agoFix detection of TDX confidential VM on Azure platform
Daniel P. Berrangé [Tue, 30 Jul 2024 09:51:21 +0000 (10:51 +0100)] 
Fix detection of TDX confidential VM on Azure platform

The original CVM detection logic for TDX assumes that the guest can see
the standard TDX CPUID leaf. This was true in Azure when this code was
originally written, however, current Azure now blocks that leaf in the
paravisor. Instead it is required to use the same Azure specific CPUID
leaf that is used for SEV-SNP detection, which reports the VM isolation
type.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
15 months agotest-network: add test case for preferred source with peer 33875/head
Yu Watanabe [Tue, 30 Jul 2024 16:24:00 +0000 (01:24 +0900)] 
test-network: add test case for preferred source with peer

For issue #31950.

15 months agonetwork: make link_get_address() provide matching address with peer
Yu Watanabe [Tue, 30 Jul 2024 15:59:28 +0000 (00:59 +0900)] 
network: make link_get_address() provide matching address with peer

As all callers do not care if the address has peer address.
This also drops prefixlen argument as it is always zero.

Fixes a bug introduced by 42f8b6a80878e688b821adfb315c0a1f0a7076ce.
Fixes #31950.

15 months agonetwork/ipv4acd: manage ACD engines with Address object
Yu Watanabe [Tue, 30 Jul 2024 15:25:43 +0000 (00:25 +0900)] 
network/ipv4acd: manage ACD engines with Address object

IPv4 addresses are managed with local and peer addresses and prefix
length. So, potentially, the same address with different prefix length
can be assigned on a link, e.g. 192.168.0.1/24 and 192.168.0.1/26.
If one of the address is configured with ACD but the other is not,
then previously ACD might be unexpectedly disabled or enabled on them,
as we managed ACD engines with only local addresses.

This makes ACD engines managed with the corresponding Address objects.

15 months agonetwork: do not bring down bound interfaces immediately
Yu Watanabe [Tue, 30 Jul 2024 18:04:04 +0000 (03:04 +0900)] 
network: do not bring down bound interfaces immediately

Even if a timespan specified to IgnoreCarrierLoss= for an interface,
when the carrier of the interface lost, bound interfaces might be bring
down immediately.

Let's also postpone bringing down bound interfaces with the specified
timespan.

15 months agodocument how TimeoutStartSec= affects notify-reload (#33653)
Arian van Putten [Tue, 30 Jul 2024 11:35:52 +0000 (13:35 +0200)] 
document how TimeoutStartSec=  affects notify-reload (#33653)

* document how TimeoutStartSec=  affects notify-reload

15 months agonspawn: remove macvlan interfaces before network namespace died
Yu Watanabe [Tue, 30 Jul 2024 05:35:33 +0000 (14:35 +0900)] 
nspawn: remove macvlan interfaces before network namespace died

This is similar to what we do for veth interfaces in remove_veth_links().

When a container rebooted, macvlan interfaces created by the previous
boot may still exist in the kernel, and that causes -EADDRINUSE after
reboot.

Hopefully fixes #680.

15 months agocgroup-util: Ignore kernel threads in cg_kill_items()
Daan De Meyer [Tue, 30 Jul 2024 09:53:32 +0000 (11:53 +0200)] 
cgroup-util: Ignore kernel threads in cg_kill_items()

Similar to the implementation of cgroup.kill in the kernel, let's
skip kernel threads in cg_kill_items() as trying to kill kernel
threads as an unprivileged process will fail with EPERM and doesn't
do anything when running privileged.

15 months agokernel-install: Try some more initrd variants in 90-loaderentry.install
Daan De Meyer [Mon, 29 Jul 2024 13:41:51 +0000 (15:41 +0200)] 
kernel-install: Try some more initrd variants in 90-loaderentry.install

On CentOS/Fedora, dracut is configured to write the initrd to
/boot/initramfs-$KERNEL_VERSION...img so let's check for that as well
if no initrds were supplied.

15 months agokernel-install: Only read cmdline from /proc/cmdline when not in container
Daan De Meyer [Mon, 29 Jul 2024 15:13:28 +0000 (17:13 +0200)] 
kernel-install: Only read cmdline from /proc/cmdline when not in container

If we're running from within a container, we're very likely not going
to want to use the kernel command line from /proc/cmdline, so let's add
a check to see if we're running from a container to decide whether we'll
use the kernel command line from /proc/cmdline.

15 months agoMerge pull request #33857 from DaanDeMeyer/mkosi
Daan De Meyer [Mon, 29 Jul 2024 13:40:48 +0000 (15:40 +0200)] 
Merge pull request #33857 from DaanDeMeyer/mkosi

Two small improvements

15 months agodocs: Simplify hacking instructions a bit 33857/head
Daan De Meyer [Mon, 29 Jul 2024 11:42:28 +0000 (13:42 +0200)] 
docs: Simplify hacking instructions a bit

We enable RuntimeBuildSources=yes by default so let's drop it from
the documentation.

15 months agotest: Don't mount build sources into image when running non-interactively
Daan De Meyer [Mon, 29 Jul 2024 11:40:42 +0000 (13:40 +0200)] 
test: Don't mount build sources into image when running non-interactively

15 months agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Mon, 29 Jul 2024 08:38:40 +0000 (10:38 +0200)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

15 months agoMerge pull request #33853 from NickCao/l3mdev
Luca Boccassi [Mon, 29 Jul 2024 09:15:52 +0000 (10:15 +0100)] 
Merge pull request #33853 from NickCao/l3mdev

network: Fixup Table when L3MasterDevice is set on routing policy rule

15 months agonetwork: Fixup Table when L3MasterDevice is set on routing policy rule 33853/head
Nick Cao [Sun, 28 Jul 2024 14:07:19 +0000 (10:07 -0400)] 
network: Fixup Table when L3MasterDevice is set on routing policy rule

15 months agoman: network: move note about L3MasterDevice to the correct section
Nick Cao [Sun, 28 Jul 2024 17:50:30 +0000 (13:50 -0400)] 
man: network: move note about L3MasterDevice to the correct section

15 months agoman: clarify systemd-path variable source 32430/head
Vladimir Panteleev [Sat, 27 Jul 2024 11:49:20 +0000 (11:49 +0000)] 
man: clarify systemd-path variable source

15 months agoman: improve ManagerEnvironment documentation
Vladimir Panteleev [Sat, 27 Jul 2024 11:43:47 +0000 (11:43 +0000)] 
man: improve ManagerEnvironment documentation

- Improve wording for explanation when these variables are inherited

- Clarify that these variables are not placed in the process environment block,
  so /proc/PID/environ cannot be used as a debugging tool

15 months agoMerge pull request #33848 from weblate/weblate-systemd-main
Luca Boccassi [Sat, 27 Jul 2024 10:27:29 +0000 (11:27 +0100)] 
Merge pull request #33848 from weblate/weblate-systemd-main

Translations update from Fedora Weblate

15 months agopo: Translated using Weblate (Slovenian) 33848/head
Weblate Translation Memory [Fri, 26 Jul 2024 14:38:49 +0000 (16:38 +0200)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

15 months agopo: Translated using Weblate (Slovenian)
Martin Srebotnjak [Fri, 26 Jul 2024 14:38:49 +0000 (16:38 +0200)] 
po: Translated using Weblate (Slovenian)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/
Translation: systemd/main

15 months agokernel-install: remove depmod generated file modules.weakdep
Jose Ignacio Tornos Martinez [Fri, 26 Jul 2024 08:28:21 +0000 (10:28 +0200)] 
kernel-install: remove depmod generated file modules.weakdep

The new file, modules.weakdep, generated by depmod to get the weak
dpendencies information can be present
(https://github.com/kmod-project/kmod/commit/05828b4a6e9327a63ef94df544a042b5e9ce4fe7),
so remove it like the other similar files.

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
15 months agoMerge pull request #27855 from Werkov/test-delegate-useraddfixup
Luca Boccassi [Fri, 26 Jul 2024 13:01:38 +0000 (14:01 +0100)] 
Merge pull request #27855 from Werkov/test-delegate-useraddfixup

Delegate/cgroup test refactor

15 months agoMerge pull request #30307 from bluca/enforce_inhibitors
Zbigniew Jędrzejewski-Szmek [Fri, 26 Jul 2024 11:52:34 +0000 (13:52 +0200)] 
Merge pull request #30307 from bluca/enforce_inhibitors

logind: always check for inhibitor locks

15 months agoresolved: Don't retry queries that indicate net error
Ronan Pigott [Thu, 25 Jul 2024 19:48:03 +0000 (12:48 -0700)] 
resolved: Don't retry queries that indicate net error

This probably rarely helped anyway, but it also in some cases interferes
with auxiliary dnssec queries where the authoritative nameserver does
not support EDNS0/DNSSEC.

Fixes: ac6844460ca1 ("resolved: support RFC 8914 EDE error codes")
15 months agoMerge pull request #33842 from DaanDeMeyer/test
Luca Boccassi [Fri, 26 Jul 2024 09:04:20 +0000 (10:04 +0100)] 
Merge pull request #33842 from DaanDeMeyer/test

Two fixes

15 months agotest: Fail cgroup delegation test when user cannot be created 27855/head
Michal Koutný [Fri, 26 Jul 2024 08:44:10 +0000 (10:44 +0200)] 
test: Fail cgroup delegation test when user cannot be created

It means: a) user cannot be created, something's wrong in the
test environment -> fail the test; b) user already exists, we shall not
continue and delete (foreign) user.

15 months agoresize-fs: Put minimal ext4 size in the same ballpark as the other filesystems 33842/head
Daan De Meyer [Thu, 25 Jul 2024 11:22:42 +0000 (13:22 +0200)] 
resize-fs: Put minimal ext4 size in the same ballpark as the other filesystems

TEST-46-HOMED fails on ext4 because the filesystem is deemed to small
for activation by cryptsetup. Let's bump the minimal filesystem size for
ext4 a bit to be in the same ballpark as ext4 and btrfs to avoid weird
errors due to impossibly small filesystems.

Also use U64_MB while we're touching this.

15 months agotest: Reorganize testcase of cgroup delegation
Michal Koutný [Thu, 31 Mar 2022 16:25:36 +0000 (18:25 +0200)] 
test: Reorganize testcase of cgroup delegation

There are multiple subtests, just move them around into functions
(leveraging the testcase_* convention) to make space for new related
subtests.

15 months agoMerge pull request #33825 from DaanDeMeyer/chattr
Luca Boccassi [Thu, 25 Jul 2024 13:11:11 +0000 (14:11 +0100)] 
Merge pull request #33825 from DaanDeMeyer/chattr

repart: Create disk image file with copy-on-write disabled on btrfs

15 months agoshell completion: add support for sd-analyze capability --mask
Luca Boccassi [Thu, 25 Jul 2024 11:05:53 +0000 (12:05 +0100)] 
shell completion: add support for sd-analyze capability --mask

Follow-up for 3e7a029c2856e7814b930443cc2d4fb089377592

15 months agoMerge pull request #33840 from bluca/test_locale_dbus
Luca Boccassi [Thu, 25 Jul 2024 12:18:53 +0000 (13:18 +0100)] 
Merge pull request #33840 from bluca/test_locale_dbus

test: fix D-Bus policy override for TEST-73-LOCALE

15 months agoNEWS: mention logind inhibitors change 30307/head
Luca Boccassi [Wed, 7 Feb 2024 23:27:31 +0000 (23:27 +0000)] 
NEWS: mention logind inhibitors change

15 months agologind: always check for inhibitor locks
Luca Boccassi [Sat, 2 Dec 2023 20:11:57 +0000 (20:11 +0000)] 
logind: always check for inhibitor locks

Currently inhibitors are bypassed unless an explicit request is made to
check for them, or even in that case when the requestor is root or the
same uid as the holder of the lock.

But in many cases this makes it impractical to rely on inhibitor locks.
For example, in Debian there are several convoluted and archaic
workarounds that divert systemctl/reboot to some hacky custom scripts
to try and enforce blocking accidental reboots, when it's not expected
that the requestor will remember to specify the command line option
to enable checking for active inhibitor locks.

Also in many cases one wants to ensure that locks taken by a user are
respected by actions initiated by that same user.

Change logind so that inhibitors checks are not skipped in these
cases, and systemctl so that locks are checked in order to show a
friendly error message rather than "permission denied".

Add new block-weak and delay-weak modes that keep the previous
behaviour unchanged.

15 months agoTEST-54-CREDS: Specify SMBIOS creds via corresponding mkosi option
Daan De Meyer [Thu, 25 Jul 2024 11:08:48 +0000 (13:08 +0200)] 
TEST-54-CREDS: Specify SMBIOS creds via corresponding mkosi option

This allows mkosi to combine fstab.extra with its own fstab.extra so
that it doesn't override the one we pass for the test.

15 months agosd-event: do not assert on invalid signal
David Tardon [Thu, 25 Jul 2024 08:06:34 +0000 (10:06 +0200)] 
sd-event: do not assert on invalid signal

The signalfd_siginfo struct is received from outside via a FD, hence
assert() is not appropriate way to check it. Just do a normal runtime
check.