Transition SerialManager to @EnforcePermission
Use the new @EnforcePermission annotation for SerialService.
Test: Manually inspect ISerialManager.java, the permission checks are
correctly generated.
Test: Run SerialChat app as regular app, SecurityException triggered
when launching the app.
Test: Run SerialChat as priv-app. Access is granted, the app executes
normally.
Bug: 197828948
Change-Id: Ide1d2809f2226f7cd84efa0d364dc78da726f294
This commit is contained in:
@@ -22,8 +22,10 @@ import android.os.ParcelFileDescriptor;
|
||||
interface ISerialManager
|
||||
{
|
||||
/* Returns a list of all available serial ports */
|
||||
@EnforcePermission("SERIAL_PORT")
|
||||
String[] getSerialPorts();
|
||||
|
||||
/* Returns a file descriptor for the serial port. */
|
||||
@EnforcePermission("SERIAL_PORT")
|
||||
ParcelFileDescriptor openSerialPort(String name);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server;
|
||||
|
||||
import android.annotation.EnforcePermission;
|
||||
import android.content.Context;
|
||||
import android.hardware.ISerialManager;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
@@ -34,9 +35,8 @@ public class SerialService extends ISerialManager.Stub {
|
||||
com.android.internal.R.array.config_serialPorts);
|
||||
}
|
||||
|
||||
@EnforcePermission(android.Manifest.permission.SERIAL_PORT)
|
||||
public String[] getSerialPorts() {
|
||||
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.SERIAL_PORT, null);
|
||||
|
||||
ArrayList<String> ports = new ArrayList<String>();
|
||||
for (int i = 0; i < mSerialPorts.length; i++) {
|
||||
String path = mSerialPorts[i];
|
||||
@@ -49,8 +49,8 @@ public class SerialService extends ISerialManager.Stub {
|
||||
return result;
|
||||
}
|
||||
|
||||
@EnforcePermission(android.Manifest.permission.SERIAL_PORT)
|
||||
public ParcelFileDescriptor openSerialPort(String path) {
|
||||
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.SERIAL_PORT, null);
|
||||
for (int i = 0; i < mSerialPorts.length; i++) {
|
||||
if (mSerialPorts[i].equals(path)) {
|
||||
return native_open(path);
|
||||
|
||||
Reference in New Issue
Block a user