aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-10-20 11:12:06 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2016-10-20 12:00:52 +0200
commit18103e986d89b9e329f49d9329d8bc40dffd39eb (patch)
tree2cee41c95354be7f2e3fa7078fd50e2b86770363 /src
parent38ba270af828b80e0ffb5eab955aff733de17dba (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.txt19
-rw-r--r--src/secmgr-wrap.c4
-rw-r--r--src/simulation/smack.h24
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)