diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index 094988a99..78434a08a 100644 --- a/adb/daemon/main.cpp +++ b/adb/daemon/main.cpp @@ -35,7 +35,8 @@ #include #include "debuggerd/client.h" -#include "private/android_filesystem_config.h" +#include +#include #include "selinux/android.h" #include "adb.h" @@ -48,7 +49,7 @@ static const char* root_seclabel = nullptr; static void drop_capabilities_bounding_set_if_needed(struct minijail *j) { #if defined(ALLOW_ADBD_ROOT) - if (android::base::GetBoolProperty("ro.debuggable", false)) { + if (__android_log_is_debuggable()) { return; } #endif @@ -68,7 +69,7 @@ static bool should_drop_privileges() { // ro.secure: // Drop privileges by default. Set to 1 on userdebug and user builds. bool ro_secure = android::base::GetBoolProperty("ro.secure", true); - bool ro_debuggable = android::base::GetBoolProperty("ro.debuggable", false); + bool ro_debuggable = __android_log_is_debuggable(); // Drop privileges if ro.secure is set... bool drop = ro_secure; diff --git a/adb/services.cpp b/adb/services.cpp index 0c3dd00f9..2fbc15a26 100644 --- a/adb/services.cpp +++ b/adb/services.cpp @@ -38,8 +38,9 @@ #include #if !ADB_HOST -#include "cutils/android_reboot.h" #include +#include +#include #endif #include "adb.h" @@ -73,7 +74,7 @@ void restart_root_service(int fd, void *cookie) { WriteFdExactly(fd, "adbd is already running as root\n"); adb_close(fd); } else { - if (!android::base::GetBoolProperty("ro.debuggable", false)) { + if (!__android_log_is_debuggable()) { WriteFdExactly(fd, "adbd cannot run as root in production builds\n"); adb_close(fd); return; diff --git a/adb/set_verity_enable_state_service.cpp b/adb/set_verity_enable_state_service.cpp index ae628e4bd..f9e028b8d 100644 --- a/adb/set_verity_enable_state_service.cpp +++ b/adb/set_verity_enable_state_service.cpp @@ -26,6 +26,7 @@ #include "android-base/properties.h" #include "android-base/stringprintf.h" +#include #include "adb.h" #include "adb_io.h" @@ -102,8 +103,7 @@ void set_verity_enabled_state_service(int fd, void* cookie) { WriteFdFmt(fd, "verity not enabled - ENG build\n"); return; } - - if (!android::base::GetBoolProperty("ro.debuggable", false)) { + if (!__android_log_is_debuggable()) { WriteFdFmt(fd, "verity cannot be disabled/enabled - USER build\n"); return; } diff --git a/adb/sockets.cpp b/adb/sockets.cpp index fff6049cd..3a5717488 100644 --- a/adb/sockets.cpp +++ b/adb/sockets.cpp @@ -32,6 +32,7 @@ #if !ADB_HOST #include +#include #endif #include "adb.h" @@ -416,12 +417,7 @@ asocket* create_local_service_socket(const char* name, const atransport* transpo D("LS(%d): bound to '%s' via %d", s->id, name, fd); #if !ADB_HOST - bool debuggable = false; - if (!strncmp(name, "root:", 5)) { - debuggable = android::base::GetBoolProperty("ro.debuggable", false); - } - - if ((!strncmp(name, "root:", 5) && getuid() != 0 && debuggable) || + if ((!strncmp(name, "root:", 5) && getuid() != 0 && __android_log_is_debuggable()) || (!strncmp(name, "unroot:", 7) && getuid() == 0) || !strncmp(name, "usb:", 4) || !strncmp(name, "tcpip:", 6)) {