Name: capi-media-webrtc
Summary: A WebRTC library in Tizen Native API
-Version: 1.1.48
+Version: 1.1.49
Release: 0
Group: Multimedia/API
License: Apache-2.0
BuildRequires: pkgconfig(libwebsockets)
%endif
BuildRequires: pkgconfig(cynara-client)
-BuildRequires: pkgconfig(libsmack)
+BuildRequires: pkgconfig(cynara-creds-self)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(capi-media-sound-manager)
BuildRequires: pkgconfig(bundle)
#include "webrtc.h"
#include "webrtc_private.h"
#include <cynara-client.h>
-#include <sys/smack.h>
+#include <cynara-creds-self.h>
#include <system_info.h>
int _check_privilege(const char *privilege)
int ret = WEBRTC_ERROR_NONE;
int cynara_ret;
cynara *cynara_h;
- char *smack_label;
+ char *client_identification;
char uid[10];
RET_VAL_IF(privilege == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "privilege is NULL");
- RET_VAL_IF(cynara_initialize(&cynara_h, NULL) != CYNARA_API_SUCCESS, WEBRTC_ERROR_INVALID_OPERATION,
- "failed to cynara_initialize()");
- RET_VAL_IF(smack_new_label_from_self(&smack_label) == -1, WEBRTC_ERROR_INVALID_OPERATION, "failed to smack_new_label_from_self()");
+ RET_VAL_IF(cynara_initialize(&cynara_h, NULL) != CYNARA_API_SUCCESS,
+ WEBRTC_ERROR_INVALID_OPERATION, "failed to cynara_initialize()");
+
+ ret = cynara_creds_self_get_client(CLIENT_METHOD_DEFAULT, &client_identification);
+ if (ret != CYNARA_API_SUCCESS) {
+ LOG_ERROR("failed to cynara_creds_self_get_client()");
+ cynara_finish(cynara_h);
+ return WEBRTC_ERROR_INVALID_OPERATION;
+ }
snprintf(uid, sizeof(uid), "%d", getuid());
- LOG_DEBUG("smack_label[%s] uid[%s]\n", smack_label, uid);
+ LOG_DEBUG("client_identification[%s] uid[%s]\n", client_identification, uid);
- cynara_ret = cynara_check(cynara_h, smack_label, "", uid, privilege);
+ cynara_ret = cynara_check(cynara_h, client_identification, "", uid, privilege);
//LCOV_EXCL_START
if (cynara_ret != CYNARA_API_ACCESS_ALLOWED) {
LOG_ERROR("NOT ALLOWED, privilege[%s], cynara_ret[%d]", privilege, cynara_ret);
LOG_INFO("ALLOWED, privilege[%s]", privilege);
exit:
- free(smack_label);
+ free(client_identification);
cynara_finish(cynara_h);
return ret;
}