Revert "remove smack_setlabel function usage for security reason" 37/107337/2
authorSangjin Kim <sangjin3.kim@samsung.com>
Tue, 27 Dec 2016 12:51:05 +0000 (04:51 -0800)
committerSangjin Kim <sangjin3.kim@samsung.com>
Tue, 27 Dec 2016 12:53:15 +0000 (04:53 -0800)
This reverts commit 3b551c517915ee6b2c4709a57dc066ea64c29973.

Change-Id: Ie6f76b81f12a736ac797ccb882ff7b922c0b621e

packaging/sdbd.spec
packaging/sdbd_device.service
packaging/sdbd_emulator.service
packaging/sdbd_tcp.service
src/default_plugin_basic.c
src/file_sync_service.c
src/sdb.c
src/services.c

index 6ddcae315c6793e549ba0ade58eaa9423f34cb3b..15eb8084a3699ab9636f0e7a073f33dbbdea283b 100644 (file)
@@ -112,8 +112,6 @@ fi
 cp -f /bin/sh /bin/sh-user
 chsmack -a "_" /bin/sh-user
 chsmack -e "User::Shell" /bin/sh-user
-mkdir -p %{TZ_SDK_HOME}/share/sdbdlog
-chown owner:users %{TZ_SDK_HOME}/share/sdbdlog
 
 %files
 %manifest sdbd.manifest
index 0537fcd9b7c6e83af62601fc80f8e6e005cefa48..cd60922654192f052769a589ecd7cb64b1926afb 100644 (file)
@@ -6,10 +6,11 @@ After=tmp.mount
 [Service]
 Type=forking
 #location of SDBD log file
+#Environment=SDBD_LOG_PATH=/tmp
 EnvironmentFile=-/run/tizen-system-env
 PIDFile=/tmp/.sdbd.pid
 Restart=on-failure
-SmackProcessLabel=System
+SmackProcessLabel=System::Privileged
 ExecStart=/usr/sbin/sdbd
 
 [Install]
index 21294368a4089b3d3a0c6857c345fdd7d0840fc7..bed8cce72f70111abef8c9dedc20c933a2fe7fc1 100644 (file)
@@ -7,11 +7,12 @@ After=tmp.mount dbus.service
 [Service]
 Type=forking
 #location of SDBD log file
+#Environment=SDBD_LOG_PATH=/tmp
 Environment=DISPLAY=:0
 PIDFile=/tmp/.sdbd.pid
 RemainAfterExit=yes
 #ExecStartPre=/bin/bash -c "/bin/echo '10.0.2.15/32 system::debugging_network' >> /smack/netlabel"
-SmackProcessLabel=System
+SmackProcessLabel=System::Privileged
 ExecStart=/bin/sh -c "/usr/sbin/sdbd `/usr/bin/awk '{match($0, /sdb_port=([0-9]+)/,port_match); match($0, /vm_name=([^, ]*)/,vm_match); print \"--emulator=\" vm_match[1] \":\" port_match[1] \" --connect-to=10.0.2.2:26099\" \" --sensors=10.0.2.2:\"port_match[1]+3 }' /proc/cmdline`"
 
 [Install]
index ade025cb594e6005a5021ae8f24b497d2ffb2595..e360a7c3d5e76f316167f49369a3d7ce6471240c 100644 (file)
@@ -7,5 +7,5 @@ Type=forking
 Environment=DISPLAY=:0
 PIDFile=/tmp/.sdbd.pid
 RemainAfterExit=yes
-SmackProcessLabel=System
+SmackProcessLabel=System::Privileged
 ExecStart=/usr/sbin/sdbd --listen-port=26101
index 61611f6e4b2d6bb7c96d1f04e209c04b1b351344..91d8df27e540f744732fcb589e6a5744824dfa6c 100644 (file)
@@ -20,8 +20,6 @@
 #include <stdarg.h>
 #include <unistd.h>
 
-#include <tzplatform_config.h>
-
 #define TRACE_TAG TRACE_SDB
 #include "log.h"
 
@@ -30,7 +28,7 @@
 #include "sdbd_plugin.h"
 #include "sdktools.h"
 
-#define LOG_DIRECTORY   "/home/owner/share/sdbdlog"
+#define LOG_DIRECTORY   "/tmp"
 
 int get_plugin_capability ( parameters* in, parameters* out )
 {
@@ -77,12 +75,7 @@ int get_plugin_capability ( parameters* in, parameters* out )
     } else if ( capability == CAPABILITY_LOG_ENABLE ) {
         make_string_parameter ( & ( out->array_of_parameter[0] ), "%s", PLUGIN_RET_DISABLED );
     } else if ( capability == CAPABILITY_LOG_PATH ) {
-        const char* sdkhome = tzplatform_getenv(TZ_SDK_HOME);
-        if (sdkhome != NULL) {
-            make_string_parameter ( & ( out->array_of_parameter[0] ), "%s/share/sdbdlog", sdkhome );
-        } else {
-            make_string_parameter ( & ( out->array_of_parameter[0] ), "%s", LOG_DIRECTORY );
-        }
+        make_string_parameter ( & ( out->array_of_parameter[0] ), "%s", LOG_DIRECTORY );
     } else if ( capability == CAPABILITY_APPCMD ) {
         make_string_parameter ( & ( out->array_of_parameter[0] ), "%s", PLUGIN_RET_ENABLED );
     } else {
index 81f6841d49d7022b0266db51ab78fb809c97b1d9..4dd0860206c9082765219f9da731cc1f10dd2e49 100644 (file)
@@ -77,7 +77,6 @@ void init_sdk_sync_permit_rule_regx(void)
     }
 }
 
-#if 0
 static void set_syncfile_smack_label(char *src) {
     char *label_transmuted = NULL;
     char *label = NULL;
@@ -128,7 +127,6 @@ static void set_syncfile_smack_label(char *src) {
         */
     }
 }
-#endif
 
 static int sync_send_label_notify(int s, const char *path, int success)
 {
@@ -159,7 +157,7 @@ static void sync_read_label_notify(int s)
         char *path = buffer;
         path++;
         path++;
-        // set_syncfile_smack_label(path);
+        set_syncfile_smack_label(path);
     }
 }
 
index b21303dba4cbce5f1e3703b4939caa8eb23b026d..4a1ca97d3fde02da5d663fafd4a40c479b757be3 100644 (file)
--- a/src/sdb.c
+++ b/src/sdb.c
@@ -1261,6 +1261,10 @@ void start_device_log(void)
         return;
     }
 
+    if (smack_setlabel(path, SDK_SHELL_LABEL_NAME, SMACK_LABEL_ACCESS) == -1) {
+        D("unable to set sdk shell smack label %s due to (errno:%d)\n", SDK_SHELL_LABEL_NAME, errno);
+    }
+
     // redirect stdout and stderr to the log file
     dup2(fd, 1);
     dup2(fd, 2);
index 9a40a83cb7fc05532a67d1297221e45f9ecb5af2..2b52bc80020b1acdd9c946bbfb673800c3566702 100644 (file)
@@ -409,6 +409,12 @@ int create_subprocess(const char *cmd, pid_t *pid, char * const argv[], char * c
         return -1;
     }
 
+    if (smack_setlabel(devname, SDK_SHELL_LABEL_NAME, SMACK_LABEL_ACCESS) == -1) {
+        D("unable to set sdk shell smack label %s due to (errno:%d)\n", SDK_SHELL_LABEL_NAME, errno);
+        sdb_close(ptm);
+        return -1;
+    }
+
     *pid = fork();
     if(*pid < 0) {
         D("- fork failed: errno:%d -\n", errno);