]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
6 months agoAdded a test file for the dirent-util.c
Unique-Usman [Sun, 10 Mar 2024 11:58:58 +0000 (17:28 +0530)] 
Added a test file for the dirent-util.c

6 months agodocs: fix typo
Yu Watanabe [Thu, 14 Mar 2024 19:03:57 +0000 (04:03 +0900)] 
docs: fix typo

Follow-up for 34c6b7d9de64e357071005ec49e88d2354cc4e8a.

6 months agoupdate TODO
Lennart Poettering [Thu, 14 Mar 2024 18:09:22 +0000 (19:09 +0100)] 
update TODO

6 months agoMerge pull request #31739 from poettering/pid1-sd-notify-tweaks
Lennart Poettering [Thu, 14 Mar 2024 17:43:57 +0000 (18:43 +0100)] 
Merge pull request #31739 from poettering/pid1-sd-notify-tweaks

pid1: send various notifications via sd_notify() reporting boot progress

6 months agonetwork: introduce link_requeue_request()
Yu Watanabe [Tue, 12 Mar 2024 08:28:43 +0000 (17:28 +0900)] 
network: introduce link_requeue_request()

6 months agonetwork: use link_start_dhcp4_server() at one more place
Yu Watanabe [Wed, 13 Mar 2024 17:01:15 +0000 (02:01 +0900)] 
network: use link_start_dhcp4_server() at one more place

Otherwise, even if the persistent storage is not ready, the DHCP server
may be started e.g. by unplugging and plugging cable.

Follow-up for 5582b36c384fc522c23ef1ac032001882d033aff.

6 months agoman: fix efi var vendor uuid for systemd-bless-boot.service
Adrian Wannenmacher [Thu, 14 Mar 2024 16:15:19 +0000 (17:15 +0100)] 
man: fix efi var vendor uuid for systemd-bless-boot.service

The specified vendor UUID is not actually a UUID. This changes it to an actual UUID.

The new value matches the ones from the systemd-boot man page and [The Boot Loader Interface](https://systemd.io/BOOT_LOADER_INTERFACE/).

6 months agodocs: add a new document describing the VM interface of systemd 31739/head
Lennart Poettering [Wed, 13 Mar 2024 09:33:26 +0000 (10:33 +0100)] 
docs: add a new document describing the VM interface of systemd

This mirrors the existing CONTAINER_INTERFACE.md document, but describes
extension points of systemd running in a VM with a machine manager
supervising it.

6 months agodocs: update various links
Lennart Poettering [Wed, 13 Mar 2024 09:08:53 +0000 (10:08 +0100)] 
docs: update various links

6 months agodocs: properly line break WRITING_VM_AND_CONTAINER_MANAGERS.md
Lennart Poettering [Wed, 13 Mar 2024 09:05:14 +0000 (10:05 +0100)] 
docs: properly line break WRITING_VM_AND_CONTAINER_MANAGERS.md

6 months agodocs: document new sd_notify() extensions
Lennart Poettering [Wed, 13 Mar 2024 09:04:42 +0000 (10:04 +0100)] 
docs: document new sd_notify() extensions

6 months agonspawn: add some debug logging for sd_notify() messages received by the container...
Lennart Poettering [Tue, 12 Mar 2024 17:51:23 +0000 (18:51 +0100)] 
nspawn: add some debug logging for sd_notify() messages received by the container manager

6 months agomanager: send an sd_notify() message informing the container manager when systemd...
Lennart Poettering [Tue, 12 Mar 2024 17:48:28 +0000 (18:48 +0100)] 
manager: send an sd_notify() message informing the container manager when systemd's special UNIX signals become available

From the outside it's difficult to determine whether (and when) the PID1
inside a container supports systemd's more complete set of UNIX process
signals or not. Let's make this easier, and simply send a notification
message when we are ready.

6 months agomanager: modernize code that enables special signal delivery to PID 1
Lennart Poettering [Tue, 12 Mar 2024 17:48:04 +0000 (18:48 +0100)] 
manager: modernize code that enables special signal delivery to PID 1

6 months agossh-generator: introduce ssh-access.target
Lennart Poettering [Tue, 12 Mar 2024 17:44:33 +0000 (18:44 +0100)] 
ssh-generator: introduce ssh-access.target

This new passive target is supposed to be pulled in by SSH
implementations and should be reached when remote SSH access is
possible. The idea is that this target can be used as indicator for
other components to determine if and when SSH access is possible.

One specific usecase for this is the new sd_notify() logic in PID 1 that
sends its own supervisor notifications whenever target units are
reached. This can be used to precisely schedule SSH connections from
host to VM/container, or just to identify systems where SSH is even
available.

6 months agocore: notify supervisor over targets we reach, as we reach them
Lennart Poettering [Tue, 12 Mar 2024 15:08:13 +0000 (16:08 +0100)] 
core: notify supervisor over targets we reach, as we reach them

Let's inform the the supervisor about various happenings of our service
manager, specifically the boot milestones we reach.

We so far have only a singular READY=1 message, to inform about bootup
completion. But sometimes it is interesting to have something for
finegrained, in particular something that indicates optional components
that have been activated.

Usecase for this: in a later PR I intend to introduce a generic
"ssh.target" that is supposed to be activated when SSH becomes available
on a host. A supervisor (i.e. a VMM/hypervisor/container mgr/…) can
watch for that, and know two things:

1. that SSH is generally available in the system
2. when it is available

In order to not flood the supervisor with events I only send these out
for target units. We could open this up later, in theory, but I think it
makes sense to tell people instead to define clear milestone target
units if they want a supervisor to be able to track system state.

6 months agomanager: clean up audit/plymouth code a bit
Lennart Poettering [Tue, 12 Mar 2024 15:06:43 +0000 (16:06 +0100)] 
manager: clean up audit/plymouth code a bit

Let's add assert()s, and let's put checks in similar order to emphasize
the symmetry. Also let's do cheap checks first.

6 months agomachine-id-setup: inform supervisor about chosen machine ID
Lennart Poettering [Tue, 12 Mar 2024 15:05:35 +0000 (16:05 +0100)] 
machine-id-setup: inform supervisor about chosen machine ID

Similar as the previous commit, it's useful for a supervisor to know
what machine ID we settlted on, in particular as various other things
are deterministically derived from it, for example MAC addresses and
such.

6 months agohostname-setup: send chosen hostname to supervisor via sd_notify()
Lennart Poettering [Tue, 12 Mar 2024 15:03:59 +0000 (16:03 +0100)] 
hostname-setup: send chosen hostname to supervisor via sd_notify()

once we decided on a hostname, let's tell the supervisor about it. This
is useful for example in order to recognize the system via mDNS/LLMNR or
in a DHCP lease.

6 months agohostname-setup: various modernizations
Lennart Poettering [Tue, 12 Mar 2024 15:05:23 +0000 (16:05 +0100)] 
hostname-setup: various modernizations

6 months agomanager: make manager_send_ready() more symmetric regarding per-user/per-service...
Lennart Poettering [Tue, 12 Mar 2024 13:35:46 +0000 (14:35 +0100)] 
manager: make manager_send_ready() more symmetric regarding per-user/per-service scope

Always check the scope explicitly, always assert(m), and name the two
functions in a symmetric way.

6 months agocore: normalize how we issue sd_notify() from PID 1
Lennart Poettering [Tue, 12 Mar 2024 13:33:33 +0000 (14:33 +0100)] 
core: normalize how we issue sd_notify() from PID 1

Always cast to (void) if we ignore the return value.

Always pass the first arg as boolean.

Always prefix the first arg with /* unset_environment= */.

6 months agojson: introduce json_dispatch_int8() and json_dispatch_uint8()
Yu Watanabe [Tue, 12 Mar 2024 05:06:04 +0000 (14:06 +0900)] 
json: introduce json_dispatch_int8() and json_dispatch_uint8()

6 months agostat-util: expose fd_is_read_only_fs()
Yu Watanabe [Wed, 13 Mar 2024 16:59:03 +0000 (01:59 +0900)] 
stat-util: expose fd_is_read_only_fs()

Currently it is not used, but the fucntion is already quite generic and
useful.

6 months agopo: add pkg/debian to POTFILES.skip
Piotr Drąg [Thu, 14 Mar 2024 12:50:12 +0000 (13:50 +0100)] 
po: add pkg/debian to POTFILES.skip

Debian packaging includes the exploded tarball, so scripts used to
detect files that should be in POTFILES.in, like intltool-update -m
used on https://l10n.gnome.org/module/systemd/, falsely detect its
files as needed to be translated. Avoid this behavior by putting
the whole submodule in POTFILES.skip.

6 months agoshell-completion: add systemd-cat --namespace=
Mike Yuan [Thu, 14 Mar 2024 12:15:10 +0000 (20:15 +0800)] 
shell-completion: add systemd-cat --namespace=

Follow-up for 45bcab66a9c23a74107118d310e09a46f28494fd

Addresses https://github.com/systemd/systemd/pull/31754#discussion_r1524715062

6 months agoMerge pull request #31754 from YHNdnzj/journal-fd-namespace
Yu Watanabe [Thu, 14 Mar 2024 10:59:19 +0000 (19:59 +0900)] 
Merge pull request #31754 from YHNdnzj/journal-fd-namespace

journal/cat: allow connecting output to specific journal namespace

6 months agoman: shorten unnecessarily long example
Lennart Poettering [Thu, 14 Mar 2024 08:57:44 +0000 (09:57 +0100)] 
man: shorten unnecessarily long example

6 months agoMerge pull request #31770 from poettering/linkat-replace
Lennart Poettering [Thu, 14 Mar 2024 10:03:59 +0000 (11:03 +0100)] 
Merge pull request #31770 from poettering/linkat-replace

introduce linkat_replace() helper, and port various things over to it

6 months agoptyfwd: fix typo
Yu Watanabe [Thu, 14 Mar 2024 08:40:24 +0000 (17:40 +0900)] 
ptyfwd: fix typo

Follow-up for d0aa368c85adf2efa29c363a6671927fe7e8e76f.

6 months agoTODO: fix typo
Yu Watanabe [Thu, 14 Mar 2024 08:39:09 +0000 (17:39 +0900)] 
TODO: fix typo

Follow-up for 54b0e05ed0db04d515ecf7773e39cd61b6445698.

6 months agostat-util: fix typo
Yu Watanabe [Thu, 14 Mar 2024 08:37:48 +0000 (17:37 +0900)] 
stat-util: fix typo

Follow-up for 7cff2b79f00e82c85d0773e8cb4074c59abc6f43.

6 months agocreds-util: port make_credential_host_secret() over to link_tmpfile_at() 31770/head
Lennart Poettering [Wed, 13 Mar 2024 11:45:22 +0000 (12:45 +0100)] 
creds-util: port make_credential_host_secret() over to link_tmpfile_at()

Let's simplify things by just reusing the primitives we already have.

6 months agotmpfile-util: port link_tmpfile_at() over to linkat_replace()
Lennart Poettering [Wed, 13 Mar 2024 11:43:43 +0000 (12:43 +0100)] 
tmpfile-util: port link_tmpfile_at() over to linkat_replace()

6 months agofs-util: add new helper linkat_replace()
Lennart Poettering [Tue, 12 Dec 2023 10:27:55 +0000 (11:27 +0100)] 
fs-util: add new helper linkat_replace()

6 months agofs-util: move link_fd() from tmpfile-util.c into generic fs-util.c
Lennart Poettering [Wed, 13 Mar 2024 16:48:04 +0000 (17:48 +0100)] 
fs-util: move link_fd() from tmpfile-util.c into generic fs-util.c

It's a generically useful call, let's move it so that we can use it at
more places.

6 months agopath-util: add helper that checks if a path definitely refers to a dir
Lennart Poettering [Wed, 13 Mar 2024 22:17:11 +0000 (23:17 +0100)] 
path-util: add helper that checks if a path definitely refers to a dir

6 months agoMerge pull request #31771 from keszybz/meson-make-partial-builds-great-again
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2024 07:23:04 +0000 (08:23 +0100)] 
Merge pull request #31771 from keszybz/meson-make-partial-builds-great-again

Meson make partial builds work again

6 months agojournal/cat: allow connecting output to specific journal namespace 31754/head
Mike Yuan [Wed, 13 Mar 2024 11:28:24 +0000 (19:28 +0800)] 
journal/cat: allow connecting output to specific journal namespace

6 months agounits: make systemd-journald@.socket installable
Mike Yuan [Wed, 13 Mar 2024 11:55:51 +0000 (19:55 +0800)] 
units: make systemd-journald@.socket installable

6 months agosd-journal: introduce sd_journal_stream_fd_with_namespace
Mike Yuan [Wed, 13 Mar 2024 10:50:23 +0000 (18:50 +0800)] 
sd-journal: introduce sd_journal_stream_fd_with_namespace

6 months agojournal-send: introduce journal_stream_path helper
Mike Yuan [Wed, 13 Mar 2024 10:43:53 +0000 (18:43 +0800)] 
journal-send: introduce journal_stream_path helper

6 months agopath-util: introduce skip_leading_slash and use it where appropriate
Mike Yuan [Wed, 13 Mar 2024 10:24:32 +0000 (18:24 +0800)] 
path-util: introduce skip_leading_slash and use it where appropriate

6 months agoMerge pull request #31761 from CodethinkLabs/vmspawn/bug_fixes
Luca Boccassi [Wed, 13 Mar 2024 23:37:50 +0000 (23:37 +0000)] 
Merge pull request #31761 from CodethinkLabs/vmspawn/bug_fixes

vmspawn: fix two minor bugs

6 months agocore/cgroup: introduce MemoryZSwapWriteback setting
Mike Yuan [Tue, 12 Mar 2024 08:14:00 +0000 (16:14 +0800)] 
core/cgroup: introduce MemoryZSwapWriteback setting

Added in
https://github.com/torvalds/linux/commit/501a06fe8e4c185bbda371b8cedbdf1b23a633d8

6 months agoMerge pull request #31758 from DaanDeMeyer/kvm
Daan De Meyer [Wed, 13 Mar 2024 23:16:43 +0000 (00:16 +0100)] 
Merge pull request #31758 from DaanDeMeyer/kvm

mkosi: Enable KVM

6 months agoMerge pull request #31584 from yuwata/sd-ndisc-option-parser-cleanups
Luca Boccassi [Wed, 13 Mar 2024 23:06:50 +0000 (23:06 +0000)] 
Merge pull request #31584 from yuwata/sd-ndisc-option-parser-cleanups

sd-ndisc: rewrite option parser

6 months agomkosi: Enable KVM 31758/head
Daan De Meyer [Wed, 13 Mar 2024 13:18:03 +0000 (14:18 +0100)] 
mkosi: Enable KVM

Since https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/,
it seems that KVM is supported on GA runners, so let's explicitly
enable it to make sure it is used.

We update mkosi to latest and set QemuFirmware=uefi to disable
secure boot which crashes qemu until https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2038777
is fixed.

6 months agomkosi: Allow booting without secure boot
Daan De Meyer [Wed, 13 Mar 2024 19:50:06 +0000 (20:50 +0100)] 
mkosi: Allow booting without secure boot

Don't fail if SecureBoot is not enabled. Instead, only execute
the secure boot related checks if secure boot is actually enabled.

6 months agoboot: Only use io.systemd.boot.kernel-cmdline-extra for type 1 images
Daan De Meyer [Wed, 13 Mar 2024 16:59:51 +0000 (17:59 +0100)] 
boot: Only use io.systemd.boot.kernel-cmdline-extra for type 1 images

Otherwise the cmdline is duplicated for UKIs.

6 months agobuild(deps): bump github/codeql-action from 3.24.6 to 3.24.7
dependabot[bot] [Wed, 13 Mar 2024 19:16:26 +0000 (19:16 +0000)] 
build(deps): bump github/codeql-action from 3.24.6 to 3.24.7

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.6 to 3.24.7.
- [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/8a470fddafa5cbb6266ee11b37ef4d8aae19c571...3ab4101902695724f9365a384f86c1074d94e18c)

---
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>
6 months agobuild(deps): bump pkg/debian from `49132a8` to `5451923`
dependabot[bot] [Wed, 13 Mar 2024 16:48:35 +0000 (16:48 +0000)] 
build(deps): bump pkg/debian from `49132a8` to `5451923`

Bumps pkg/debian from `49132a8` to `5451923`.

---
updated-dependencies:
- dependency-name: pkg/debian
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump actions/checkout from 4.1.1 to 4.1.2
dependabot[bot] [Wed, 13 Mar 2024 16:48:43 +0000 (16:48 +0000)] 
build(deps): bump actions/checkout from 4.1.1 to 4.1.2

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump meson from 1.3.2 to 1.4.0 in /.github/workflows
dependabot[bot] [Wed, 13 Mar 2024 16:48:38 +0000 (16:48 +0000)] 
build(deps): bump meson from 1.3.2 to 1.4.0 in /.github/workflows

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

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

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump softprops/action-gh-release from 1 to 2
dependabot[bot] [Wed, 13 Mar 2024 16:48:33 +0000 (16:48 +0000)] 
build(deps): bump softprops/action-gh-release from 1 to 2

Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/de2c0eb89ae2a093876385947365aca7b0e5f844...9d7c94cfd0a1f3ed45544c887983e9fa900f0564)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agomeson: always use vcs_tag 31771/head
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2024 17:33:59 +0000 (18:33 +0100)] 
meson: always use vcs_tag

The branch with configure_file() was broken: meson doesn't know that
this file is a prerequisite for other targets, so partial rebuilds were broken.
Easy reproducer:
  git mv .git{,.no}
  touch meson build && ninja -C build src/basic/libbasic.a
  rm build/version.h
  ninja -C build src/basic/libbasic.a

Using vcs_tag() also in that case makes meson always build the file.

(Combined with the issue fixed in previous commit, I was encountering
failed builds quite often.)

Fixes 3f6ce3d4f04de0f765bb3bde0e400d0823829486.

6 months agomeson: .git can also be a file
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2024 17:17:10 +0000 (18:17 +0100)] 
meson: .git can also be a file

With git-worktree, .git is just a file that specifies where
the parent git directory is. All the git information is available
in a git worktree, so it should be treated the same as a checkout
with a .git directory.

6 months agoMerge pull request #31673 from DaanDeMeyer/mkosi
Daan De Meyer [Wed, 13 Mar 2024 16:48:00 +0000 (17:48 +0100)] 
Merge pull request #31673 from DaanDeMeyer/mkosi

mkosi: Introduce packaging sources as submodules

6 months agovmspawn: fix FD passing logic 31761/head
Sam Leonard [Wed, 13 Mar 2024 15:20:40 +0000 (15:20 +0000)] 
vmspawn: fix FD passing logic

6 months agovmspawn: prefix extra kernel-cmdline-extra with -smbios
Sam Leonard [Wed, 13 Mar 2024 15:19:07 +0000 (15:19 +0000)] 
vmspawn: prefix extra kernel-cmdline-extra with -smbios

6 months agounits: Bump various oneshot unit timeouts to 90s
Daan De Meyer [Wed, 13 Mar 2024 09:26:52 +0000 (10:26 +0100)] 
units: Bump various oneshot unit timeouts to 90s

In mkosi, we've been having CI failures caused by
systemd-machine-id-commit.service timing out. Let's bump the timeout
for it and systemd-rfkill.service to 90s which we also use for other
oneshot services to avoid transient failures on slower systems.

6 months agofuzz: make sure DHCP client leases are loaded successfully
Evgeny Vereshchagin [Wed, 13 Mar 2024 11:55:11 +0000 (11:55 +0000)] 
fuzz: make sure DHCP client leases are loaded successfully

Now that fa3357b9e8d9d7a486902d0b6d4b4015fc10aac0 is merged the fuzz
target should no longer crash there.

6 months agomkosi: Drop leftover mkosi.kernel.config
Daan De Meyer [Wed, 13 Mar 2024 12:39:41 +0000 (13:39 +0100)] 
mkosi: Drop leftover mkosi.kernel.config

The rest of the kernel build infra for mkosi was already removed a
long time ago, but we forgot to remove this config file. Let's drop
it now as well;

6 months agoudev: add assert for EVENT_RESULT_EXIT_STATUS_BASE (#31710)
sharad3001 [Wed, 13 Mar 2024 13:25:22 +0000 (18:55 +0530)] 
udev: add assert for EVENT_RESULT_EXIT_STATUS_BASE (#31710)

EVENT_RESULT_EXIT_STATUS_BASE and EVENT_RESULT_SUCCESS has the same value.
Code updated to add assert statement for EVENT_RESULT_EXIT_STATUS_BASE.

6 months agonetwork/varlink: return StorageReadOnly error
Yu Watanabe [Wed, 13 Mar 2024 01:29:53 +0000 (10:29 +0900)] 
network/varlink: return StorageReadOnly error

Addresses https://github.com/systemd/systemd/pull/30021#discussion_r1521595855.

6 months agonetworkctl.c : call 'assert_not_reached' where appropriate
AKHIL KUMAR [Wed, 13 Mar 2024 06:32:59 +0000 (12:02 +0530)] 
networkctl.c : call 'assert_not_reached' where appropriate

networkctl.c : call 'assert_not_reached' where appropriate

6 months agonetworkd-manager: drop spurious return
Mike Yuan [Wed, 13 Mar 2024 11:04:54 +0000 (19:04 +0800)] 
networkd-manager: drop spurious return

Follow-up for f90eb086270f0aea8efcbff5a5e4c338d178cfd4

6 months agoMerge pull request #31746 from yuwata/network-unit-hide-boot-and-efi
Mike Yuan [Wed, 13 Mar 2024 12:40:07 +0000 (20:40 +0800)] 
Merge pull request #31746 from yuwata/network-unit-hide-boot-and-efi

unit: do not trigger automount for /boot and/or /efi

6 months agoMerge pull request #31729 from aafeijoo-suse/logind-cleanups
Luca Boccassi [Wed, 13 Mar 2024 11:27:35 +0000 (11:27 +0000)] 
Merge pull request #31729 from aafeijoo-suse/logind-cleanups

logind: coding style cleanups

6 months agoMerge pull request #31733 from poettering/polkit-more-flags
Lennart Poettering [Wed, 13 Mar 2024 11:11:27 +0000 (12:11 +0100)] 
Merge pull request #31733 from poettering/polkit-more-flags

add two more flags to polkit client wrapper

6 months agomkosi: Introduce packaging sources as submodules 31673/head
Daan De Meyer [Fri, 8 Mar 2024 10:33:25 +0000 (11:33 +0100)] 
mkosi: Introduce packaging sources as submodules

By always cloning the latest branch commit, we can't bisect properly
using mkosi as when bisecting wildly different packaging sources will
be used compared to when the commit was merged. By using submodules, we
track individual commits which means when bisecting the same packaging
sources will be used.

We use git submodules as dependabot has support for automatically making
PRs to update git submodules. This commit also includes the necessary
dependabot configuration to enable this.

We make ubuntu/debian use the same submodule instead of adding the debian
packaging sources twice by introducing a new $PKG_SUBDIR environment variable
and using it instead of $DISTRIBUTION.

6 months agomkosi: Remove some leftover shell debugging
Daan De Meyer [Sat, 9 Mar 2024 13:38:00 +0000 (14:38 +0100)] 
mkosi: Remove some leftover shell debugging

6 months agomkosi: Use same pkg/ subdirectory for debian and ubuntu
Daan De Meyer [Fri, 8 Mar 2024 11:57:31 +0000 (12:57 +0100)] 
mkosi: Use same pkg/ subdirectory for debian and ubuntu

Instead of cloning the same repository twice, let's make sure we
use the same directory for both debian/ubuntu.

6 months agoupdate TODO
Lennart Poettering [Wed, 13 Mar 2024 10:21:25 +0000 (11:21 +0100)] 
update TODO

6 months agoupdate TODO
Lennart Poettering [Wed, 13 Mar 2024 10:17:02 +0000 (11:17 +0100)] 
update TODO

6 months agopolkit: add another flag that controls how to treat the PK absent case 31733/head
Lennart Poettering [Wed, 28 Feb 2024 20:56:55 +0000 (21:56 +0100)] 
polkit: add another flag that controls how to treat the PK absent case

Typically if PK is not present we want to treat this as "denied". But
sometimes it makes sense to treat this case as "allowed".

In particular the combination POLKIT_ALWAYS_QUERY and
POLKIT_DEFAULT_ALLOW makes a lot of sense: it means we can enable PK
logic for actions where we so far bypassed the checks for root. With the
new combination we can have a default policy of allowing some operation
but still provide an effective hook to disable it.

Also add some debug logging about PK operations and results as they are ongoing.

6 months agopolkit: add new POLKIT_ALWAYS_QUERY flag
Lennart Poettering [Wed, 28 Feb 2024 20:31:53 +0000 (21:31 +0100)] 
polkit: add new POLKIT_ALWAYS_QUERY flag

When this flag is set we'll disable the local shortcut that skips polkit
checks for clients that are privileged, and assumes they are
authenticated.

Or in other words: if this flag is set, we'll query PK not matter what,
regardless if it's root we talk about or any other user.

6 months agopolkit: allow checking if we already acquired some action
Lennart Poettering [Wed, 28 Feb 2024 16:06:11 +0000 (17:06 +0100)] 
polkit: allow checking if we already acquired some action

This adds a new helper that basically just wraps
async_polkit_query_have_action() and allows calling this without
actually triggering a PK authentication operation: it just checks if we
aleady have acquired an action or not.

6 months agoMerge pull request #31731 from poettering/stat-is-set
Lennart Poettering [Wed, 13 Mar 2024 09:37:15 +0000 (10:37 +0100)] 
Merge pull request #31731 from poettering/stat-is-set

stat-util: add explicit helpers for checking if stat/statx is initialized

6 months agolocal-addresses: call 'assert_not_reached' where appropriate (#31728)
SidhuRupinder [Wed, 13 Mar 2024 05:16:46 +0000 (10:46 +0530)] 
local-addresses: call 'assert_not_reached' where appropriate (#31728)

Added code for calling the 'assert_not_reached' function as the value of the 'family' parameter must be either 'AF_INET' or 'AF_INET6'.

6 months agoMerge pull request #31727 from YHNdnzj/homed-followup
Mike Yuan [Wed, 13 Mar 2024 05:10:34 +0000 (13:10 +0800)] 
Merge pull request #31727 from YHNdnzj/homed-followup

data-fd-util: some cleanups

6 months agosd-ndisc-router: adjust function names and type of returned value 31584/head
Yu Watanabe [Thu, 29 Feb 2024 04:06:31 +0000 (13:06 +0900)] 
sd-ndisc-router: adjust function names and type of returned value

- prefix length and preference should be fit in uint8_t, and actually
  the kernel and networkd uses uint8_t to store them.
- captive portal is now stored as a NUL-terminated string. Hence, it
  is not necessary to also provide its length.

6 months agosd-ndisc-router: introduce sd_ndisc_router_get_sender_mac()
Yu Watanabe [Thu, 29 Feb 2024 03:45:51 +0000 (12:45 +0900)] 
sd-ndisc-router: introduce sd_ndisc_router_get_sender_mac()

The Router Advertisement option can take the MAC address of the sender.
Let's introduce a function to get it from the parsed options.

6 months agondisc-option: drop unused function
Yu Watanabe [Thu, 29 Feb 2024 03:43:03 +0000 (12:43 +0900)] 
ndisc-option: drop unused function

6 months agosd-ndisc-router: use ndisc_parse_options() and friends to parse Router Advertisement
Yu Watanabe [Thu, 29 Feb 2024 03:42:16 +0000 (12:42 +0900)] 
sd-ndisc-router: use ndisc_parse_options() and friends to parse Router Advertisement

6 months agondisc-option: introduce generic NDisc option parser
Yu Watanabe [Thu, 29 Feb 2024 03:31:58 +0000 (12:31 +0900)] 
ndisc-option: introduce generic NDisc option parser

It is not used in this commit, but will be used for parsing NDisc
options in Router Advertisement message and friends.

The parser does mostly equivalent to what currently we do in
sd-ndisc-router.c. Several notable differences are:
- also perse source and target link-layer address,
- refuse multiple captive portals,
- check if the captive portal is in safe characters, as previously we
  checked that in networkd-ndisc.c,
- dedup prefixes, routes, and pref64,
- limit the total number of options, for safety.

6 months agosd-ndisc: rename ndisc-protocol.[ch] -> ndisc-option.[ch]
Yu Watanabe [Fri, 8 Mar 2024 15:08:27 +0000 (00:08 +0900)] 
sd-ndisc: rename ndisc-protocol.[ch] -> ndisc-option.[ch]

6 months agounit: do not trigger automount for /boot and/or /efi 31746/head
Yu Watanabe [Wed, 13 Mar 2024 01:15:23 +0000 (10:15 +0900)] 
unit: do not trigger automount for /boot and/or /efi

ProtectSystem=full remounts /boot and/or /efi read-only, but that
may trigger automount for the paths and delay the service being started.
===
systemd[1]: boot.automount: Got automount request for /boot, triggered by 720 ((networkd))
===
The service does not need to access the paths, so let's hide them.

Follow-up for f90eb086270f0aea8efcbff5a5e4c338d178cfd4.

Fixes #31742.

6 months agounit: sort option
Yu Watanabe [Wed, 13 Mar 2024 01:14:48 +0000 (10:14 +0900)] 
unit: sort option

6 months agoMerge pull request #31735 from mrc0mmand/test-runner
Luca Boccassi [Wed, 13 Mar 2024 00:45:03 +0000 (00:45 +0000)] 
Merge pull request #31735 from mrc0mmand/test-runner

test: split logs from each test into separate files if requested

6 months agofs-utils: new wrapper fd_reopen_propagate_append_and_position()
Lars Ellenberg [Wed, 7 Feb 2024 12:12:50 +0000 (13:12 +0100)] 
fs-utils: new wrapper fd_reopen_propagate_append_and_position()

We may want to propagate O_APPEND, or (try to) keep the current file position,
even if we use fd_reopen() to re-initialize (and "unshare") other file
description status.

For now, used only with --pty to keep/propagate O_APPEND (and/or) position
if set on stdin/stdout.

If we re-open stdout and "drop" the O_APPEND,
we get rather "unexpected" behavior,
for example with repeated "systemd-run --pty >> some-log".

If someone carefully pre-positioned the passed in original file descriptors,
we avoid surprises if we do not reset file postition to zero.

fcntl F_GETFL first, and propagate O_APPEND if present in the existing flags.

Then use lseek to propagate the file position.

6 months agotest: split logs from each test into separate files if requested 31735/head
Frantisek Sumsal [Tue, 12 Mar 2024 12:11:16 +0000 (13:11 +0100)] 
test: split logs from each test into separate files if requested

If both $ARTIFACT_DIRECTORY and $SPLIT_TEST_LOGS are set, split the
output from each test into a separate log file, so we don't have to load
one ginormous log file when checking the results.

6 months agotest: clean up the integration test runner a bit
Frantisek Sumsal [Tue, 12 Mar 2024 11:52:45 +0000 (12:52 +0100)] 
test: clean up the integration test runner a bit

6 months agohomed: fix typo
Antonio Alvarez Feijoo [Tue, 12 Mar 2024 14:22:43 +0000 (15:22 +0100)] 
homed: fix typo

6 months agoci: reduce ASLR entropy
Frantisek Sumsal [Tue, 12 Mar 2024 13:49:55 +0000 (14:49 +0100)] 
ci: reduce ASLR entropy

The latest GH Action runners started using 32-bit entropy for ASLR,
which makes it incompatible with llvm-14. This was fixed in later llvm
releases, but these aren't available on Ubuntu Jammy (22.04). Let's
reduce the ASLR entropy to 28-bit, which should make llvm happy again,
until the issue is resolved.

See: https://github.com/actions/runner-images/issues/9491

6 months agoupdate TODO
Lennart Poettering [Tue, 12 Mar 2024 13:03:29 +0000 (14:03 +0100)] 
update TODO

6 months agocatalog: update Polish translation
Piotr Drąg [Sun, 3 Mar 2024 14:52:08 +0000 (15:52 +0100)] 
catalog: update Polish translation

6 months agoukify: really add default .sbat for UKIs
Luca Boccassi [Wed, 6 Mar 2024 01:12:19 +0000 (01:12 +0000)] 
ukify: really add default .sbat for UKIs

This was lost on refactor, and only addons had a default uki
line in the .sbat. Add it back, and differentiate between the
default for UKIs vs the default for addons, so that they can
be revoked separately. These are only defaults and users are
encouraged to provide their own.

Follow-up for a8b645dec8e6abf4c9ba0c93a6a0088953a2155e

6 months agoMerge pull request #31716 from evverx/fuzz-lease-save-load
Yu Watanabe [Tue, 12 Mar 2024 10:05:17 +0000 (19:05 +0900)] 
Merge pull request #31716 from evverx/fuzz-lease-save-load

fuzz: save/load DHCP client leases

6 months agostat-util: make sure inode_type_to_string() handles anonymous inodes in a reasonable way 31731/head
Lennart Poettering [Tue, 12 Mar 2024 09:45:24 +0000 (10:45 +0100)] 
stat-util: make sure inode_type_to_string() handles anonymous inodes in a reasonable way