summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--louloulibs/network/tcp_socket_handler.cpp17
-rw-r--r--louloulibs/network/tcp_socket_handler.hpp5
2 files changed, 22 insertions, 0 deletions
diff --git a/louloulibs/network/tcp_socket_handler.cpp b/louloulibs/network/tcp_socket_handler.cpp
index 04bb321..cca6cd2 100644
--- a/louloulibs/network/tcp_socket_handler.cpp
+++ b/louloulibs/network/tcp_socket_handler.cpp
@@ -16,6 +16,7 @@
#include <fcntl.h>
#include <iostream>
+#include <arpa/inet.h>
#ifdef BOTAN_FOUND
# include <botan/hex.h>
@@ -159,6 +160,9 @@ void TCPSocketHandler::connect(const std::string& address, const std::string& po
break;
}
}
+
+ this->display_resolved_ip(rp);
+
if (::connect(this->socket, rp->ai_addr, rp->ai_addrlen) == 0
|| errno == EISCONN)
{
@@ -343,6 +347,19 @@ void TCPSocketHandler::close()
this->port.clear();
}
+void TCPSocketHandler::display_resolved_ip(struct addrinfo* rp) const
+{
+ char buf[INET6_ADDRSTRLEN];
+ if (rp->ai_family == AF_INET)
+ log_debug("Connecting to IP address " << ::inet_ntop(rp->ai_family,
+ &reinterpret_cast<sockaddr_in*>(rp->ai_addr)->sin_addr,
+ buf, sizeof(buf)));
+ else if (rp->ai_family == AF_INET6)
+ log_debug("Connecting to IPv6 address " << ::inet_ntop(rp->ai_family,
+ &reinterpret_cast<sockaddr_in6*>(rp->ai_addr)->sin6_addr,
+ buf, sizeof(buf)));
+}
+
void TCPSocketHandler::send_data(std::string&& data)
{
#ifdef BOTAN_FOUND
diff --git a/louloulibs/network/tcp_socket_handler.hpp b/louloulibs/network/tcp_socket_handler.hpp
index 8069825..835c509 100644
--- a/louloulibs/network/tcp_socket_handler.hpp
+++ b/louloulibs/network/tcp_socket_handler.hpp
@@ -264,6 +264,11 @@ private:
TCPSocketHandler& operator=(const TCPSocketHandler&) = delete;
TCPSocketHandler& operator=(TCPSocketHandler&&) = delete;
+ /**
+ * Display the resolved IP, just for information purpose.
+ */
+ void display_resolved_ip(struct addrinfo* rp) const;
+
#ifdef BOTAN_FOUND
/**
* Botan stuff to manipulate a TLS session.