adb: add better logging for connection failure.
Test: manual
Change-Id: I1babee0e01376955529dc1e7d5e3257a7f51f33d
diff --git a/adb/sysdeps.h b/adb/sysdeps.h
index f2911e0..0c2e45c 100644
--- a/adb/sysdeps.h
+++ b/adb/sysdeps.h
@@ -493,21 +493,7 @@
return _fd_set_error_str(socket_local_server(name, namespace_id, type), error);
}
-inline int network_connect(const std::string& host, int port, int type,
- int timeout, std::string* error) {
- int getaddrinfo_error = 0;
- int fd = socket_network_client_timeout(host.c_str(), port, type, timeout,
- &getaddrinfo_error);
- if (fd != -1) {
- return fd;
- }
- if (getaddrinfo_error != 0) {
- *error = gai_strerror(getaddrinfo_error);
- } else {
- *error = strerror(errno);
- }
- return -1;
-}
+int network_connect(const std::string& host, int port, int type, int timeout, std::string* error);
static __inline__ int adb_socket_accept(int serverfd, struct sockaddr* addr, socklen_t *addrlen)
{
diff --git a/adb/sysdeps/posix/network.cpp b/adb/sysdeps/posix/network.cpp
index ecd1fd2..33ddb4e 100644
--- a/adb/sysdeps/posix/network.cpp
+++ b/adb/sysdeps/posix/network.cpp
@@ -17,11 +17,15 @@
#include "sysdeps/network.h"
#include <errno.h>
+#include <netdb.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <string>
+#include <android-base/logging.h>
+#include <cutils/sockets.h>
+
#include "adb_unique_fd.h"
static void set_error(std::string* error) {
@@ -124,3 +128,19 @@
}
return rc;
}
+
+int network_connect(const std::string& host, int port, int type, int timeout, std::string* error) {
+ int getaddrinfo_error = 0;
+ int fd = socket_network_client_timeout(host.c_str(), port, type, timeout, &getaddrinfo_error);
+ if (fd != -1) {
+ return fd;
+ }
+ if (getaddrinfo_error != 0) {
+ *error = gai_strerror(getaddrinfo_error);
+ LOG(WARNING) << "failed to resolve host '" << host << "': " << *error;
+ } else {
+ *error = strerror(errno);
+ LOG(WARNING) << "failed to connect to '" << host << "': " << *error;
+ }
+ return -1;
+}
diff --git a/adb/transport_local.cpp b/adb/transport_local.cpp
index 1431252..8b8fd51 100644
--- a/adb/transport_local.cpp
+++ b/adb/transport_local.cpp
@@ -74,6 +74,7 @@
std::string host;
int port = DEFAULT_ADB_LOCAL_TRANSPORT_PORT;
if (!android::base::ParseNetAddress(address, &host, &port, &serial, response)) {
+ D("failed to parse address: '%s'", address.c_str());
return std::make_tuple(unique_fd(), port, serial);
}
@@ -103,6 +104,7 @@
return;
}
+ D("connection requested to '%s'", address.c_str());
unique_fd fd;
int port;
std::string serial;