mirror of
https://github.com/topjohnwu/selinux.git
synced 2025-02-22 20:32:07 +00:00
This patch adds a new subs_dist file.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The idea is to allow distributions to ship a subs file as well as let the user modify subs. In F16 we are looking at shipping a file_contexts.subs_dist file like this cat file_contexts.subs_dist /run /var/run /run/lock /var/lock /var/run/lock /var/lock /lib64 /lib /usr/lib64 /usr/lib The we will remove all (64)? from policy. This will allow us to make sure all /usr/lib/libBLAH is labeled the same as /usr/lib64/libBLAH -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk2c1ksACgkQrlYvE4MpobNXcQCgqgAiQJxmwa1+NdIq8E3tQRp6 QT0An0ihA60di9CRsEqEdVbSaHOwtte5 =LXgd -----END PGP SIGNATURE----- Signed-off-by: Steve Lawrence <slawrence@tresys.com>
This commit is contained in:
parent
1629d2f89a
commit
20b43b3fd3
@ -482,6 +482,7 @@ extern const char *selinux_file_context_path(void);
|
||||
extern const char *selinux_file_context_homedir_path(void);
|
||||
extern const char *selinux_file_context_local_path(void);
|
||||
extern const char *selinux_file_context_subs_path(void);
|
||||
extern const char *selinux_file_context_subs_dist_path(void);
|
||||
extern const char *selinux_homedir_context_path(void);
|
||||
extern const char *selinux_media_context_path(void);
|
||||
extern const char *selinux_virtual_domain_context_path(void);
|
||||
|
@ -23,4 +23,5 @@ S_(BINPOLICY, "/policy/policy")
|
||||
S_(VIRTUAL_DOMAIN, "/contexts/virtual_domain_context")
|
||||
S_(VIRTUAL_IMAGE, "/contexts/virtual_image_context")
|
||||
S_(FILE_CONTEXT_SUBS, "/contexts/files/file_contexts.subs")
|
||||
S_(FILE_CONTEXT_SUBS_DIST, "/contexts/files/file_contexts.subs_dist")
|
||||
S_(SEPGSQL_CONTEXTS, "/contexts/sepgsql_contexts")
|
||||
|
@ -56,12 +56,11 @@ static char *selabel_sub(struct selabel_sub *ptr, const char *src)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct selabel_sub *selabel_subs_init(void)
|
||||
static struct selabel_sub *selabel_subs_init(const char *path,struct selabel_sub *list)
|
||||
{
|
||||
char buf[1024];
|
||||
FILE *cfg = fopen(selinux_file_context_subs_path(), "r");
|
||||
FILE *cfg = fopen(path, "r");
|
||||
struct selabel_sub *sub;
|
||||
struct selabel_sub *list = NULL;
|
||||
|
||||
if (cfg) {
|
||||
while (fgets_unlocked(buf, sizeof(buf) - 1, cfg)) {
|
||||
@ -160,7 +159,10 @@ struct selabel_handle *selabel_open(unsigned int backend,
|
||||
memset(rec, 0, sizeof(*rec));
|
||||
rec->backend = backend;
|
||||
rec->validating = selabel_is_validate_set(opts, nopts);
|
||||
rec->subs = selabel_subs_init();
|
||||
|
||||
rec->subs = NULL;
|
||||
rec->subs = selabel_subs_init(selinux_file_context_subs_dist_path(), rec->subs);
|
||||
rec->subs = selabel_subs_init(selinux_file_context_subs_path(), rec->subs);
|
||||
|
||||
if ((*initfuncs[backend])(rec, opts, nopts)) {
|
||||
free(rec);
|
||||
|
@ -45,7 +45,8 @@
|
||||
#define VIRTUAL_IMAGE 22
|
||||
#define FILE_CONTEXT_SUBS 23
|
||||
#define SEPGSQL_CONTEXTS 24
|
||||
#define NEL 25
|
||||
#define FILE_CONTEXT_SUBS_DIST 25
|
||||
#define NEL 26
|
||||
|
||||
/* Part of one-time lazy init */
|
||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||
@ -423,6 +424,12 @@ const char * selinux_file_context_subs_path(void) {
|
||||
|
||||
hidden_def(selinux_file_context_subs_path)
|
||||
|
||||
const char * selinux_file_context_subs_dist_path(void) {
|
||||
return get_path(FILE_CONTEXT_SUBS_DIST);
|
||||
}
|
||||
|
||||
hidden_def(selinux_file_context_subs_dist_path)
|
||||
|
||||
const char *selinux_sepgsql_context_path()
|
||||
{
|
||||
return get_path(SEPGSQL_CONTEXTS);
|
||||
|
@ -66,6 +66,7 @@ hidden_proto(selinux_mkload_policy)
|
||||
hidden_proto(selinux_file_context_path)
|
||||
hidden_proto(selinux_file_context_homedir_path)
|
||||
hidden_proto(selinux_file_context_local_path)
|
||||
hidden_proto(selinux_file_context_subs_dist_path)
|
||||
hidden_proto(selinux_file_context_subs_path)
|
||||
hidden_proto(selinux_netfilter_context_path)
|
||||
hidden_proto(selinux_homedir_context_path)
|
||||
|
Loading…
x
Reference in New Issue
Block a user