From ad9b749f9fc8526d30434860b4f0d721f79b40f3 Mon Sep 17 00:00:00 2001 From: Wootak Jung Date: Tue, 17 Apr 2018 14:06:46 +0900 Subject: [PATCH] Fix privilege check logic BT_CHECK_PRIVILEGE is required in 1st param to check privilege Change-Id: Iff6760952080e8a05479169ca13b6ed2f6acab8d --- bt-api/bt-hdp.c | 2 +- bt-api/bt-rfcomm-client.c | 10 +++++----- bt-api/bt-rfcomm-server.c | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bt-api/bt-hdp.c b/bt-api/bt-hdp.c index d85212f..0684a34 100755 --- a/bt-api/bt-hdp.c +++ b/bt-api/bt-hdp.c @@ -412,7 +412,7 @@ BT_EXPORT_API int bluetooth_hdp_send_data(unsigned int channel_id, switch (privilege_token) { case 0: - result = _bt_check_privilege(BT_BLUEZ_SERVICE, BT_HDP_SEND_DATA); + result = _bt_check_privilege(BT_CHECK_PRIVILEGE, BT_HDP_SEND_DATA); if (result == BLUETOOTH_ERROR_NONE) { privilege_token = 1; /* Have a permission */ diff --git a/bt-api/bt-rfcomm-client.c b/bt-api/bt-rfcomm-client.c index 6df76c7..4c0b4c9 100644 --- a/bt-api/bt-rfcomm-client.c +++ b/bt-api/bt-rfcomm-client.c @@ -1012,7 +1012,7 @@ BT_EXPORT_API int bluetooth_rfcomm_connect( int id, object_id; char *path; - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_CLIENT_CONNECT) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_CLIENT_CONNECT) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1073,7 +1073,7 @@ BT_EXPORT_API int bluetooth_rfcomm_connect( /* In now, we only support to connecty using UUID */ connect_type = BT_RFCOMM_UUID; - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_CLIENT_CONNECT) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_CLIENT_CONNECT) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1205,7 +1205,7 @@ BT_EXPORT_API int bluetooth_rfcomm_disconnect(int socket_fd) BT_CHECK_ENABLED(return); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_SOCKET_DISCONNECT) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_SOCKET_DISCONNECT) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1253,7 +1253,7 @@ BT_EXPORT_API int bluetooth_rfcomm_disconnect(int socket_fd) BT_CHECK_ENABLED(return); retv_if(socket_fd < 0, BLUETOOTH_ERROR_INVALID_PARAM); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_SOCKET_DISCONNECT) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_SOCKET_DISCONNECT) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1336,7 +1336,7 @@ BT_EXPORT_API int bluetooth_rfcomm_write(int fd, const char *buf, int length) switch (privilege_token) { case 0: - result = _bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_SOCKET_WRITE); + result = _bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_SOCKET_WRITE); if (result == BLUETOOTH_ERROR_NONE) { privilege_token = 1; /* Have a permission */ diff --git a/bt-api/bt-rfcomm-server.c b/bt-api/bt-rfcomm-server.c index 9e57399..05c311d 100644 --- a/bt-api/bt-rfcomm-server.c +++ b/bt-api/bt-rfcomm-server.c @@ -1114,7 +1114,7 @@ BT_EXPORT_API int bluetooth_rfcomm_create_socket(const char *uuid) BT_CHECK_PARAMETER(uuid, return); BT_INFO("UUID Provided %s", uuid); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_CREATE_SOCKET) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_CREATE_SOCKET) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1162,7 +1162,7 @@ BT_EXPORT_API int bluetooth_rfcomm_create_socket_ex(const char *uuid, const char BT_CHECK_PARAMETER(path, return); BT_INFO("PATH Provided %s", path); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_CREATE_SOCKET_EX) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_CREATE_SOCKET_EX) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1199,7 +1199,7 @@ BT_EXPORT_API int bluetooth_rfcomm_remove_socket(int id) BT_CHECK_ENABLED(return); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_REMOVE_SOCKET) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_REMOVE_SOCKET) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; @@ -1246,7 +1246,7 @@ BT_EXPORT_API int bluetooth_rfcomm_remove_socket_ex(const char *uuid) BT_CHECK_ENABLED(return); - if (_bt_check_privilege(BT_BLUEZ_SERVICE, BT_RFCOMM_REMOVE_SOCKET) + if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_RFCOMM_REMOVE_SOCKET) == BLUETOOTH_ERROR_PERMISSION_DEINED) { BT_ERR("Don't have a privilege to use this API"); return BLUETOOTH_ERROR_PERMISSION_DEINED; -- 2.7.4