diff options
author | Lucas Lin <lucaslin@google.com> | 2020-12-10 10:57:58 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-12-10 10:57:58 +0000 |
commit | d0c6af4b5f3510faa41167b254e1a7d75a6212d2 (patch) | |
tree | b059fcafd32885b94f74dd6fffbcc623ee50daf4 | |
parent | af5dab1cb33464d01d32f7edb9941304171e5d58 (diff) | |
parent | f3030714864e5c4daadfb21f9c82777f1b88e786 (diff) |
Merge "Reimplement DumpUtils#checkDumpPermission() in ConnectivityService"
-rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index bc2921bf8dae..a42c86474460 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -186,7 +186,6 @@ import com.android.internal.net.VpnInfo; import com.android.internal.net.VpnProfile; import com.android.internal.util.ArrayUtils; import com.android.internal.util.AsyncChannel; -import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.LocationPermissionChecker; import com.android.internal.util.MessageUtils; @@ -2525,9 +2524,21 @@ public class ConnectivityService extends IConnectivityManager.Stub PriorityDump.dump(mPriorityDumper, fd, writer, args); } + private boolean checkDumpPermission(Context context, String tag, PrintWriter pw) { + if (context.checkCallingOrSelfPermission(android.Manifest.permission.DUMP) + != PackageManager.PERMISSION_GRANTED) { + pw.println("Permission Denial: can't dump " + tag + " from from pid=" + + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid() + + " due to missing android.permission.DUMP permission"); + return false; + } else { + return true; + } + } + private void doDump(FileDescriptor fd, PrintWriter writer, String[] args, boolean asProto) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); - if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return; + if (!checkDumpPermission(mContext, TAG, pw)) return; if (asProto) return; if (ArrayUtils.contains(args, DIAG_ARG)) { |