Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4895c4a authored by Thiébaud Weksteen's avatar Thiébaud Weksteen
Browse files

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
parent c9d4f279
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);
}
+3 −3
Original line number Diff line number Diff line
@@ -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);