All of lore.kernel.org
 help / color / mirror / Atom feed
* Use specified semanage.conf for cross compiling
@ 2012-01-04  8:57 Xin Ouyang
  2012-01-04 15:43 ` Daniel J Walsh
  0 siblings, 1 reply; 3+ messages in thread
From: Xin Ouyang @ 2012-01-04  8:57 UTC (permalink / raw)
  To: selinux

[-- Attachment #1: Type: text/plain, Size: 3475 bytes --]

Hi all,

For some cross compiling cases, I need to use semodule to create the
policy store at build time.
It is,
       semodule -n -b base.pp -i some.pp .. -p $TARGET_ROOT

With this, semodule will use /etc/selinux/semanage.conf by calling
semanage_handle_create():

// libsemanage/src/handle.c
semanage_handle_t *semanage_handle_create(void)
{
        semanage_handle_t *sh = NULL;
        const char *conf_name = NULL;

        /* Allocate handle */
        if ((sh = calloc(1, sizeof(semanage_handle_t))) == NULL)
                goto err;

        if ((conf_name = semanage_conf_path()) == NULL)
                goto err;

        if ((sh->conf = semanage_conf_parse(conf_name)) == NULL)
                goto err;

While there may be some different options in  semanage.conf for the
target, I am trying to specify a special semanage.conf path instead of
/etc/selinux/semanage.conf in the build host.

Commit 9cd587f5533456e7b26601e27e65744272e2e783 introduced
semanage_set_root() as an alternate root for policy stores. So I make
a patch to use the semanage.conf in the alternate root.
After the patch, semodule -p /target will use
/target/etc/selinux/semanage.conf as the config file.

Anyone who has better solutions, please


diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
index 7adc1cc..ef36152 100644
--- a/libsemanage/src/handle.c
+++ b/libsemanage/src/handle.c
@@ -41,6 +41,7 @@
 #include <string.h>
 #include <selinux/selinux.h>
 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;
@@ -52,6 +53,7 @@ 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;
@@ -68,6 +70,10 @@ 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;
        }
@@ -171,6 +177,13 @@ const char *semanage_selinux_path(void) {
        return selinux_path();
 }

+const char *semanage_semanage_conf_path(void) {
+       if (private_semanage_conf_path
+               && access(private_semanage_conf_path, R_OK) == 0)
+               return private_semanage_conf_path;
+       return semanage_conf_path();
+}
+
 semanage_handle_t *semanage_handle_create(void)
 {
        semanage_handle_t *sh = NULL;
@@ -180,7 +193,7 @@ semanage_handle_t *semanage_handle_create(void)
        if ((sh = calloc(1, sizeof(semanage_handle_t))) == NULL)
                goto err;

-       if ((conf_name = semanage_conf_path()) == NULL)
+       if ((conf_name = semanage_semanage_conf_path()) == NULL)
                goto err;

        if ((sh->conf = semanage_conf_parse(conf_name)) == NULL)

[-- Attachment #2: 0001-libsemanage-semanage.conf-with-semanage_set_root.patch --]
[-- Type: text/x-patch, Size: 2376 bytes --]

From 811e113c1e6fddccca729f8e133321c46db95c80 Mon Sep 17 00:00:00 2001
From: Xin Ouyang <xinpascal@gmail.com>
Date: Wed, 4 Jan 2012 14:38:36 +0800
Subject: [PATCH] libsemanage: semanage.conf with semanage_set_root.

Allow applications to use semanage.conf in the alternate root, if
semanage_set_root called.
---
 libsemanage/src/handle.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
index 7adc1cc..ef36152 100644
--- a/libsemanage/src/handle.c
+++ b/libsemanage/src/handle.c
@@ -41,6 +41,7 @@
 #include <string.h>
 #include <selinux/selinux.h>
 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;
@@ -52,6 +53,7 @@ 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;
@@ -68,6 +70,10 @@ 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;
 	}
@@ -171,6 +177,13 @@ const char *semanage_selinux_path(void) {
 	return selinux_path();
 }
 
+const char *semanage_semanage_conf_path(void) {
+	if (private_semanage_conf_path
+		&& access(private_semanage_conf_path, R_OK) == 0)
+		return private_semanage_conf_path;
+	return semanage_conf_path();
+}
+
 semanage_handle_t *semanage_handle_create(void)
 {
 	semanage_handle_t *sh = NULL;
@@ -180,7 +193,7 @@ semanage_handle_t *semanage_handle_create(void)
 	if ((sh = calloc(1, sizeof(semanage_handle_t))) == NULL)
 		goto err;
 
-	if ((conf_name = semanage_conf_path()) == NULL)
+	if ((conf_name = semanage_semanage_conf_path()) == NULL)
 		goto err;
 
 	if ((sh->conf = semanage_conf_parse(conf_name)) == NULL)
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: Use specified semanage.conf for cross compiling
  2012-01-04  8:57 Use specified semanage.conf for cross compiling Xin Ouyang
@ 2012-01-04 15:43 ` Daniel J Walsh
  2012-01-05  3:08   ` Xin Ouyang
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel J Walsh @ 2012-01-04 15:43 UTC (permalink / raw)
  To: Xin Ouyang; +Cc: selinux

[-- Attachment #1: Type: text/plain, Size: 3628 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/04/2012 03:57 AM, Xin Ouyang wrote:
> Hi all,
> 
> For some cross compiling cases, I need to use semodule to create
> the policy store at build time. It is, semodule -n -b base.pp -i
> some.pp .. -p $TARGET_ROOT
> 
> With this, semodule will use /etc/selinux/semanage.conf by calling 
> semanage_handle_create():
> 
> // libsemanage/src/handle.c semanage_handle_t
> *semanage_handle_create(void) { semanage_handle_t *sh = NULL; const
> char *conf_name = NULL;
> 
> /* Allocate handle */ if ((sh = calloc(1,
> sizeof(semanage_handle_t))) == NULL) goto err;
> 
> if ((conf_name = semanage_conf_path()) == NULL) goto err;
> 
> if ((sh->conf = semanage_conf_parse(conf_name)) == NULL) goto err;
> 
> While there may be some different options in  semanage.conf for
> the target, I am trying to specify a special semanage.conf path
> instead of /etc/selinux/semanage.conf in the build host.
> 
> Commit 9cd587f5533456e7b26601e27e65744272e2e783 introduced 
> semanage_set_root() as an alternate root for policy stores. So I
> make a patch to use the semanage.conf in the alternate root. After
> the patch, semodule -p /target will use 
> /target/etc/selinux/semanage.conf as the config file.
> 
> Anyone who has better solutions, please
> 
> 
> diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c 
> index 7adc1cc..ef36152 100644 --- a/libsemanage/src/handle.c +++
> b/libsemanage/src/handle.c @@ -41,6 +41,7 @@ #include <string.h> 
> #include <selinux/selinux.h> 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; @@ -52,6 +53,7 @@ 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; @@ -68,6 +70,10 @@ 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; } @@ -171,6
> +177,13 @@ const char *semanage_selinux_path(void) { return
> selinux_path(); }
> 
> +const char *semanage_semanage_conf_path(void) { +       if
> (private_semanage_conf_path +               &&
> access(private_semanage_conf_path, R_OK) == 0) +
> return private_semanage_conf_path; +       return
> semanage_conf_path(); +} + semanage_handle_t
> *semanage_handle_create(void) { semanage_handle_t *sh = NULL; @@
> -180,7 +193,7 @@ semanage_handle_t *semanage_handle_create(void) if
> ((sh = calloc(1, sizeof(semanage_handle_t))) == NULL) goto err;
> 
> -       if ((conf_name = semanage_conf_path()) == NULL) +       if
> ((conf_name = semanage_semanage_conf_path()) == NULL) goto err;
> 
> if ((sh->conf = semanage_conf_parse(conf_name)) == NULL)


How about this patch instead.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8Ec5EACgkQrlYvE4MpobMGUgCfS4IXRl6CslxjlmM1HHpTlwbl
lMwAoNQBVA6F9mv7spdOE64IsxAx67dx
=BWGP
-----END PGP SIGNATURE-----

[-- Attachment #2: libsemanage_conf_path.patch --]
[-- Type: text/x-patch, Size: 3664 bytes --]

diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
index 7adc1cc..4b43ba7 100644
--- a/libsemanage/src/handle.c
+++ b/libsemanage/src/handle.c
@@ -37,10 +37,12 @@
 #include "semanage_store.h"
 
 #define SEMANAGE_COMMIT_READ_WAIT 5
+#define SEMANAGE_CONF_PATH "/etc/selinux/semanage.conf"
 
 #include <string.h>
 #include <selinux/selinux.h>
 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;
@@ -52,6 +54,7 @@ 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;
@@ -68,6 +71,10 @@ 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;
 	}
@@ -171,6 +178,20 @@ 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 723d811..bb12594 100644
--- a/libsemanage/src/handle.h
+++ b/libsemanage/src/handle.h
@@ -105,6 +105,8 @@ 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 a223aa7..0e7b71a 100644
--- a/libsemanage/src/semanage_store.c
+++ b/libsemanage/src/semanage_store.c
@@ -262,18 +262,6 @@ 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 b451308..98e011d 100644
--- a/libsemanage/src/semanage_store.h
+++ b/libsemanage/src/semanage_store.h
@@ -66,7 +66,6 @@ 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);

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: Use specified semanage.conf for cross compiling
  2012-01-04 15:43 ` Daniel J Walsh
@ 2012-01-05  3:08   ` Xin Ouyang
  0 siblings, 0 replies; 3+ messages in thread
From: Xin Ouyang @ 2012-01-05  3:08 UTC (permalink / raw)
  To: Daniel J Walsh; +Cc: selinux

[-- Attachment #1: Type: text/plain, Size: 4259 bytes --]

Thanks.

I think it is better to retain the access function .
If there is no semanage.conf in the target, we will use the one in the
host instead.

+const char *semanage_conf_path(void)
+{
+       if (private_semanage_conf_path
+               && access(private_semanage_conf_path, R_OK) == 0)
+               return private_semanage_conf_path;
+
+       return SEMANAGE_CONF_PATH;
+}
+

:)
- Pascal

2012/1/4 Daniel J Walsh <dwalsh@redhat.com>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 01/04/2012 03:57 AM, Xin Ouyang wrote:
>> Hi all,
>>
>> For some cross compiling cases, I need to use semodule to create
>> the policy store at build time. It is, semodule -n -b base.pp -i
>> some.pp .. -p $TARGET_ROOT
>>
>> With this, semodule will use /etc/selinux/semanage.conf by calling
>> semanage_handle_create():
>>
>> // libsemanage/src/handle.c semanage_handle_t
>> *semanage_handle_create(void) { semanage_handle_t *sh = NULL; const
>> char *conf_name = NULL;
>>
>> /* Allocate handle */ if ((sh = calloc(1,
>> sizeof(semanage_handle_t))) == NULL) goto err;
>>
>> if ((conf_name = semanage_conf_path()) == NULL) goto err;
>>
>> if ((sh->conf = semanage_conf_parse(conf_name)) == NULL) goto err;
>>
>> While there may be some different options in  semanage.conf for
>> the target, I am trying to specify a special semanage.conf path
>> instead of /etc/selinux/semanage.conf in the build host.
>>
>> Commit 9cd587f5533456e7b26601e27e65744272e2e783 introduced
>> semanage_set_root() as an alternate root for policy stores. So I
>> make a patch to use the semanage.conf in the alternate root. After
>> the patch, semodule -p /target will use
>> /target/etc/selinux/semanage.conf as the config file.
>>
>> Anyone who has better solutions, please
>>
>>
>> diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
>> index 7adc1cc..ef36152 100644 --- a/libsemanage/src/handle.c +++
>> b/libsemanage/src/handle.c @@ -41,6 +41,7 @@ #include <string.h>
>> #include <selinux/selinux.h> 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; @@ -52,6 +53,7 @@ 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; @@ -68,6 +70,10 @@ 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; } @@ -171,6
>> +177,13 @@ const char *semanage_selinux_path(void) { return
>> selinux_path(); }
>>
>> +const char *semanage_semanage_conf_path(void) { +       if
>> (private_semanage_conf_path +               &&
>> access(private_semanage_conf_path, R_OK) == 0) +
>> return private_semanage_conf_path; +       return
>> semanage_conf_path(); +} + semanage_handle_t
>> *semanage_handle_create(void) { semanage_handle_t *sh = NULL; @@
>> -180,7 +193,7 @@ semanage_handle_t *semanage_handle_create(void) if
>> ((sh = calloc(1, sizeof(semanage_handle_t))) == NULL) goto err;
>>
>> -       if ((conf_name = semanage_conf_path()) == NULL) +       if
>> ((conf_name = semanage_semanage_conf_path()) == NULL) goto err;
>>
>> if ((sh->conf = semanage_conf_parse(conf_name)) == NULL)
>
>
> How about this patch instead.
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk8Ec5EACgkQrlYvE4MpobMGUgCfS4IXRl6CslxjlmM1HHpTlwbl
> lMwAoNQBVA6F9mv7spdOE64IsxAx67dx
> =BWGP
> -----END PGP SIGNATURE-----

[-- Attachment #2: libsemanage_conf_path_for_cross.patch --]
[-- Type: text/x-patch, Size: 4299 bytes --]

From 955f57b9787845ca6186c46e26db3e2288f1e047 Mon Sep 17 00:00:00 2001
From: Xin Ouyang <xinpascal@gmail.com>
Date: Thu, 5 Jan 2012 11:01:42 +0800
Subject: [PATCH] libsemanage: semanage.conf with semanage_set_root.

Allow applications to use semanage.conf in the alternate root, if
semanage_set_root called.
---
 libsemanage/src/handle.c         |   22 ++++++++++++++++++++++
 libsemanage/src/handle.h         |    2 ++
 libsemanage/src/semanage_store.c |   12 ------------
 libsemanage/src/semanage_store.h |    1 -
 4 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/libsemanage/src/handle.c b/libsemanage/src/handle.c
index 7adc1cc..75de6db 100644
--- a/libsemanage/src/handle.c
+++ b/libsemanage/src/handle.c
@@ -37,10 +37,12 @@
 #include "semanage_store.h"
 
 #define SEMANAGE_COMMIT_READ_WAIT 5
+#define SEMANAGE_CONF_PATH "/etc/selinux/semanage.conf"
 
 #include <string.h>
 #include <selinux/selinux.h>
 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;
@@ -52,6 +54,7 @@ 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;
@@ -68,6 +71,10 @@ 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;
 	}
@@ -171,6 +178,21 @@ 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
+		&& access(private_semanage_conf_path, R_OK) == 0)
+		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 723d811..bb12594 100644
--- a/libsemanage/src/handle.h
+++ b/libsemanage/src/handle.h
@@ -105,6 +105,8 @@ 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 a223aa7..0e7b71a 100644
--- a/libsemanage/src/semanage_store.c
+++ b/libsemanage/src/semanage_store.c
@@ -262,18 +262,6 @@ 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 b451308..98e011d 100644
--- a/libsemanage/src/semanage_store.h
+++ b/libsemanage/src/semanage_store.h
@@ -66,7 +66,6 @@ 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);
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-01-05  3:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-04  8:57 Use specified semanage.conf for cross compiling Xin Ouyang
2012-01-04 15:43 ` Daniel J Walsh
2012-01-05  3:08   ` Xin Ouyang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.