From 7742d03e8d3ac08dcae6b709528c2c14cc56752b Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 21 Mar 2024 19:45:03 +0900 Subject: [PATCH 1/3] networkctl: use varlink_flush_close_unrefp() --- src/network/networkctl.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 91285e81160..d5a4b7eef8d 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -93,7 +93,7 @@ JsonFormatFlags arg_json_format_flags = JSON_FORMAT_OFF; STATIC_DESTRUCTOR_REGISTER(arg_drop_in, freep); static int varlink_connect_networkd(Varlink **ret_varlink) { - _cleanup_(varlink_unrefp) Varlink *vl = NULL; + _cleanup_(varlink_flush_close_unrefp) Varlink *vl = NULL; JsonVariant *reply; uint64_t id; int r; @@ -2431,7 +2431,7 @@ static int link_status(int argc, char *argv[], void *userdata) { _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL; _cleanup_(sd_netlink_unrefp) sd_netlink *rtnl = NULL; _cleanup_(sd_hwdb_unrefp) sd_hwdb *hwdb = NULL; - _cleanup_(varlink_unrefp) Varlink *vl = NULL; + _cleanup_(varlink_flush_close_unrefp) Varlink *vl = NULL; _cleanup_(link_info_array_freep) LinkInfo *links = NULL; int r, c; @@ -2593,7 +2593,7 @@ static int dump_lldp_neighbors_json(JsonVariant *reply, char * const *patterns) } static int link_lldp_status(int argc, char *argv[], void *userdata) { - _cleanup_(varlink_unrefp) Varlink *vl = NULL; + _cleanup_(varlink_flush_close_unrefp) Varlink *vl = NULL; _cleanup_(table_unrefp) Table *table = NULL; JsonVariant *reply; uint64_t all = 0; @@ -2934,7 +2934,7 @@ static int verb_reconfigure(int argc, char *argv[], void *userdata) { } static int verb_persistent_storage(int argc, char *argv[], void *userdata) { - _cleanup_(varlink_unrefp) Varlink *vl = NULL; + _cleanup_(varlink_flush_close_unrefp) Varlink *vl = NULL; bool ready; int r; From 2858d929145b50a7272f5ac8cadfbd6c90c06984 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 21 Mar 2024 19:52:31 +0900 Subject: [PATCH 2/3] network: set varlink description --- src/network/networkctl.c | 2 ++ src/network/networkd-manager-varlink.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/network/networkctl.c b/src/network/networkctl.c index d5a4b7eef8d..117789c6e6e 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -102,6 +102,8 @@ static int varlink_connect_networkd(Varlink **ret_varlink) { if (r < 0) return log_error_errno(r, "Failed to connect to network service /run/systemd/netif/io.systemd.Network: %m"); + (void) varlink_set_description(vl, "varlink-network"); + r = varlink_set_allow_fd_passing_output(vl, true); if (r < 0) return log_error_errno(r, "Failed to allow passing file descriptor through varlink: %m"); diff --git a/src/network/networkd-manager-varlink.c b/src/network/networkd-manager-varlink.c index 2ccd1df1ef3..31aebfc3897 100644 --- a/src/network/networkd-manager-varlink.c +++ b/src/network/networkd-manager-varlink.c @@ -275,6 +275,8 @@ int manager_connect_varlink(Manager *m) { varlink_server_set_userdata(s, m); + (void) varlink_server_set_description(s, "varlink-api-network"); + r = varlink_server_add_interface(s, &vl_interface_io_systemd_Network); if (r < 0) return log_error_errno(r, "Failed to add Network interface to varlink server: %m"); From 10157428785f39dcc0af4d10fe638dabb519b50f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 21 Mar 2024 19:54:25 +0900 Subject: [PATCH 3/3] varlink: use varlink_server_description() --- src/shared/varlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/varlink.c b/src/shared/varlink.c index 6c107c53fa8..d4072ec3982 100644 --- a/src/shared/varlink.c +++ b/src/shared/varlink.c @@ -3377,7 +3377,7 @@ int varlink_server_add_connection(VarlinkServer *server, int fd, Varlink **ret) } _cleanup_free_ char *desc = NULL; - if (asprintf(&desc, "%s-%i", server->description ?: "varlink", v->fd) >= 0) + if (asprintf(&desc, "%s-%i", varlink_server_description(server), v->fd) >= 0) v->description = TAKE_PTR(desc); /* Link up the server and the connection, and take reference in both directions. Note that the