Snap for 7316203 from 04b951dfa4f1c9b54cade4617283eb3e96c951b1 to rvc-platform-release
Change-Id: Ie3d66467a83bca1345a013389a572598a06d5ac4
diff --git a/server/SockDiag.cpp b/server/SockDiag.cpp
index 44bda3b..e0b6b4b 100644
--- a/server/SockDiag.cpp
+++ b/server/SockDiag.cpp
@@ -31,6 +31,7 @@
#include <cinttypes>
+#include <android-base/properties.h>
#include <android-base/strings.h>
#include <log/log.h>
#include <netdutils/InternetAddresses.h>
@@ -52,6 +53,15 @@
namespace net {
namespace {
+int getAdbPort() {
+ return android::base::GetIntProperty("service.adb.tcp.port", 0);
+}
+
+bool isAdbSocket(const inet_diag_msg *msg, int adbPort) {
+ return adbPort > 0 && msg->id.idiag_sport == htons(adbPort) &&
+ (msg->idiag_uid == AID_ROOT || msg->idiag_uid == AID_SHELL);
+}
+
int checkError(int fd) {
struct {
nlmsghdr h;
@@ -414,7 +424,8 @@
return msg != nullptr &&
uidRanges.hasUid(msg->idiag_uid) &&
skipUids.find(msg->idiag_uid) == skipUids.end() &&
- !(excludeLoopback && isLoopbackSocket(msg));
+ !(excludeLoopback && isLoopbackSocket(msg)) &&
+ !isAdbSocket(msg, getAdbPort());
};
iovec iov[] = {