Check the privilege for register profile method 42/266342/1
authordh79pyun <dh79.pyun@samsung.com>
Wed, 10 Nov 2021 22:58:49 +0000 (07:58 +0900)
committerdh79pyun <dh79.pyun@samsung.com>
Wed, 10 Nov 2021 22:58:49 +0000 (07:58 +0900)
Change-Id: I17e2b1977b22f1fa7bca19a84cc2d4d2269d4043
Signed-off-by: dh79pyun <dh79.pyun@samsung.com>
bt-api/bt-rfcomm-server.c

index ee38cc0..4288819 100644 (file)
@@ -1483,6 +1483,16 @@ BT_EXPORT_API int bluetooth_rfcomm_listen_and_accept(int id, int max_pending_con
 #ifdef TIZEN_FEATURE_BT_RFCOMM_DIRECT
        BT_INFO("RFCOMM Listen & accept from app");
 
+#ifdef TIZEN_FEATURE_BT_CONTAINER
+       if (access(CONTAINER_FILE, F_OK) == 0) {
+               if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_LISTEN_AND_ACCEPT)
+                       == BLUETOOTH_ERROR_PERMISSION_DEINED) {
+                       BT_ERR("Don't have a privilege to use this API");
+                       return BLUETOOTH_ERROR_PERMISSION_DEINED;
+               }
+       }
+#endif
+
        info = __find_rfcomm_info_with_id(id);
        if (info == NULL)
                return BLUETOOTH_ERROR_INVALID_PARAM;
@@ -1538,6 +1548,16 @@ BT_EXPORT_API int bluetooth_rfcomm_listen_and_accept_ex(const char *uuid,
 
        BT_INFO("RFCOMM Listen & accept from app");
 
+#ifdef TIZEN_FEATURE_BT_CONTAINER
+       if (access(CONTAINER_FILE, F_OK) == 0) {
+               if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_LISTEN)
+                       == BLUETOOTH_ERROR_PERMISSION_DEINED) {
+                       BT_ERR("Don't have a privilege to use this API");
+                       return BLUETOOTH_ERROR_PERMISSION_DEINED;
+               }
+       }
+#endif
+
        info = __find_rfcomm_info_with_uuid(uuid);
        if (info == NULL)
                return BLUETOOTH_ERROR_INVALID_PARAM;
@@ -1583,6 +1603,16 @@ BT_EXPORT_API int bluetooth_rfcomm_listen(int id, int max_pending_connection)
 #ifdef TIZEN_FEATURE_BT_RFCOMM_DIRECT
        BT_INFO("RFCOMM Listen");
 
+#ifdef TIZEN_FEATURE_BT_CONTAINER
+       if (access(CONTAINER_FILE, F_OK) == 0) {
+               if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_LISTEN)
+                       == BLUETOOTH_ERROR_PERMISSION_DEINED) {
+                       BT_ERR("Don't have a privilege to use this API");
+                       return BLUETOOTH_ERROR_PERMISSION_DEINED;
+               }
+       }
+#endif
+
        info = __find_rfcomm_info_with_id(id);
        if (info == NULL)
                return BLUETOOTH_ERROR_INVALID_PARAM;