am e6ee3be1: BT API security audit: fix a couple of permission mistakes.

Merge commit 'e6ee3be1c254404dad842298f6f56c11cc6c7ac8' into eclair-mr2

* commit 'e6ee3be1c254404dad842298f6f56c11cc6c7ac8':
  BT API security audit: fix a couple of permission mistakes.
This commit is contained in:
Nick Pelly
2009-10-08 17:36:19 -07:00
committed by Android Git Automerger
3 changed files with 12 additions and 3 deletions

View File

@@ -569,6 +569,7 @@ public final class BluetoothAdapter {
* <p>Applications can also register for {@link #ACTION_DISCOVERY_STARTED} * <p>Applications can also register for {@link #ACTION_DISCOVERY_STARTED}
* or {@link #ACTION_DISCOVERY_FINISHED} to be notified when discovery * or {@link #ACTION_DISCOVERY_FINISHED} to be notified when discovery
* starts or completes. * starts or completes.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
* *
* @return true if discovering * @return true if discovering
*/ */
@@ -582,6 +583,7 @@ public final class BluetoothAdapter {
/** /**
* Return the set of {@link BluetoothDevice} objects that are bonded * Return the set of {@link BluetoothDevice} objects that are bonded
* (paired) to the local adapter. * (paired) to the local adapter.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
* *
* @return unmodifiable set of {@link BluetoothDevice}, or null on error * @return unmodifiable set of {@link BluetoothDevice}, or null on error
*/ */

View File

@@ -513,6 +513,7 @@ public final class BluetoothDevice implements Parcelable {
/** /**
* Get trust state of a remote device. * Get trust state of a remote device.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
* @hide * @hide
*/ */
public boolean getTrustState() { public boolean getTrustState() {
@@ -526,6 +527,7 @@ public final class BluetoothDevice implements Parcelable {
/** /**
* Set trust state for a remote device. * Set trust state for a remote device.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}.
* @param value the trust state value (true or false) * @param value the trust state value (true or false)
* @hide * @hide
*/ */
@@ -657,6 +659,8 @@ public final class BluetoothDevice implements Parcelable {
* Call #connect on the returned #BluetoothSocket to begin the connection. * Call #connect on the returned #BluetoothSocket to begin the connection.
* The remote device will not be authenticated and communication on this * The remote device will not be authenticated and communication on this
* socket will not be encrypted. * socket will not be encrypted.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
*
* @param port remote port * @param port remote port
* @return An RFCOMM BluetoothSocket * @return An RFCOMM BluetoothSocket
* @throws IOException On error, for example Bluetooth not available, or * @throws IOException On error, for example Bluetooth not available, or
@@ -671,6 +675,8 @@ public final class BluetoothDevice implements Parcelable {
/** /**
* Construct a SCO socket ready to start an outgoing connection. * Construct a SCO socket ready to start an outgoing connection.
* Call #connect on the returned #BluetoothSocket to begin the connection. * Call #connect on the returned #BluetoothSocket to begin the connection.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}
*
* @return a SCO BluetoothSocket * @return a SCO BluetoothSocket
* @throws IOException on error, for example Bluetooth not available, or * @throws IOException on error, for example Bluetooth not available, or
* insufficient permissions. * insufficient permissions.

View File

@@ -191,10 +191,10 @@ public class BluetoothService extends IBluetooth.Stub {
/** /**
* Bring down bluetooth. Returns true on success. * Bring down bluetooth. Returns true on success.
* *
* @param saveSetting If true, disable BT in settings * @param saveSetting If true, persist the new setting
*/ */
public synchronized boolean disable(boolean saveSetting) { public synchronized boolean disable(boolean saveSetting) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission");
switch (mBluetoothState) { switch (mBluetoothState) {
case BluetoothAdapter.STATE_OFF: case BluetoothAdapter.STATE_OFF:
@@ -1013,7 +1013,8 @@ public class BluetoothService extends IBluetooth.Stub {
*/ */
public synchronized boolean setTrust(String address, boolean value) { public synchronized boolean setTrust(String address, boolean value) {
if (!BluetoothAdapter.checkBluetoothAddress(address)) { if (!BluetoothAdapter.checkBluetoothAddress(address)) {
mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM,
"Need BLUETOOTH_ADMIN permission");
return false; return false;
} }