Revert "Set inheritable bit of 'CAP_MAC_ADMIN' capability upon launching web-provider"
authorYunchan Cho <yunchan.cho@samsung.com>
Fri, 13 Sep 2013 02:22:03 +0000 (11:22 +0900)
committerYunchan Cho <yunchan.cho@samsung.com>
Fri, 13 Sep 2013 02:26:43 +0000 (11:26 +0900)
This reverts commit 6ee2dff1e48a649b0666e3467e05d3ae9edf52ab.

Change-Id: I78eebd6c7d7ed2d38d81be8fae88dd34acf374d0

packaging/livebox.web-provider.spec
src/Daemon/CMakeLists.txt
src/Daemon/main.cpp

index db13e41..b246a86 100755 (executable)
@@ -7,7 +7,6 @@ Group: main/app
 License: Flora License, Version 1.1
 Source0: %{name}-%{version}.tar.gz
 BuildRequires: cmake, gettext-tools
-BuildRequires: libcap, libcap-devel
 BuildRequires: pkgconfig(aul)
 BuildRequires: pkgconfig(appcore-efl)
 BuildRequires: pkgconfig(dlog)
@@ -69,7 +68,6 @@ if [ -f /usr/lib/rpm-plugins/msm.so ]; then
 fi
 chown 5000:5000 %{app_data}
 chmod 755 %{app_data}
-setcap cap_mac_admin,cap_setpcap=ep %{_prefix}/apps/livebox.web-provider/bin/web-provider
 
 %files -n livebox.web-provider
 %manifest livebox.web-provider.manifest
index 589c422..25e6b6b 100644 (file)
@@ -52,7 +52,7 @@ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
 )
 
 TARGET_LINK_LIBRARIES(${TARGET_NAME} 
-    ${${DEPS}_LDFLAGS} "-ldl -lcap"
+    ${${DEPS}_LDFLAGS} "-ldl"
     ${${DEPS}_LIBRARIES}
     ${TARGET_PLUGIN}
     ${TARGET_CORE}
index 9c07d3b..84e6b77 100755 (executable)
  * @file    main.cpp
  * @author  Yunchan Cho (yunchan.cho@samsung.com)
  */
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/capability.h>
-#include <Elementary.h>
 #include <aul.h>
 #include <app.h>
+#include <Elementary.h>
 #include <Core/Util/Log.h>
 #include "BoxDaemon.h"
 
-static bool appCreateCallback(void *data)
+static bool app_create(void *data)
 {
     LogD("app create");
     elm_config_preferred_engine_set("software_x11");
     return true;
 }
 
-static void appTerminateCallback(void *data)
-{
-    BoxDaemon *daemon = static_cast<BoxDaemon *>(data);
-    daemon->stop();
-}
-
-static void appPauseCallback(void *data)
+static void app_reset(service_h service, void *data)
 {
-    LogD("app pasue");
-}
-
-static void appResumeCallback(void *data)
-{
-    LogD("app resume");
-}
-
-static void appServiceCallback(service_h service, void *data)
-{
-    LogD("app service");
+    LogD("app reset");
 
     int ret;
     char* name;
@@ -72,66 +51,41 @@ static void appServiceCallback(service_h service, void *data)
     daemon->handleAppService(service);
 }
 
-static bool grantProcessCapability()
+static void app_pause(void *data)
 {
-    cap_user_header_t header;
-    cap_user_data_t data;
-
-    header = static_cast<cap_user_header_t>(malloc(sizeof(*header)));
-    data = static_cast<cap_user_data_t>(calloc(sizeof(*data), _LINUX_CAPABILITY_U32S_3));
-
-    header->pid = getpid();
-    header->version = _LINUX_CAPABILITY_VERSION_3;
-
-    // read already granted capabilities of this process
-    if (capget(header, data) < 0) {
-        LogD("capget error");
-        delete [] header;
-        delete [] data;
-        return false;
-    }
-
-    // set only inheritable bit for CAP_MAC_ADMIN to '1'
-    data[CAP_TO_INDEX(CAP_MAC_ADMIN)].inheritable |= CAP_TO_MASK(CAP_MAC_ADMIN);
-
-    // remove capabilities not needed any more
-    data[CAP_TO_INDEX(CAP_MAC_ADMIN)].permitted &= ~CAP_TO_MASK(CAP_MAC_ADMIN);
-    data[CAP_TO_INDEX(CAP_MAC_ADMIN)].effective &= ~CAP_TO_MASK(CAP_MAC_ADMIN);
-    data[CAP_TO_INDEX(CAP_SETPCAP)].permitted &= ~CAP_TO_MASK(CAP_SETPCAP);
-    data[CAP_TO_INDEX(CAP_SETPCAP)].effective &= ~CAP_TO_MASK(CAP_SETPCAP);
-
-    bool ret = true;
-    if (capset(header, data) < 0) {
-        LogD("capset error");
-        ret = false;
-    }
+}
 
-    delete [] header;
-    delete [] data;
+static void app_resume(void *data)
+{
+}
 
-    return ret;
+static void app_terminate(void *data)
+{
+    BoxDaemon *daemon = static_cast<BoxDaemon *>(data);
+    daemon->stop();
 }
 
 int main (int argc, char *argv[])
 {
-    // set inheritable bit for CAP_MAC_ADMIN
-    // so that WebProcess will have CAP_MAC_ADMIN capability
-    if (!grantProcessCapability()) {
-        return -1;
-    }
+    int ret;
 
-    // set the appcore callbacks
     app_event_callback_s ops;
     memset(&ops, 0x00, sizeof(app_event_callback_s));
     BoxDaemon daemon;
 
-    ops.create = appCreateCallback;
-    ops.terminate = appTerminateCallback;
-    ops.pause = appPauseCallback;
-    ops.resume = appResumeCallback;
-    ops.service = appServiceCallback;
+    ops.create = app_create;
+    ops.terminate = app_terminate;
+    ops.pause = app_pause;
+    ops.resume = app_resume;
+    ops.service = app_reset;
+
+#if !defined(TIZEN_PUBLIC)
+    setenv("COREGL_FASTPATH", "1", 1);
+#endif
+    setenv("CAIRO_GL_COMPOSITOR", "msaa", 1);
+    setenv("CAIRO_GL_LAZY_FLUSHING", "yes", 1);
+    setenv("ELM_IMAGE_CACHE", "0", 1);
 
-    // start appcore
-    int ret = app_efl_main(&argc, &argv, &ops, &daemon);
+    ret = app_efl_main(&argc, &argv, &ops, &daemon);
     return ret;
 }