Name: oauth2
Summary: Tizen oauth 2.0 Framework
-Version: 0.0.8
+Version: 0.0.9
Release: 1
Group: Social & Content/API
License: Apache-2.0
BuildRequires: pkgconfig(elementary)
BuildRequires: pkgconfig(cynara-client)
BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(cynara-creds-self)
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
if(USE_CHROMIUM_EFL)
add_definitions(-DWITH_CHROMIUM)
- pkg_check_modules(clientpkgs REQUIRED dlog glib-2.0 gio-2.0 gio-unix-2.0 capi-base-common libcurl efl-extension ecore evas chromium-efl json-glib-1.0 elementary cynara-client capi-system-info)
+ pkg_check_modules(clientpkgs REQUIRED dlog glib-2.0 gio-2.0 gio-unix-2.0 capi-base-common libcurl efl-extension ecore evas chromium-efl json-glib-1.0 elementary cynara-client capi-system-info cynara-creds-self)
else()
- pkg_check_modules(clientpkgs REQUIRED dlog glib-2.0 gio-2.0 gio-unix-2.0 capi-base-common libcurl efl-extension ecore evas ewebkit2 json-glib-1.0 elementary cynara-client capi-system-info)
+ pkg_check_modules(clientpkgs REQUIRED dlog glib-2.0 gio-2.0 gio-unix-2.0 capi-base-common libcurl efl-extension ecore evas ewebkit2 json-glib-1.0 elementary cynara-client capi-system-info cynara-creds-self)
endif()
FOREACH(flag ${clientpkgs_CFLAGS})
#include <efl_extension.h>
#include <cynara-client.h>
#include <cynara-error.h>
+#include <cynara-creds-self.h>
#include <system_info.h>
#include "oauth2_manager.h"
if (-1 == has_internet_permission) {
int ret;
- char smack_label[SMACK_LABEL_LEN + 1] = {0};
+ char *smack_label = NULL;
char uid[10];
- FILE *fd;
cynara *cynara_h = NULL;
ret = cynara_initialize(&cynara_h, NULL);
return false;
}
- fd = fopen("/proc/self/attr/current", "r");
- if (NULL == fd) {
- OAUTH2_LOG_E("fopen() Fail(%d)", errno);
- return false;
- }
+ snprintf(uid, sizeof(uid), "%d", getuid());
- ret = fread(smack_label, sizeof(smack_label), 1, fd);
- fclose(fd);
- if (ret < 0) {
- OAUTH2_LOG_E("fread() Fail(%d)", ret);
- return 0;
+ ret = cynara_creds_self_get_client(CLIENT_METHOD_DEFAULT, &smack_label);
+ if (ret != CYNARA_API_SUCCESS) {
+ OAUTH2_LOG_E("failed to get smack label");
+ return false;
}
- snprintf(uid, sizeof(uid), "%d", getuid());
ret = cynara_check(cynara_h, smack_label, "", uid, INTERNET_PRIVILEGE);
if (CYNARA_API_ACCESS_ALLOWED == ret)
else
has_internet_permission = 0;
+ if (smack_label)
+ free(smack_label);
+
cynara_finish(cynara_h);
}