]>
git.ipfire.org Git - thirdparty/systemd.git/log
Luca Boccassi [Mon, 18 May 2026 11:26:28 +0000 (12:26 +0100)]
meson: bump library sonames for v261~rc1
Luca Boccassi [Mon, 18 May 2026 11:24:56 +0000 (12:24 +0100)]
Update po files
ninja -C build systemd-update-po
Luca Boccassi [Mon, 18 May 2026 11:18:45 +0000 (12:18 +0100)]
Update pot file
ninja -C build systemd-pot
Luca Boccassi [Mon, 18 May 2026 11:18:04 +0000 (12:18 +0100)]
Update syscall numbers
ninja -C build update-syscall-tables update-syscall-header
Luca Boccassi [Mon, 18 May 2026 11:17:23 +0000 (12:17 +0100)]
Update hwdb autosuspend rules
ninja -C build update-hwdb-autosuspend
Luca Boccassi [Mon, 18 May 2026 11:16:44 +0000 (12:16 +0100)]
Update hwdb
ninja -C build update-hwdb
Luca Boccassi [Mon, 18 May 2026 10:50:07 +0000 (11:50 +0100)]
NEWS: add new items for v261~rc1
ishwarbb [Mon, 23 Mar 2026 13:02:40 +0000 (13:02 +0000)]
resolved: add configurable DNS cache size
Add CacheSize= option to [Resolve] section of resolved.conf to allow
configuring the maximum number of entries in the per-scope DNS cache.
The default remains 4096 entries. Setting this to 0 disables caching
(similar to Cache=no).
CacheSize= is only read when Cache=yes or Cache=no-negative. When
Cache=no, caching is fully disabled regardless of CacheSize=.
Changes:
- Add cache_size field to Manager struct
- Parse CacheSize= from resolved.conf via gperf
- Thread cache_size through dns_cache_put() and helper functions
- Replace hard-coded CACHE_MAX with the configurable cache_size
- When cache_size is 0 or Cache=no, flush cache and skip caching
- Add man page documentation for the new option
- Add unit tests for cache size enforcement
Co-developed-by: Claude <claude@anthropic.com>
Zbigniew Jędrzejewski-Szmek [Mon, 18 May 2026 10:42:02 +0000 (12:42 +0200)]
tree-wide: stop using lambda assignment in Python code (#42145)
Follow-up for #40758.
Luca Boccassi [Mon, 18 May 2026 10:16:48 +0000 (11:16 +0100)]
sd-json: add sd_json_parse_fd() + flags (#42136)
In particular in the recent LUO work we started to read JSON a lot from
fds, let's add some helpers to make that simpler.
No change in behaviour, just helpers to shorten code.
Lennart Poettering [Sun, 17 May 2026 06:46:59 +0000 (08:46 +0200)]
test: add unit test for new sd-json functionality
Lennart Poettering [Sun, 17 May 2026 06:56:56 +0000 (08:56 +0200)]
man: add documentation for new sd-json features
Lennart Poettering [Sun, 17 May 2026 06:00:48 +0000 (08:00 +0200)]
tree-wide: make use of sd_json_parse_fd() where appropriate
Lennart Poettering [Fri, 15 May 2026 10:22:04 +0000 (12:22 +0200)]
sd-json: add sd_json_parse_fd() helper
Lennart Poettering [Sun, 17 May 2026 06:00:01 +0000 (08:00 +0200)]
homed: port one over one sd_json_parse_file() invocation to SD_JSON_PARSE_SEEK0
Lennart Poettering [Thu, 14 May 2026 06:45:35 +0000 (08:45 +0200)]
sd-json: add SD_JSON_PARSE_SEEK0 flag
Lennart Poettering [Mon, 18 May 2026 06:44:19 +0000 (08:44 +0200)]
update TODO
Luca Boccassi [Sun, 17 May 2026 23:17:27 +0000 (00:17 +0100)]
boot: fix off-by-one truncation when reading efivars
'val' is allocated as 'size + 1', so the NUL terminator must be written
to 'size', rather than 'size - 1'.
Follow-up for
fab82756462fd0ce82836e3d95721954d7ab2527
Yu Watanabe [Sun, 17 May 2026 23:40:44 +0000 (08:40 +0900)]
network/address: drop duplicated address earlier
network_adjust_dhcp_server() searches network->addresses_by_section,
hence without this change, an address entry picked by
network_adjust_dhcp_server() may be detached and freed by the cleanup
function.
Jörg Behrmann [Wed, 25 Feb 2026 10:05:34 +0000 (11:05 +0100)]
ci/linter: stop ignoring lambda assignment lint
Jörg Behrmann [Wed, 25 Feb 2026 10:00:54 +0000 (11:00 +0100)]
test-network: make masq a proper function
Jörg Behrmann [Wed, 25 Feb 2026 09:59:04 +0000 (10:59 +0100)]
test-network: factor out common functions
Jörg Behrmann [Wed, 25 Feb 2026 09:43:08 +0000 (10:43 +0100)]
test-network: factor out common enum
Jörg Behrmann [Wed, 25 Feb 2026 09:42:31 +0000 (10:42 +0100)]
test-network: remove unused variable
Jörg Behrmann [Wed, 25 Feb 2026 09:26:59 +0000 (10:26 +0100)]
hwdb/ids_parser: make text_eol a proper function
Jörg Behrmann [Wed, 25 Feb 2026 09:26:15 +0000 (10:26 +0100)]
ukify: factor out method for value parsing in ConfigItem
Yu Watanabe [Sun, 17 May 2026 22:46:19 +0000 (07:46 +0900)]
dhcp-message: introduce dhcp_message_{payload,packet}_size()
Yu Watanabe [Sun, 17 May 2026 22:26:44 +0000 (07:26 +0900)]
Introduce several more helper functions to read sysfs attributes and use them where applicable (#41065)
Let's not use sd_device_get_sysattr_value() unless the result is
sanitized, escaped, or filtered.
Yu Watanabe [Sun, 17 May 2026 22:26:11 +0000 (07:26 +0900)]
Apply "ruff format" and "ruff check --fix" for all python scripts (#40758)
RiskoZS [Sun, 17 May 2026 20:28:52 +0000 (16:28 -0400)]
hwdb: Add keymap for Lenovo 15IRX9 (#42141)
This adds a mapping for the Fn+F9 key (used to launch Lenovo Vantage
on Windows) on the Lenovo LOQ 15IRX9 gaming laptop.
Luca Boccassi [Sun, 17 May 2026 17:22:20 +0000 (18:22 +0100)]
dhcp-client: clear overloaded sname/file fields after parsing
When SD_DHCP_OPTION_OVERLOAD indicates that the sname and/or file header
fields are overloaded with extra DHCP options, dhcp_message_parse() merges
those options into message->options but leaves the raw bytes untouched in
the header. As a result, dhcp_message_build() emits the header (including
the overloaded bytes) verbatim, and the next parse re-parses those bytes,
appending duplicate entries to the options map (each tag's iov list grows).
Subsequent builds then differ from the first, breaking the parse/build
roundtrip.
This was caught by fuzz-dhcp-client, which asserts that two consecutive
build calls produce identical output.
Zero out the overloaded fields after parsing them, since their content has
already been merged into the options map. This makes the roundtrip
idempotent and avoids re-emitting stale overloaded data in the rebuilt
header. The JSON build/parse path was already correct (it omits sname/file
from the JSON when the overload bit is set), so only the binary path needed
fixing.
Fixes https://github.com/systemd/systemd/issues/42139
Co-developed-by: Claude Opus 4.7 <noreply@anthropic.com>
Yu Watanabe [Thu, 12 Mar 2026 05:37:37 +0000 (14:37 +0900)]
udev-builtin-input-id: drop unused value
Yu Watanabe [Wed, 11 Mar 2026 22:07:12 +0000 (07:07 +0900)]
tree-wide: use device_get_sysattr_unsigned() and friends
Yu Watanabe [Sun, 17 May 2026 16:10:17 +0000 (01:10 +0900)]
udev-builtin-usb_id: make set_usb_iftype() and friends return const char*
Yu Watanabe [Wed, 11 Mar 2026 22:06:00 +0000 (07:06 +0900)]
udev-builtin-usb_id: use device_get_sysattr_unsigned() and friends
This also fix the parser of bInterfaceClass from safe_atoi() to
safe_atou_full() as it is unsigned hex.
Yu Watanabe [Thu, 12 Mar 2026 00:53:13 +0000 (09:53 +0900)]
sd-device: also add device_get_sysattr_streq()
Yu Watanabe [Thu, 12 Mar 2026 00:48:22 +0000 (09:48 +0900)]
sd-device: also add device_get_sysattr_u8() and _u16()
Yu Watanabe [Thu, 12 Mar 2026 00:26:29 +0000 (09:26 +0900)]
sd-device: use macro to define device_get_sysattr_int() and friends
Yu Watanabe [Thu, 12 Mar 2026 00:19:34 +0000 (09:19 +0900)]
test: add test cases for device_get_sysattr_int() and friends
Yu Watanabe [Thu, 12 Mar 2026 00:00:10 +0000 (09:00 +0900)]
sd-device: rename argument names for storing result
When a function takes only one argument for storing result, the argument
is not necessary to be named as ret_xyz, but ret should be enough.
Yu Watanabe [Wed, 11 Mar 2026 22:00:06 +0000 (07:00 +0900)]
tree-wide: use device_get_sysattr_safe_string()
The obtained strings are passed to another function, e,g, handled as a
path and opened, printed to the terminal, written to a file, saved to
udev database as udev property, exposed through DBus, passed to logger,
and so on. Hence, these should not contain any malicious characters.
Yu Watanabe [Sun, 17 May 2026 15:52:29 +0000 (00:52 +0900)]
udev-builtin-net_id: quote strings in log messages
Yu Watanabe [Fri, 13 Mar 2026 20:40:14 +0000 (05:40 +0900)]
udev-builtin-net_id: use EINVAL when we get unexpected sysattr value
The results are completely ignored or only checked if it is negative or
not. Hence, this does not change anything.
Yu Watanabe [Wed, 11 Mar 2026 22:16:46 +0000 (07:16 +0900)]
udev: drop redundant checks
This partially reverts
16325b35fa6ecb25f66534a562583ce3b96d52f3 ,
as bad characters are already filtered.
Yu Watanabe [Wed, 11 Mar 2026 22:14:44 +0000 (07:14 +0900)]
Revert "udev-builtin-net-id: print cescaped bad attributes"
This reverts commit
7c4047957ef58744ecfad6d277f7c45d430f6d70 .
This is not necessary, as bad characters are already filtered.
Yu Watanabe [Wed, 11 Mar 2026 22:09:44 +0000 (07:09 +0900)]
udev: use device_get_sysattr_safe_string() in device_get_sysattr_value_filtered()
Then, renamed to device_get_sysattr_safe_string_filtered().
Yu Watanabe [Wed, 11 Mar 2026 20:44:51 +0000 (05:44 +0900)]
sd-device: use device_get_sysattr_safe_string()
The read value are exposed by sd_device_get_subsystem() and friends.
Hence, it is better to filter invalid characters.
Of course, these should be always safe unless the kernel is buggy.
But, just for safety.
Note, even if uevent file contains invalid characters, then
device_read_uevent_file() should succeed without parsing the contents.
The caller should fail later with a proper error code if a necessary
field is unset. E.g. sd_device_get_ifindex() should still return -ENOENT
even when uevent file contains an invalid characters.
Yu Watanabe [Wed, 11 Mar 2026 20:39:42 +0000 (05:39 +0900)]
sd-device: introduce device_get_sysattr_safe_string()
This introduce a helper function that verifies read sysattr value.
Some sysattr value may come from firmware, and kernel may expose unsafe
string. The introduced function should be used when we use the result as
a string.
Yu Watanabe [Sun, 17 May 2026 15:18:23 +0000 (00:18 +0900)]
string-util: introduce STRING_ALLOW_NEWLINES switch for string_is_safe()
This also make StringSafeFlags defined in basic-forward.h so other
headers can use the enum.
Jörg Behrmann [Tue, 24 Feb 2026 17:08:30 +0000 (18:08 +0100)]
emacs: add settings for Python modes
Both python-mode and python-ts-mode are shipped by Emacs nowadays, with the
latter being the more modern tree-sitter-based one. Even though they are
similar, the newer one doesn't automatically take the older ones settings.
Jörg Behrmann [Tue, 24 Feb 2026 17:03:54 +0000 (18:03 +0100)]
ci/linter: show diffs for ruff check when possible
Yu Watanabe [Thu, 19 Feb 2026 19:19:19 +0000 (04:19 +0900)]
ci/linter: run ruff for all python scripts
Yu Watanabe [Sun, 17 May 2026 17:51:35 +0000 (02:51 +0900)]
proxy-echo: apply "ruff check --fix"
Yu Watanabe [Sun, 17 May 2026 17:49:29 +0000 (02:49 +0900)]
fake-report-server: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Sun, 17 May 2026 17:48:35 +0000 (02:48 +0900)]
fake-imds: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Sun, 17 May 2026 17:47:09 +0000 (02:47 +0900)]
merge-bpf-compdb: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:12:42 +0000 (02:12 +0900)]
xml_helper: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:12:28 +0000 (02:12 +0900)]
update-man-rules: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:12:16 +0000 (02:12 +0900)]
update-dbus-docs: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:12:00 +0000 (02:12 +0900)]
sync-docs: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:11:46 +0000 (02:11 +0900)]
meson-render-jinja2: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:11:31 +0000 (02:11 +0900)]
meson-extract-unit-files: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:11:19 +0000 (02:11 +0900)]
make-man-index: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:11:03 +0000 (02:11 +0900)]
make-directive-index: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:10:48 +0000 (02:10 +0900)]
list-discoverable-partitions: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:10:14 +0000 (02:10 +0900)]
generate-gperfs: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:10:00 +0000 (02:10 +0900)]
gdb-sd_dump_hashmaps: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:09:45 +0000 (02:09 +0900)]
find-unused-library-symbols: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:09:19 +0000 (02:09 +0900)]
fetch-mkosi: apply "ruff format" and "ruff check --fix"
This also makes CONFIG is closed when not necessary.
Yu Watanabe [Thu, 19 Feb 2026 17:09:04 +0000 (02:09 +0900)]
fetch-distro: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:08:46 +0000 (02:08 +0900)]
elf2efi: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:07:28 +0000 (02:07 +0900)]
dump-auxv: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:06:56 +0000 (02:06 +0900)]
dbus-exporter: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:04:33 +0000 (02:04 +0900)]
check-version-history: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:04:20 +0000 (02:04 +0900)]
check-efi-alignment: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:03:56 +0000 (02:03 +0900)]
catalog-report: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:03:44 +0000 (02:03 +0900)]
analyze-dump-sort: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:03:17 +0000 (02:03 +0900)]
TEST-69-SHUTDOWN: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:02:48 +0000 (02:02 +0900)]
test-udev: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:02:36 +0000 (02:02 +0900)]
test-tmpfiles: apply "ruff format" and "ruff check --fix"
This also dropped unnecessary existence check for subprocess.run.
Yu Watanabe [Thu, 19 Feb 2026 17:02:20 +0000 (02:02 +0900)]
test-shutdown: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:02:04 +0000 (02:02 +0900)]
test-network: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Sat, 21 Feb 2026 20:25:49 +0000 (05:25 +0900)]
test-network: drop old ip command support
Yu Watanabe [Sat, 21 Feb 2026 20:15:44 +0000 (05:15 +0900)]
test-network: assume the test is running with newer udevd
Yu Watanabe [Fri, 20 Feb 2026 19:40:36 +0000 (04:40 +0900)]
test-network: drop old kernel support and workaround for fixed kernel bug
- l3mdev in fib rules is supported since
https://github.com/torvalds/linux/commit/
96c63fa7393d0a346acfe5a91e0c7d4c7782641b (v4.8).
- uid range in fib rules is supported since
https://github.com/torvalds/linux/commit/
622ec2c9d52405973c9f1ca5116eb1c393adfc7d (v4.10).
- port range and ip proto in fib rules is supported since
https://github.com/torvalds/linux/commit/
bfff4862653bb96001ab57c1edd6d03f48e5f035 (v4.17).
- interface alternative name is supported since
https://github.com/torvalds/linux/commit/
36fbf1e52bd3ff8a5cb604955eedfc9350c2e6cc (v5.5).
- SRIOV on netdevsim is supported since
https://github.com/torvalds/linux/commit/
79579220566cd33fe3b15ce8249c57e10251b258 (4.16).
- nexthop is supported since
https://github.com/torvalds/linux/commit/
65ee00a9409f751188a8cdc0988167858eb4a536 (v5.3).
- bridge MDB entries on bridge master is supported since
https://github.com/torvalds/linux/commit/
1bc844ee0faa1b92e3ede00bdd948021c78d7088 (v5.4).
Yu Watanabe [Wed, 25 Feb 2026 15:40:08 +0000 (00:40 +0900)]
sys-script: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:00:40 +0000 (02:00 +0900)]
sd-script: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 17:00:21 +0000 (02:00 +0900)]
run-unit-tests: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 16:59:51 +0000 (01:59 +0900)]
rule-syntax-check: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:59:13 +0000 (01:59 +0900)]
networkd-test: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:58:16 +0000 (01:58 +0900)]
TEST-04-JOURNAL: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 17:42:27 +0000 (02:42 +0900)]
generate-directives: apply "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:57:35 +0000 (01:57 +0900)]
create-sys-script: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:56:52 +0000 (01:56 +0900)]
test_ukify: apply "ruff format"
Also drops unnecessary noqa attribute for importing pefile.
Yu Watanabe [Thu, 19 Feb 2026 17:35:03 +0000 (02:35 +0900)]
generate-syscall-list: apply "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:56:07 +0000 (01:56 +0900)]
generate-dns_type: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:55:31 +0000 (01:55 +0900)]
ethtool-link-mode: apply "ruff format"
Yu Watanabe [Thu, 19 Feb 2026 16:54:49 +0000 (01:54 +0900)]
log-generator: apply "ruff format" and "ruff check --fix"
Yu Watanabe [Thu, 19 Feb 2026 16:54:24 +0000 (01:54 +0900)]
generate-syscall: apply "ruff format" and "ruff check --fix"
Also, this makes opened files closed when not necessary.
Yu Watanabe [Thu, 19 Feb 2026 16:53:29 +0000 (01:53 +0900)]
fuzz-bootspec: apply "ruff format"
This also replaces open().read() with Path().read_text().
Co-authored-by: Jörg Behrmann <behrmann@physik.fu-berlin.de>