Commit Graph
85541 Commits
Author SHA1 Message Date
Daan De Meyer a7e07aeaac locale: Gate conditional includes behind ifdef
Let's make sure clang-tidy doesn't complain on
distributions without locale-gen.
2026-01-02 09:39:32 +01:00
Daan De Meyer 1dcdb3e439 basic: Gate conditional includes behind ifdef 2026-01-02 09:39:32 +01:00
Daan De Meyer 831a1be45c libudev: Fix declaration argument names
Make sure these match the definition argument names.
2026-01-02 09:39:31 +01:00
Daan De Meyer 8f80b4dc2a sd-netlink: Use same argument name for rtnl definitions
We already have the same argument name as used in the
declarations available, let's use it so the declarations
and definitions match.
2026-01-02 09:39:31 +01:00
Daan De Meyer 1908e1543a sd-json: Fix sd_json_variant_type_to_string parameter name
The definition will use i because of the macro, so
let's use i in the declaration as well. We can't
use DECLARE_STRING_TABLE_LOOKUP_TO_STRING() because
sd-json.h is a libsystemd public header.
2026-01-02 09:39:31 +01:00
Daan De Meyer 2262b1c025 systemctl-daemon-reload: Add missing parameter name 2026-01-02 09:39:31 +01:00
Daan De Meyer d5ed05a2ce clang-tidy: Block system headers with errors
blkid.h and gmessages.h both use const for arguments that are passed
by value, which is pointless and triggers clang-tidy warnings, so exclude
them from processing.
2026-01-02 09:23:38 +01:00
Daan De Meyer 18842be4be tree-wide: Various coding style cleanups 2026-01-02 09:22:59 +01:00
Daan De Meyer 143c5c1ad7 sd-journal: Fix return value coding style
Let's always use ret, ret_data and ret_size for output arguments.

size is better than length in this case because we're dealing with
arbitrary, possibly binary, data and not strings.
2026-01-02 09:22:23 +01:00
Daan De Meyer 17ce971a9c sd-journal: Remove const from function parameter
boot_id is already passed by value, and hence copied.
Since we don't apply const to function parameters
that are copied anywhere else, let's drop the const
here as well for consistency.
2026-01-02 09:22:23 +01:00
DaanDeMeyer 46e3fef1a8 tree-wide: Drop NOLINTNEXTLINE comments
Not needed anymore after recent refactoring.
2026-01-02 09:22:23 +01:00
Daan De Meyer 944ae1286b tree-wide: Use pamh as pam_handle_t parameter name
libpam uses pamh in its function declarations for
the plugin API so let's use the same name in our
tree as well.

Making sure the plugin function definitions match
the plugin function declarations is required to
enable clang-tidy's
readability-inconsistent-declaration-parameter-name
check, but to keep things consistent everywhere we
opt to use pamh tree-wide.
2026-01-02 09:21:43 +01:00
Yu Watanabe 2553c53730 tools: drop unnecessary sys/capability.h header
After 9b414a38fa (#39425), the header is
not required. And after b295c166f9, the
header is not installed in CI environments.
2026-01-02 08:46:05 +01:00
Yu Watanabe 6d2c9c2203 tools: show each command to make it easier to debug 2026-01-02 08:46:05 +01:00
Yu Watanabe fe3c790f71 tools: allow to run setup-musl-build.sh for already set up directory 2026-01-02 08:46:05 +01:00
Yu Watanabe 508dc4c3fa Require libxcrypt >= 4.4.0 and drop libcrypt support (#38974)
This drops support of libcrypt provided by glibc, and always use
libxcrypt.
This also makes libxcrypt dlopen() dependency.
2026-01-02 14:32:12 +09:00
Yu Watanabe d0b224f845 libcrypt-util: turn into dlopen() dependency
Note, this drops logging only test case for crypt_preferred_method(),
as that requires explicitly dlopen() the library. But, we should test
that make_salt() and friends automatically dlopen() it.
2026-01-02 13:06:14 +09:00
Yu Watanabe 8de783a288 libcrypt: allow to build systemd without libcrypt/libxcrypt
libcrypt is only used by firstboot, homed, and sysusers, which can be
disabled by meson option.
Let's not require the library unconditionally.
2026-01-02 12:55:57 +09:00
Yu Watanabe 5863641bb7 Require libxcrypt-4.4.0 or newer and drop support of libcrypt
libcrypt was no longer built by default since glibc-2.38, and it has been
completely removed since glibc-2.39.

Let's always use libxcrypt, unless when building with musl. As already
major distribution already have libxcrypt-4.4.x, hence let's also bump
the required minimum version to 4.4.0.

libxcrypt cannot be built with musl, hence the previous fallback logic
in libcrypt-util.c are moved to musl/crypt.c.

Note, libxcrypt-4.4.0 was released on 2018-11-20.
See also #38608.
2026-01-02 12:55:53 +09:00
Yu Watanabe 431fc656bc Bump required minimum version of libseccomp to 2.4.0
Major distributions already have libseccomp 2.5.x or newer.
Let's bump to the required minimum version to 2.4.0, which provides
SCMP_ACT_KILL_PROCESS, SCMP_ACT_LOG, SCMP_ARCH_PARISC, and
SCMP_ARCH_PARISC64.

Note, libseccomp 2.4.0 was released on 2019-03-15.

See also #38608.
2026-01-02 12:54:18 +09:00
Yu Watanabe 8608d2e910 test-libcrypt-util: use DEFINE_TEST_MAIN() and ASSERT_XYZ()
Also, tests for make_salt() in test-user-util.c are moved to
test-libcrypt-util.c.
2026-01-02 12:54:01 +09:00
Yu Watanabe d5267b2275 libcrypt-util: add missing assertions 2026-01-02 12:54:01 +09:00
Yu Watanabe b26406c9c3 libcrypt-util: drop unused hash_passwrod_full()
It is only used by test cases. Not necessary to keep it.
2026-01-02 12:54:00 +09:00
Yu Watanabe d274748160 libcrypt-util: move looks_like_hashed_password()
No functional change, just preparation for later change.
2026-01-02 12:54:00 +09:00
Yu Watanabe 23c82484e7 Bump required minimum version of cryptsetup to 2.4.0
Major distributions already have cryptsetup newer than 2.4.0.
Let's bump the minimal required version.

Note, cryptsetup 2.4.0 was released on 2021-08-18.

See also #38608.
2026-01-02 11:15:17 +09:00
Yu Watanabe 9ba0e5674b Bump required minimum version of elfutils to 0.177
Major distributions already have elfutils >= 0.190.
Let's bump the required minimum version.

Note, elfutils 0.177 was released on 2019-08-14.

See also #38608.
2026-01-02 11:12:27 +09:00
Yu Watanabe e4fd21a777 Bump required minimum version of blkid to 2.37
Major distributions already have blkid >= 2.37.
Let's bump the minimal required version.

Note, util-linux (which provides blkid) 2.37 was released on 2021-06-01.

See also #38608.
2026-01-02 11:12:05 +09:00
Yu Watanabe 99d0a9fdb0 Bump required minimum version of OpenSSL to 3.0.0
All major distributions have switched to OpenSSL version 3.x.
Let's drop support of OpenSSL version 1.x.

Note, OpenSSL 3.0 was released on 2021-09-07 (and will be EOL on 2026-09-07).

See also #38608.
2026-01-02 11:09:52 +09:00
Yu Watanabe 33340fbe44 man: drop redundant 'and'
Also swap the order of entries, to make it consistent for other unit
types.

Follow-up for 79dd24cf14.
2026-01-02 09:52:31 +09:00
Adam Williamson b671f193e3 Enable systemd-coredump for offline updates
If a crash occurs during an offline update, we do not get a
coredump, because systemd-coredump is not enabled. This of course
complicates debugging.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-02 09:31:20 +09:00
Yu Watanabe cb9d854207 network: Support interface-bound ECMP routes in MultiPathRoute= (#39742)
MultiPathRoute= can now specify device-only nexthops without a gateway
address, e.g. MultiPathRoute=@wg0. This enables ECMP configurations over
interfaces that don't use gateway addresses, such as WireGuard tunnels.

The syntax is extended from "address[@device] [weight]" to
"[address]@device [weight]". The address is now optional, but at least
one of gateway or device must be specified. The @ symbol must still be
present for device-only routes, making the syntax unambiguous: @wg0
specifies a device, while a bare IP address specifies a gateway.

Device-only nexthops are only available for IPv4 routes. Device-only
multipath routes for IPv6 are not supported by the kernel's netlink
interface and will be rejected with a warning.

This change is fully backwards compatible. All existing configurations
continue to work unchanged, as they always included a gateway address.

Closes #39699.
2026-01-02 09:25:43 +09:00
Daan De Meyer 4e805ec152 vmspawn: Add --user/--system and support user session machined registration
The UX of registering with the user session machined
instance is much better as there won't be an authorization
prompt. To make that available for users, let's add --user
and --system switches for vmspawn. For backwards compat, we'll
still try to register with the system machined instance if the
user machined instance is not available.
2026-01-02 08:49:36 +09:00
Yu Watanabe 2ff1a84b19 docs: update password agent document (#40235)
Adding some missing information from the code to the docs.
2026-01-02 08:03:37 +09:00
Mike Yuan ca6b65991c udev,sysupdated: fix pidfd leak
Follow-up for 179dcf924f

After the mentioned commit, event_add_child_pidref() duplicates
the pidfd internally, hence the original pidfd would be leaked
with TAKE_PIDREF.
2026-01-02 07:59:15 +09:00
DaanDeMeyer 47d22e41e4 unit-def: Clean up whitespace 2026-01-02 06:28:39 +09:00
DaanDeMeyer ded0f85f7b openssl-util: Make ret_user_interface required output argument
To avoid the argument accidentally not getting passed anymore during
refactoring, let's make it a required output argument so that callers
are required to provide it.

See 11f47cb700 and
875b568f56.
2026-01-02 06:27:51 +09:00
Yu Watanabe f29a0b3151 dissect-image: fix typo
Follow-up for 771085291d.
2026-01-02 04:32:48 +09:00
Yu Watanabe 78247787e9 ssh-proxy: fix typo
Follow-up for dc3e544104.
2026-01-02 04:30:58 +09:00
Mike Yuan 05aea9f73b core/dynamic-user: drop unused /run/systemd/dynamic-uid/direct: kludge
Follow-up for 1684c56f40
This effectively reverts fd63e712b2

This was originally introduced to resolve deadlock caused by
dbus broker calling into nss-systemd which in turn goes via
dbus for user lookup. This is now handled differently and
the interface has been sitting unused for half a decade now.
Kill it.
2026-01-02 04:28:01 +09:00
Daan De Meyer aec52c1e6e string-table: Introduce DECLARE_STRING_TABLE_LOOKUP() and friends
Let's introduce these for the following two reasons:
- Using them makes sure the parameter names match between declaration
  and definition (if both use the corresponding macros).
- They make sure developers can't forget the _const_ and _pure_
  attributes for the declarations.

This commit also includes some include sorting fixes
2026-01-02 04:05:45 +09:00
Daan De Meyer daff8ea8bb tree-wide: Introduce DECLARE_TRIVIAL_REF_UNREF_FUNC() and friends 2026-01-02 04:04:19 +09:00
David Santamaría Rogado 11adc8bad5 quirks: Re-add D330 accel_matrix as identity one (#40226)
When testing to correct accelerometer values I set locally the identity
matrix to override the quirk. The values were fine but removing all the
matrices give incorrect values.

The mistake was thinking that identity matrix is the default one when no
quirks are set. It is, but only when the ACPI doesn't have another one.

Set identity matrix for this device to correct accelerometer values.

Follow-up for a07b184e8c.
2026-01-02 03:52:56 +09:00
David Santamaría Rogado e9b3bfb3f5 quirks: sensor: add info about ACPI accel_matrix
Just inform about if an ACPI accel matrix exists, is the default one instead
the indentity matrix.
2026-01-02 03:49:45 +09:00
tuhaowen 3c586354aa udev/scsi_id: increase MAX_SERIAL_LEN from 256 to 512
The current MAX_SERIAL_LEN value of 256 is insufficient for some SCSI
devices with non-standard serial number lengths. In do_scsi_page80_inquiry(),
the required buffer length is calculated as:

    len = 1 + VENDOR_LENGTH + MODEL_LENGTH + buf[3]
        = 1 + 8 + 16 + buf[3]
        = 25 + buf[3]

where buf[3] contains the serial number length reported by the device.
According to the SCSI specification, this field is an unsigned 8-bit
value, meaning it can theoretically be up to 255 bytes. This results
in a maximum required length of 280 bytes, exceeding the current limit
of 256 bytes.

When this occurs, scsi_id fails with an error message like:
    "length 256 too short - need 280"

This has been observed with certain vendor devices that report unusually
long serial numbers in VPD page 0x80.

Increase MAX_SERIAL_LEN to 512 to accommodate the maximum possible
serial number length plus all required prefixes (vendor, model, and
type identifiers), providing sufficient headroom for non-compliant
devices while maintaining reasonable memory usage.

Signed-off-by: tuhaowen <tuhaowen@uniontech.com>
2026-01-02 03:48:28 +09:00
dependabot[bot] ecfe1bddaf build(deps): bump meson from 1.9.1 to 1.10.0 in /.github/workflows
Bumps [meson](https://github.com/mesonbuild/meson) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.9.1...1.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-02 03:35:50 +09:00
dependabot[bot] 31ca68030b build(deps): bump actions/labeler from 5.0.0 to 6.0.1
Bumps [actions/labeler](https://github.com/actions/labeler) from 5.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/8558fd74291d67161a8a78ce36a881fa63b766a9...634933edcd8ababfe52f92936142cc22ac488b1b)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-02 03:35:36 +09:00
dependabot[bot] 5323c6e47c build(deps): bump redhat-plumbers-in-action/gather-pull-request-metadata
Bumps [redhat-plumbers-in-action/gather-pull-request-metadata](https://github.com/redhat-plumbers-in-action/gather-pull-request-metadata) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/redhat-plumbers-in-action/gather-pull-request-metadata/releases)
- [Commits](https://github.com/redhat-plumbers-in-action/gather-pull-request-metadata/compare/5da2967931dd7c4b9ccd22f49b045e2c1f05165b...b3dbc3f843e8343dbcb2af5bffba72c974d3a07a)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/gather-pull-request-metadata
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-02 03:35:21 +09:00
Ben Boeckel 0d15b2304b docs/PASSWORD_AGENTS: document the AcceptCached= field 2025-12-31 10:59:41 -05:00
Ben Boeckel 9f4606c361 docs/PASSWORD_AGENTS: document the Silent= field 2025-12-31 10:59:25 -05:00
Ben Boeckel dc08cb1eb8 docs/PASSWORD_AGENTS: clarify that Echo=0 may obscure 2025-12-31 10:58:53 -05:00