Loading adb/daemon/main.cpp +0 −7 Original line number Diff line number Diff line Loading @@ -68,13 +68,6 @@ static bool should_drop_privileges() { #if defined(ALLOW_ADBD_ROOT) char value[PROPERTY_VALUE_MAX]; // The emulator is never secure, so don't drop privileges there. // TODO: this seems like a bug --- shouldn't the emulator behave like a device? property_get("ro.kernel.qemu", value, ""); if (strcmp(value, "1") == 0) { return false; } // The properties that affect `adb root` and `adb unroot` are ro.secure and // ro.debuggable. In this context the names don't make the expected behavior // particularly obvious. Loading adb/transport_local.cpp +16 −10 Original line number Diff line number Diff line Loading @@ -94,6 +94,10 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e int fd = -1; #if ADB_HOST if (find_emulator_transport_by_adb_port(adb_port) != nullptr) { return -1; } const char *host = getenv("ADBHOST"); if (host) { fd = network_connect(host, adb_port, SOCK_STREAM, 0, error); Loading @@ -108,9 +112,11 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e close_on_exec(fd); disable_tcp_nagle(fd); std::string serial = android::base::StringPrintf("emulator-%d", console_port); register_socket_transport(fd, serial.c_str(), adb_port, 1); if (register_socket_transport(fd, serial.c_str(), adb_port, 1) == 0) { return 0; } adb_close(fd); } return -1; } Loading @@ -118,17 +124,17 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e static void *client_socket_thread(void *x) { #if ADB_HOST D("transport: client_socket_thread() starting\n"); while (true) { int port = DEFAULT_ADB_LOCAL_TRANSPORT_PORT; int count = ADB_LOCAL_TRANSPORT_MAX; D("transport: client_socket_thread() starting\n"); /* try to connect to any number of running emulator instances */ /* this is only done when ADB starts up. later, each new emulator */ /* will send a message to ADB to indicate that is is starting up */ // Try to connect to any number of running emulator instances. for ( ; count > 0; count--, port += 2 ) { local_connect(port); } sleep(1); } #endif return 0; } Loading Loading
adb/daemon/main.cpp +0 −7 Original line number Diff line number Diff line Loading @@ -68,13 +68,6 @@ static bool should_drop_privileges() { #if defined(ALLOW_ADBD_ROOT) char value[PROPERTY_VALUE_MAX]; // The emulator is never secure, so don't drop privileges there. // TODO: this seems like a bug --- shouldn't the emulator behave like a device? property_get("ro.kernel.qemu", value, ""); if (strcmp(value, "1") == 0) { return false; } // The properties that affect `adb root` and `adb unroot` are ro.secure and // ro.debuggable. In this context the names don't make the expected behavior // particularly obvious. Loading
adb/transport_local.cpp +16 −10 Original line number Diff line number Diff line Loading @@ -94,6 +94,10 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e int fd = -1; #if ADB_HOST if (find_emulator_transport_by_adb_port(adb_port) != nullptr) { return -1; } const char *host = getenv("ADBHOST"); if (host) { fd = network_connect(host, adb_port, SOCK_STREAM, 0, error); Loading @@ -108,9 +112,11 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e close_on_exec(fd); disable_tcp_nagle(fd); std::string serial = android::base::StringPrintf("emulator-%d", console_port); register_socket_transport(fd, serial.c_str(), adb_port, 1); if (register_socket_transport(fd, serial.c_str(), adb_port, 1) == 0) { return 0; } adb_close(fd); } return -1; } Loading @@ -118,17 +124,17 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e static void *client_socket_thread(void *x) { #if ADB_HOST D("transport: client_socket_thread() starting\n"); while (true) { int port = DEFAULT_ADB_LOCAL_TRANSPORT_PORT; int count = ADB_LOCAL_TRANSPORT_MAX; D("transport: client_socket_thread() starting\n"); /* try to connect to any number of running emulator instances */ /* this is only done when ADB starts up. later, each new emulator */ /* will send a message to ADB to indicate that is is starting up */ // Try to connect to any number of running emulator instances. for ( ; count > 0; count--, port += 2 ) { local_connect(port); } sleep(1); } #endif return 0; } Loading