Remove chsmack + fix surplus directories 04/27104/1
authorSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Thu, 4 Sep 2014 09:21:02 +0000 (11:21 +0200)
committerSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Thu, 4 Sep 2014 13:39:03 +0000 (15:39 +0200)
Change-Id: Iccd5e65ccdbfa89656653adeea63a804fce9a757
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
src/ail_db.c

index 69eea1c..474f453 100755 (executable)
@@ -41,8 +41,6 @@
 
 #define QUERY_CREATE_VIEW_LOCAL "CREATE temp VIEW localname as select distinct * from (select  * from main.localname m union select * from Global.localname g)"
 
-#define SMACK_LABEL "_"
-
 #define retv_with_dbmsg_if(expr, val) do { \
        if (expr) { \
                _E("db_info.dbUserro: %s", sqlite3_errmsg(db_info.dbUserro)); \
@@ -148,12 +146,6 @@ char* ail_get_icon_path(uid_t uid)
                                _E("UID [%d] does not belong to 'root' group!", uid);
                                return NULL;
                        }
-                       /* chsmack */
-                       if (smack_setlabel(result, SMACK_LABEL, SMACK_LABEL_ACCESS)) {
-                               _E("failed chsmack -a \"%s\" %s", SMACK_LABEL, result);
-                       } else {
-                       _D("chsmack -a \"%s\" %s", SMACK_LABEL, result);
-                       }
        }
        int ret;
        mkdir(result, S_IRWXU | S_IRGRP | S_IXGRP | S_IXOTH);
@@ -204,27 +196,18 @@ static char* ail_get_app_DB(uid_t uid)
                        }
                        result = strdup(APP_INFO_DB_FILE);
                        journal = strdup(APP_INFO_DB_FILE_JOURNAL);
-                       /* chsmack */
-                       /*Check if we have permission to do it*/
-                       if (geteuid() == 0) {
-                               if (smack_setlabel(result, SMACK_LABEL, SMACK_LABEL_ACCESS)) {
-                                       _E("failed chsmack -a \"%s\" %s", SMACK_LABEL, result);
-                               } else {
-                                       _D("chsmack -a \"%s\" %s", SMACK_LABEL, result);
-                               }
-                               if (smack_setlabel(journal, SMACK_LABEL, SMACK_LABEL_ACCESS)) {
-                                       _E("failed chsmack -a \"%s\" %s", SMACK_LABEL, journal);
-                               } else {
-                                       _D("chsmack -a \"%s\" %s", SMACK_LABEL, journal);
-                               }
-                       }
        }
-       dir = strrchr(result, '/');
+       char *temp = strdup(result);
+       dir = strrchr(temp, '/');
        if(!dir)
+       {
+               free(temp);
                return result;
+       }
+       *dir = 0;
        if ((uid != GLOBAL_USER)||((uid == GLOBAL_USER)&& (geteuid() == 0 ))) {
                int ret;
-               mkdir(dir + 1, S_IRWXU | S_IRGRP | S_IXGRP | S_IXOTH);
+               mkdir(temp, S_IRWXU | S_IRGRP | S_IXGRP | S_IXOTH);
                ret = chown(dir + 1, uid, grpinfo->gr_gid);
                if (ret == -1) {
                        char buf[BUFSIZE];
@@ -232,6 +215,7 @@ static char* ail_get_app_DB(uid_t uid)
                        _E("FAIL : chown %s %d.%d, because %s", dir + 1, uid, grpinfo->gr_gid, buf);
                }
        }
+       free(temp);
        return result;
 }
 
@@ -270,12 +254,6 @@ char* al_get_desktop_path(uid_t uid)
                        return NULL;
                }
                result = tzplatform_mkpath(TZ_SYS_RW_DESKTOP_APP, "/");
-               /* chsmack */
-               if (smack_setlabel(result, SMACK_LABEL, SMACK_LABEL_ACCESS)) {
-                       _E("failed chsmack -a \"%s\" %s", SMACK_LABEL, result);
-               } else {
-                       _D("chsmack -a \"%s\" %s", SMACK_LABEL, result);
-               }
        }
        if ((uid != GLOBAL_USER)||((uid == GLOBAL_USER)&& (geteuid() == 0 ))) {
                int ret;
@@ -380,19 +358,19 @@ ail_error_e db_open(db_open_mode mode, uid_t uid)
                                char query_view_app[AIL_SQL_QUERY_MAX_LEN];
                                char query_view_local[AIL_SQL_QUERY_MAX_LEN];
                                snprintf(query_attach, AIL_SQL_QUERY_MAX_LEN, QUERY_ATTACH, ail_get_app_DB(GLOBAL_USER));
-                               _D("info : execute query_attach : %s", query_attach );
                                if (db_exec_usr_ro(query_attach) < 0) {
+                                       _D("executing query_attach : %s", query_attach );
                                        return AIL_ERROR_DB_FAILED;
                                }
                                snprintf(query_view_app, AIL_SQL_QUERY_MAX_LEN, QUERY_CREATE_VIEW_APP);
-                               _D("info : execute query_attach : %s", query_view_app );
                                if (db_exec_usr_ro(query_view_app) < 0) {
+                                       _D("executing query_attach : %s", query_view_app );
                                        return AIL_ERROR_DB_FAILED;
                                }
 
                                snprintf(query_view_local, AIL_SQL_QUERY_MAX_LEN, QUERY_CREATE_VIEW_LOCAL);
-                               _D("info : execute query_attach : %s", query_view_local );
                                if (db_exec_usr_ro(query_view_local) < 0) {
+                                       _D("executing query_attach : %s", query_view_local );
                                        return AIL_ERROR_DB_FAILED;
                                }
                        }