if(perm_begin()) return;
// Load rules specific to permission's types:
- load_pemission_type_rules(wrt_filter, "WRT", APP_TYPE_WGT, s_dir);
- load_pemission_type_rules(wrt_partner_filter, "WRT_partner", APP_TYPE_WGT_PARTNER, s_dir);
- load_pemission_type_rules(wrt_platform_filter, "WRT_platform", APP_TYPE_WGT_PLATFORM, s_dir);
- load_pemission_type_rules(osp_filter, "OSP", APP_TYPE_OSP, s_dir);
- load_pemission_type_rules(osp_partner_filter, "OSP_partner" , APP_TYPE_OSP_PARTNER, s_dir);
- load_pemission_type_rules(osp_platform_filter, "OSP_platform", APP_TYPE_OSP_PLATFORM, s_dir);
- load_pemission_type_rules(efl_filter, "EFL", APP_TYPE_EFL, s_dir);
+ load_pemission_type_rules(wrt_filter, "WRT", PERM_APP_TYPE_WGT, s_dir);
+ load_pemission_type_rules(wrt_partner_filter, "WRT_partner", PERM_APP_TYPE_WGT_PARTNER, s_dir);
+ load_pemission_type_rules(wrt_platform_filter, "WRT_platform", PERM_APP_TYPE_WGT_PLATFORM, s_dir);
+ load_pemission_type_rules(osp_filter, "OSP", PERM_APP_TYPE_OSP, s_dir);
+ load_pemission_type_rules(osp_partner_filter, "OSP_partner" , PERM_APP_TYPE_OSP_PARTNER, s_dir);
+ load_pemission_type_rules(osp_platform_filter, "OSP_platform", PERM_APP_TYPE_OSP_PLATFORM, s_dir);
+ load_pemission_type_rules(efl_filter, "EFL", PERM_APP_TYPE_EFL, s_dir);
// Load rules for each permission type:
- load_permission_family(wrt_family_filter, "WRT_", APP_TYPE_WGT, s_dir);
- load_permission_family(osp_family_filter, "OSP_", APP_TYPE_OSP, s_dir);
- load_permission_family(efl_family_filter, "EFL_", APP_TYPE_EFL, s_dir);
+ load_permission_family(wrt_family_filter, "WRT_", PERM_APP_TYPE_WGT, s_dir);
+ load_permission_family(osp_family_filter, "OSP_", PERM_APP_TYPE_OSP, s_dir);
+ load_permission_family(efl_family_filter, "EFL_", PERM_APP_TYPE_EFL, s_dir);
perm_end();
// Load as the right type of permission
if(wrt_family_filter(&file)) {
s_permission_name = get_permission_name(s_file_name, "WRT_");
- load_rules_from_file(s_file_path, s_permission_name, APP_TYPE_WGT);
+ load_rules_from_file(s_file_path, s_permission_name, PERM_APP_TYPE_WGT);
} else if(osp_family_filter(&file)) {
s_permission_name = get_permission_name(s_file_name, "OSP_");
- load_rules_from_file(s_file_path, s_permission_name, APP_TYPE_OSP);
+ load_rules_from_file(s_file_path, s_permission_name, PERM_APP_TYPE_OSP);
} else if(efl_family_filter(&file)) {
s_permission_name = get_permission_name(s_file_name, "EFL_");
- load_rules_from_file(s_file_path, s_permission_name, APP_TYPE_EFL);
+ load_rules_from_file(s_file_path, s_permission_name, PERM_APP_TYPE_EFL);
} else {
API_FEATURE_LOADER_LOG("Unknown api-feature type.");
#define PC_ERR_NOT_PERMITTED -3
#define PC_ERR_INVALID_PARAM -4
#define PC_ERR_INVALID_OPERATION -5
-#define PC_ERR_DB_OPERATION -6
+#define PC_ERR_DB_OPERATION -6
/// Label is taken by another application
#define PC_ERR_DB_LABEL_TAKEN -7
-/// Label is forbidden
-#define PC_ERR_DB_LABEL_FORBIDDEN -8
-
/// Query fails during preparing a SQL statement
-#define PC_ERR_DB_QUERY_PREP -9
+#define PC_ERR_DB_QUERY_PREP -8
/// Query fails during binding to a SQL statement
-#define PC_ERR_DB_QUERY_BIND -10
+#define PC_ERR_DB_QUERY_BIND -9
/// Query fails during stepping a SQL statement
-#define PC_ERR_DB_QUERY_STEP -11
-
-/// Query is too long
-#define PC_ERR_DB_QUERY_TOO_LONG -12
-
-/// Returned value is unexpected,
-/// e.g an int that stores bool is not 0 or 1.
-#define PC_ERR_DB_UNEXPECTED_VALUE -13
-
-/// Constraint violated
-#define PC_ERR_DB_CONSTRAINT -14
+#define PC_ERR_DB_QUERY_STEP -10
// Unable to establish a connection with the database
-#define PC_ERR_DB_CONNECTION -15
-
-// Error when creating boot file with rules
-#define PC_ERR_BOOT_FILE -16
+#define PC_ERR_DB_CONNECTION -11
// There is no application with such app_id
-#define PC_ERR_DB_NO_SUCH_APP -17
+#define PC_ERR_DB_NO_SUCH_APP -12
// There already exists a permission with this name and type
-#define PC_ERR_DB_PERM_FORBIDDEN -18
-
-// There is no permission with a this name
-#define PC_ERR_DB_UNKNOWN_PERMISSION -19
-
-// There is no application with this label
-#define PC_ERR_DB_UNKNOWN_APPLICATION -20
-
-// This permission already exists
-#define PC_PERMISSION_EXISTS -21
+#define PC_ERR_DB_PERM_FORBIDDEN -13
typedef enum {
- APP_TYPE_WGT,
- APP_TYPE_OSP,
- APP_TYPE_OTHER,
- APP_TYPE_WGT_PARTNER,
- APP_TYPE_WGT_PLATFORM,
- APP_TYPE_OSP_PARTNER,
- APP_TYPE_OSP_PLATFORM,
- APP_TYPE_EFL,
+ PERM_APP_TYPE_WGT,
+ PERM_APP_TYPE_OSP,
+ PERM_APP_TYPE_OTHER,
+ PERM_APP_TYPE_WGT_PARTNER,
+ PERM_APP_TYPE_WGT_PLATFORM,
+ PERM_APP_TYPE_OSP_PARTNER,
+ PERM_APP_TYPE_OSP_PLATFORM,
+ PERM_APP_TYPE_EFL,
} app_type_t;
typedef enum {
- APP_PATH_PRIVATE,
- APP_PATH_GROUP,
- APP_PATH_PUBLIC,
- APP_PATH_SETTINGS,
- APP_PATH_ANY_LABEL,
+ PERM_APP_PATH_PRIVATE,
+ PERM_APP_PATH_GROUP,
+ PERM_APP_PATH_PUBLIC,
+ PERM_APP_PATH_SETTINGS,
+ PERM_APP_PATH_ANY_LABEL,
} app_path_type_t;
+
+// TODO: after all projects change their code delete these defines
+// Historical in app_type_t
+#define APP_TYPE_WGT PERM_APP_TYPE_WGT
+#define APP_TYPE_OSP PERM_APP_TYPE_OSP
+#define APP_TYPE_OTHER PERM_APP_TYPE_OTHER
+#define APP_TYPE_WGT_PARTNER PERM_APP_TYPE_WGT_PARTNER
+#define APP_TYPE_WGT_PLATFORM PERM_APP_TYPE_WGT_PLATFORM
+#define APP_TYPE_OSP_PARTNER PERM_APP_TYPE_OSP_PARTNER
+#define APP_TYPE_OSP_PLATFORM PERM_APP_TYPE_OSP_PLATFORM
+#define APP_TYPE_EFL PERM_APP_TYPE_EFL
+
+// Historical names in app_path_type_t
+#define APP_PATH_PRIVATE PERM_APP_PATH_PRIVATE
+#define APP_PATH_GROUP PERM_APP_PATH_GROUP
+#define APP_PATH_PUBLIC PERM_APP_PATH_PUBLIC
+#define APP_PATH_SETTINGS PERM_APP_PATH_SETTINGS
+#define APP_PATH_ANY_LABEL PERM_APP_PATH_ANY_LABEL
#define APP_PATH_GROUP_RW APP_PATH_GROUP
#define APP_PATH_PUBLIC_RO APP_PATH_PUBLIC
#define APP_PATH_SETTINGS_RW APP_PATH_SETTINGS
+
+
/* APIs - used by applications */
int control_privilege(void) DEPRECATED;
int ret;
*smack_label = NULL;
- if (type == APP_TYPE_WGT
- || type == APP_TYPE_WGT_PARTNER
- || type == APP_TYPE_WGT_PLATFORM) {
+ if (type == PERM_APP_TYPE_WGT
+ || type == PERM_APP_TYPE_WGT_PARTNER
+ || type == PERM_APP_TYPE_WGT_PLATFORM) {
ret = smack_lgetlabel(path, smack_label, SMACK_LABEL_EXEC);
} else {
ret = smack_getlabel(path, smack_label, SMACK_LABEL_EXEC);
if (is_widget(path)) {
if (!strcmp(type, "wgt")) {
C_LOGD("PKG_TYPE_WGT");
- return APP_TYPE_WGT; /* good */
+ return PERM_APP_TYPE_WGT; /* good */
} else if (!strcmp(type, "wgt_partner")) {
C_LOGD("PKG_TYPE_WGT_PARTNER");
- return APP_TYPE_WGT_PARTNER; /* good */
+ return PERM_APP_TYPE_WGT_PARTNER; /* good */
} else if (!strcmp(type, "wgt_platform")) {
C_LOGD("PKG_TYPE_WGT_PLATFORM");
- return APP_TYPE_WGT_PLATFORM; /* good */
+ return PERM_APP_TYPE_WGT_PLATFORM; /* good */
}
} else {
&& strcmp(type, "wgt_partner")
&& strcmp(type, "wgt_platform"))){
C_LOGD("PKG_TYPE_OTHER");
- return APP_TYPE_OTHER; /* good */
+ return PERM_APP_TYPE_OTHER; /* good */
}
}
__func__, app_type);
switch (app_type) {
- case APP_TYPE_WGT:
- C_LOGD("App type = APP_TYPE_WGT");
+ case PERM_APP_TYPE_WGT:
+ C_LOGD("App type = WRT");
return "WRT";
- case APP_TYPE_OSP:
- C_LOGD("App type = APP_TYPE_OSP");
+ case PERM_APP_TYPE_OSP:
+ C_LOGD("App type = OSP");
return "OSP";
- case APP_TYPE_WGT_PARTNER:
- C_LOGD("App type = APP_TYPE_WGT_PARTNER");
+ case PERM_APP_TYPE_WGT_PARTNER:
+ C_LOGD("App type = WRT_partner");
return "WRT_partner";
- case APP_TYPE_WGT_PLATFORM:
- C_LOGD("App type = APP_TYPE_WGT_PLATFORM");
+ case PERM_APP_TYPE_WGT_PLATFORM:
+ C_LOGD("App type = WRT_platform");
return "WRT_platform";
- case APP_TYPE_OSP_PARTNER:
- C_LOGD("App type = APP_TYPE_OSP_PARTNER");
+ case PERM_APP_TYPE_OSP_PARTNER:
+ C_LOGD("App type = OSP_partner");
return "OSP_partner";
- case APP_TYPE_OSP_PLATFORM:
- C_LOGD("App type = APP_TYPE_OSP_PLATFORM");
+ case PERM_APP_TYPE_OSP_PLATFORM:
+ C_LOGD("App type = OSP_platform");
return "OSP_platform";
- case APP_TYPE_EFL:
+ case PERM_APP_TYPE_EFL:
+ C_LOGD("App type = EFL");
return "EFL";
default:
C_LOGD("App type = other");
__func__, app_type);
switch (app_type) {
- case APP_TYPE_WGT:
- case APP_TYPE_WGT_PARTNER:
- case APP_TYPE_WGT_PLATFORM:
+ case PERM_APP_TYPE_WGT:
+ case PERM_APP_TYPE_WGT_PARTNER:
+ case PERM_APP_TYPE_WGT_PLATFORM:
C_LOGD("App type group name = WRT");
return "WRT";
- case APP_TYPE_OSP:
- case APP_TYPE_OSP_PARTNER:
- case APP_TYPE_OSP_PLATFORM:
+ case PERM_APP_TYPE_OSP:
+ case PERM_APP_TYPE_OSP_PARTNER:
+ case PERM_APP_TYPE_OSP_PLATFORM:
C_LOGD("App type group name = OST");
return "OSP";
- case APP_TYPE_EFL:
+ case PERM_APP_TYPE_EFL:
+ C_LOGD("App type = EFL");
return "EFL";
default:
return NULL;