summaryrefslogtreecommitdiff
path: root/src/libsystemd
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-07-10 21:16:40 +0200
committerLennart Poettering <lennart@poettering.net>2014-07-10 21:16:40 +0200
commit3cb4674019567ef93e4a463dd145fd3af6242877 (patch)
tree6911a9003819f9bc830672e2cd5d81f2ff55f0e3 /src/libsystemd
parent3b653205cf7bd3851befd0a9f6a3ded6e267c173 (diff)
libsystemd: make use of our common sockaddr_union everywhere
Diffstat (limited to 'src/libsystemd')
-rw-r--r--src/libsystemd/sd-bus/bus-internal.h7
-rw-r--r--src/libsystemd/sd-daemon/sd-daemon.c11
2 files changed, 3 insertions, 15 deletions
diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h
index d1183d69c4..618e82c98f 100644
--- a/src/libsystemd/sd-bus/bus-internal.h
+++ b/src/libsystemd/sd-bus/bus-internal.h
@@ -237,12 +237,7 @@ struct sd_bus {
Hashmap *vtable_methods;
Hashmap *vtable_properties;
- union {
- struct sockaddr sa;
- struct sockaddr_un un;
- struct sockaddr_in in;
- struct sockaddr_in6 in6;
- } sockaddr;
+ union sockaddr_union sockaddr;
socklen_t sockaddr_size;
char *kernel;
diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c
index 7caa63db14..46241f77ff 100644
--- a/src/libsystemd/sd-daemon/sd-daemon.c
+++ b/src/libsystemd/sd-daemon/sd-daemon.c
@@ -37,6 +37,7 @@
#include "util.h"
#include "path-util.h"
+#include "socket-util.h"
#include "sd-daemon.h"
_public_ int sd_listen_fds(int unset_environment) {
@@ -196,14 +197,6 @@ static int sd_is_socket_internal(int fd, int type, int listening) {
return 1;
}
-union sockaddr_union {
- struct sockaddr sa;
- struct sockaddr_in in4;
- struct sockaddr_in6 in6;
- struct sockaddr_un un;
- struct sockaddr_storage storage;
-};
-
_public_ int sd_is_socket(int fd, int family, int type, int listening) {
int r;
@@ -261,7 +254,7 @@ _public_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint
if (l < sizeof(struct sockaddr_in))
return -EINVAL;
- return htons(port) == sockaddr.in4.sin_port;
+ return htons(port) == sockaddr.in.sin_port;
} else {
if (l < sizeof(struct sockaddr_in6))
return -EINVAL;