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. There are no packaging changes. Debdiff attached. The list of commits included can be seen at: https://github.com/systemd/systemd-stable/compare/v252.26...v252.27 -- Kind regards, Luca Boccassi
diff -Nru systemd-252.26/debian/changelog systemd-252.27/debian/changelog --- systemd-252.26/debian/changelog 2024-06-16 10:44:31.000000000 +0100 +++ systemd-252.27/debian/changelog 2024-06-25 21:25:25.000000000 +0100 @@ -1,3 +1,9 @@ +systemd (252.27-1~deb12u1) bookworm; urgency=medium + + * New upstream version 252.27 + + -- Luca Boccassi <bl...@debian.org> Tue, 25 Jun 2024 21:25:25 +0100 + systemd (252.26-1~deb12u2) bookworm; urgency=medium [ Gioele Barabucci ] diff -Nru systemd-252.26/man/systemd-tmpfiles.xml systemd-252.27/man/systemd-tmpfiles.xml --- systemd-252.26/man/systemd-tmpfiles.xml 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/man/systemd-tmpfiles.xml 2024-06-25 21:13:13.000000000 +0100 @@ -48,8 +48,8 @@ <refsect1> <title>Description</title> - <para><command>systemd-tmpfiles</command> creates, deletes, and cleans up volatile and temporary files - and directories, using the configuration file format and location specified in + <para><command>systemd-tmpfiles</command> creates, deletes, and cleans up files and directories, using + the configuration file format and location specified in <citerefentry><refentrytitle>tmpfiles.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>. It must be invoked with one or more options <option>--create</option>, <option>--remove</option>, and <option>--clean</option>, to select the respective subset of operations.</para> diff -Nru systemd-252.26/rules.d/99-systemd.rules.in systemd-252.27/rules.d/99-systemd.rules.in --- systemd-252.26/rules.d/99-systemd.rules.in 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/rules.d/99-systemd.rules.in 2024-06-25 21:13:13.000000000 +0100 @@ -10,6 +10,8 @@ ACTION=="remove", GOTO="systemd_end" SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" +# Exclude 8250 serial ports with a zero IO port, as they are not usable until "setserial /dev/ttySxxx port …" is invoked. +SUBSYSTEM=="tty", KERNEL=="ttyS*", DRIVERS=="serial8250", ATTR{port}=="0x0", ENV{SYSTEMD_READY}="0" KERNEL=="vport*", TAG+="systemd" SUBSYSTEM=="ptp", TAG+="systemd" diff -Nru systemd-252.26/src/basic/missing_loop.h systemd-252.27/src/basic/missing_loop.h --- systemd-252.26/src/basic/missing_loop.h 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/basic/missing_loop.h 2024-06-25 21:13:13.000000000 +0100 @@ -20,5 +20,5 @@ #endif #ifndef LOOP_SET_STATUS_SETTABLE_FLAGS -#define LOOP_SET_STATUS_SETTABLE_FLAGS (LO_FLAGS_AUTOCLEAR | LO_FLAGS_PARTSCAN | LO_FLAGS_DIRECT_IO) +#define LOOP_SET_STATUS_SETTABLE_FLAGS (LO_FLAGS_AUTOCLEAR | LO_FLAGS_PARTSCAN) #endif diff -Nru systemd-252.26/src/basic/strbuf.c systemd-252.27/src/basic/strbuf.c --- systemd-252.26/src/basic/strbuf.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/basic/strbuf.c 2024-06-25 21:13:13.000000000 +0100 @@ -107,7 +107,6 @@ /* add string, return the index/offset into the buffer */ ssize_t strbuf_add_string(struct strbuf *str, const char *s, size_t len) { uint8_t c; - char *buf_new; struct strbuf_child_entry *child; struct strbuf_node *node; ssize_t off; @@ -147,10 +146,8 @@ } /* add new string */ - buf_new = realloc(str->buf, str->len + len+1); - if (!buf_new) + if (!GREEDY_REALLOC(str->buf, str->len + len + 1)) return -ENOMEM; - str->buf = buf_new; off = str->len; memcpy(str->buf + off, s, len); str->len += len; diff -Nru systemd-252.26/src/core/service.c systemd-252.27/src/core/service.c --- systemd-252.26/src/core/service.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/core/service.c 2024-06-25 21:13:13.000000000 +0100 @@ -1233,7 +1233,7 @@ service_start_watchdog(s); if (UNIT_ISSET(s->accept_socket)) { - Socket* socket = SOCKET(UNIT_DEREF(s->accept_socket)); + Socket *socket = SOCKET(UNIT_DEREF(s->accept_socket)); if (socket->max_connections_per_source > 0) { SocketPeer *peer; @@ -3011,8 +3011,8 @@ } else if (streq(key, "accept-socket")) { Unit *socket; - if (u->type != UNIT_SOCKET) { - log_unit_debug(u, "Failed to deserialize accept-socket: unit is not a socket"); + if (unit_name_to_type(value) != UNIT_SOCKET) { + log_unit_debug(u, "Deserialized accept-socket is not a socket unit, ignoring: %s", value); return 0; } @@ -3021,7 +3021,7 @@ log_unit_debug_errno(u, r, "Failed to load accept-socket unit '%s': %m", value); else { unit_ref_set(&s->accept_socket, u, socket); - SOCKET(socket)->n_connections++; + ASSERT_PTR(SOCKET(socket))->n_connections++; } } else if (streq(key, "socket-fd")) { diff -Nru systemd-252.26/src/libsystemd-network/sd-dhcp-server.c systemd-252.27/src/libsystemd-network/sd-dhcp-server.c --- systemd-252.26/src/libsystemd-network/sd-dhcp-server.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/libsystemd-network/sd-dhcp-server.c 2024-06-25 21:13:13.000000000 +0100 @@ -1287,7 +1287,7 @@ /* Preallocate the additional size for DHCP Relay Agent Information Option if needed */ buflen += relay_agent_information_length(server->agent_circuit_id, server->agent_remote_id) + 2; - message = malloc(buflen); + message = malloc0(buflen); if (!message) return -ENOMEM; diff -Nru systemd-252.26/src/resolve/resolved-dns-server.c systemd-252.27/src/resolve/resolved-dns-server.c --- systemd-252.26/src/resolve/resolved-dns-server.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/resolve/resolved-dns-server.c 2024-06-25 21:13:13.000000000 +0100 @@ -704,9 +704,6 @@ if (dns_server_get_dnssec_mode(server) == DNSSEC_YES) /* If strict DNSSEC mode is enabled, always assume DNSSEC mode is supported. */ return true; - if (!DNS_SERVER_FEATURE_LEVEL_IS_DNSSEC(server->possible_feature_level)) - return false; - if (server->packet_bad_opt) return false; diff -Nru systemd-252.26/src/shared/install.c systemd-252.27/src/shared/install.c --- systemd-252.26/src/shared/install.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/shared/install.c 2024-06-25 21:13:13.000000000 +0100 @@ -2215,7 +2215,9 @@ else { log_debug_errno(r, "Unit %s not found, removing name.", i->name); r = install_changes_add(changes, n_changes, r, i->path ?: i->name, NULL); - if (r < 0) + /* In case there's no unit, we still want to remove any leftover symlink, even if + * the unit might have been removed already, hence treating ENOENT as non-fatal. */ + if (r != -ENOENT) return r; } } else if (r < 0) { diff -Nru systemd-252.26/src/shared/json.c systemd-252.27/src/shared/json.c --- systemd-252.26/src/shared/json.c 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/src/shared/json.c 2024-06-25 21:13:13.000000000 +0100 @@ -4772,14 +4772,14 @@ if (!json_variant_is_string(v)) return -EINVAL; - return unbase64mem(json_variant_string(v), SIZE_MAX, ret, ret_size); + return unbase64mem_full(json_variant_string(v), SIZE_MAX, /* secure= */ json_variant_is_sensitive(v), ret, ret_size); } int json_variant_unhex(JsonVariant *v, void **ret, size_t *ret_size) { if (!json_variant_is_string(v)) return -EINVAL; - return unhexmem(json_variant_string(v), SIZE_MAX, ret, ret_size); + return unhexmem_full(json_variant_string(v), SIZE_MAX, /* secure= */ json_variant_is_sensitive(v), ret, ret_size); } static const char* const json_variant_type_table[_JSON_VARIANT_TYPE_MAX] = { diff -Nru systemd-252.26/test/units/testsuite-26.sh systemd-252.27/test/units/testsuite-26.sh --- systemd-252.26/test/units/testsuite-26.sh 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/test/units/testsuite-26.sh 2024-06-25 21:13:13.000000000 +0100 @@ -264,6 +264,12 @@ systemctl help "$UNIT_NAME" systemctl service-watchdogs systemctl service-watchdogs "$(systemctl service-watchdogs)" +# Ensure that the enablement symlinks can still be removed after the user is gone, to avoid having leftovers +systemctl enable "$UNIT_NAME" +systemctl stop "$UNIT_NAME" +rm -f "/usr/lib/systemd/system/$UNIT_NAME" +systemctl daemon-reload +systemctl disable "$UNIT_NAME" # show/set-environment # Make sure PATH is set diff -Nru systemd-252.26/units/systemd-tmpfiles-setup.service systemd-252.27/units/systemd-tmpfiles-setup.service --- systemd-252.26/units/systemd-tmpfiles-setup.service 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/units/systemd-tmpfiles-setup.service 2024-06-25 21:13:13.000000000 +0100 @@ -8,7 +8,7 @@ # (at your option) any later version. [Unit] -Description=Create Volatile Files and Directories +Description=Create System Files and Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) DefaultDependencies=no diff -Nru systemd-252.26/units/user/systemd-tmpfiles-setup.service systemd-252.27/units/user/systemd-tmpfiles-setup.service --- systemd-252.26/units/user/systemd-tmpfiles-setup.service 2024-05-28 11:31:24.000000000 +0100 +++ systemd-252.27/units/user/systemd-tmpfiles-setup.service 2024-06-25 21:13:13.000000000 +0100 @@ -8,7 +8,7 @@ # (at your option) any later version. [Unit] -Description=Create User's Volatile Files and Directories +Description=Create User Files and Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) DefaultDependencies=no Conflicts=shutdown.target
signature.asc
Description: This is a digitally signed message part