summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVo Trung Chi <Chi.VoTrung@vn.bosch.com>2019-07-30 14:00:11 +0700
committerSaya Sugiura <39760799+ssugiura@users.noreply.github.com>2019-09-03 10:45:44 +0900
commitb934db4b865a71ceebcfa0c63149576f3c2a5ecd (patch)
tree6dc9865b8dedef9c25c9614c8ff730c3c35cbb8e
parent01a1935ec1e2ebf0601a6ff55ac957c92d6cbfa5 (diff)
downloadDLT-daemon-b934db4b865a71ceebcfa0c63149576f3c2a5ecd.tar.gz
dlt-daemon: fix bug binding invalid ipv6 address as default
The default INADDR_ANY is used ("0.0.0.0") as before. But it's invalid when DLT_USE_IPv6 flag ON. Signed-off-by: Vo Trung Chi <Chi.VoTrung@vn.bosch.com>
-rw-r--r--src/daemon/dlt_daemon_socket.c7
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));