diff options
author | 2016-10-20 11:12:06 +0200 | |
---|---|---|
committer | 2016-10-20 12:00:52 +0200 | |
commit | 18103e986d89b9e329f49d9329d8bc40dffd39eb (patch) | |
tree | 2cee41c95354be7f2e3fa7078fd50e2b86770363 /src | |
parent | 38ba270af828b80e0ffb5eab955aff733de17dba (diff) |
build: improve simulation of security
This commits allows to simulates either the security-manager
and the smack LSM.
These simulations are used for developping purpose.
Change-Id: I138d7351511ca2663498bfacca28811fc81b8c55
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 19 | ||||
-rw-r--r-- | src/secmgr-wrap.c | 4 | ||||
-rw-r--r-- | src/simulation/smack.h | 24 |
3 files changed, 43 insertions, 4 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6610251..91a2cc1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -58,14 +58,25 @@ endif() ########################################################################### -if(USE_SIMULATION) - include_directories(simulation) -else(USE_SIMULATION) +if(SIMULATE_SECMGR) + add_definitions(-DSIMULATE_SECURITY_MANAGER=1) +else(SIMULATE_SECMGR) pkg_check_modules(SECMGR REQUIRED security-manager) add_compile_options(${SECMGR_CFLAGS}) include_directories(${SECMGR_INCLUDE_DIRS}) link_libraries(${SECMGR_LIBRARIES}) -endif(USE_SIMULATION) + add_definitions(-DSIMULATE_SECURITY_MANAGER=0) +endif(SIMULATE_SECMGR) + +if(SIMULATE_SMACK) + add_definitions(-DSIMULATE_LIBSMACK=1) +else(SIMULATE_SMACK) + pkg_check_modules(SMACK REQUIRED libsmack) + add_compile_options(${SMACK_CFLAGS}) + include_directories(${SMACK_INCLUDE_DIRS}) + link_libraries(${SMACK_LIBRARIES}) + add_definitions(-DSIMULATE_LIBSMACK=0) +endif(SIMULATE_SMACK) ########################################################################### diff --git a/src/secmgr-wrap.c b/src/secmgr-wrap.c index fee9d64..e4f0a4a 100644 --- a/src/secmgr-wrap.c +++ b/src/secmgr-wrap.c @@ -20,7 +20,11 @@ #include <errno.h> #include <assert.h> +#if SIMULATE_SECURITY_MANAGER +#include "simulation/security-manager.h" +#else #include <security-manager.h> +#endif #include "verbose.h" #include "secmgr-wrap.h" diff --git a/src/simulation/smack.h b/src/simulation/smack.h new file mode 100644 index 0000000..8ae01ef --- /dev/null +++ b/src/simulation/smack.h @@ -0,0 +1,24 @@ +/* + Copyright 2016 IoT.bzh + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include <stdio.h> +#include <string.h> + +#define smack_set_label_for_path(path,xattr,follow,label) \ + (printf("smack_set_label_for_path(%s,%s,%d,%s)\n",path,xattr,follow,label),(label?(int)strlen(label):(int)0)) + +#define smack_remove_label_for_path(path,xattr,follow) \ + (printf("smack_remove_label_for_path(%s,%s,%d)\n",path,xattr,follow),(int)0) |