Add dev_wos build option for permissive mode 86/315586/1
authorIlho Kim <ilho159.kim@samsung.com>
Tue, 3 Dec 2024 09:00:06 +0000 (18:00 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Tue, 3 Dec 2024 09:01:26 +0000 (18:01 +0900)
Change-Id: Id2fecd305ae0b1970b67cf0e1fe911c4bf866721
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
CMakeLists.txt
packaging/launchpad.spec
src/launchpad-process-pool/hydra_sigchld_event.cc
src/launchpad-process-pool/launchpad.cc

index eab74eed5271c2edd61d6811bda3852de9a17a43..b418be2f0abb85e5e7afd00591731a06e9696984 100644 (file)
@@ -8,6 +8,13 @@ IF(_TIZEN_FEATURE_SET_PERSONALITY_32)
        ADD_DEFINITIONS("-DTIZEN_FEATURE_SET_PERSONALITY_32")
 ENDIF(_TIZEN_FEATURE_SET_PERSONALITY_32)
 
+IF(_TIZEN_FEATURE_SMACK_DISABLE)
+MESSAGE(STATUS "[SMACK] Disable")
+ADD_DEFINITIONS("-DTIZEN_FEATURE_SMACK_DISABLE")
+ELSE(_TIZEN_FEATURE_SMACK_DISABLE)
+MESSAGE(STATUS "[SMACK] Enable")
+ENDIF(_TIZEN_FEATURE_SMACK_DISABLE)
+
 ADD_DEFINITIONS("-DSHARE_PREFIX=\"/usr/share/aul\"")
 ADD_DEFINITIONS("-DLAUNCHPAD_LOG")
 ADD_DEFINITIONS("-DPRELOAD_ACTIVATE")
index bbe965ceb05e283ac52f234a6f21fac4969088e6..fd5c3f84c7eb4c4aaa515767f4cc632d3fab5a98 100644 (file)
@@ -67,6 +67,12 @@ Provides: app-launchpad
 %define tizen_feature_prelink 0
 %endif
 
+%if "%{?dev_wos}" == "1"
+%define tizen_feature_smack_disable 1
+%else
+%define tizen_feature_smack_disable 0
+%endif
+
 %global real_crate_name rust_lux
 %global rustc_edition 2021
 
@@ -147,6 +153,10 @@ HW_LOADER_THREADS=7
 HW_LOADER_THREADS=8
 %endif
 
+%if 0%{?tizen_feature_smack_disable}
+_TIZEN_FEATURE_SMACK_DISABLE=ON
+%endif
+
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 %cmake -DVERSION=%{version} \
        -DMAJORVER=${MAJORVER} \
@@ -155,6 +165,7 @@ MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
        -D_TIZEN_FEATURE_SET_PERSONALITY_32:BOOL=${_TIZEN_FEATURE_SET_PERSONALITY_32} \
        -D_TIZEN_FEATURE_PRELINK:BOOL=${_TIZEN_FEATURE_PRELINK} \
        -D_TIZEN_FEATURE_LOADER_ARCH64:BOOL=${_TIZEN_FEATURE_LOADER_ARCH64} \
+       -D_TIZEN_FEATURE_SMACK_DISABLE:BOOL=${_TIZEN_FEATURE_SMACK_DISABLE} \
        .
 %__make %{?_smp_mflags}
 
index 515f686c93d6bf770608f5597f3dea740fd96498..b12796aee09f4573cddcee08df686f04baea2851 100644 (file)
@@ -31,7 +31,17 @@ constexpr const char HYDRA_SIGCHLD_SOCK[] = ".hydra-sigchld-sock";
 const int MAX_PENDING_CONNECTION = 128;
 const int MAX_RECEIVE_BUFFER = 131071;
 
+bool IsSmackDisabled() {
+#ifdef TIZEN_FEATURE_SMACK_DISABLE
+  return true;
+#else
+  return false;
+#endif  // TIZEN_FEATURE_SMACK_DISABLE
+}
+
 int CheckPermission(pid_t pid) {
+  if (IsSmackDisabled()) return 0;
+
   std::string attr = Procfs::GetAttrCurrent(pid);
   if (attr.empty()) return -1;
 
index 109b02bcb5cf225d71c3cd184d07c06062b4ed1d..3f294ee46186eda303880bf49aa6dc31b2e4b704 100644 (file)
@@ -106,7 +106,17 @@ void PrintAppInfo(const AppInfo* app_info) {
   SECURE_LOGD("pkg_type: %s", app_info->GetPkgType().c_str());
 }
 
+bool IsSmackDisabled() {
+#ifdef TIZEN_FEATURE_SMACK_DISABLE
+  return true;
+#else
+  return false;
+#endif  // TIZEN_FEATURE_SMACK_DISABLE
+}
+
 int CheckCallerPermission(pid_t caller_pid) {
+  if (IsSmackDisabled()) return 0;
+
   std::string attr_current = Procfs::GetAttrCurrent(caller_pid);
   if (attr_current.empty()) return -1;