tizen 2.4 release
[framework/uifw/download-fonts-service.git] / pkgmgr_font / src / font_service_register.c
index 4de31df..31e62e7 100755 (executable)
@@ -28,6 +28,7 @@
 #include <fontconfig/fontconfig.h>
 #include <Elementary.h>
 #include <pkgmgr-info.h>
+#include <security-server.h>
 #include "system_settings.h"
 
 
@@ -102,11 +103,11 @@ static int make_dir(const char *path)
                        return ret;
                }
        }
-       ret = lsetxattr(path, "security.SMACK64", "_", 1, 0);
+       ret = security_server_label_access(path, "_");
 
        if (ret < 0)
        {
-               DEBUG_ERROR("lsetxattr is failed %s\n",path);
+               DEBUG_ERROR("security_server_label_access is failed %s\n",path);
                return ret;
        }
 
@@ -174,11 +175,11 @@ static int symbolic_link(const char *srcpath, const char *destpath)
                                goto FAIL;
                        }
 
-                       ret = lsetxattr(destdir, "security.SMACK64", "_", 1, 0);
+                       ret = security_server_label_access(destdir, "_");
 
                        if (ret < 0)
                        {
-                               DEBUG_ERROR("lsetxattr is failed %s\n",destdir);
+                               DEBUG_ERROR("security_server_label_access is failed %s\n",destdir);
                                goto FAIL;
                        }
                }
@@ -247,11 +248,11 @@ static int move_file(const char *srcpath, const char *destpath)
                                goto FAIL;
                        }
 
-                       ret = lsetxattr(destdir, "security.SMACK64", "_", 1, 0);
+                       ret = security_server_label_access(destdir, "_");
 
                        if (ret < 0)
                        {
-                               DEBUG_ERROR("lsetxattr is failed %s\n",destdir);
+                               DEBUG_ERROR("security_server_label_access is failed %s\n",destdir);
                                goto FAIL;
                        }
                }
@@ -752,42 +753,46 @@ int COMMON_PKGMGR_PLUGIN_UNINSTALL(const char *pkgid, const char *appid, GList *
                                                chmod (ELM_PROFILE_CFG, 0777);
                                        }
 
-                                       ret = lsetxattr(ELM_PROFILE_CFG, "security.SMACK64", "system::homedir", 15, 0);
+                                       ret = security_server_label_access(ELM_PROFILE_CFG, "system::homedir");
                                        if (ret < 0)
                                        {
                                                chmod (ELM_PROFILE_CFG, 0777);
                                        }
 
-                                       DIR *d;
+                                       DIR *d = NULL;
                                        struct dirent *e;
 
-                                       d = opendir (elm_profile_path);
+                                       if (elm_profile_path)
+                                               d = opendir (elm_profile_path);
 
-                                       while ((e = readdir (d)))
+                                       if (d)
                                        {
-                                               if (e->d_name[0] != '.' &&  (strstr(e->d_name, ".cfg") != 0 || strstr(e->d_name, ".CFG") != 0))
+                                               while ((e = readdir (d)))
                                                {
-                                                       char file_full_path[100];
+                                                       if (e->d_name[0] != '.' &&  (strstr(e->d_name, ".cfg") != 0 || strstr(e->d_name, ".CFG") != 0))
+                                                       {
+                                                               char file_full_path[100];
 
-                                                       sprintf(file_full_path, "%s/%s", elm_profile_path, e->d_name);
+                                                               sprintf(file_full_path, "%s/%s", elm_profile_path, e->d_name);
 
-                                                       ret = chown(file_full_path, APP_OWNER_ID, APP_GROUP_ID);
-                                                       if (ret < 0)
-                                                       {
-                                                               DEBUG_LOG("chown is failed %s", file_full_path);
-                                                               chmod (file_full_path, 0777);
-                                                       }
+                                                               ret = chown(file_full_path, APP_OWNER_ID, APP_GROUP_ID);
+                                                               if (ret < 0)
+                                                               {
+                                                                       DEBUG_LOG("chown is failed %s", file_full_path);
+                                                                       chmod (file_full_path, 0777);
+                                                               }
 
-                                                       ret = lsetxattr(file_full_path, "security.SMACK64", "system::homedir", 15, 0);
-                                                       if (ret < 0)
-                                                       {
-                                                               DEBUG_LOG("chsmack is failed %s", file_full_path);
-                                                               chmod (file_full_path, 0777);
+                                                               ret = security_server_label_access(file_full_path, "system::homedir");
+                                                               if (ret < 0)
+                                                               {
+                                                                       DEBUG_LOG("chsmack is failed %s", file_full_path);
+                                                                       chmod (file_full_path, 0777);
+                                                               }
                                                        }
                                                }
-                                       }
 
-                                       closedir (d);
+                                               closedir (d);
+                                       }
 
                                        free(default_font_name);
                                        free(elm_profile_path);