-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)\r
-\r
-MESSAGE("build privilege-checker")\r
-\r
-SET(CMAKE_VERBOSE_MAKEFILE OFF)\r
-\r
-SET(BINDIR "${PREFIX}/bin")\r
-\r
-IF("${USE_AUTOSTART}" STREQUAL "1")\r
- ADD_DEFINITIONS("-DUSE_AUTOSTART")\r
-ENDIF()\r
-\r
-ADD_DEFINITIONS("-DCLIENT_IPC_THREAD")\r
-ADD_DEFINITIONS("-DUSE_IPC_EPOLL")\r
-\r
-STRING(REGEX MATCH "([^.]*)" API_VERSION "${VERSION}")\r
-ADD_DEFINITIONS("-DAPI_VERSION=\"$(API_VERSION)\"")\r
-\r
-ADD_SUBDIRECTORY(capi)\r
-ADD_SUBDIRECTORY(test)\r
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+MESSAGE("build privilege-checker")
+
+SET(CMAKE_VERBOSE_MAKEFILE OFF)
+
+SET(BINDIR "${PREFIX}/bin")
+
+IF("${USE_AUTOSTART}" STREQUAL "1")
+ ADD_DEFINITIONS("-DUSE_AUTOSTART")
+ENDIF()
+
+ADD_DEFINITIONS("-Werror -Wall -Wextra")
+ADD_DEFINITIONS("-DCLIENT_IPC_THREAD")
+ADD_DEFINITIONS("-DUSE_IPC_EPOLL")
+
+STRING(REGEX MATCH "([^.]*)" API_VERSION "${VERSION}")
+ADD_DEFINITIONS("-DAPI_VERSION=\"$(API_VERSION)\"")
+
+ADD_SUBDIRECTORY(capi)
+ADD_SUBDIRECTORY(test)
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
IF("${ARCH}" STREQUAL "arm")
void* user_data;
} privilege_list_cb_data;
-const static privilege_group_info_s const privilege_group_info_table[MAX_PRV_GROUP] =
+static const privilege_group_info_s const privilege_group_info_table[MAX_PRV_GROUP] =
{
{"http://tizen.org/privilege/group/group0", _PRV_GROUP_0, "IDS_TPLATFORM_BODY_HARDWARE_CONTROLS_ABB"},
{"http://tizen.org/privilege/group/group1", _PRV_GROUP_1, "IDS_TPLATFORM_OPT_LOCATION_T_LBS"},
ENDFOREACH(flag)
# Compiler flags
-SET(EXTRA_CXXFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -Werror")
+SET(EXTRA_CXXFLAGS "${EXTRA_CFLAGS} -fPIC")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall -fvisibility=hidden -D_WITH_SYSTEMD_")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -fvisibility=hidden -D_WITH_SYSTEMD_")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${PACKAGE_NAME_CFLAGS}")
ADD_EXECUTABLE(${TC1_NAME} ${TC1_SRCS})
ADD_EXECUTABLE(${TC2_NAME} ${TC2_SRCS})
ADD_EXECUTABLE(${TC3_NAME} ${TC3_SRCS})
-TARGET_LINK_LIBRARIES(${TC1_NAME}
- "security-privilege-manager"
- )
+TARGET_LINK_LIBRARIES(${TC1_NAME} "security-privilege-manager")
TARGET_LINK_LIBRARIES(${TC2_NAME} "security-privilege-manager")
TARGET_LINK_LIBRARIES(${TC3_NAME} "security-privilege-manager")
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <privilege_db_manager.h>
#define BRIGHTNESS 0
void __test_privilege_db_manager_get_privilege_list()
{
- GList *privilege_list;
+ GList *privilege_list = NULL;
int ret = privilege_db_manager_get_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_CORE, &privilege_list);
if (ret != PRIVILEGE_DB_MANAGER_ERR_NONE) {
printf("failed to call privilege_db_manager_get_privilege_list()\n");
success_cnt++;
}
+void __print_mapped_privilege_list(int ret, GList* mapped_privilege_list)
+{
+ GList *l = NULL;
+ if (ret == PRIVILEGE_DB_MANAGER_ERR_NONE && mapped_privilege_list != NULL) {
+ for (l = mapped_privilege_list; l != NULL; l = l->next) {
+ char *privilege_name = (char *)l->data;
+ printf("mapped_privilege_name = %s\n", privilege_name);
+ }
+ success_cnt++;
+ } else
+ fail_cnt++;
+
+ printf("test result = %s\n", __get_result_string(ret));
+}
+
void __test_privilege_db_manager_get_mapped_privilege_list()
{
- GList *privilege_list;
- GList *mapped_privilege_list;
- GList *l;
+ GList *privilege_list = NULL;
+ GList *mapped_privilege_list = NULL;
int ret;
printf("-----------------------------------------------------------\n");
printf("package type : wrt\n");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
-
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
printf("package type : wrt\n");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
ret = privilege_db_manager_get_mapped_privilege_list("2.4", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
-
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
printf("package type : wrt\n");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/internal/default/public");
ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
-
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
printf("package type : wrt\n");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
printf("package type : wrt\n");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
privilege_list = NULL;
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/mediacapture");
privilege_list = g_list_append(privilege_list, "http://tizen.org/privilege/content.read");
ret = privilege_db_manager_get_mapped_privilege_list("2.2.1", PRIVILEGE_DB_MANAGER_PACKAGE_TYPE_WRT, privilege_list, &mapped_privilege_list);
-
- for (l = mapped_privilege_list; l != NULL; l = l->next) {
- char *privilege_name = (char *)l->data;
- printf("mapped_privilege_name = %s\n", privilege_name);
- }
+ __print_mapped_privilege_list(ret, mapped_privilege_list);
g_list_free(privilege_list);
g_list_free(mapped_privilege_list);
#include <stdio.h>
+#include <stdlib.h>
#include <privilege_info.h>
#define BRIGHTNESS 0
#define YELLOW 33
#define BG_BLACK 40
-static int fail_cnt = 0;
-static int success_cnt = 0;
-
static void __change_color_to_red()
{
printf("%c[%d;%dm", 0x1B, BRIGHTNESS, RED);
printf("%c[%dm", 0x1B, 0);
}
+static int fail_cnt = 0;
+static int success_cnt = 0;
+
static const char *__get_result_string(privilege_manager_error_e ret)
{
if (ret == PRVMGR_ERR_NONE)
return "PRVMGR_ERR_NONE";
- else if (ret == PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL)
- return "PRVMGR_ERR_MISMACHED_PRIVILEGE_LEVEL";
- else if (ret == PRVMGR_ERR_NO_EXIST_PRIVILEGE)
- return "PRVMGR_ERR_NO_EXIST_PRIVILEGE";
+ else if (ret == PRVMGR_ERR_INVALID_PRIVILEGE)
+ return "PRVMGR_ERR_INVALID_PRIVILEGE";
else if (ret == PRVMGR_ERR_INVALID_PARAMETER)
return "PRVMGR_ERR_INVALID_PARAMETER";
else if (ret == PRVMGR_ERR_INTERNAL_ERROR)
return "FAIL";
}
-
static void __check_get_privilege_display_name_result(privilege_manager_error_e expected_result, privilege_manager_error_e result, const char *display_name)
{
printf("expected result = %s, result = %s\n", __get_result_string(expected_result), __get_result_string(result));
__change_color_to_red();
printf("fail : %d\n", fail_cnt);
__change_color_to_origin();
+
+ return 0;
}
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
#include <privilege_manager.h>
-#include <stdarg.h>
#define BRIGHTNESS 0
#define RED 31
#define GREEN 32
#define YELLOW 33
#define BLUE 34
-#define MAGENTA 35
-#define CYAN 36
#define WHITE 37
#define BG_BLACK 40
-
#define ShowErrorMsg(condition, error_message, result, ...) \
__print_result(__get_result_string(result)); \
if (condition) { \
error_message = NULL; \
}
-static int fail_cnt = 0;
-static int success_cnt = 0;
-GList *privilege_list = NULL;
-
static void __change_color_to_red()
{
printf("%c[%d;%dm", 0x1B, BRIGHTNESS, RED);
printf("%c[%d;%dm", 0x1B, BRIGHTNESS, BLUE);
}
-static void __change_color_to_magenta()
-{
- printf("%c[%d;%dm", 0x1B, BRIGHTNESS, MAGENTA);
-}
-
-static void __change_color_to_cyan()
-{
- printf("%c[%d;%dm", 0x1B, BRIGHTNESS, CYAN);
-}
-
static void __change_color_to_origin()
{
printf("%c[%dm", 0x1B, 0);
}
-static void __change_to_bold_white()
-{
- printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, WHITE);
-}
-
static void __change_to_bold_red()
{
printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, RED);
}
-static void __change_to_bold_green()
-{
- printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, GREEN);
-}
-
static void __change_to_bold_yellow()
{
printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, YELLOW);
}
-static void __change_to_bold_cyan()
-{
- printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, CYAN);
-}
+static int fail_cnt = 0;
+static int success_cnt = 0;
+GList *privilege_list = NULL;
-static void __change_to_bold_blue()
+static const char *__get_result_string(privilege_manager_error_e ret)
{
- printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, BLUE);
-}
+ if (ret == PRVMGR_ERR_NONE)
+ return "PRVMGR_ERR_NONE";
+ else if (ret == PRVMGR_ERR_INVALID_PRIVILEGE)
+ return "PRVMGR_ERR_INVALID_PRIVILEGE";
+ else if (ret == PRVMGR_ERR_INVALID_PARAMETER)
+ return "PRVMGR_ERR_INVALID_PARAMETER";
+ else if (ret == PRVMGR_ERR_INTERNAL_ERROR)
+ return "PRVMGR_ERR_INTERNAL_ERROR";
-static void __change_to_bold_magenta()
-{
- printf("%c[%dm%c[%dm", 0x1B, 1, 0x1B, MAGENTA);
+ return "FAIL";
}
-
static void __print_error_message(char *error_message)
{
char *token = NULL;
free(temp);
}
-static const char *__get_result_string(privilege_manager_error_e ret)
-{
- if (ret == PRVMGR_ERR_NONE)
- return "PRVMGR_ERR_NONE";
- else if (ret == PRVMGR_ERR_INTERNAL_ERROR)
- return "PRVMGR_ERR_INTERNAL_ERROR";
- else if (ret == PRVMGR_ERR_INVALID_PRIVILEGE)
- return "PRVMGR_ERR_INVALID_PRIVILEGE";
- else if (ret == PRVMGR_ERR_INVALID_PARAMETER)
- return "PRVMGR_ERR_INVALID_PARAMETER";
- else
- return "FAIL";
-
-}
-
typedef enum {
goal = 1,
cert_level = 2,
printf("\n");
}
-static void __print_result(char *input_string)
+static void __print_result(const char *input_string)
{
printf("- achieved result : %s\n\n", input_string);
}
g_list_free(privilege_list);
privilege_list = NULL;
+
+ __tcinfo(goal, "invalid api_version == 2.");
+ __privinfo("http://tizen.org/privilege/account.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/account.write", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_verify_privilege("2.", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
+ __tcinfo(goal, "invalid api_version == a.b");
+ __privinfo("http://tizen.org/privilege/account.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/account.write", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/alarm.get", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/bluetooth", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/calendar.read", "Public", NULL);
+ __privinfo("http://tizen.org/privilege/systemsettings", "Public", NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_INVALID_PARAMETER");
+ ret = privilege_manager_verify_privilege("a.b", PRVMGR_PACKAGE_TYPE_CORE, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_INVALID_PARAMETER, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+
#ifdef PROFILE_TYPE_MOBILE
/* 2.3 core - mobile */
__check_verify_result(PRVMGR_ERR_INVALID_PRIVILEGE, ret);
__print_line();
+ /* Web - mobile => Test for duplicated privilege history */
+ __print_dline();
+ __change_to_bold_yellow();
+ __tcinfo(api_version, "1.0 and 2.4");
+ __tcinfo(pkg_type, "wrt");
+ __change_color_to_origin();
+ __print_dline();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ __tcinfo(goal, "bluetooth exist at 1.0 and 2.4 -----1.0");
+ __privinfo("http://tizen.org/privilege/bluetooth", NULL, NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_verify_privilege("1.0", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_line();
+
+ g_list_free(privilege_list);
+ privilege_list = NULL;
+ __tcinfo(goal, "bluetooth exist at 1.0 and 2.4------2.4");
+ __privinfo("http://tizen.org/privilege/bluetooth", NULL, NULL);
+ __tcinfo(cert_level, "public");
+ __tcinfo(expect, "PRVMGR_ERR_NONE");
+ ret = privilege_manager_verify_privilege("2.4", PRVMGR_PACKAGE_TYPE_WRT, privilege_list, PRVMGR_PACKAGE_VISIBILITY_PUBLIC, &error_message);
+ ShowErrorMsg(error_message != NULL, error_message, ret);
+ __check_verify_result(PRVMGR_ERR_NONE, ret);
+ __print_line();
+
#endif
#ifdef PROFILE_TYPE_WEARABLE