diff options
author | Lennart Poettering <lennart@poettering.net> | 2022-05-10 18:08:57 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-05-14 05:01:38 +0900 |
commit | 1861986a3bf78df26aee37635083cf1507be4b24 (patch) | |
tree | 5f99ecd0e8bc519285e4557c89dde81278e05452 /src/userdb | |
parent | 28ae8da97240c0048f03ed516d64fe064a7fc161 (diff) | |
download | systemd-1861986a3bf78df26aee37635083cf1507be4b24.tar.gz |
tree-wide: port various users over to connect_unix_path()
Let's make use of our new helper, and thus allow longer paths.
Diffstat (limited to 'src/userdb')
-rw-r--r-- | src/userdb/userdbctl.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/userdb/userdbctl.c b/src/userdb/userdbctl.c index eddbe765b0..1930fb916b 100644 --- a/src/userdb/userdbctl.c +++ b/src/userdb/userdbctl.c @@ -942,25 +942,19 @@ static int display_services(int argc, char *argv[], void *userdata) { FOREACH_DIRENT(de, d, return -errno) { _cleanup_free_ char *j = NULL, *no = NULL; - union sockaddr_union sockaddr; - socklen_t sockaddr_len; _cleanup_close_ int fd = -1; j = path_join("/run/systemd/userdb/", de->d_name); if (!j) return log_oom(); - r = sockaddr_un_set_path(&sockaddr.un, j); - if (r < 0) - return log_error_errno(r, "Path %s does not fit in AF_UNIX socket address: %m", j); - sockaddr_len = r; - fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); if (fd < 0) return log_error_errno(errno, "Failed to allocate AF_UNIX/SOCK_STREAM socket: %m"); - if (connect(fd, &sockaddr.sa, sockaddr_len) < 0) { - no = strjoin("No (", errno_to_name(errno), ")"); + r = connect_unix_path(fd, dirfd(d), de->d_name); + if (r < 0) { + no = strjoin("No (", errno_to_name(r), ")"); if (!no) return log_oom(); } |