diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c index 08d458e9..55493074 100644 --- a/libsemanage/src/handle.c +++ b/libsemanage/src/handle.c @@ -37,12 +37,10 @@ #include "semanage_store.h" #define SEMANAGE_COMMIT_READ_WAIT 5 -#define SEMANAGE_CONF_PATH "/etc/selinux/semanage.conf" #include #include static char *private_selinux_path = NULL; -static char *private_semanage_conf_path = NULL; static char *private_file_context_path = NULL; static char *private_file_context_local_path = NULL; static char *private_file_context_homedir_path = NULL; @@ -54,7 +52,6 @@ static char *private_policy_root = NULL; void semanage_free_root() { free(private_selinux_path); private_selinux_path = NULL; - free(private_semanage_conf_path); private_semanage_conf_path = NULL; free(private_file_context_path); private_file_context_path = NULL; free(private_file_context_local_path); private_file_context_local_path = NULL; free(private_file_context_homedir_path); private_file_context_homedir_path = NULL; @@ -71,10 +68,6 @@ int semanage_set_root(const char *path) { goto error; } - if ( asprintf(&private_semanage_conf_path, "%s/%s", path, SEMANAGE_CONF_PATH) < 0 ) { - goto error; - } - if ( asprintf(&private_file_context_path, "%s/%s", path, selinux_file_context_path()) < 0 ) { goto error; } @@ -178,20 +171,6 @@ const char *semanage_selinux_path(void) { return selinux_path(); } -/* Return a fully-qualified path + filename to the semanage - * configuration file. The caller must not alter the string returned - * (and hence why this function return type is const). - * - */ - -const char *semanage_conf_path(void) -{ - if (private_semanage_conf_path) - return private_semanage_conf_path; - - return SEMANAGE_CONF_PATH; -} - semanage_handle_t *semanage_handle_create(void) { semanage_handle_t *sh = NULL; diff --git a/libsemanage/src/handle.h b/libsemanage/src/handle.h index bb12594b..723d811e 100644 --- a/libsemanage/src/handle.h +++ b/libsemanage/src/handle.h @@ -105,8 +105,6 @@ struct semanage_handle { dbase_config_t dbase[DBASE_COUNT]; }; -const char *semanage_conf_path(void); - /* === Local modifications === */ static inline dbase_config_t * semanage_user_base_dbase_local(semanage_handle_t * handle) diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c index 1a282ed6..2fa75a3b 100644 --- a/libsemanage/src/semanage_store.c +++ b/libsemanage/src/semanage_store.c @@ -262,6 +262,18 @@ const char *semanage_path(enum semanage_store_defs store, return semanage_paths[store][path_name]; } +/* Return a fully-qualified path + filename to the semanage + * configuration file. The caller must not alter the string returned + * (and hence why this function return type is const). + * + * This is going to be hard coded to /etc/selinux/semanage.conf for + * the time being. FIXME + */ +const char *semanage_conf_path(void) +{ + return "/etc/selinux/semanage.conf"; +} + /**************** functions that create module store ***************/ /* Check that the semanage store exists. If 'create' is non-zero then diff --git a/libsemanage/src/semanage_store.h b/libsemanage/src/semanage_store.h index 98e011d1..b451308d 100644 --- a/libsemanage/src/semanage_store.h +++ b/libsemanage/src/semanage_store.h @@ -66,6 +66,7 @@ enum semanage_sandbox_defs { /* FIXME: this needs to be made a module store specific init and the * global configuration moved to another file. */ +const char *semanage_conf_path(void); int semanage_check_init(const char *root); extern const char *semanage_fname(enum semanage_sandbox_defs file_enum);