--- 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 debdiff excludes
hwdb generated IDs.
The list of commits included can be seen at:
https://github.com/systemd/systemd-stable/compare/v252.28...v252.29
--
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.28/debian/changelog systemd-252.29/debian/changelog
--- systemd-252.28/debian/changelog 2024-07-07 11:56:20.000000000 +0100
+++ systemd-252.29/debian/changelog 2024-07-25 13:49:17.000000000 +0100
@@ -1,3 +1,9 @@
+systemd (252.29-1~deb12u1) bookworm; urgency=medium
+
+ * New upstream version 252.29 (Closes: #1074789)
+
+ -- Luca Boccassi <bl...@debian.org> Thu, 25 Jul 2024 13:49:17 +0100
+
systemd (252.28-1~deb12u1) bookworm; urgency=medium
* New upstream version 252.28 (Closes: #1074789)
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.28/hwdb.d/meson.build systemd-252.29/hwdb.d/meson.build
--- systemd-252.28/hwdb.d/meson.build 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/hwdb.d/meson.build 2024-07-25 13:45:32.000000000 +0100
@@ -29,6 +29,7 @@
'70-analyzers.hwdb',
'70-av-production.hwdb',
'70-cameras.hwdb',
+ '70-hardware-wallets.hwdb',
'70-joystick.hwdb',
'70-mouse.hwdb',
'70-pda.hwdb',
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.28/man/systemd.service.xml systemd-252.29/man/systemd.service.xml
--- systemd-252.28/man/systemd.service.xml 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/man/systemd.service.xml 2024-07-25 13:45:32.000000000 +0100
@@ -707,8 +707,8 @@
<listitem><para>Configures a maximum time for the service to run. If this is used and the service has been
active for longer than the specified time it is terminated and put into a failure state. Note that this setting
does not have any effect on <varname>Type=oneshot</varname> services, as they terminate immediately after
- activation completed. Pass <literal>infinity</literal> (the default) to configure no runtime
- limit.</para>
+ activation completed (use <varname>TimeoutStartSec=</varname> to limit their activation).
+ Pass <literal>infinity</literal> (the default) to configure no runtime limit.</para>
<para>If a service of <varname>Type=notify</varname> sends <literal>EXTEND_TIMEOUT_USEC=…</literal>, this may cause
the runtime to be extended beyond <varname>RuntimeMaxSec=</varname>. The first receipt of this message
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.28/man/systemd.unit.xml systemd-252.29/man/systemd.unit.xml
--- systemd-252.28/man/systemd.unit.xml 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/man/systemd.unit.xml 2024-07-25 13:45:32.000000000 +0100
@@ -165,13 +165,13 @@
section. When the unit is enabled, symlinks will be created for those names, and removed when the unit is
disabled. For example, <filename>reboot.target</filename> specifies
<varname>Alias=ctrl-alt-del.target</varname>, so when enabled, the symlink
- <filename>/etc/systemd/system/ctrl-alt-del.service</filename> pointing to the
+ <filename>/etc/systemd/system/ctrl-alt-del.target</filename> pointing to the
<filename>reboot.target</filename> file will be created, and when
<keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>Del</keycap></keycombo> is invoked,
- <command>systemd</command> will look for the <filename>ctrl-alt-del.service</filename> and execute
- <filename>reboot.service</filename>. <command>systemd</command> does not look at the [Install] section at
- all during normal operation, so any directives in that section only have an effect through the symlinks
- created during enablement.</para>
+ <command>systemd</command> will look for <filename>ctrl-alt-del.target</filename>, follow the symlink to
+ <filename>reboot.target</filename>, and execute <filename>reboot.service</filename> as part of that target.
+ <command>systemd</command> does not look at the [Install] section at all during normal operation, so any
+ directives in that section only have an effect through the symlinks created during enablement.</para>
<para>Along with a unit file <filename>foo.service</filename>, the directory
<filename>foo.service.wants/</filename> may exist. All unit files symlinked from such a directory are
@@ -805,7 +805,7 @@
type when precisely a unit has finished starting up. Most importantly, for service units start-up is
considered completed for the purpose of <varname>Before=</varname>/<varname>After=</varname> when all
its configured start-up commands have been invoked and they either failed or reported start-up
- success. Note that this does includes <varname>ExecStartPost=</varname> (or
+ success. Note that this includes <varname>ExecStartPost=</varname> (or
<varname>ExecStopPost=</varname> for the shutdown case).</para>
<para>Note that those settings are independent of and orthogonal to the requirement dependencies as
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.28/mkosi.default.d/debian/10-mkosi.debian systemd-252.29/mkosi.default.d/debian/10-mkosi.debian
--- systemd-252.28/mkosi.default.d/debian/10-mkosi.debian 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/mkosi.default.d/debian/10-mkosi.debian 2024-07-25 13:45:32.000000000 +0100
@@ -30,7 +30,7 @@
libip4tc2
libtss2-dev # Use the -dev package to avoid churn in updating version numbers
netcat-openbsd
- policykit-1
+ polkitd
procps
quota
xxd
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.28/mkosi.default.d/ubuntu/10-mkosi.ubuntu systemd-252.29/mkosi.default.d/ubuntu/10-mkosi.ubuntu
--- systemd-252.28/mkosi.default.d/ubuntu/10-mkosi.ubuntu 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/mkosi.default.d/ubuntu/10-mkosi.ubuntu 2024-07-25 13:45:32.000000000 +0100
@@ -27,7 +27,7 @@
linux-tools-common
linux-tools-generic
netcat-openbsd
- policykit-1
+ polkitd
procps
quota
xxd
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.28/rules.d/70-uaccess.rules.in systemd-252.29/rules.d/70-uaccess.rules.in
--- systemd-252.28/rules.d/70-uaccess.rules.in 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/rules.d/70-uaccess.rules.in 2024-07-25 13:45:32.000000000 +0100
@@ -97,4 +97,8 @@
# This also allows accessing HID devices with the libusb backend of hidapi.
SUBSYSTEM=="usb", ENV{ID_AV_PRODUCTION_CONTROLLER}=="1", TAG+="uaccess"
+# Hardware wallets
+SUBSYSTEM=="usb", ENV{ID_HARDWARE_WALLET}=="1", TAG+="uaccess"
+SUBSYSTEM=="hidraw", ENV{ID_HARDWARE_WALLET}=="1", TAG+="uaccess"
+
LABEL="uaccess_end"
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.28/src/boot/efi/boot.c systemd-252.29/src/boot/efi/boot.c
--- systemd-252.28/src/boot/efi/boot.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/boot/efi/boot.c 2024-07-25 13:45:32.000000000 +0100
@@ -1349,7 +1349,7 @@
return;
/* Boot counter in the middle of the name? */
- if (!streq16(counter, suffix))
+ if (!strcaseeq16(counter, suffix))
return;
entry->tries_left = tries_left;
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.28/src/core/core-varlink.c systemd-252.29/src/core/core-varlink.c
--- systemd-252.28/src/core/core-varlink.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/core/core-varlink.c 2024-07-25 13:45:32.000000000 +0100
@@ -5,6 +5,7 @@
#include "strv.h"
#include "user-util.h"
#include "varlink.h"
+#include "varlink-internal.h"
typedef struct LookupParameters {
const char *user_name;
@@ -486,46 +487,42 @@
}
static int manager_varlink_init_system(Manager *m) {
- _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL;
int r;
assert(m);
- if (m->varlink_server)
- return 1;
-
if (!MANAGER_IS_SYSTEM(m))
return 0;
- r = manager_setup_varlink_server(m, &s);
+ r = manager_setup_varlink_server(m);
if (r < 0)
return log_error_errno(r, "Failed to set up varlink server: %m");
+ bool fresh = r > 0;
if (!MANAGER_IS_TEST_RUN(m)) {
(void) mkdir_p_label("/run/systemd/userdb", 0755);
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)
+ if (!fresh) {
+ /* We might have got sockets through deserialization. Do not bind to them twice. */
+
+ bool found = false;
+ LIST_FOREACH(sockets, ss, m->varlink_server->sockets)
+ if (path_equal(ss->address, address)) {
+ found = true;
+ break;
+ }
+
+ if (found)
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, address, 0666);
+ r = varlink_server_listen_address(m->varlink_server, 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);
- if (r < 0)
- return log_error_errno(r, "Failed to attach varlink connection to event loop: %m");
-
- m->varlink_server = TAKE_PTR(s);
return 1;
}
@@ -590,12 +587,17 @@
return 1;
}
-int manager_setup_varlink_server(Manager *m, VarlinkServer **ret) {
+int manager_setup_varlink_server(Manager *m) {
_cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL;
int r;
assert(m);
- assert(ret);
+
+ if (m->varlink_server)
+ return 0;
+
+ if (!MANAGER_IS_SYSTEM(m))
+ return -EINVAL;
r = varlink_server_new(&s, VARLINK_SERVER_ACCOUNT_UID|VARLINK_SERVER_INHERIT_USERDATA);
if (r < 0)
@@ -616,8 +618,12 @@
if (r < 0)
return log_debug_errno(r, "Failed to register varlink disconnect handler: %m");
- *ret = TAKE_PTR(s);
- return 0;
+ r = varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to attach varlink connection to event loop: %m");
+
+ m->varlink_server = TAKE_PTR(s);
+ return 1;
}
int manager_varlink_init(Manager *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.28/src/core/core-varlink.h systemd-252.29/src/core/core-varlink.h
--- systemd-252.28/src/core/core-varlink.h 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/core/core-varlink.h 2024-07-25 13:45:32.000000000 +0100
@@ -8,7 +8,7 @@
/* Creates a new VarlinkServer and binds methods. Does not set up sockets or attach events.
* Used for manager serialize/deserialize. */
-int manager_setup_varlink_server(Manager *m, VarlinkServer **ret_s);
+int manager_setup_varlink_server(Manager *m);
/* The manager is expected to send an update to systemd-oomd if one of the following occurs:
* - The value of ManagedOOM*= properties change
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.28/src/core/import-creds.c systemd-252.29/src/core/import-creds.c
--- systemd-252.28/src/core/import-creds.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/core/import-creds.c 2024-07-25 13:45:32.000000000 +0100
@@ -585,9 +585,11 @@
return log_oom();
r = read_virtual_file(p, sizeof(dmi_field_header) + CREDENTIALS_TOTAL_SIZE_MAX, (char**) &data, &size);
+ if (r == -ENOENT) /* Once we reach ENOENT there are no more DMI Type 11 fields around. */
+ break;
if (r < 0) {
/* Once we reach ENOENT there are no more DMI Type 11 fields around. */
- log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_WARNING, r, "Failed to open '%s', ignoring: %m", p);
+ log_warning_errno(r, "Failed to open '%s', ignoring: %m", p);
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.28/src/core/manager-serialize.c systemd-252.29/src/core/manager-serialize.c
--- systemd-252.28/src/core/manager-serialize.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/core/manager-serialize.c 2024-07-25 13:45:32.000000000 +0100
@@ -533,7 +533,7 @@
return -ENOMEM;
} else if ((val = startswith(l, "varlink-server-socket-address="))) {
if (!m->varlink_server && MANAGER_IS_SYSTEM(m)) {
- r = manager_varlink_init(m);
+ r = manager_setup_varlink_server(m);
if (r < 0) {
log_warning_errno(r, "Failed to setup varlink server, ignoring: %m");
continue;
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.28/src/core/path.c systemd-252.29/src/core/path.c
--- systemd-252.28/src/core/path.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/core/path.c 2024-07-25 13:45:32.000000000 +0100
@@ -81,7 +81,7 @@
tmp = *cut;
*cut = '\0';
- flags = IN_MOVE_SELF | IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO;
+ flags = IN_MOVE_SELF | IN_DELETE_SELF | IN_CREATE | IN_MOVED_TO;
} else {
cut = NULL;
flags = flags_table[s->type];
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.28/src/libsystemd/sd-device/device-enumerator.c systemd-252.29/src/libsystemd/sd-device/device-enumerator.c
--- systemd-252.28/src/libsystemd/sd-device/device-enumerator.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/libsystemd/sd-device/device-enumerator.c 2024-07-25 13:45:32.000000000 +0100
@@ -688,13 +688,11 @@
dir = opendir(path);
if (!dir) {
- bool ignore = errno == ENOENT;
+ /* This is necessarily racey, so ignore missing directories */
+ if (errno == ENOENT)
+ return 0;
- /* this is necessarily racey, so ignore missing directories */
- log_debug_errno(errno,
- "sd-device-enumerator: Failed to open directory %s%s: %m",
- path, ignore ? ", ignoring" : "");
- return ignore ? 0 : -errno;
+ return log_debug_errno(errno, "sd-device-enumerator: Failed to open directory '%s': %m", path);
}
FOREACH_DIRENT_ALL(de, dir, return -errno) {
@@ -754,12 +752,10 @@
dir = opendir(path);
if (!dir) {
- bool ignore = errno == ENOENT;
+ if (errno == ENOENT)
+ return 0;
- log_debug_errno(errno,
- "sd-device-enumerator: Failed to open directory %s%s: %m",
- path, ignore ? ", ignoring" : "");
- return ignore ? 0 : -errno;
+ return log_debug_errno(errno, "sd-device-enumerator: Failed to open directory '%s': %m", path);
}
FOREACH_DIRENT_ALL(de, dir, return -errno) {
@@ -791,12 +787,10 @@
dir = opendir(path);
if (!dir) {
- bool ignore = errno == ENOENT;
+ if (errno == ENOENT)
+ return 0;
- log_debug_errno(errno,
- "sd-device-enumerator: Failed to open directory %s%s: %m",
- path, ignore ? ", ignoring" : "");
- return ignore ? 0 : -errno;
+ return log_debug_errno(errno, "sd-device-enumerator: Failed to open directory '%s': %m", path);
}
/* TODO: filter away subsystems? */
@@ -879,12 +873,10 @@
dir = opendir(path);
if (!dir) {
- bool ignore = errno == ENOENT;
+ if (errno == ENOENT)
+ return 0;
- log_debug_errno(errno,
- "sd-device-enumerator: Failed to open directory %s%s: %m",
- path, ignore ? ", ignoring" : "");
- return ignore ? 0 : -errno;
+ return log_debug_errno(errno, "sd-device-enumerator: Failed to open directory '%s': %m", path);
}
FOREACH_DIRENT_ALL(de, dir, return -errno) {
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.28/src/shared/bootspec.c systemd-252.29/src/shared/bootspec.c
--- systemd-252.28/src/shared/bootspec.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/shared/bootspec.c 2024-07-25 13:45:32.000000000 +0100
@@ -522,6 +522,12 @@
assert(a);
assert(b);
+ /* This mimics a function of the same name in src/boot/efi/sd-boot.c */
+
+ r = CMP(a->tries_left == 0, b->tries_left == 0);
+ if (r != 0)
+ return r;
+
r = CMP(!a->sort_key, !b->sort_key);
if (r != 0)
return r;
@@ -540,7 +546,18 @@
return r;
}
- return -strverscmp_improved(a->id, b->id);
+ r = -strverscmp_improved(a->id, b->id);
+ if (r != 0)
+ return r;
+
+ if (a->tries_left != UINT_MAX || b->tries_left != UINT_MAX)
+ return 0;
+
+ r = -CMP(a->tries_left, b->tries_left);
+ if (r != 0)
+ return r;
+
+ return CMP(a->tries_done, b->tries_done);
}
static void inode_hash_func(const struct stat *q, struct siphash *state) {
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.28/src/shared/exec-util.c systemd-252.29/src/shared/exec-util.c
--- systemd-252.28/src/shared/exec-util.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/shared/exec-util.c 2024-07-25 13:45:32.000000000 +0100
@@ -557,5 +557,6 @@
va_end(ap);
execv(path, l);
+ log_error_errno(errno, "Failed to execute %s: %m", path);
_exit(EXIT_FAILURE);
}
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.28/src/shared/spawn-polkit-agent.c systemd-252.29/src/shared/spawn-polkit-agent.c
--- systemd-252.28/src/shared/spawn-polkit-agent.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/shared/spawn-polkit-agent.c 2024-07-25 13:45:32.000000000 +0100
@@ -44,16 +44,21 @@
xsprintf(notify_fd, "%i", pipe_fd[1]);
r = fork_agent("(polkit-agent)",
- &pipe_fd[1], 1,
+ &pipe_fd[1],
+ 1,
&agent_pid,
POLKIT_AGENT_BINARY_PATH,
- POLKIT_AGENT_BINARY_PATH, "--notify-fd", notify_fd, "--fallback", NULL);
+ POLKIT_AGENT_BINARY_PATH,
+ "--notify-fd",
+ notify_fd,
+ "--fallback",
+ NULL);
/* Close the writing side, because that's the one for the agent */
safe_close(pipe_fd[1]);
if (r < 0)
- log_error_errno(r, "Failed to fork TTY ask password agent: %m");
+ log_error_errno(r, "Failed to fork polkit agent: %m");
else
/* Wait until the agent closes the fd */
(void) fd_wait_for_event(pipe_fd[0], POLLHUP, USEC_INFINITY);
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.28/src/shared/varlink.c systemd-252.29/src/shared/varlink.c
--- systemd-252.28/src/shared/varlink.c 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/shared/varlink.c 2024-07-25 13:45:32.000000000 +0100
@@ -151,42 +151,6 @@
sd_event_source *defer_event_source;
};
-typedef struct VarlinkServerSocket VarlinkServerSocket;
-
-struct VarlinkServerSocket {
- VarlinkServer *server;
-
- int fd;
- char *address;
-
- sd_event_source *event_source;
-
- LIST_FIELDS(VarlinkServerSocket, sockets);
-};
-
-struct VarlinkServer {
- unsigned n_ref;
- VarlinkServerFlags flags;
-
- LIST_HEAD(VarlinkServerSocket, sockets);
-
- Hashmap *methods;
- VarlinkConnect connect_callback;
- VarlinkDisconnect disconnect_callback;
-
- sd_event *event;
- int64_t event_priority;
-
- unsigned n_connections;
- Hashmap *by_uid;
-
- void *userdata;
- char *description;
-
- unsigned connections_max;
- unsigned connections_per_uid_max;
-};
-
static const char* const varlink_state_table[_VARLINK_STATE_MAX] = {
[VARLINK_IDLE_CLIENT] = "idle-client",
[VARLINK_AWAITING_REPLY] = "awaiting-reply",
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.28/src/shared/varlink-internal.h systemd-252.29/src/shared/varlink-internal.h
--- systemd-252.28/src/shared/varlink-internal.h 2024-07-07 11:52:10.000000000 +0100
+++ systemd-252.29/src/shared/varlink-internal.h 2024-07-25 13:45:32.000000000 +0100
@@ -6,5 +6,47 @@
#include "fdset.h"
#include "varlink.h"
+typedef struct VarlinkServerSocket VarlinkServerSocket;
+
+struct VarlinkServerSocket {
+ VarlinkServer *server;
+
+ int fd;
+ char *address;
+
+ sd_event_source *event_source;
+
+ LIST_FIELDS(VarlinkServerSocket, sockets);
+};
+
+struct VarlinkServer {
+ unsigned n_ref;
+ VarlinkServerFlags flags;
+
+ LIST_HEAD(VarlinkServerSocket, sockets);
+
+ Hashmap *methods;
+ VarlinkConnect connect_callback;
+ VarlinkDisconnect disconnect_callback;
+
+ sd_event *event;
+ int64_t event_priority;
+
+ unsigned n_connections;
+ Hashmap *by_uid;
+
+ void *userdata;
+ char *description;
+
+ unsigned connections_max;
+ unsigned connections_per_uid_max;
+};
+
+typedef struct VarlinkCollectContext {
+ JsonVariant *parameters;
+ const char *error_id;
+ VarlinkReplyFlags flags;
+} VarlinkCollectContext ;
+
int varlink_server_serialize(VarlinkServer *s, FILE *f, FDSet *fds);
int varlink_server_deserialize_one(VarlinkServer *s, const char *value, FDSet *fds);
signature.asc
Description: This is a digitally signed message part
--- End Message ---