X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fsecmgr-wrap.c;h=ad550baafd4f5e99f6522239242ceb274c12a754;hb=863bf1c6b4e10176edf8b26a9703109ab8db2c43;hp=57f5d20fe2435cce9e429f543129baf7150e6422;hpb=c0fc18e47e49dd4e3cc2f09452a19297dad63f9c;p=src%2Fapp-framework-main.git diff --git a/src/secmgr-wrap.c b/src/secmgr-wrap.c index 57f5d20..ad550ba 100644 --- a/src/secmgr-wrap.c +++ b/src/secmgr-wrap.c @@ -1,5 +1,5 @@ /* - Copyright 2015 IoT.bzh + Copyright 2015, 2016, 2017 IoT.bzh author: José Bollo @@ -20,7 +20,11 @@ #include #include +#if SIMULATE_SECURITY_MANAGER +#include "simulation/security-manager.h" +#else #include +#endif #include "verbose.h" #include "secmgr-wrap.h" @@ -36,7 +40,7 @@ static int retcode(enum lib_retcode rc) case SECURITY_MANAGER_ERROR_REQ_NOT_COMPLETE: errno = EBADMSG; break; case SECURITY_MANAGER_ERROR_AUTHENTICATION_FAILED: errno = EPERM; break; case SECURITY_MANAGER_ERROR_ACCESS_DENIED: errno = EACCES; break; - default: errno = 0; break; + default: errno = ECANCELED; break; } return -1; } @@ -80,6 +84,17 @@ int secmgr_install() return retcode(rc); } +int secmgr_uninstall() +{ + int rc; + assert(request != NULL); + rc = security_manager_app_uninstall(request); + if (rc != SECURITY_MANAGER_SUCCESS) + ERROR("security_manager_app_uninstall failed"); + secmgr_cancel(); + return retcode(rc); +} + int secmgr_permit(const char *permission) { int rc; @@ -102,7 +117,7 @@ static int addpath(const char *pathname, enum app_install_path_type type) int secmgr_path_public_read_only(const char *pathname) { - return addpath(pathname, SECURITY_MANAGER_PATH_PUBLIC_RO); + return addpath(pathname, SECURITY_MANAGER_PATH_RO); } int secmgr_path_read_only(const char *pathname)