Add dev_wos build option for permissive mode 83/315583/1
authorjusung son <jusung07.son@samsung.com>
Tue, 3 Dec 2024 08:17:20 +0000 (17:17 +0900)
committerjusung son <jusung07.son@samsung.com>
Tue, 3 Dec 2024 08:17:20 +0000 (17:17 +0900)
Change-Id: I641ae5d71b7fa6ee3dcfe7c8be9b980de7e00cb8
Signed-off-by: jusung son <jusung07.son@samsung.com>
CMakeLists.txt
daemon/daemon.c
packaging/buxton2.spec

index 8bb667d36d961a2995085b4e9586a56b5a57596b..ec7f4d110d8fc0e20c2be4c3cf0242af833e65dc 100755 (executable)
@@ -47,6 +47,13 @@ IF(NOT "${SOCKPATH}" STREQUAL "")
        ADD_DEFINITIONS(-DSOCKPATH="${SOCKPATH}")
 ENDIF()
 
+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)
+
 # pkg-config
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
 INCLUDE(ApplyPkgConfig)
index bd01d6719933a426dd30a5168f3aa5f8f18fac1d..13b02d7b1222f68ccdd50f4df5afa21449fe700e 100644 (file)
@@ -81,6 +81,15 @@ struct bxt_noti {
 static bool _init_log();
 static void _write_file_log(enum log_type type, struct bxt_client *cli, struct request *rqst);
 
+static bool is_smack_disabled(void)
+{
+#ifdef TIZEN_FEATURE_SMACK_DISABLE
+       return true;
+#else
+       return false;
+#endif /* TIZEN_FEATURE_SMACK_DISABLE */
+}
+
 static gboolean signal_cb(gint fd, GIOCondition cond, gpointer data)
 {
        struct bxt_daemon *bxtd = data;
@@ -556,6 +565,9 @@ static void update_label(gpointer key, gpointer value, gpointer user_data)
        if (cli->cred.pid != pid)
                return;
 
+       if (is_smack_disabled())
+               return;
+
        snprintf(path, sizeof(path), "/proc/%d/attr/current", cli->cred.pid);
        fd = open(path, O_RDONLY);
        if (fd < 0)
@@ -693,6 +705,9 @@ static int check_priv(struct bxt_client *cli, struct request *rqst)
        enum buxton_priv_type type;
        char *priv;
 
+       if (is_smack_disabled())
+               return BUXTON_CYNARA_ALLOWED;
+
        switch (rqst->type) {
        case MSG_SET:
        case MSG_GET:
index 2de547cdae7fd4e9e129f0f3edf85e904628d61f..fd8493a097a9c64d76a7d229202c7b30ef93b3ec 100644 (file)
@@ -114,6 +114,12 @@ Summary:    %{name} unittests binary
 %description unittests
 unittests binary
 
+%if "%{?dev_wos}" == "1"
+%define tizen_feature_smack_disable 1
+%else
+%define tizen_feature_smack_disable 0
+%endif
+
 %prep
 %setup -q
 cp %{SOURCE1001} .
@@ -130,6 +136,10 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 export LDFLAGS+=" -lgcov"
 %endif
 
+%if 0%{?tizen_feature_smack_disable}
+_TIZEN_FEATURE_SMACK_DISABLE=ON
+%endif
+
 %cmake -DVERSION=%{version} \
        -DCONFPATH:PATH=%{_sysconfdir}/%{name}.conf \
        -DMODULE_DIR:PATH=%{_libdir}/%{name} \
@@ -139,6 +149,7 @@ export LDFLAGS+=" -lgcov"
        -DSOCKPATH:PATH=/run/%{name}-0 \
        -DNDEBUG:BOOL=FALSE \
        -DDEBUG_LOG:BOOL=FALSE \
+       -D_TIZEN_FEATURE_SMACK_DISABLE:BOOL=${_TIZEN_FEATURE_SMACK_DISABLE} \
        .
 
 %__make %{?_smp_mflags}