diff options
Diffstat (limited to 'src/daemon/dlt_daemon_socket.c')
-rw-r--r-- | src/daemon/dlt_daemon_socket.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c index 2e4f9ea..03c6788 100644 --- a/src/daemon/dlt_daemon_socket.c +++ b/src/daemon/dlt_daemon_socket.c @@ -60,7 +60,7 @@ int dlt_daemon_socket_open(int *sock, unsigned int servPort, char *ip) { int yes = 1; - int ret_inet_pton = 0; + int ret_inet_pton = 1; #ifdef DLT_USE_IPv6 @@ -96,7 +96,10 @@ int dlt_daemon_socket_open(int *sock, unsigned int servPort, char *ip) memset(&forced_addr, 0, sizeof(forced_addr)); forced_addr.sin6_family = AF_INET6; forced_addr.sin6_port = htons(servPort); - ret_inet_pton = inet_pton(AF_INET6, ip, &forced_addr.sin6_addr); + if (0 == strcmp(ip, "0.0.0.0")) + forced_addr.sin6_addr = in6addr_any; + else + ret_inet_pton = inet_pton(AF_INET6, ip, &forced_addr.sin6_addr); #else struct sockaddr_in forced_addr; memset(&forced_addr, 0, sizeof(forced_addr)); |