From 8d34a205bc14a2e5595e4803b83cac9d3d5b10fb Mon Sep 17 00:00:00 2001 From: Mupceet Date: Mon, 30 May 2022 19:13:57 +0800 Subject: [PATCH] support liteos Signed-off-by: Mupceet --- interfaces/innerkits/BUILD.gn | 35 ++++++++++------------- interfaces/innerkits/syspara/param_comm.c | 4 +++ services/include/param/init_param.h | 2 ++ services/param/include/param_security.h | 6 +--- test/unittest/BUILD.gn | 1 + test/unittest/lite/BUILD.gn | 1 + 6 files changed, 24 insertions(+), 25 deletions(-) diff --git a/interfaces/innerkits/BUILD.gn b/interfaces/innerkits/BUILD.gn index 887bd364..68457ee1 100755 --- a/interfaces/innerkits/BUILD.gn +++ b/interfaces/innerkits/BUILD.gn @@ -33,6 +33,18 @@ if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") import("//build/lite/ndk/ndk.gni") + include_common = [ + "./include", + "//base/hiviewdfx/hilog_lite/interfaces/native/kits", + "//third_party/bounds_checking_function/include", + "//base/startup/init_lite/services/include", + "//base/startup/init_lite/services/include/param", + "//base/startup/init_lite/interfaces/innerkits/fd_holder", + "//base/startup/init_lite/services/param/include", + "//base/startup/init_lite/interfaces/innerkits/include", + "//base/startup/init_lite/interfaces/hals", + ] + if (ohos_kernel_type == "liteos_a" || ohos_kernel_type == "linux") { shared_library("libbegetutil") { sources = [ "//base/startup/init_lite/services/log/init_log.c" ] @@ -42,6 +54,7 @@ if (defined(ohos_lite)) { "OHOS_LITE", ] deps = [] + include_dirs = include_common if (enable_ohos_startup_init_feature_begetctl_liteos) { sources += syspara_sources defines += [ "LITEOS_SUPPORT" ] @@ -52,16 +65,7 @@ if (defined(ohos_lite)) { public_configs = [ ":exported_header_files" ] cflags = [ "-fPIC" ] - include_dirs = [ - "./include", - "//base/hiviewdfx/hilog_lite/interfaces/native/kits", - "//third_party/bounds_checking_function/include", - "//base/startup/init_lite/services/include", - "//base/startup/init_lite/services/include/param", - "//base/startup/init_lite/interfaces/innerkits/fd_holder", - "//base/startup/init_lite/services/param/include", - "//base/startup/init_lite/interfaces/innerkits/include", - ] + deps += [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", "//base/startup/init_lite/services/utils:libinit_tools", @@ -91,16 +95,7 @@ if (defined(ohos_lite)) { "__LITEOS_M__", ] - include_dirs = [ - "./include", - "//base/hiviewdfx/hilog_lite/interfaces/native/kits", - "//third_party/bounds_checking_function/include", - "//base/startup/init_lite/services/include", - "//base/startup/init_lite/services/include/param", - "//base/startup/init_lite/interfaces/innerkits/fd_holder", - "//base/startup/init_lite/services/param/include", - "//base/startup/init_lite/interfaces/innerkits/include", - ] + include_dirs = include_common deps = [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static", "//base/startup/init_lite/services/utils:libinit_tools", diff --git a/interfaces/innerkits/syspara/param_comm.c b/interfaces/innerkits/syspara/param_comm.c index 17d2c8c9..5a4bd99e 100755 --- a/interfaces/innerkits/syspara/param_comm.c +++ b/interfaces/innerkits/syspara/param_comm.c @@ -20,6 +20,7 @@ #include #include "init_param.h" +#include "hal_sys_param.h" #include "parameter.h" #include "sysparam_errno.h" #ifdef USE_MBEDTLS @@ -46,6 +47,9 @@ INIT_LOCAL_API int GetParameter_(const char *key, const char *def, char *value, } uint32_t size = len; int ret = SystemGetParameter(key, NULL, &size); + if (ret == PARAM_CODE_INVALID_NAME || ret == DAC_RESULT_FORBIDED || ret == PARAM_CODE_INVALID_PARAM) { + return EC_FAILURE; + } if ((size > len) || (ret != 0)) { return strcpy_s(value, len, def); } diff --git a/services/include/param/init_param.h b/services/include/param/init_param.h index ed6a2aba..67f7c581 100644 --- a/services/include/param/init_param.h +++ b/services/include/param/init_param.h @@ -50,6 +50,8 @@ typedef enum { PARAM_CODE_READ_ONLY, PARAM_CODE_FAIL_CONNECT, PARAM_CODE_NODE_EXIST, // 9 + DAC_RESULT_INVALID_PARAM = 1000, + DAC_RESULT_FORBIDED, PARAM_CODE_MAX } PARAM_CODE; diff --git a/services/param/include/param_security.h b/services/param/include/param_security.h index e0eb0d01..2dff8439 100644 --- a/services/param/include/param_security.h +++ b/services/param/include/param_security.h @@ -47,11 +47,7 @@ extern "C" { #define SELINUX_CONTENT_LEN 64 #define SYS_UID_INDEX 1000 -typedef enum { - DAC_RESULT_PERMISSION = 0, - DAC_RESULT_INVALID_PARAM = 1000, - DAC_RESULT_FORBIDED, -} DAC_RESULT; +#define DAC_RESULT_PERMISSION 0 typedef struct UserCred { pid_t pid; diff --git a/test/unittest/BUILD.gn b/test/unittest/BUILD.gn index 90d16459..3d16fb51 100755 --- a/test/unittest/BUILD.gn +++ b/test/unittest/BUILD.gn @@ -192,6 +192,7 @@ ohos_unittest("init_ut") { "//base/security/access_token/interfaces/innerkits/token_setproc/include", "//base/security/access_token/interfaces/innerkits/nativetoken/include", "//base/startup/init_lite/interfaces/innerkits/sandbox/include", + "//base/startup/init_lite/interfaces/innerkits/hals", ] deps = [ diff --git a/test/unittest/lite/BUILD.gn b/test/unittest/lite/BUILD.gn index 99e2799b..190f2f93 100755 --- a/test/unittest/lite/BUILD.gn +++ b/test/unittest/lite/BUILD.gn @@ -95,6 +95,7 @@ if (defined(ohos_lite)) { "//third_party/bounds_checking_function/include", "//base/hiviewdfx/hilog_lite/interfaces/native/kits", "//base/startup/init_lite/interfaces/innerkits/fd_holder", + "//base/startup/init_lite/interfaces/hals", ] sources = sysparam_source -- GitLab