Control: retitle -1 bookworm-pu: package systemd/252.25-1~deb12u1 On Fri, 26 Apr 2024 11:47:51 +0100 Luca Boccassi <bl...@debian.org> wrote: > Package: release.debian.org > Severity: normal > Tags: bookworm > User: release.debian....@packages.debian.org > Usertags: pu > X-Debbugs-Cc: pkg-systemd-maintain...@lists.alioth.debian.org > > Dear Release Team, > > We would like to upload the latest stable point release of systemd 252 > to bookworm-p-u. Stable release branches are maintained upstream with > the intention of providing bug fixes only and no compatibility > breakages, and with automated non-trivial CI jobs that also cover > Debian and Ubuntu. I have already uploaded to p-u. > > Packaging changes are limited to refreshing patches. Debdiff attached. > The list of commits included can be seen at: > > https://github.com/systemd/systemd-stable/compare/v252.23...v252.24
I have uploaded the next point release now, 252.25. Same as before, just refreshing patches. The debdiff excludes hwdb generated IDs. List of changes: https://github.com/systemd/systemd-stable/compare/v252.24...v252.25 -- Kind regards, Luca Boccassi
diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/changelog systemd-252.25/debian/changelog --- systemd-252.24/debian/changelog 2024-04-26 01:34:18.000000000 +0100 +++ systemd-252.25/debian/changelog 2024-05-09 18:11:06.000000000 +0100 @@ -1,3 +1,10 @@ +systemd (252.25-1~deb12u1) bookworm; urgency=medium + + * New upstream version 252.25 + * Refresh patches for v252.25 + + -- Luca Boccassi <bl...@debian.org> Thu, 09 May 2024 18:11:06 +0100 + systemd (252.24-1~deb12u1) bookworm; urgency=medium * New upstream version 252.24 diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/patches/debian/Don-t-enable-audit-by-default.patch systemd-252.25/debian/patches/debian/Don-t-enable-audit-by-default.patch --- systemd-252.24/debian/patches/debian/Don-t-enable-audit-by-default.patch 2024-04-26 01:34:02.000000000 +0100 +++ systemd-252.25/debian/patches/debian/Don-t-enable-audit-by-default.patch 2024-05-09 18:10:47.000000000 +0100 @@ -29,7 +29,7 @@ <varlistentry> diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index a78e2c0..efeb50c 100644 +index 863575c..1b9b8e1 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -2279,7 +2279,7 @@ int server_init(Server *s, const char *namespace) { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch systemd-252.25/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch --- systemd-252.24/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch 2024-04-26 01:34:02.000000000 +0100 +++ systemd-252.25/debian/patches/debian/Downgrade-a-couple-of-warnings-to-debug.patch 2024-05-09 18:10:47.000000000 +0100 @@ -16,10 +16,10 @@ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c -index 5f4d4b0..cf5e55f 100644 +index 11166f9..b049507 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c -@@ -543,6 +543,7 @@ static int patch_var_run( +@@ -578,6 +578,7 @@ static int patch_var_run( const char *e; char *z; @@ -27,7 +27,7 @@ e = path_startswith(*path, "/var/run/"); if (!e) -@@ -552,7 +553,8 @@ static int patch_var_run( +@@ -587,7 +588,8 @@ static int patch_var_run( if (!z) return log_oom(); @@ -51,10 +51,10 @@ "Please update package to include a native systemd unit file, in order to make it more safe and robust.", fpath); diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 281284c..8952a26 100644 +index a186246..83f3e5c 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c -@@ -2991,6 +2991,7 @@ static int specifier_expansion_from_arg(const Specifier *specifier_table, Item * +@@ -2992,6 +2992,7 @@ static int specifier_expansion_from_arg(const Specifier *specifier_table, Item * static int patch_var_run(const char *fname, unsigned line, char **path) { const char *k; char *n; @@ -62,7 +62,7 @@ assert(path); assert(*path); -@@ -3016,7 +3017,8 @@ static int patch_var_run(const char *fname, unsigned line, char **path) { +@@ -3017,7 +3018,8 @@ static int patch_var_run(const char *fname, unsigned line, char **path) { /* Also log about this briefly. We do so at LOG_NOTICE level, as we fixed up the situation automatically, hence * there's no immediate need for action by the user. However, in the interest of making things less confusing * to the user, let's still inform the user that these snippets should really be updated. */ diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/patches/debian/Re-enable-journal-forwarding-to-syslog.patch systemd-252.25/debian/patches/debian/Re-enable-journal-forwarding-to-syslog.patch --- systemd-252.24/debian/patches/debian/Re-enable-journal-forwarding-to-syslog.patch 2024-04-26 01:34:02.000000000 +0100 +++ systemd-252.25/debian/patches/debian/Re-enable-journal-forwarding-to-syslog.patch 2024-05-09 18:10:47.000000000 +0100 @@ -30,7 +30,7 @@ <literal>systemd.journald.forward_to_kmsg</literal>, <literal>systemd.journald.forward_to_console</literal>, and diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 77aef79..a78e2c0 100644 +index 31358cd..863575c 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -2289,6 +2289,7 @@ int server_init(Server *s, const char *namespace) { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/patches/debian/Revert-core-set-RLIMIT_CORE-to-unlimited-by-default.patch systemd-252.25/debian/patches/debian/Revert-core-set-RLIMIT_CORE-to-unlimited-by-default.patch --- systemd-252.24/debian/patches/debian/Revert-core-set-RLIMIT_CORE-to-unlimited-by-default.patch 2024-04-26 01:34:02.000000000 +0100 +++ systemd-252.25/debian/patches/debian/Revert-core-set-RLIMIT_CORE-to-unlimited-by-default.patch 2024-05-09 18:10:47.000000000 +0100 @@ -19,7 +19,7 @@ 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/src/core/main.c b/src/core/main.c -index a0c7b42..914876e 100644 +index 7b51099..40a6612 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1650,24 +1650,6 @@ static void cmdline_take_random_seed(void) { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/patches/p11kit-switch-to-dlopen.patch systemd-252.25/debian/patches/p11kit-switch-to-dlopen.patch --- systemd-252.24/debian/patches/p11kit-switch-to-dlopen.patch 2024-04-26 01:34:02.000000000 +0100 +++ systemd-252.25/debian/patches/p11kit-switch-to-dlopen.patch 2024-05-09 18:10:47.000000000 +0100 @@ -718,7 +718,7 @@ } diff --git a/test/test-functions b/test/test-functions -index da17bff..58257d4 100644 +index 097babf..dfb8db3 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1391,7 +1391,7 @@ install_missing_libraries() { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/debian/salsa-ci.yml systemd-252.25/debian/salsa-ci.yml --- systemd-252.24/debian/salsa-ci.yml 2024-04-26 01:34:18.000000000 +0100 +++ systemd-252.25/debian/salsa-ci.yml 2024-05-09 17:53:09.000000000 +0100 @@ -9,10 +9,10 @@ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1011649 SALSA_CI_DISABLE_PIUPARTS: 1 RELEASE: 'bookworm' + SALSA_CI_IMAGES_LINTIAN: ${SALSA_CI_IMAGES}/lintian:stable SALSA_CI_LINTIAN_SUPPRESS_TAGS: "bad-distribution-in-changes-file" # The following jobs all run on unstable, and cannot work because they expect # overrides, compiler flags, dependencies, etc to work as in unstable, but this # is a stable branch - SALSA_CI_DISABLE_LINTIAN: 1 SALSA_CI_DISABLE_BLHC: 1 SALSA_CI_DISABLE_REPROTEST: 1 diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/man/systemd.journal-fields.xml systemd-252.25/man/systemd.journal-fields.xml --- systemd-252.24/man/systemd.journal-fields.xml 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/man/systemd.journal-fields.xml 2024-05-09 17:47:40.000000000 +0100 @@ -491,8 +491,7 @@ <varlistentry> <term><varname>OBJECT_PID=<replaceable>PID</replaceable></varname></term> <listitem> - <para>PID of the program that this message pertains to. - </para> + <para>PID of the program that this message pertains to.</para> </listitem> </varlistentry> @@ -510,9 +509,8 @@ <term><varname>OBJECT_SYSTEMD_UNIT=</varname></term> <term><varname>OBJECT_SYSTEMD_USER_UNIT=</varname></term> <listitem> - <para>These are additional fields added automatically by - <command>systemd-journald</command>. Their meaning is the - same as + <para>These are additional fields added automatically by <command>systemd-journald</command>. + Their meaning is the same as <varname>_UID=</varname>, <varname>_GID=</varname>, <varname>_COMM=</varname>, @@ -530,6 +528,15 @@ process which logged the message.</para> </listitem> </varlistentry> + + <varlistentry> + <term><varname>OBJECT_SYSTEMD_INVOCATION_ID=</varname></term> + <listitem> + <para>An additional field added automatically by <command>systemd-journald</command>. The meaning + is mostly the same as <varname>_SYSTEMD_INVOCATION_ID=</varname>, with the difference described + above.</para> + </listitem> + </varlistentry> </variablelist> </refsect1> diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/man/systemd.network.xml systemd-252.25/man/systemd.network.xml --- systemd-252.24/man/systemd.network.xml 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/man/systemd.network.xml 2024-05-09 17:47:40.000000000 +0100 @@ -354,13 +354,12 @@ <varlistentry> <term><varname>LinkLocalAddressing=</varname></term> <listitem> - <para>Enables link-local address autoconfiguration. Accepts <option>yes</option>, - <option>no</option>, <option>ipv4</option>, and <option>ipv6</option>. An IPv6 link-local - address is configured when <option>yes</option> or <option>ipv6</option>. An IPv4 link-local - address is configured when <option>yes</option> or <option>ipv4</option> and when DHCPv4 - autoconfiguration has been unsuccessful for some time. (IPv4 link-local address - autoconfiguration will usually happen in parallel with repeated attempts to acquire a DHCPv4 - lease).</para> + <para>Enables link-local address autoconfiguration. Accepts a boolean, <option>ipv4</option>, + and <option>ipv6</option>. An IPv6 link-local address is configured when <option>yes</option> + or <option>ipv6</option>. An IPv4 link-local address is configured when <option>yes</option> + or <option>ipv4</option> and when DHCPv4 autoconfiguration has been unsuccessful for some time. + (IPv4 link-local address autoconfiguration will usually happen in parallel with repeated attempts + to acquire a DHCPv4 lease).</para> <para>Defaults to <option>no</option> when <varname>KeepMaster=</varname> or <varname>Bridge=</varname> is set or when the specified diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/shell-completion/bash/machinectl systemd-252.25/shell-completion/bash/machinectl --- systemd-252.24/shell-completion/bash/machinectl 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/shell-completion/bash/machinectl 2024-05-09 17:47:40.000000000 +0100 @@ -106,8 +106,12 @@ comps=$( __get_machines ) elif __contains_word "$verb" ${VERBS[FILE]}; then - comps=$(compgen -f -- "cur") - compopt -o filenames + if (( COMP_CWORD == i + 1 )); then # first argument after verb + comps=$(compgen -f -- "$cur") + compopt -o filenames + else + comps='' + fi fi COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/boot/bless-boot.c systemd-252.25/src/boot/bless-boot.c --- systemd-252.24/src/boot/bless-boot.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/boot/bless-boot.c 2024-05-09 17:47:40.000000000 +0100 @@ -476,7 +476,7 @@ /* First, fsync() the directory these files are located in */ r = fsync_parent_at(fd, skip_slash(target)); if (r < 0) - log_debug_errno(errno, "Failed to synchronize image directory, ignoring: %m"); + log_debug_errno(r, "Failed to synchronize image directory, ignoring: %m"); /* Secondly, syncfs() the whole file system these files are located in */ if (syncfs(fd) < 0) diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/boot/efi/boot.c systemd-252.25/src/boot/efi/boot.c --- systemd-252.24/src/boot/efi/boot.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/boot/efi/boot.c 2024-05-09 17:47:40.000000000 +0100 @@ -2517,7 +2517,7 @@ EFI_STATUS err; _cleanup_(file_closep) EFI_FILE *keys_basedir = NULL; - if (secure_boot_mode() != SECURE_BOOT_SETUP) + if (!IN_SET(secure_boot_mode(), SECURE_BOOT_SETUP, SECURE_BOOT_AUDIT)) return EFI_SUCCESS; /* the lack of a 'keys' directory is not fatal and is silently ignored */ diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/core-varlink.c systemd-252.25/src/core/core-varlink.c --- systemd-252.24/src/core/core-varlink.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/core-varlink.c 2024-05-09 17:47:40.000000000 +0100 @@ -504,13 +504,21 @@ if (!MANAGER_IS_TEST_RUN(m)) { (void) mkdir_p_label("/run/systemd/userdb", 0755); - r = varlink_server_listen_address(s, "/run/systemd/userdb/io.systemd.DynamicUser", 0666); - if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket: %m"); + FOREACH_STRING(address, "/run/systemd/userdb/io.systemd.DynamicUser", VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM) { + if (MANAGER_IS_RELOADING(m)) { + /* If manager is reloading, we skip listening on existing addresses, since + * the fd should be acquired later through deserialization. */ + if (access(address, F_OK) >= 0) + continue; + if (errno != ENOENT) + return log_error_errno(errno, + "Failed to check if varlink socket '%s' exists: %m", address); + } - r = varlink_server_listen_address(s, VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM, 0666); - if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket: %m"); + r = varlink_server_listen_address(s, address, 0666); + if (r < 0) + return log_error_errno(r, "Failed to bind to varlink socket '%s': %m", address); + } } r = varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/dbus-unit.c systemd-252.25/src/core/dbus-unit.c --- systemd-252.24/src/core/dbus-unit.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/dbus-unit.c 2024-05-09 17:47:40.000000000 +0100 @@ -2159,7 +2159,7 @@ return bus_set_transient_emergency_action(u, name, &u->job_timeout_action, message, flags, error); if (streq(name, "JobTimeoutRebootArgument")) - return bus_set_transient_string(u, name, &u->job_timeout_reboot_arg, message, flags, error); + return bus_set_transient_reboot_parameter(u, name, &u->job_timeout_reboot_arg, message, flags, error); if (streq(name, "StartLimitIntervalUSec")) return bus_set_transient_usec(u, name, &u->start_ratelimit.interval, message, flags, error); @@ -2183,7 +2183,7 @@ return bus_set_transient_exit_status(u, name, &u->success_action_exit_status, message, flags, error); if (streq(name, "RebootArgument")) - return bus_set_transient_string(u, name, &u->reboot_arg, message, flags, error); + return bus_set_transient_reboot_parameter(u, name, &u->reboot_arg, message, flags, error); if (streq(name, "CollectMode")) return bus_set_transient_collect_mode(u, name, &u->collect_mode, message, flags, error); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/dbus-util.c systemd-252.25/src/core/dbus-util.c --- systemd-252.24/src/core/dbus-util.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/dbus-util.c 2024-05-09 17:47:40.000000000 +0100 @@ -6,6 +6,7 @@ #include "escape.h" #include "parse-util.h" #include "path-util.h" +#include "reboot-util.h" #include "unit-printf.h" #include "user-util.h" #include "unit.h" @@ -39,6 +40,7 @@ BUS_DEFINE_SET_TRANSIENT_STRING_WITH_CHECK(user_relaxed, valid_user_group_name_or_id_relaxed); BUS_DEFINE_SET_TRANSIENT_STRING_WITH_CHECK(path, path_is_absolute); +BUS_DEFINE_SET_TRANSIENT_STRING_WITH_CHECK(reboot_parameter, reboot_parameter_is_valid); int bus_set_transient_string( Unit *u, diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/dbus-util.h systemd-252.25/src/core/dbus-util.h --- systemd-252.24/src/core/dbus-util.h 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/dbus-util.h 2024-05-09 17:47:40.000000000 +0100 @@ -239,6 +239,7 @@ int bus_set_transient_unsigned(Unit *u, const char *name, unsigned *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); int bus_set_transient_user_relaxed(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); int bus_set_transient_path(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); +int bus_set_transient_reboot_parameter(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); int bus_set_transient_string(Unit *u, const char *name, char **p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); int bus_set_transient_bool(Unit *u, const char *name, bool *p, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); int bus_set_transient_usec_internal(Unit *u, const char *name, usec_t *p, bool fix_0, sd_bus_message *message, UnitWriteFlags flags, sd_bus_error *error); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/load-fragment.c systemd-252.25/src/core/load-fragment.c --- systemd-252.24/src/core/load-fragment.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/load-fragment.c 2024-05-09 17:47:40.000000000 +0100 @@ -54,6 +54,7 @@ #include "path-util.h" #include "percent-util.h" #include "process-util.h" +#include "reboot-util.h" #if HAVE_SECCOMP #include "seccomp-util.h" #endif @@ -357,6 +358,40 @@ return 0; } + return config_parse_string(unit, filename, line, section, section_line, lvalue, ltype, k, data, userdata); +} + +int config_parse_reboot_parameter( + const char *unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { + + _cleanup_free_ char *k = NULL; + const Unit *u = ASSERT_PTR(userdata); + int r; + + assert(filename); + assert(line); + assert(rvalue); + + r = unit_full_printf(u, rvalue, &k); + if (r < 0) { + log_syntax(unit, LOG_WARNING, filename, line, r, "Failed to resolve unit specifiers in '%s', ignoring: %m", rvalue); + return 0; + } + + if (!reboot_parameter_is_valid(k)) { + log_syntax(unit, LOG_WARNING, filename, line, 0, "Invalid reboot parameter '%s', ignoring.", k); + return 0; + } + return config_parse_string(unit, filename, line, section, section_line, lvalue, ltype, k, data, userdata); } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/load-fragment-gperf.gperf.in systemd-252.25/src/core/load-fragment-gperf.gperf.in --- systemd-252.24/src/core/load-fragment-gperf.gperf.in 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/load-fragment-gperf.gperf.in 2024-05-09 17:47:40.000000000 +0100 @@ -303,7 +303,7 @@ Unit.JobTimeoutSec, config_parse_job_timeout_sec, 0, 0 Unit.JobRunningTimeoutSec, config_parse_job_running_timeout_sec, 0, 0 Unit.JobTimeoutAction, config_parse_emergency_action, 0, offsetof(Unit, job_timeout_action) -Unit.JobTimeoutRebootArgument, config_parse_unit_string_printf, 0, offsetof(Unit, job_timeout_reboot_arg) +Unit.JobTimeoutRebootArgument, config_parse_reboot_parameter, 0, offsetof(Unit, job_timeout_reboot_arg) Unit.StartLimitIntervalSec, config_parse_sec, 0, offsetof(Unit, start_ratelimit.interval) {# The following is a legacy alias name for compatibility #} Unit.StartLimitInterval, config_parse_sec, 0, offsetof(Unit, start_ratelimit.interval) @@ -313,7 +313,7 @@ Unit.SuccessAction, config_parse_emergency_action, 0, offsetof(Unit, success_action) Unit.FailureActionExitStatus, config_parse_exit_status, 0, offsetof(Unit, failure_action_exit_status) Unit.SuccessActionExitStatus, config_parse_exit_status, 0, offsetof(Unit, success_action_exit_status) -Unit.RebootArgument, config_parse_unit_string_printf, 0, offsetof(Unit, reboot_arg) +Unit.RebootArgument, config_parse_reboot_parameter, 0, offsetof(Unit, reboot_arg) Unit.ConditionPathExists, config_parse_unit_condition_path, CONDITION_PATH_EXISTS, offsetof(Unit, conditions) Unit.ConditionPathExistsGlob, config_parse_unit_condition_path, CONDITION_PATH_EXISTS_GLOB, offsetof(Unit, conditions) Unit.ConditionPathIsDirectory, config_parse_unit_condition_path, CONDITION_PATH_IS_DIRECTORY, offsetof(Unit, conditions) diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/load-fragment.h systemd-252.25/src/core/load-fragment.h --- systemd-252.24/src/core/load-fragment.h 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/load-fragment.h 2024-05-09 17:47:40.000000000 +0100 @@ -21,6 +21,7 @@ CONFIG_PARSER_PROTOTYPE(config_parse_unit_deps); CONFIG_PARSER_PROTOTYPE(config_parse_obsolete_unit_deps); CONFIG_PARSER_PROTOTYPE(config_parse_unit_string_printf); +CONFIG_PARSER_PROTOTYPE(config_parse_reboot_parameter); CONFIG_PARSER_PROTOTYPE(config_parse_unit_strv_printf); CONFIG_PARSER_PROTOTYPE(config_parse_unit_path_printf); CONFIG_PARSER_PROTOTYPE(config_parse_colon_separated_paths); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/main.c systemd-252.25/src/core/main.c --- systemd-252.24/src/core/main.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/main.c 2024-05-09 17:47:40.000000000 +0100 @@ -2384,7 +2384,7 @@ r = putenv_dup(*p, true); if (r < 0) - log_warning_errno(errno, "Failed to setenv \"%s\", ignoring: %m", *p); + log_warning_errno(r, "Failed to setenv \"%s\", ignoring: %m", *p); } } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/core/manager-serialize.c systemd-252.25/src/core/manager-serialize.c --- systemd-252.24/src/core/manager-serialize.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/core/manager-serialize.c 2024-05-09 17:47:40.000000000 +0100 @@ -533,21 +533,12 @@ return -ENOMEM; } else if ((val = startswith(l, "varlink-server-socket-address="))) { if (!m->varlink_server && MANAGER_IS_SYSTEM(m)) { - _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL; - - r = manager_setup_varlink_server(m, &s); + r = manager_varlink_init(m); if (r < 0) { log_warning_errno(r, "Failed to setup varlink server, ignoring: %m"); continue; } - r = varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); - if (r < 0) { - log_warning_errno(r, "Failed to attach varlink connection to event loop, ignoring: %m"); - continue; - } - - m->varlink_server = TAKE_PTR(s); deserialize_varlink_sockets = true; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c --- systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c 2024-05-09 17:47:40.000000000 +0100 @@ -34,7 +34,7 @@ const char *json; _cleanup_(erase_and_freep) char *pin_string = NULL; - assert(!pin || pin_size); + assert(pin || pin_size == 0); assert(token >= 0); /* This must not fail at this moment (internal error) */ diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c --- systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c 2024-05-09 17:47:40.000000000 +0100 @@ -33,7 +33,7 @@ const char *json; int r; - assert(!pin || pin_size); + assert(pin || pin_size == 0); assert(token >= 0); /* This must not fail at this moment (internal error) */ diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c --- systemd-252.24/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c 2024-05-09 17:47:40.000000000 +0100 @@ -56,7 +56,7 @@ int r; assert(token >= 0); - assert(!pin || pin_size > 0); + assert(pin || pin_size == 0); assert(ret_password); assert(ret_password_len); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/home/homed-manager.c systemd-252.25/src/home/homed-manager.c --- systemd-252.24/src/home/homed-manager.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/home/homed-manager.c 2024-05-09 17:47:40.000000000 +0100 @@ -891,7 +891,7 @@ r = btrfs_is_subvol_fd(fd); if (r < 0) - return log_warning_errno(errno, "Failed to determine whether %s is a btrfs subvolume: %m", path); + return log_warning_errno(r, "Failed to determine whether %s is a btrfs subvolume: %m", path); if (r > 0) storage = USER_SUBVOLUME; else { @@ -1415,7 +1415,7 @@ /* Write out public key (note that we only do that as a help to the user, we don't make use of this ever */ r = fopen_temporary("/var/lib/systemd/home/local.public", &fpublic, &temp_public); if (r < 0) - return log_error_errno(errno, "Failed to open key file for writing: %m"); + return log_error_errno(r, "Failed to open key file for writing: %m"); if (PEM_write_PUBKEY(fpublic, m->private_key) <= 0) return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to write public key."); @@ -1429,7 +1429,7 @@ /* Write out the private key (this actually writes out both private and public, OpenSSL is confusing) */ r = fopen_temporary("/var/lib/systemd/home/local.private", &fprivate, &temp_private); if (r < 0) - return log_error_errno(errno, "Failed to open key file for writing: %m"); + return log_error_errno(r, "Failed to open key file for writing: %m"); if (PEM_write_PrivateKey(fprivate, m->private_key, NULL, NULL, 0, NULL, 0) <= 0) return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to write private key pair."); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/home/homework-fscrypt.c systemd-252.25/src/home/homework-fscrypt.c --- systemd-252.24/src/home/homework-fscrypt.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/home/homework-fscrypt.c 2024-05-09 17:47:40.000000000 +0100 @@ -224,7 +224,7 @@ r = flistxattr_malloc(setup->root_fd, &xattr_buf); if (r < 0) - return log_error_errno(errno, "Failed to retrieve xattr list: %m"); + return log_error_errno(r, "Failed to retrieve xattr list: %m"); NULSTR_FOREACH(xa, xattr_buf) { _cleanup_free_ void *salt = NULL, *encrypted = NULL; @@ -672,7 +672,7 @@ r = flistxattr_malloc(setup->root_fd, &xattr_buf); if (r < 0) - return log_error_errno(errno, "Failed to retrieve xattr list: %m"); + return log_error_errno(r, "Failed to retrieve xattr list: %m"); NULSTR_FOREACH(xa, xattr_buf) { const char *nr; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/home/homework-quota.c systemd-252.25/src/home/homework-quota.c --- systemd-252.24/src/home/homework-quota.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/home/homework-quota.c 2024-05-09 17:47:40.000000000 +0100 @@ -113,7 +113,7 @@ r = btrfs_is_subvol(path); if (r < 0) - return log_error_errno(errno, "Failed to test if %s is a subvolume: %m", path); + return log_error_errno(r, "Failed to test if %s is a subvolume: %m", path); if (r == 0) return log_error_errno(SYNTHETIC_ERRNO(ENOTTY), "Directory %s is not a subvolume, cannot apply quota.", path); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/journal/journalctl.c systemd-252.25/src/journal/journalctl.c --- systemd-252.24/src/journal/journalctl.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/journal/journalctl.c 2024-05-09 17:47:40.000000000 +0100 @@ -1048,7 +1048,7 @@ arg_boot_offset = 0; } - if (!!arg_directory + !!arg_file + !!arg_machine + !!arg_root + !!arg_image > 1) + if (!!arg_directory + !!arg_file + arg_file_stdin + !!arg_machine + !!arg_root + !!arg_image > 1) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Please specify at most one of -D/--directory=, --file=, -M/--machine=, --root=, --image=."); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/journal/journald-server.c systemd-252.25/src/journal/journald-server.c --- systemd-252.24/src/journal/journald-server.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/journal/journald-server.c 2024-05-09 17:47:40.000000000 +0100 @@ -1016,7 +1016,7 @@ IOVEC_ADD_STRING_FIELD(iovec, n, o->slice, "OBJECT_SYSTEMD_SLICE"); IOVEC_ADD_STRING_FIELD(iovec, n, o->user_slice, "OBJECT_SYSTEMD_USER_SLICE"); - IOVEC_ADD_ID128_FIELD(iovec, n, o->invocation_id, "OBJECT_SYSTEMD_INVOCATION_ID="); + IOVEC_ADD_ID128_FIELD(iovec, n, o->invocation_id, "OBJECT_SYSTEMD_INVOCATION_ID"); } assert(n <= m); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/journal-remote/journal-remote-main.c systemd-252.25/src/journal-remote/journal-remote-main.c --- systemd-252.24/src/journal-remote/journal-remote-main.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/journal-remote/journal-remote-main.c 2024-05-09 17:47:40.000000000 +0100 @@ -107,7 +107,7 @@ r = fd_nonblock(fd[0], true); if (r < 0) - log_warning_errno(errno, "Failed to set child pipe to non-blocking: %m"); + log_warning_errno(r, "Failed to set child pipe to non-blocking: %m"); return fd[0]; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/libsystemd/sd-journal/sd-journal.c systemd-252.25/src/libsystemd/sd-journal/sd-journal.c --- systemd-252.24/src/libsystemd/sd-journal/sd-journal.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/libsystemd/sd-journal/sd-journal.c 2024-05-09 17:47:40.000000000 +0100 @@ -2215,9 +2215,7 @@ if (r < 0) return r; - if (ret_boot_id) - *ret_boot_id = o->entry.boot_id; - else { + if (!ret_boot_id) { sd_id128_t id; r = sd_id128_get_boot(&id); @@ -2230,6 +2228,8 @@ if (ret) *ret = le64toh(o->entry.monotonic); + if (ret_boot_id) + *ret_boot_id = o->entry.boot_id; return 0; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/login/logind-dbus.c systemd-252.25/src/login/logind-dbus.c --- systemd-252.24/src/login/logind-dbus.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/login/logind-dbus.c 2024-05-09 17:47:40.000000000 +0100 @@ -2537,6 +2537,9 @@ if (r < 0) return r; + if (!reboot_parameter_is_valid(arg)) + return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid reboot parameter '%s'.", arg); + r = detect_container(); if (r < 0) return r; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/nspawn/nspawn.c systemd-252.25/src/nspawn/nspawn.c --- systemd-252.24/src/nspawn/nspawn.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/nspawn/nspawn.c 2024-05-09 17:47:40.000000000 +0100 @@ -2699,7 +2699,7 @@ r = mount_nofollow_verbose(LOG_DEBUG, p, q, NULL, MS_BIND, NULL); if (r < 0) - return log_error_errno(errno, "Failed to bind mount journal from host into guest: %m"); + return log_error_errno(r, "Failed to bind mount journal from host into guest: %m"); return 0; } diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/portable/profile/default/service.conf systemd-252.25/src/portable/profile/default/service.conf --- systemd-252.24/src/portable/profile/default/service.conf 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/portable/profile/default/service.conf 2024-05-09 17:47:40.000000000 +0100 @@ -4,7 +4,7 @@ MountAPIVFS=yes BindReadOnlyPaths=/dev/log /run/systemd/journal/socket /run/systemd/journal/stdout BindReadOnlyPaths=/etc/machine-id -BindReadOnlyPaths=/etc/resolv.conf +BindReadOnlyPaths=-/etc/resolv.conf BindReadOnlyPaths=/run/dbus/system_bus_socket DynamicUser=yes RemoveIPC=yes diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/portable/profile/trusted/service.conf systemd-252.25/src/portable/profile/trusted/service.conf --- systemd-252.24/src/portable/profile/trusted/service.conf 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/portable/profile/trusted/service.conf 2024-05-09 17:47:40.000000000 +0100 @@ -5,4 +5,4 @@ PrivateTmp=yes BindPaths=/run BindReadOnlyPaths=/etc/machine-id -BindReadOnlyPaths=/etc/resolv.conf +BindReadOnlyPaths=-/etc/resolv.conf diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/resolve/resolved-dns-stream.c systemd-252.25/src/resolve/resolved-dns-stream.c --- systemd-252.24/src/resolve/resolved-dns-stream.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/resolve/resolved-dns-stream.c 2024-05-09 17:47:40.000000000 +0100 @@ -195,7 +195,7 @@ /* Make sure all packets for this connection are sent on the same interface */ r = socket_set_unicast_if(s->fd, s->local.sa.sa_family, s->ifindex); if (r < 0) - log_debug_errno(errno, "Failed to invoke IP_UNICAST_IF/IPV6_UNICAST_IF: %m"); + log_debug_errno(r, "Failed to invoke IP_UNICAST_IF/IPV6_UNICAST_IF: %m"); } s->identified = true; @@ -454,7 +454,7 @@ if (progressed && s->timeout_event_source) { r = sd_event_source_set_time_relative(s->timeout_event_source, DNS_STREAM_ESTABLISHED_TIMEOUT_USEC); if (r < 0) - log_warning_errno(errno, "Couldn't restart TCP connection timeout, ignoring: %m"); + log_warning_errno(r, "Couldn't restart TCP connection timeout, ignoring: %m"); } return 0; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/resolve/resolved-dns-transaction.c systemd-252.25/src/resolve/resolved-dns-transaction.c --- systemd-252.24/src/resolve/resolved-dns-transaction.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/resolve/resolved-dns-transaction.c 2024-05-09 17:47:40.000000000 +0100 @@ -2554,6 +2554,10 @@ return r; if (r == 0) continue; + + /* If we were looking for the DS RR, don't request it again. */ + if (dns_transaction_key(t)->type == DNS_TYPE_DS) + continue; } r = dnssec_has_rrsig(t->answer, rr->key); @@ -2627,6 +2631,21 @@ if (r < 0) return r; + if (t->scope->dnssec_mode == DNSSEC_ALLOW_DOWNGRADE && dns_name_is_root(name)) { + _cleanup_(dns_resource_key_unrefp) DnsResourceKey *soa = NULL; + /* We made it all the way to the root zone. If we are in allow-downgrade + * mode, we need to make at least one request that we can be certain should + * have been signed, to test for servers that are not dnssec aware. */ + soa = dns_resource_key_new(rr->key->class, DNS_TYPE_SOA, name); + if (!soa) + return -ENOMEM; + + log_debug("Requesting root zone SOA to probe dnssec support."); + r = dns_transaction_request_dnssec_rr(t, soa); + if (r < 0) + return r; + } + break; } @@ -2853,7 +2872,12 @@ if (r == 0) continue; - return FLAGS_SET(dt->answer_query_flags, SD_RESOLVED_AUTHENTICATED); + if (!FLAGS_SET(dt->answer_query_flags, SD_RESOLVED_AUTHENTICATED)) + return false; + + /* We expect this to be signed when the DS record exists, and don't expect it to be + * signed when the DS record is proven not to exist. */ + return dns_answer_match_key(dt->answer, dns_transaction_key(dt), NULL); } return true; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/shared/clean-ipc.c systemd-252.25/src/shared/clean-ipc.c --- systemd-252.24/src/shared/clean-ipc.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/shared/clean-ipc.c 2024-05-09 17:47:40.000000000 +0100 @@ -58,7 +58,7 @@ r = read_line(f, LONG_LINE_MAX, &line); if (r < 0) - return log_warning_errno(errno, "Failed to read /proc/sysvipc/shm: %m"); + return log_warning_errno(r, "Failed to read /proc/sysvipc/shm: %m"); if (r == 0) break; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/shared/reboot-util.c systemd-252.25/src/shared/reboot-util.c --- systemd-252.24/src/shared/reboot-util.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/shared/reboot-util.c 2024-05-09 17:47:40.000000000 +0100 @@ -11,8 +11,15 @@ #include "reboot-util.h" #include "string-util.h" #include "umask-util.h" +#include "utf8.h" #include "virt.h" +bool reboot_parameter_is_valid(const char *parameter) { + assert(parameter); + + return ascii_is_valid(parameter) && strlen(parameter) <= NAME_MAX; +} + int update_reboot_parameter_and_warn(const char *parameter, bool keep) { int r; @@ -30,6 +37,9 @@ return 0; } + if (!reboot_parameter_is_valid(parameter)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid reboot parameter '%s'.", parameter); + RUN_WITH_UMASK(0022) { r = write_string_file("/run/systemd/reboot-param", parameter, WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/shared/reboot-util.h systemd-252.25/src/shared/reboot-util.h --- systemd-252.24/src/shared/reboot-util.h 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/shared/reboot-util.h 2024-05-09 17:47:40.000000000 +0100 @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +bool reboot_parameter_is_valid(const char *parameter); int update_reboot_parameter_and_warn(const char *parameter, bool keep); typedef enum RebootFlags { diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/systemctl/systemctl-enable.c systemd-252.25/src/systemctl/systemctl-enable.c --- systemd-252.24/src/systemctl/systemctl-enable.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/systemctl/systemctl-enable.c 2024-05-09 17:47:40.000000000 +0100 @@ -73,7 +73,8 @@ if (!argv[1]) return 0; - r = mangle_names("to enable", strv_skip(argv, 1), &names); + const char *operation = strjoina("to ", verb); + r = mangle_names(operation, strv_skip(argv, 1), &names); if (r < 0) return r; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/systemctl/systemctl-list-jobs.c systemd-252.25/src/systemctl/systemctl-list-jobs.c --- systemd-252.24/src/systemctl/systemctl-list-jobs.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/systemctl/systemctl-list-jobs.c 2024-05-09 17:47:40.000000000 +0100 @@ -102,9 +102,9 @@ return table_log_add_error(r); if (arg_jobs_after) - output_waiting_jobs(bus, table, j->id, "GetJobAfter", "\twaiting for job"); + output_waiting_jobs(bus, table, j->id, "GetJobAfter", "\tblocking job"); if (arg_jobs_before) - output_waiting_jobs(bus, table, j->id, "GetJobBefore", "\tblocking job"); + output_waiting_jobs(bus, table, j->id, "GetJobBefore", "\twaiting for job"); } r = table_print(table, NULL); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/test/test-bpf-foreign-programs.c systemd-252.25/src/test/test-bpf-foreign-programs.c --- systemd-252.24/src/test/test-bpf-foreign-programs.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/test/test-bpf-foreign-programs.c 2024-05-09 17:47:40.000000000 +0100 @@ -253,7 +253,7 @@ while (!IN_SET(SERVICE(u)->state, SERVICE_DEAD, SERVICE_FAILED)) { r = sd_event_run(m->event, UINT64_MAX); if (r < 0) - return log_error_errno(errno, "Event run failed %m"); + return log_error_errno(r, "Event run failed %m"); } cld_code = SERVICE(u)->exec_command[SERVICE_EXEC_START]->exec_status.code; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/test/test-bpf-lsm.c systemd-252.25/src/test/test-bpf-lsm.c --- systemd-252.24/src/test/test-bpf-lsm.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/test/test-bpf-lsm.c 2024-05-09 17:47:40.000000000 +0100 @@ -46,7 +46,7 @@ while (!IN_SET(SERVICE(u)->state, SERVICE_DEAD, SERVICE_FAILED)) { r = sd_event_run(m->event, UINT64_MAX); if (r < 0) - return log_error_errno(errno, "Event run failed %m"); + return log_error_errno(r, "Event run failed %m"); } cld_code = SERVICE(u)->exec_command[SERVICE_EXEC_START]->exec_status.code; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/test/test-socket-bind.c systemd-252.25/src/test/test-socket-bind.c --- systemd-252.24/src/test/test-socket-bind.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/test/test-socket-bind.c 2024-05-09 17:47:40.000000000 +0100 @@ -83,7 +83,7 @@ while (!IN_SET(SERVICE(u)->state, SERVICE_DEAD, SERVICE_FAILED)) { r = sd_event_run(m->event, UINT64_MAX); if (r < 0) - return log_error_errno(errno, "Event run failed %m"); + return log_error_errno(r, "Event run failed %m"); } cld_code = SERVICE(u)->exec_command[SERVICE_EXEC_START]->exec_status.code; diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/tmpfiles/tmpfiles.c systemd-252.25/src/tmpfiles/tmpfiles.c --- systemd-252.24/src/tmpfiles/tmpfiles.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/tmpfiles/tmpfiles.c 2024-05-09 17:47:40.000000000 +0100 @@ -2134,7 +2134,7 @@ fdaction_t action) { struct stat st; - int r = 0, q; + int r = 0, q = 0; assert(i); assert(path); @@ -2168,9 +2168,10 @@ continue; de_fd = openat(fd, de->d_name, O_NOFOLLOW|O_CLOEXEC|O_PATH); - if (de_fd < 0) - q = log_error_errno(errno, "Failed to open() file '%s': %m", de->d_name); - else { + if (de_fd < 0) { + if (errno != -ENOENT) + q = log_error_errno(errno, "Failed to open file '%s': %m", de->d_name); + } else { _cleanup_free_ char *de_path = NULL; de_path = path_join(path, de->d_name); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/src/udev/udev-rules.c systemd-252.25/src/udev/udev-rules.c --- systemd-252.24/src/udev/udev-rules.c 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/src/udev/udev-rules.c 2024-05-09 17:47:40.000000000 +0100 @@ -1196,7 +1196,7 @@ r = hashmap_put_stats_by_path(&rules->stats_by_path, filename, &st); if (r < 0) - return log_warning_errno(errno, "Failed to save stat for %s, ignoring: %m", filename); + return log_warning_errno(r, "Failed to save stat for %s, ignoring: %m", filename); (void) fd_warn_permissions(filename, fileno(f)); diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/test/test-functions systemd-252.25/test/test-functions --- systemd-252.24/test/test-functions 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/test/test-functions 2024-05-09 17:47:40.000000000 +0100 @@ -2203,7 +2203,7 @@ inst_any /usr/share/zoneinfo/Australia/Sydney inst_any /usr/share/zoneinfo/Europe/Berlin inst_any /usr/share/zoneinfo/Europe/Dublin - inst_any /usr/share/zoneinfo/Europe/Kiev + inst_any /usr/share/zoneinfo/Europe/Kyiv inst_any /usr/share/zoneinfo/Pacific/Auckland inst_any /usr/share/zoneinfo/Pacific/Honolulu inst_any /usr/share/zoneinfo/CET diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/test/units/testsuite-30.sh systemd-252.25/test/units/testsuite-30.sh --- systemd-252.24/test/units/testsuite-30.sh 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/test/units/testsuite-30.sh 2024-05-09 17:47:40.000000000 +0100 @@ -16,7 +16,7 @@ test ! -f /tmp/timezone-changed test ! -f /tmp/clock-changed -timedatectl set-timezone Europe/Kiev +timedatectl set-timezone Europe/Kyiv while test ! -f /tmp/timezone-changed ; do sleep .5 ; done diff -Nru --exclude pnp_id_registry.html --exclude acpi_id_registry.html --exclude parse_hwdb.py --exclude acpi_id_registry.csv --exclude pnp_id_registry.csv --exclude usb.ids --exclude pci.ids --exclude ma-large.txt --exclude ma-medium.txt --exclude ma-small.txt --exclude '*hwdb.patch' --exclude '*hwdb' systemd-252.24/test/units/testsuite-45.sh systemd-252.25/test/units/testsuite-45.sh --- systemd-252.24/test/units/testsuite-45.sh 2024-04-26 01:30:13.000000000 +0100 +++ systemd-252.25/test/units/testsuite-45.sh 2024-05-09 17:47:40.000000000 +0100 @@ -55,12 +55,12 @@ assert_in "Local time:" "$(timedatectl --no-pager)" echo 'change timezone' - assert_eq "$(timedatectl --no-pager set-timezone Europe/Kiev 2>&1)" "" - assert_eq "$(readlink /etc/localtime | sed 's#^.*zoneinfo/##')" "Europe/Kiev" + assert_eq "$(timedatectl --no-pager set-timezone Europe/Kyiv 2>&1)" "" + assert_eq "$(readlink /etc/localtime | sed 's#^.*zoneinfo/##')" "Europe/Kyiv" if [[ -f /etc/timezone ]]; then - assert_eq "$(cat /etc/timezone)" "Europe/Kiev" + assert_eq "$(cat /etc/timezone)" "Europe/Kyiv" fi - assert_in "Time zone: Europe/Kiev \(EES*T, \+0[0-9]00\)" "$(timedatectl)" + assert_in "Time zone: Europe/Kyiv \(EES*T, \+0[0-9]00\)" "$(timedatectl)" if [[ -n "$ORIG_TZ" ]]; then echo 'reset timezone to original'
signature.asc
Description: This is a digitally signed message part