summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuojing Yuan <guojing@google.com>2023-12-14 19:30:04 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-05-02 10:44:57 +0000
commit783c1ea6e7fc4a22b37e4ae87ccbf465fb4939b9 (patch)
treee3e0e96122b6458c92fd9e24378a0209a9ab3b73
parent01ae6dca58d6d7cfeae984b80511f62783317650 (diff)
[CDM][CMD] Check permissions for CDM shell commands
Override handleShellCommand instead of onShellCommand because Binder.onShellCommand checks the necessary permissions of the caller. Bug: 313428840 Test: manually tested CDM shell commands (cherry picked from commit 1761a0fee9c2cd9787bbb7fbdbe30b4c2b03396e) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:54c968aaa66e9364bc0380c9a57af5c6844759aa) Merged-In: I5539b3594feb5544c458c0fd1061b51a0a808900 Change-Id: I5539b3594feb5544c458c0fd1061b51a0a808900
-rw-r--r--services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 5c36a6b07392..2194a0863238 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -83,9 +83,7 @@ import android.os.ParcelFileDescriptor;
import android.os.PowerWhitelistManager;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
-import android.os.ResultReceiver;
import android.os.ServiceManager;
-import android.os.ShellCallback;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
@@ -931,13 +929,14 @@ public class CompanionDeviceManagerService extends SystemService {
}
@Override
- public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
- String[] args, ShellCallback callback, ResultReceiver resultReceiver)
- throws RemoteException {
- new CompanionDeviceShellCommand(CompanionDeviceManagerService.this, mAssociationStore,
- mDevicePresenceMonitor, mTransportManager, mSystemDataTransferRequestStore,
- mAssociationRequestsProcessor)
- .exec(this, in, out, err, args, callback, resultReceiver);
+ public int handleShellCommand(@NonNull ParcelFileDescriptor in,
+ @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err,
+ @NonNull String[] args) {
+ return new CompanionDeviceShellCommand(CompanionDeviceManagerService.this,
+ mAssociationStore, mDevicePresenceMonitor, mTransportManager,
+ mSystemDataTransferRequestStore, mAssociationRequestsProcessor)
+ .exec(this, in.getFileDescriptor(), out.getFileDescriptor(),
+ err.getFileDescriptor(), args);
}
@Override