libweave: Add diagnostic messages when conneting to XMPP server
Added logging for socket connection attempts when estabilishing
connection to the XMPP server.
BUG=None
TEST=`FEATURES=test emerge-link buffet`
Change-Id: I2b60e96909baffd4fddcb6f5facb37c5e1679620
Reviewed-on: https://chromium-review.googlesource.com/284638
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/libweave/src/utils.cc b/libweave/src/utils.cc
index 71ea0d4..a8cd587 100644
--- a/libweave/src/utils.cc
+++ b/libweave/src/utils.cc
@@ -4,6 +4,7 @@
#include "libweave/src/utils.h"
+#include <arpa/inet.h>
#include <map>
#include <netdb.h>
#include <string>
@@ -86,8 +87,10 @@
std::string service = std::to_string(port);
addrinfo hints = {0, AF_UNSPEC, SOCK_STREAM};
addrinfo* result = nullptr;
- if (getaddrinfo(host.c_str(), service.c_str(), &hints, &result))
+ if (getaddrinfo(host.c_str(), service.c_str(), &hints, &result)) {
+ PLOG(WARNING) << "Failed to resolve host name: " << host;
return -1;
+ }
int socket_fd = -1;
for (const addrinfo* info = result; info != nullptr; info = info->ai_next) {
@@ -95,9 +98,13 @@
if (socket_fd < 0)
continue;
+ char str[INET6_ADDRSTRLEN] = {};
+ inet_ntop(info->ai_family, info->ai_addr, str, info->ai_addrlen);
+ LOG(INFO) << "Connecting to address: " << str;
if (connect(socket_fd, info->ai_addr, info->ai_addrlen) == 0)
break; // Success.
+ PLOG(WARNING) << "Failed to connect to address: " << str;
close(socket_fd);
socket_fd = -1;
}