]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
machined: add description to varlink server, unify error messages
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 26 Nov 2025 21:11:24 +0000 (22:11 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 5 Dec 2025 11:17:06 +0000 (12:17 +0100)
manager_varlink_init_resolve_hook and manager_varlink_init_userdb are very
similar, but one didn't set a description and the other one had an error
message which didn't print the offending path.

Define constants for the paths, and also change other similar constants
to have slightly shorter names. (It's an "address" and "path", but we don't
need to have both parts in the name, esp. that it makes the name very long.)

src/basic/constants.h
src/core/varlink.c
src/machine/machined-varlink.c
src/oom/oomd-manager.c

index 7a09fbf878e89c18ddb819c0d815360cc4980bdb..a26cff4062c42abd5eacf9bf3be9863bb1415c5a 100644 (file)
 #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"
index d133b6a640e4461b3379d361cc37ffaf627ed82d..fe077c699c532999846f1ef756cb15e8b556b8bf 100644 (file)
@@ -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))
index f4714c545d8c311c9b4eb0707ea0c6a7418c20b3..f83cbb856266b77d9882653220f68a80842dd556 100644 (file)
@@ -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)
index 49c2241bdde1be2fa7f917a04a5c7c2700045d0c..3fc22d43e5a3eb0efca72218ded9e646dfc8e40f 100644 (file)
@@ -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)