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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to