From: Dwight Engen Date: Fri, 18 Oct 2013 17:44:56 +0000 (-0400) Subject: add lsm op for getting name of enabled lsm X-Git-Tag: lxc-1.0.0.alpha2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41ca89087a8700aaa7992cbfe9bc8f93da15343b;p=thirdparty%2Flxc.git add lsm op for getting name of enabled lsm Signed-off-by: Dwight Engen Signed-off-by: Serge Hallyn --- diff --git a/src/lxc/lsm/lsm.c b/src/lxc/lsm/lsm.c index f022de980..066102bb5 100644 --- a/src/lxc/lsm/lsm.c +++ b/src/lxc/lsm/lsm.c @@ -62,13 +62,20 @@ void lsm_init(void) INFO("Initialized LSM security driver %s", drv->name); } -int lsm_enabled() +int lsm_enabled(void) { if (drv) return drv->enabled(); return 0; } +const char *lsm_name(void) +{ + if (drv) + return drv->name; + return "none"; +} + char *lsm_process_label_get(pid_t pid) { if (!drv) { diff --git a/src/lxc/lsm/lsm.h b/src/lxc/lsm/lsm.h index ee093da09..621e1af0a 100644 --- a/src/lxc/lsm/lsm.h +++ b/src/lxc/lsm/lsm.h @@ -37,19 +37,21 @@ struct lsm_drv { }; #if HAVE_APPARMOR || HAVE_SELINUX -void lsm_init(void); -int lsm_enabled(void); -char *lsm_process_label_get(pid_t pid); -int lsm_process_label_set(const char *label, int use_default); -int lsm_proc_mount(struct lxc_conf *lxc_conf); -void lsm_proc_unmount(struct lxc_conf *lxc_conf); +void lsm_init(void); +int lsm_enabled(void); +const char *lsm_name(void); +char *lsm_process_label_get(pid_t pid); +int lsm_process_label_set(const char *label, int use_default); +int lsm_proc_mount(struct lxc_conf *lxc_conf); +void lsm_proc_unmount(struct lxc_conf *lxc_conf); #else -static inline void lsm_init(void) { } -static inline int lsm_enabled(void) { return 0; } -static inline char *lsm_process_label_get(pid_t pid) { return NULL; } -static inline int lsm_process_label_set(char *label, int use_default) { return 0; } -static inline int lsm_proc_mount(struct lxc_conf *lxc_conf) { return 0; } -static inline void lsm_proc_unmount(struct lxc_conf *lxc_conf) { } +static inline void lsm_init(void) { } +static inline int lsm_enabled(void) { return 0; } +static inline const char *lsm_name(void) { return "none"; } +static inline char *lsm_process_label_get(pid_t pid) { return NULL; } +static inline int lsm_process_label_set(char *label, int use_default) { return 0; } +static inline int lsm_proc_mount(struct lxc_conf *lxc_conf) { return 0; } +static inline void lsm_proc_unmount(struct lxc_conf *lxc_conf) { } #endif #endif