--- Begin Message ---
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
--- End Message ---