if (r < 0)
return log_error_errno(r, "Failed to register varlink methods: %m");
- r = sd_varlink_server_listen_address(s, "/run/systemd/machine/io.systemd.Machine", 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755);
+ r = sd_varlink_server_listen_auto(s);
if (r < 0)
- return log_error_errno(r, "Failed to bind to io.systemd.Machine varlink socket: %m");
+ return log_error_errno(r, "Failed to bind to passed Varlink sockets: %m");
+ if (r == 0) {
+ r = sd_varlink_server_listen_address(s, "/run/systemd/machine/io.systemd.Machine", 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755);
+ if (r < 0)
+ return log_error_errno(r, "Failed to bind to io.systemd.Machine varlink socket: %m");
- r = sd_varlink_server_listen_address(s, "/run/systemd/machine/io.systemd.MachineImage", 0666);
- if (r < 0)
- return log_error_errno(r, "Failed to bind to io.systemd.MachineImage varlink socket: %m");
+ r = sd_varlink_server_listen_address(s, "/run/systemd/machine/io.systemd.MachineImage", 0666);
+ if (r < 0)
+ return log_error_errno(r, "Failed to bind to io.systemd.MachineImage varlink socket: %m");
+ }
r = sd_varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL);
if (r < 0)
'conditions' : ['ENABLE_MACHINED'],
'symlinks' : ['dbus-org.freedesktop.machine1.service'],
},
+ {
+ 'file' : 'systemd-machined.socket',
+ 'conditions' : ['ENABLE_MACHINED'],
+ 'symlinks' : ['sockets.target.wants/'],
+ },
{
'file' : 'systemd-modules-load.service.in',
'conditions' : ['HAVE_KMOD'],
Documentation=man:systemd-machined.service(8)
Documentation=man:org.freedesktop.machine1(5)
-Wants=machine.slice
-After=machine.slice
+Wants=machine.slice systemd-machined.socket
+After=machine.slice systemd-machined.socket
RequiresMountsFor=/var/lib/machines
[Service]
--- /dev/null
+# SPDX-License-Identifier: LGPL-2.1-or-later
+#
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Virtual Machine and Container Registration Service Socket
+Documentation=man:systemd-machined.service(8)
+
+[Socket]
+ListenStream=/run/systemd/machine/io.systemd.Machine
+ListenStream=/run/systemd/machine/io.systemd.MachineImage
+FileDescriptorName=varlink
+SocketMode=0666