Loading adb/adb.h +4 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include <base/macros.h> #include <string> #include "adb_trace.h" #include "fdevent.h" Loading Loading @@ -357,8 +359,8 @@ void put_apacket(apacket *p); void local_init(int port); int local_connect(int port); int local_connect_arbitrary_ports(int console_port, int adb_port); void local_connect(int port); int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* error); /* usb host/client interface */ void usb_init(); Loading adb/adb_client.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -33,8 +33,10 @@ #include <base/stringprintf.h> #include <base/strings.h> #include <cutils/sockets.h> #include "adb_io.h" #include "adb_utils.h" static TransportType __adb_transport = kTransportAny; static const char* __adb_serial = NULL; Loading Loading @@ -152,14 +154,21 @@ int _adb_connect(const std::string& service, std::string* error) { int fd; if (__adb_server_name) { fd = socket_network_client(__adb_server_name, __adb_server_port, SOCK_STREAM); std::string reason; fd = network_connect(__adb_server_name, __adb_server_port, SOCK_STREAM, 0, &reason); if (fd == -1) { *error = android::base::StringPrintf("can't connect to %s:%d: %s", __adb_server_name, __adb_server_port, reason.c_str()); return -2; } } else { fd = socket_loopback_client(__adb_server_port, SOCK_STREAM); } if (fd < 0) { if (fd == -1) { *error = perror_str("cannot connect to daemon"); return -2; } } if (memcmp(&service[0],"host",4) != 0 && switch_socket_transport(fd, error)) { return -1; Loading adb/adb_listeners.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <stdlib.h> #include <base/stringprintf.h> #include <cutils/sockets.h> #include "sysdeps.h" #include "transport.h" Loading adb/adb_utils.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include "adb_utils.h" #include <netdb.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> Loading @@ -28,6 +29,7 @@ #include <base/logging.h> #include <base/stringprintf.h> #include <base/strings.h> #include <cutils/sockets.h> #include "adb_trace.h" #include "sysdeps.h" Loading Loading @@ -158,3 +160,18 @@ bool parse_host_and_port(const std::string& address, << " (" << *canonical_address << ")"; return true; } 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) { // TODO: not thread safe on Win32. *error = gai_strerror(getaddrinfo_error); } else { *error = strerror(errno); } return -1; } adb/adb_utils.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,6 @@ bool parse_host_and_port(const std::string& address, std::string* host, int* port, std::string* error); int network_connect(const std::string& host, int port, int type, int timeout, std::string* error); #endif Loading
adb/adb.h +4 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ #include <base/macros.h> #include <string> #include "adb_trace.h" #include "fdevent.h" Loading Loading @@ -357,8 +359,8 @@ void put_apacket(apacket *p); void local_init(int port); int local_connect(int port); int local_connect_arbitrary_ports(int console_port, int adb_port); void local_connect(int port); int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* error); /* usb host/client interface */ void usb_init(); Loading
adb/adb_client.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -33,8 +33,10 @@ #include <base/stringprintf.h> #include <base/strings.h> #include <cutils/sockets.h> #include "adb_io.h" #include "adb_utils.h" static TransportType __adb_transport = kTransportAny; static const char* __adb_serial = NULL; Loading Loading @@ -152,14 +154,21 @@ int _adb_connect(const std::string& service, std::string* error) { int fd; if (__adb_server_name) { fd = socket_network_client(__adb_server_name, __adb_server_port, SOCK_STREAM); std::string reason; fd = network_connect(__adb_server_name, __adb_server_port, SOCK_STREAM, 0, &reason); if (fd == -1) { *error = android::base::StringPrintf("can't connect to %s:%d: %s", __adb_server_name, __adb_server_port, reason.c_str()); return -2; } } else { fd = socket_loopback_client(__adb_server_port, SOCK_STREAM); } if (fd < 0) { if (fd == -1) { *error = perror_str("cannot connect to daemon"); return -2; } } if (memcmp(&service[0],"host",4) != 0 && switch_socket_transport(fd, error)) { return -1; Loading
adb/adb_listeners.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <stdlib.h> #include <base/stringprintf.h> #include <cutils/sockets.h> #include "sysdeps.h" #include "transport.h" Loading
adb/adb_utils.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include "adb_utils.h" #include <netdb.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> Loading @@ -28,6 +29,7 @@ #include <base/logging.h> #include <base/stringprintf.h> #include <base/strings.h> #include <cutils/sockets.h> #include "adb_trace.h" #include "sysdeps.h" Loading Loading @@ -158,3 +160,18 @@ bool parse_host_and_port(const std::string& address, << " (" << *canonical_address << ")"; return true; } 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) { // TODO: not thread safe on Win32. *error = gai_strerror(getaddrinfo_error); } else { *error = strerror(errno); } return -1; }
adb/adb_utils.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,6 @@ bool parse_host_and_port(const std::string& address, std::string* host, int* port, std::string* error); int network_connect(const std::string& host, int port, int type, int timeout, std::string* error); #endif