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:
@@ -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
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user