*/
#include <glib.h>
-#include <cynara-client.h>
#include <stdio.h>
#include "wifi-aware.h"
#define NETWORK_SET_PRIVILEGE "http://tizen.org/privilege/network.set"
#define SMACK_LABEL_LEN 255
-static bool is_privilege_checked = false;
-static bool access_allowed = false;
-
const char *_wifi_aware_convert_error_type_to_string(wifi_aware_error_e err)
{
switch (err) {
}
}
-bool _wifi_aware_check_permission(void)
-{
- FILE *fd;
- int ret;
- char smack_label[SMACK_LABEL_LEN + 1] = {0, };
- char uid[10] = {0, };
- char *client_session = "";
- cynara *p_cynara;
-
- if (is_privilege_checked) {
- WIFI_AWARE_LOGI("permission was already checked: %d", access_allowed);
- return access_allowed;
- }
-
- if (CYNARA_API_SUCCESS != cynara_initialize(&p_cynara, NULL))
- return false;
-
- bzero(smack_label, SMACK_LABEL_LEN + 1);
-
- fd = fopen(PROC_ATTR_CURRENT_PATH, "r");
- if (fd == NULL) {
- cynara_finish(p_cynara);
- return false;
- }
-
- ret = fread(smack_label, SMACK_LABEL_LEN, 1, fd);
- if (ret < 0) {
- fclose(fd);
- cynara_finish(p_cynara);
- return false;
- }
- fclose(fd);
-
- snprintf(uid, sizeof(uid), "%d", getuid());
- ret = cynara_check(p_cynara, smack_label, client_session, uid, NETWORK_SET_PRIVILEGE);
- cynara_finish(p_cynara);
-
- is_privilege_checked = true;
- access_allowed = (ret == CYNARA_API_ACCESS_ALLOWED) ? true : false;
-
- WIFI_AWARE_LOGI("permission checked[%s/%d]", NETWORK_SET_PRIVILEGE, access_allowed);
- return access_allowed;
-}
-
static void __session_set_requested(wifi_aware_session_h session_handle, bool requested)
{
wifi_aware_session_s *session = (wifi_aware_session_s *)session_handle;
__WIFI_AWARE_FUNC_ENTER__;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_ALREADY_ENABLED, "Already enabled");
int ret = WIFI_AWARE_ERROR_NONE;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(!_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_INVALID_OPERATION, "Not enabled");
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
int ret = WIFI_AWARE_ERROR_NONE;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(!_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_INVALID_OPERATION, "Not enabled");
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
int ret = WIFI_AWARE_ERROR_NONE;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(!_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_INVALID_OPERATION, "Not enabled");
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
int ret = WIFI_AWARE_ERROR_NONE;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(!_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_INVALID_OPERATION, "Not enabled");
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");
{
__WIFI_AWARE_FUNC_ENTER__;
CHECK_FEATURE_SUPPORTED(TIZEN_FEATURE_WIFI_AWARE);
- RET_VAL_IF(!_wifi_aware_check_permission(), WIFI_AWARE_ERROR_PERMISSION_DENIED, "Permission denied");
RET_VAL_IF(!_wifi_aware_is_initialized(), WIFI_AWARE_ERROR_NOT_INITIALIZED, "Not initialized");
RET_VAL_IF(!_wifi_aware_is_enabled(), WIFI_AWARE_ERROR_INVALID_OPERATION, "Not enabled");
RET_VAL_IF(session == NULL, WIFI_AWARE_ERROR_INVALID_PARAMETER, "wifi_aware_session_h is NULL");