]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mountfsd,networkd,nsresourced: port over to new fd passing varlink server flags 35841/head
authorLennart Poettering <lennart@poettering.net>
Mon, 6 Jan 2025 08:33:50 +0000 (09:33 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 6 Jan 2025 09:31:40 +0000 (10:31 +0100)
src/mountfsd/mountwork.c
src/network/networkd-manager-varlink.c
src/nsresourced/nsresourcework.c

index af46287fcf8cd9f51db764488a9e7cac8ef624a8..6add73894b11f27fc49af482ed7c10fd2f623145 100644 (file)
@@ -553,14 +553,6 @@ static int process_connection(sd_varlink_server *server, int _fd) {
         TAKE_FD(fd);
         vl = sd_varlink_ref(vl);
 
-        r = sd_varlink_set_allow_fd_passing_input(vl, true);
-        if (r < 0)
-                return log_error_errno(r, "Failed to enable fd passing for read: %m");
-
-        r = sd_varlink_set_allow_fd_passing_output(vl, true);
-        if (r < 0)
-                return log_error_errno(r, "Failed to enable fd passing for write: %m");
-
         r = sd_event_loop(event);
         if (r < 0)
                 return log_error_errno(r, "Failed to run event loop: %m");
@@ -596,7 +588,10 @@ static int run(int argc, char *argv[]) {
         if (r < 0)
                 return log_error_errno(r, "Failed to turn off non-blocking mode for listening socket: %m");
 
-        r = varlink_server_new(&server, SD_VARLINK_SERVER_INHERIT_USERDATA, NULL);
+        r = varlink_server_new(&server,
+                               SD_VARLINK_SERVER_INHERIT_USERDATA|
+                               SD_VARLINK_SERVER_ALLOW_FD_PASSING_INPUT|SD_VARLINK_SERVER_ALLOW_FD_PASSING_OUTPUT,
+                               NULL);
         if (r < 0)
                 return log_error_errno(r, "Failed to allocate server: %m");
 
index 546dae0739ed3e5f7ef3d0fe07cf7148957b7356..b2a196c5fc392f6d9ee01be044a9f6dc60530639 100644 (file)
@@ -250,18 +250,6 @@ static int vl_method_set_persistent_storage(sd_varlink *vlink, sd_json_variant *
         return sd_varlink_reply(vlink, NULL);
 }
 
-static int on_connect(sd_varlink_server *s, sd_varlink *vlink, void *userdata) {
-        int r;
-
-        assert(vlink);
-
-        r = sd_varlink_set_allow_fd_passing_input(vlink, true);
-        if (r < 0)
-                return log_warning_errno(r, "Failed to allow receiving file descriptor through varlink: %m");
-
-        return 0;
-}
-
 int manager_connect_varlink(Manager *m) {
         _cleanup_(sd_varlink_server_unrefp) sd_varlink_server *s = NULL;
         int r;
@@ -271,7 +259,11 @@ int manager_connect_varlink(Manager *m) {
         if (m->varlink_server)
                 return 0;
 
-        r = varlink_server_new(&s, SD_VARLINK_SERVER_ACCOUNT_UID|SD_VARLINK_SERVER_INHERIT_USERDATA, m);
+        r = varlink_server_new(
+                        &s,
+                        SD_VARLINK_SERVER_ACCOUNT_UID|SD_VARLINK_SERVER_INHERIT_USERDATA|
+                        SD_VARLINK_SERVER_ALLOW_FD_PASSING_INPUT,
+                        m);
         if (r < 0)
                 return log_error_errno(r, "Failed to allocate varlink server object: %m");
 
@@ -298,10 +290,6 @@ int manager_connect_varlink(Manager *m) {
         if (r < 0)
                 return log_error_errno(r, "Failed to attach varlink connection to event loop: %m");
 
-        r = sd_varlink_server_bind_connect(s, on_connect);
-        if (r < 0)
-                return log_error_errno(r, "Failed to set on-connect callback for varlink: %m");
-
         m->varlink_server = TAKE_PTR(s);
         return 0;
 }
index 21fc2d9088c83adb06b0fe18c2735617133b39ba..b8db07fcd33aec83747706b1662e801bc3c257e8 100644 (file)
@@ -1637,14 +1637,6 @@ static int process_connection(sd_varlink_server *server, int _fd) {
         TAKE_FD(fd);
         vl = sd_varlink_ref(vl);
 
-        r = sd_varlink_set_allow_fd_passing_input(vl, true);
-        if (r < 0)
-                return log_error_errno(r, "Failed to enable fd passing for read: %m");
-
-        r = sd_varlink_set_allow_fd_passing_output(vl, true);
-        if (r < 0)
-                return log_error_errno(r, "Failed to enable fd passing for write: %m");
-
         for (;;) {
                 r = sd_varlink_process(vl);
                 if (r == -ENOTCONN) {
@@ -1690,7 +1682,11 @@ static int run(int argc, char *argv[]) {
         if (r < 0)
                 return log_error_errno(r, "Failed to turn off non-blocking mode for listening socket: %m");
 
-        r = varlink_server_new(&server, SD_VARLINK_SERVER_INHERIT_USERDATA, NULL);
+        r = varlink_server_new(
+                        &server,
+                        SD_VARLINK_SERVER_INHERIT_USERDATA|
+                        SD_VARLINK_SERVER_ALLOW_FD_PASSING_INPUT|SD_VARLINK_SERVER_ALLOW_FD_PASSING_OUTPUT,
+                        NULL);
         if (r < 0)
                 return log_error_errno(r, "Failed to allocate varlink server: %m");