Fix "Permission Denied" error for bluez service functions 74/107174/1
authorNagaraj D R <nagaraj.dr@samsung.com>
Tue, 27 Dec 2016 05:05:50 +0000 (10:35 +0530)
committerNagaraj D R <nagaraj.dr@samsung.com>
Tue, 27 Dec 2016 05:08:12 +0000 (10:38 +0530)
For few of the bluez service functions, application
is receiving "Permission Denied" error even though it has
required privilege. This is because these service
functions are not added in privilege check routine

Change-Id: Ib3ac40988cd58e188fdcc1746dfa786272b7ac25

bt-service/bt-request-handler.c

index 08d23ec..d16298a 100644 (file)
@@ -2896,6 +2896,7 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_GATT_REGISTER_APPLICATION:
        case BT_GATT_REGISTER_SERVICE:
        case BT_GATT_SEND_RESPONSE:
+
        case BT_PBAP_CONNECT:
        case BT_PBAP_DISCONNECT:
        case BT_PBAP_GET_PHONEBOOK_SIZE:
@@ -2952,7 +2953,11 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_SET_CONTENT_PROTECT:
        case BT_BOND_DEVICE_BY_TYPE:
        case BT_SET_LE_PRIVACY:
+       case BT_SET_LE_STATIC_RANDOM_ADDRESS:
        case BT_LE_CONN_UPDATE:
+       case BT_UPDATE_LE_CONNECTION_MODE:
+       case BT_REQ_ATT_MTU:
+       case BT_GET_DEVICE_IDA:
        case BT_LE_READ_MAXIMUM_DATA_LENGTH:
        case BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH:
        case BT_LE_READ_HOST_SUGGESTED_DATA_LENGTH:
@@ -3003,9 +3008,13 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_IS_LE_DISCOVERYING:
        case BT_IS_CONNECTABLE:
        case BT_GET_BONDED_DEVICES:
+       case BT_GET_PROFILE_CONNECTED_DEVICES:
        case BT_GET_BONDED_DEVICE:
        case BT_GET_IS_ALIAS_SET:
        case BT_IS_DEVICE_CONNECTED:
+       case BT_GET_CONNECTED_LINK_TYPE:
+       case BT_SET_PROFILE_TRUSTED:
+       case BT_GET_PROFILE_TRUSTED:
        case BT_GET_SPEAKER_GAIN:
        case BT_SET_SPEAKER_GAIN:
        case BT_OOB_READ_LOCAL_DATA:
@@ -3015,9 +3024,15 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_GET_SCAN_RESPONSE_DATA:
        case BT_IS_ADVERTISING:
        case BT_GET_PROFILE_RESTRICTED:
+       case BT_REGISTER_SCAN_FILTER:
+       case BT_UNREGISTER_SCAN_FILTER:
+       case BT_UNREGISTER_ALL_SCAN_FILTERS:
+       case BT_IS_SCAN_FILTER_SUPPORTED:
 
        case BT_OBEX_SERVER_ALLOCATE:
        case BT_OBEX_SERVER_DEALLOCATE:
+       case BT_OBEX_SERVER_IS_ACTIVATED:
+       case BT_OPP_GET_TRANSFER_PROGRESS:
                /* Non-privilege control */
                break;
        default: