]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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.

2 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.

2 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.

2 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>
2 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>
2 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>
2 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>
2 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>
2 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

2 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

2 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

2 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.

2 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.

2 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;

2 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.

2 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.

2 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

2 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

2 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

2 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

2 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

2 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.

2 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

2 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.

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

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

2 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.

2 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.

2 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.

2 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

2 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'.

2 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

2 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.

2 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.

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

2 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

2 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.

2 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]

2 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.

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

2 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

2 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.

2 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.

2 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

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

2 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

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

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

2 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

2 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

2 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

2 months agologind-inhibit: get rid of basename() in inhibitor_new() 31729/head
Antonio Alvarez Feijoo [Tue, 12 Mar 2024 09:43:31 +0000 (10:43 +0100)] 
logind-inhibit: get rid of basename() in inhibitor_new()

Follow-up to #31594

2 months agologind: place 'ret' param at last
Antonio Alvarez Feijoo [Tue, 12 Mar 2024 09:39:08 +0000 (10:39 +0100)] 
logind: place 'ret' param at last

Follow-up to 2454cee32e

2 months agostat-util: add explicit helpers for checking if stat/statx is initialized
Lennart Poettering [Tue, 12 Mar 2024 09:23:34 +0000 (10:23 +0100)] 
stat-util: add explicit helpers for checking if stat/statx is initialized

This is a follow-up for 945a8210c770801c8492eda03b6e9af3ec5d03a3 and
makes the st_dev check generic, so that we can reuse it some other
places. It also incorporates the non-NULL check now, to be a
comprehensive one-stop solution.

The helper is static inline so that compilers can optimize the redundant
checks away in case it is combined with other checks.

2 months agohomework-cifs: log correct errno 31727/head
Mike Yuan [Tue, 12 Mar 2024 07:49:27 +0000 (15:49 +0800)] 
homework-cifs: log correct errno

Follow-up for 606a1f203c8871871bc8c5833d66ccbef870b010

2 months agodata-fd-util: accept size == SIZE_MAX and translate that to strlen
Mike Yuan [Tue, 12 Mar 2024 07:42:23 +0000 (15:42 +0800)] 
data-fd-util: accept size == SIZE_MAX and translate that to strlen

Like what we already do at other places

2 months agodata-fd-util: some modernization
Mike Yuan [Tue, 12 Mar 2024 07:10:03 +0000 (15:10 +0800)] 
data-fd-util: some modernization

2 months agofileio,data-fd-util: use U64_* more
Mike Yuan [Tue, 12 Mar 2024 07:09:05 +0000 (15:09 +0800)] 
fileio,data-fd-util: use U64_* more

2 months agoenv-util: remove unneeded DISABLE_WARNING_FORMAT_NONLITERAL
Mike Yuan [Tue, 12 Mar 2024 06:23:36 +0000 (14:23 +0800)] 
env-util: remove unneeded DISABLE_WARNING_FORMAT_NONLITERAL

_printf_ is used, so this shouldn't emit a warning
in the first place.

2 months agoMerge pull request #31671 from AdrianVovk/homework-cifs-credentials
Mike Yuan [Tue, 12 Mar 2024 07:40:43 +0000 (15:40 +0800)] 
Merge pull request #31671 from AdrianVovk/homework-cifs-credentials

homework-cifs: Pass password via fd

2 months agoMerge pull request #31713 from YHNdnzj/pidref-equal
Mike Yuan [Tue, 12 Mar 2024 06:15:36 +0000 (14:15 +0800)] 
Merge pull request #31713 from YHNdnzj/pidref-equal

pidref: use fd_inode_same to compare pidfds

2 months agoMerge pull request #30021 from yuwata/dhcp-client-id-cleanups
Yu Watanabe [Tue, 12 Mar 2024 04:40:09 +0000 (13:40 +0900)] 
Merge pull request #30021 from yuwata/dhcp-client-id-cleanups

dhcp-server: save bound leases to persistent storage, and load it on start

2 months agotests/run-unit-tests: add option to skip tests
Ross Burton [Mon, 11 Mar 2024 16:41:02 +0000 (16:41 +0000)] 
tests/run-unit-tests: add option to skip tests

In automated QA environments there may be tests that are known to fail,
and being able to skip them is useful to remove known failures from the
test log.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 months agoMerge pull request #31721 from aafeijoo-suse/service-util-help-fix
Luca Boccassi [Mon, 11 Mar 2024 18:13:57 +0000 (18:13 +0000)] 
Merge pull request #31721 from aafeijoo-suse/service-util-help-fix

shared/service-util: actually use the `bus_introspect` argument in `help()`

2 months agotest/run-unit-tests: sort the test cases we're executing
Ross Burton [Mon, 11 Mar 2024 13:59:55 +0000 (13:59 +0000)] 
test/run-unit-tests: sort the test cases we're executing

When reading test logs manually it is a lot easier when the tests are
sorted by name rather than by disk order.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 months agohomework-cifs: Pass password via fd 31671/head
Adrian Vovk [Thu, 7 Mar 2024 18:38:26 +0000 (13:38 -0500)] 
homework-cifs: Pass password via fd

Pass the password into mount.cifs via a file descriptor, rather
than putting it into a plain-text file in /tmp. This uses the $PASSWD_FD
environment variable, which is undocumented but has existed since
forever (initial commit from 2010 [1] has it already)

[1]:
https://git.samba.org/?p=cifs-utils.git;a=blob;f=mount.cifs.c;hb=ce0b1609a9eedce6c5eb20eab287ea44217c0a6a#l1477

2 months agotest-network: add test case for DHCP server lease file 30021/head
Yu Watanabe [Mon, 26 Feb 2024 06:22:11 +0000 (15:22 +0900)] 
test-network: add test case for DHCP server lease file

2 months agonetwork/dhcp-server: save leases in state directory
Yu Watanabe [Fri, 1 Mar 2024 03:10:49 +0000 (12:10 +0900)] 
network/dhcp-server: save leases in state directory

Then, we can read the lease file on restart, and the DHCP server will be
able to manage previously assigned addresses.

To save leases in the state directory /var/lib/systemd/network/, this
adds systemd-networkd-dhcp-server.service, and by default
systemd-networkd does not start the DHCP server without the heler
service started.

Closes #29991.

2 months agofuzz-dhcp-server: also test saving and loading lease file
Yu Watanabe [Sun, 10 Mar 2024 05:59:53 +0000 (14:59 +0900)] 
fuzz-dhcp-server: also test saving and loading lease file

2 months agosd-dhcp-server: introduce sd_dhcp_server_set_lease_file() and dhcp_server_{save,load...
Yu Watanabe [Tue, 2 Jan 2024 21:07:17 +0000 (06:07 +0900)] 
sd-dhcp-server: introduce sd_dhcp_server_set_lease_file() and dhcp_server_{save,load}_leases().

The functionality is not used networkd yet in this commit, but will be
used in later commits.

2 months agosd-dhcp-server: also expose lease expiration timestamp in realtime
Yu Watanabe [Fri, 1 Mar 2024 01:37:51 +0000 (10:37 +0900)] 
sd-dhcp-server: also expose lease expiration timestamp in realtime

Here, we use map_clock_usec_raw(), instead of map_clock_usec() to reduce
number of calls of now() -> clock_gettime().

2 months agotime-util: expose map_clock_usec_internal() as map_clock_usec_raw()
Yu Watanabe [Wed, 6 Mar 2024 00:57:06 +0000 (09:57 +0900)] 
time-util: expose map_clock_usec_internal() as map_clock_usec_raw()

This will be used later.

2 months agosd-dhcp-server-lease: move functions to build json format
Yu Watanabe [Tue, 2 Jan 2024 21:07:05 +0000 (06:07 +0900)] 
sd-dhcp-server-lease: move functions to build json format

No functional change, just preparation for later commits.

2 months agosd-dhcp-server: refuse invalid hostname in request
Yu Watanabe [Mon, 11 Mar 2024 16:47:17 +0000 (01:47 +0900)] 
sd-dhcp-server: refuse invalid hostname in request

Currently, the received hostname is not used for assigning an address to
the host, or options in the subsequent reply message. But, the parsed
hostname is exposed through DBus, and possibly Varlink in the future.
Let's ignore spurious hostname.

2 months agodhcp-option: refuse control and non-UTF8 characters in string option
Yu Watanabe [Mon, 11 Mar 2024 16:32:03 +0000 (01:32 +0900)] 
dhcp-option: refuse control and non-UTF8 characters in string option

We oftem save parsed DHCP options into a file, or expose them
through DBus or Varlink. In such case, control characters or non-UTF8
characters may cause many kind of unexpected errors. In general, a DHCP
message that have string options with spurious characters is mostly
malformed or broken. Let's refuse them.

This also makes dhcp_option_parse_string() do not free 'ret' argument,
to follow our usual coding style. So, callers now need to free the
pre-exisitng string if necessary.

Fixes #31708.

2 months agotest-network: add support for systemd-networkd-persistent-storage.service
Yu Watanabe [Fri, 1 Mar 2024 03:09:00 +0000 (12:09 +0900)] 
test-network: add support for systemd-networkd-persistent-storage.service

2 months agonetworkctl: introduce "persistent-storage" command
Yu Watanabe [Mon, 26 Feb 2024 01:33:20 +0000 (10:33 +0900)] 
networkctl: introduce "persistent-storage" command

Then, this introduces systemd-networkd-persistent-storage.service.

systemd-networkd.service is an early starting service. So, at the time
it is started, the persistent storage for the service may not be ready,
and we cannot use StateDirectory=systemd/network in
systemd-networkd.service.

The newly added systemd-networkd-persistent-storage.service creates the
state directory for networkd, and notify systemd-networkd that the
directory is usable.

2 months agonetwork/varlink: introduce io.systemd.Network.SetPersistentStorage method
Yu Watanabe [Fri, 1 Mar 2024 02:21:56 +0000 (11:21 +0900)] 
network/varlink: introduce io.systemd.Network.SetPersistentStorage method

And make the networkd use state directory.

Currently, the state directory and the method are not used, but will be used later.

2 months agodata-fd-util: Fixup header
Adrian Vovk [Mon, 11 Mar 2024 16:23:06 +0000 (12:23 -0400)] 
data-fd-util: Fixup header

inttypes.h doesn't define size_t

2 months agotest-network: copy system unit files from build or source directory
Yu Watanabe [Fri, 1 Mar 2024 04:38:59 +0000 (13:38 +0900)] 
test-network: copy system unit files from build or source directory

Addresses https://github.com/systemd/systemd/pull/30021#issuecomment-1971090682.

2 months agotest-network: drop unused options and variables
Yu Watanabe [Fri, 1 Mar 2024 04:21:20 +0000 (13:21 +0900)] 
test-network: drop unused options and variables

This also renames several variables, and replace RuntimeError with
assert.

2 months agopidref: use fd_inode_same to compare pidfds 31713/head
Mike Yuan [Mon, 11 Mar 2024 08:41:51 +0000 (16:41 +0800)] 
pidref: use fd_inode_same to compare pidfds

2 months agostat-util: struct stat could be initialized with (st_mode & S_IFMT == 0)
Mike Yuan [Mon, 11 Mar 2024 10:27:50 +0000 (18:27 +0800)] 
stat-util: struct stat could be initialized with (st_mode & S_IFMT == 0)

For anonymous inodes, the result would be 0, but
the struct stat is initialized obviously.
So let's switch to st_dev for the check, which
is guaranteed to be non-zero.

Also this is completely unnecessary for statx(),
since we check stx_mask first and that on its own
denotes that the struct is initialized.

2 months agostat-util: introduce fd_inode_same
Mike Yuan [Mon, 11 Mar 2024 08:28:30 +0000 (16:28 +0800)] 
stat-util: introduce fd_inode_same

2 months agopolkit: update the rest of bus_verify_polkit_async_full() calls to new flags parameter
Luca Boccassi [Mon, 11 Mar 2024 12:15:52 +0000 (12:15 +0000)] 
polkit: update the rest of bus_verify_polkit_async_full() calls to new flags parameter

Looks like the compiler doesn't even notice these were left over
as the types end up matching somehow

Follow-up for 29556b75d8025580eebe160a1fa1459965912ee2

2 months agofd-util: beef up fd_verify_safe_flags() features
Lennart Poettering [Tue, 27 Feb 2024 16:50:45 +0000 (17:50 +0100)] 
fd-util: beef up fd_verify_safe_flags() features

Let's make fd_verify_safe_flags() even more useful:

1. let's return the cleaned up flags (i.e. just the access mode) after
   validation, hiding all the noise, such as O_NOFOLLOW, O_LARGEFILE and
   similar.

2. let's add a "full" version of the call that allows passing additional
   flags that are OK to be set.

2 months agoshared/service-util: actually use the `bus_introspect` argument in `help()` 31721/head
Antonio Alvarez Feijoo [Mon, 11 Mar 2024 12:56:30 +0000 (13:56 +0100)] 
shared/service-util: actually use the `bus_introspect` argument in `help()`

If `bus_introspect` is false, do not print the `--bus-introspect=PATH` option.

Also, modernize help output.

2 months agoMerge pull request #31711 from YHNdnzj/gpt-auto-has-node
Luca Boccassi [Mon, 11 Mar 2024 12:40:22 +0000 (12:40 +0000)] 
Merge pull request #31711 from YHNdnzj/gpt-auto-has-node

gpt-auto: ignore fstab_has_node failure

2 months agotree-wide: drop custom formatting for print() help messages
Antonio Alvarez Feijoo [Mon, 11 Mar 2024 12:34:34 +0000 (13:34 +0100)] 
tree-wide: drop custom formatting for print() help messages

Follow-up for bc556335b1c568c98688cc1f586b5f753fcddac6

2 months agopolkit: turn "interactive" flag to polkit APIs into a proper flags field (#31715)
Lennart Poettering [Mon, 11 Mar 2024 11:57:45 +0000 (12:57 +0100)] 
polkit: turn "interactive" flag to polkit APIs into a proper flags field (#31715)

This adds for both the D-Bus and the Varlink flavours of our polkit
client api a flags parameter. And then folds the "bool interactive" flag
that the D-Bus version so far had, into a flag, and also adds support
for it in the Varlink API.

Since this means the Varlink API gained another parameter, let's do what
we already did for the D-Bus API and add a _full() version of the API
that has the flags and the good_uid parameter, and one without both.

2 months agobasic: add PIDFS magic (#31709)
cpackham-atlnz [Mon, 11 Mar 2024 11:55:36 +0000 (00:55 +1300)] 
basic: add PIDFS magic (#31709)

Kernel commit cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b added pidfs.
Update filesystems-gperf.gperf and missing_magic.h accordingly.

This fixes the following error building against a bleeding edge kernel.
```
../src/basic/meson.build:234:8: ERROR: Problem encountered: Unknown filesystems defined in kernel headers:

Filesystem found in kernel header but not in filesystems-gperf.gperf: PID_FS_MAGIC
```