diff --git a/src/basic/constants.h b/src/basic/constants.h index 7a09fbf878..a26cff4062 100644 --- a/src/basic/constants.h +++ b/src/basic/constants.h @@ -59,9 +59,13 @@ #define DEFAULT_RLIMIT_MEMLOCK (1024ULL*1024ULL*8ULL) /* Path where PID1 listens for varlink subscriptions from systemd-oomd to notify of changes in ManagedOOM settings. */ -#define VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM "/run/systemd/io.systemd.ManagedOOM" +#define VARLINK_PATH_MANAGED_OOM_SYSTEM "/run/systemd/io.systemd.ManagedOOM" /* Path where systemd-oomd listens for varlink connections from user managers to report changes in ManagedOOM settings. */ -#define VARLINK_ADDR_PATH_MANAGED_OOM_USER "/run/systemd/oom/io.systemd.ManagedOOM" +#define VARLINK_PATH_MANAGED_OOM_USER "/run/systemd/oom/io.systemd.ManagedOOM" +/* Path where systemd-machined listens to userdb varlink queries */ +#define VARLINK_PATH_MACHINED_USERDB "/run/systemd/userdb/io.systemd.Machine" +/* Path where systemd-machined listens to resolve.hook varlink queries */ +#define VARLINK_PATH_MACHINED_RESOLVE_HOOK "/run/systemd/resolve.hook/io.systemd.Machine" /* Recommended baseline - see README for details */ #define KERNEL_BASELINE_VERSION "5.7" diff --git a/src/core/varlink.c b/src/core/varlink.c index d133b6a640..fe077c699c 100644 --- a/src/core/varlink.c +++ b/src/core/varlink.c @@ -169,7 +169,7 @@ static int managed_oom_vl_reply(sd_varlink *link, sd_json_variant *parameters, c m->managed_oom_varlink = sd_varlink_unref(link); - log_debug("Reconnecting to %s", VARLINK_ADDR_PATH_MANAGED_OOM_USER); + log_debug("Reconnecting to %s", VARLINK_PATH_MANAGED_OOM_USER); r = manager_varlink_managed_oom_connect(m); if (r <= 0) @@ -194,7 +194,7 @@ static int manager_varlink_managed_oom_connect(Manager *m) { if (MANAGER_IS_TEST_RUN(m)) return 0; - r = sd_varlink_connect_address(&link, VARLINK_ADDR_PATH_MANAGED_OOM_USER); + r = sd_varlink_connect_address(&link, VARLINK_PATH_MANAGED_OOM_USER); if (r == -ENOENT) return 0; if (ERRNO_IS_NEG_DISCONNECT(r)) { @@ -202,7 +202,7 @@ static int manager_varlink_managed_oom_connect(Manager *m) { return 0; } if (r < 0) - return log_error_errno(r, "Failed to connect to '%s': %m", VARLINK_ADDR_PATH_MANAGED_OOM_USER); + return log_error_errno(r, "Failed to connect to '%s': %m", VARLINK_PATH_MANAGED_OOM_USER); sd_varlink_set_userdata(link, m); @@ -435,7 +435,7 @@ static int manager_varlink_init_system(Manager *m) { if (!MANAGER_IS_TEST_RUN(m)) { FOREACH_STRING(address, "/run/systemd/userdb/io.systemd.DynamicUser", - VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM, + VARLINK_PATH_MANAGED_OOM_SYSTEM, "/run/systemd/io.systemd.Manager") { /* We might have got sockets through deserialization. Do not bind to them twice. */ if (!fresh && varlink_server_contains_socket(m->varlink_server, address)) diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c index f4714c545d..f83cbb8562 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c @@ -6,6 +6,7 @@ #include "sd-varlink.h" #include "bus-polkit.h" +#include "constants.h" #include "discover-image.h" #include "errno-util.h" #include "format-util.h" @@ -745,6 +746,8 @@ static int manager_varlink_init_userdb(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to allocate varlink server object: %m"); + (void) sd_varlink_server_set_description(s, "varlink-userdb"); + r = sd_varlink_server_add_interface(s, &vl_interface_io_systemd_UserDatabase); if (r < 0) return log_error_errno(r, "Failed to add UserDatabase interface to varlink server: %m"); @@ -757,9 +760,9 @@ static int manager_varlink_init_userdb(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to register varlink methods: %m"); - r = sd_varlink_server_listen_address(s, "/run/systemd/userdb/io.systemd.Machine", 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); + r = sd_varlink_server_listen_address(s, VARLINK_PATH_MACHINED_USERDB, 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket '/run/systemd/userdb/io.systemd.Machine': %m"); + return log_error_errno(r, "Failed to bind to varlink socket %s: %m", VARLINK_PATH_MACHINED_USERDB); r = sd_varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); if (r < 0) @@ -889,9 +892,11 @@ static int manager_varlink_init_resolve_hook(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to bind on resolve hook disconnection events: %m"); - r = sd_varlink_server_listen_address(s, "/run/systemd/resolve.hook/io.systemd.Machine", 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); + r = sd_varlink_server_listen_address(s, VARLINK_PATH_MACHINED_RESOLVE_HOOK, + 0666 | SD_VARLINK_SERVER_MODE_MKDIR_0755); if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket: %m"); + return log_error_errno(r, "Failed to bind to varlink socket %s: %m", + VARLINK_PATH_MACHINED_RESOLVE_HOOK); r = sd_varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); if (r < 0) diff --git a/src/oom/oomd-manager.c b/src/oom/oomd-manager.c index 49c2241bdd..3fc22d43e5 100644 --- a/src/oom/oomd-manager.c +++ b/src/oom/oomd-manager.c @@ -334,9 +334,9 @@ static int acquire_managed_oom_connect(Manager *m) { assert(m); assert(m->event); - r = sd_varlink_connect_address(&link, VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM); + r = sd_varlink_connect_address(&link, VARLINK_PATH_MANAGED_OOM_SYSTEM); if (r < 0) - return log_error_errno(r, "Failed to connect to " VARLINK_ADDR_PATH_MANAGED_OOM_SYSTEM ": %m"); + return log_error_errno(r, "Failed to connect to %s: %m", VARLINK_PATH_MANAGED_OOM_SYSTEM); (void) sd_varlink_set_userdata(link, m); (void) sd_varlink_set_description(link, "oomd"); @@ -768,11 +768,12 @@ static int manager_varlink_init(Manager *m, int fd) { return log_error_errno(r, "Failed to register varlink methods: %m"); if (fd < 0) - r = sd_varlink_server_listen_address(s, VARLINK_ADDR_PATH_MANAGED_OOM_USER, 0666); + r = sd_varlink_server_listen_address(s, VARLINK_PATH_MANAGED_OOM_USER, 0666); else r = sd_varlink_server_listen_fd(s, fd); if (r < 0) - return log_error_errno(r, "Failed to bind to varlink socket '" VARLINK_ADDR_PATH_MANAGED_OOM_USER "': %m"); + return log_error_errno(r, "Failed to bind to varlink socket %s: %m", + VARLINK_PATH_MANAGED_OOM_USER); r = sd_varlink_server_attach_event(s, m->event, SD_EVENT_PRIORITY_NORMAL); if (r < 0)