From a2a5d78fbdce607b698e6b7b347295870b8aa324 Mon Sep 17 00:00:00 2001 From: Dmitry Orlov Date: Thu, 5 Jul 2018 13:01:06 +0300 Subject: [PATCH 1/3] [fix] ipv6 address parsing --- src/Socket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Socket.cpp b/src/Socket.cpp index 61e3131..effb7b6 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -102,7 +102,7 @@ void Socket::getFirstAddr(const char* addr, int type, int protocol, sockaddr* re } else { std::string tmp; const char* host = addr; - const char* port = strchr(addr, ':'); + const char* port = strrchr(addr, ':'); if (port) { tmp.append(addr, port - addr); host = tmp.c_str(); From 6848768e8e8f0b8f44a750b2080be7993a6ea783 Mon Sep 17 00:00:00 2001 From: Dmitry Orlov Date: Thu, 5 Jul 2018 13:22:56 +0300 Subject: [PATCH 2/3] [fix] add logging --- src/Socket.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Socket.cpp b/src/Socket.cpp index effb7b6..b91eef1 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -108,6 +108,9 @@ void Socket::getFirstAddr(const char* addr, int type, int protocol, sockaddr* re host = tmp.c_str(); port++; } + + logDebug("Connecting to %s %d", host, port); + struct addrinfo hints; struct addrinfo *dst; memset(&hints, 0, sizeof(hints)); From a83b4d019deb53b7d39d7130a3332221f1bbdbce Mon Sep 17 00:00:00 2001 From: Dmitry Orlov Date: Thu, 5 Jul 2018 13:34:31 +0300 Subject: [PATCH 3/3] [fix] --- src/Socket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Socket.cpp b/src/Socket.cpp index b91eef1..ca35f24 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -109,7 +109,7 @@ void Socket::getFirstAddr(const char* addr, int type, int protocol, sockaddr* re port++; } - logDebug("Connecting to %s %d", host, port); + logDebug("Connecting to %s", addr); struct addrinfo hints; struct addrinfo *dst;