set(PROJECT_DESCRIPTION "Secured Application framework")
set(PROJECT_VERSION "1.0")
-
set(USE_LIBZIP ON CACHE BOOL "should try to use libzip?")
-set(USE_SIMULATION ON CACHE BOOL "if set simulates security manager")
+set(USE_SIMULATION OFF CACHE BOOL "if set simulates security manager and smack")
set(USE_SDK OFF CACHE BOOL "if set, avoids installating system runtime files")
+set(SIMULATE_SECMGR OFF CACHE BOOL "if set, the security manager is simulated")
+set(SIMULATE_SMACK OFF CACHE BOOL "if set, the smack environment is simulated")
+
set(afm_name "afm" CACHE STRING "Name for application framework user")
set(afm_confdir "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${afm_name}" CACHE STRING "Directory for configuration files")
set(afm_datadir "${CMAKE_INSTALL_FULL_DATADIR}/${afm_name}" CACHE STRING "Root directory for installions")
set(afm_user_appdir "app-data" CACHE STRING "User subdirectory for applications")
set(wgtpkg_trusted_cert_dir "${afm_confdir}/certs" CACHE STRING "Path to internal certificates")
+if(USE_SIMULATION)
+ set(SIMULATE_SECMGR ON)
+ set(SIMULATE_SMACK ON)
+endif(USE_SIMULATION)
+
add_definitions(
-DFWK_CONFIG_DIR="${afm_confdir}"
-DFWK_PREFIX="${afm_prefix}"
###########################################################################
-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)
###########################################################################
#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"
--- /dev/null
+/*
+ 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)