set smack rule for valgrand submit/tizen_2.1/20130514.095857 submit/tizen_2.1/20130514.113719 submit/tizen_2.2/20130604.080209
authoryoonki.park <yoonki.park@samsung.com>
Tue, 14 May 2013 09:58:44 +0000 (18:58 +0900)
committeryoonki.park <yoonki.park@samsung.com>
Tue, 14 May 2013 09:58:44 +0000 (18:58 +0900)
Change-Id: Idb2cde606504ae106e292788bcb377ba1338c629
Signed-off-by: yoonki.park <yoonki.park@samsung.com>
packaging/sdbd.spec
src/sdktools.c

index 454c935..cff780b 100644 (file)
@@ -1,7 +1,7 @@
 Name:       sdbd
 Summary:    SDB daemon
 Version:    2.1.2
-Release:    3
+Release:    4
 Group:      TO_BE/FILLED_IN
 License:    TO BE FILLED IN
 Source0:    %{name}-%{version}.tar.gz
index 4c0f457..837af3b 100644 (file)
 
 struct sudo_command root_commands[] = {
     /* 0 */ {"killall", "/usr/bin/killall"},
-    /* 1 */ //{"pkgcmd", "/usr/bin/pkgcmd"},
-    /* 2 */ //{"launch_app", "/usr/bin/launch_app"},
-    /* 3 */ //{"dlogutil", "/usr/bin/dlogutil"},
-    /* 4 */ {"zypper", "/usr/bin/zypper"},
-    /* 5 */ //{"pkginfo", "/usr/bin/pkginfo"},
-    /* 6 */ {"da_command", "/usr/bin/da_command"},
-    /* 7 */ {"oprofile", "/usr/bin/oprofile_command"},
-    /* 8 */ //{"wrt-launcher", "/usr/bin/wrt-launcher"},
+    /* 1 */ {"zypper", "/usr/bin/zypper"},
+    /* 2 */ {"da_command", "/usr/bin/da_command"},
+    /* 3 */ {"oprofile", "/usr/bin/oprofile_command"},
     /* end */ {NULL, NULL}
 };
 
@@ -101,26 +96,24 @@ int verify_root_commands(const char *arg1) {
         break;
     }
     case 3: {
-        ret = 1;
-        break;
-    }
-    case 4: {
-        ret = 1;
-        break;
-    }
-    case 5: {
-        ret = 1;
-        break;
-    }
-    case 6: {
-        ret = 1;
-        break;
-    }
-    case 7: {
-        ret = 1;
-        break;
-    }
-    case 8: {
+        if (cnt == 3) {
+            if (!strcmp(tokens[1], "valgrind")) {
+                char *appid = NULL;
+                int rc = smack_lgetlabel(tokens[2], &appid, SMACK_LABEL_ACCESS);
+                if (rc == 0 && appid != NULL) {
+                    if (apply_sdb_rules(SDBD_LABEL_NAME, appid, "rwax") < 0) {
+                        D("unable to set %s %s rules\n", SDBD_LABEL_NAME, appid);
+                    }
+                    if (apply_sdb_rules(appid, SDBD_LABEL_NAME, "rwax") < 0) {
+                        D("unable to set %s %s rules\n", appid, SDBD_LABEL_NAME);
+                    }
+                    //apply_app_process();
+                    free(appid);
+                }
+                D("standalone launch for valgrind\n");
+            }
+        }
+
         ret = 1;
         break;
     }
@@ -258,7 +251,7 @@ int exec_app_standalone(const char* path) {
                 char *appid = NULL;
                 int rc = smack_lgetlabel(path, &appid, SMACK_LABEL_ACCESS);
                 if (rc == 0 && appid != NULL) {
-                    if (apply_sdb_rules(SDBD_LABEL_NAME, appid, "rx") < 0) {
+                    if (apply_sdb_rules(SDBD_LABEL_NAME, appid, "rxax") < 0) {
                         D("unable to set sdbd rules to %s\n", appid);
                     }
                     if (smack_set_label_for_self(appid) != -1) {