--- libselinux-1.13.3/src/selinux_config.c.rhat 2004-06-09 08:08:32.000000000 -0400 +++ libselinux-1.13.3/src/selinux_config.c 2004-06-12 04:47:42.082544760 -0400 @@ -34,6 +34,7 @@ }; /* Old layout had fixed locations. */ +#define SECURITYCONFIG "/etc/sysconfig/selinux" #define SECURITYDIR "/etc/security" static char *compat_file_paths[NEL] = { SECURITYDIR "/selinux/policy", @@ -52,6 +53,9 @@ FILE *cfg = fopen(SELINUXCONFIG,"r"); char buf[4097]; int len=sizeof(SELINUXTAG)-1; + if (!cfg) { + cfg = fopen(SECURITYCONFIG,"r"); + } if (cfg) { while (fgets(buf, 4096, cfg)) { if (strncmp(buf,SELINUXTAG,len)) @@ -94,9 +98,10 @@ cfg = fopen(SELINUXCONFIG,"r"); if (cfg) { while (fgets(buf, 4096, cfg)) { - if (strncmp(buf,SELINUXTYPETAG,len)) - continue; - type=buf+len; + if (strncmp(buf,SELINUXTYPETAG,len)==0) { + type=buf+len; + break; + } } fclose(cfg); } --- libselinux-1.13.3/utils/selinuxconfig.c.rhat 2004-06-09 08:08:32.000000000 -0400 +++ libselinux-1.13.3/utils/selinuxconfig.c 2004-06-12 04:39:11.550157480 -0400 @@ -6,6 +6,21 @@ int main(int argc __attribute__ ((unused)), char **argv) { + int enforce; + if (selinux_getenforcemode(&enforce)==0) { + switch (enforce) { + case 1: + printf("selinux state=\"enforcing\"\n"); + break; + case 0: + printf("selinux state=\"permissive\"\n"); + break; + case -1: + printf("selinux state=\"disabled\"\n"); + break; + } + } + printf("policypath=\"%s\"\n", selinux_policy_root()); printf("default_type_path=\"%s\"\n", selinux_default_type_path()); printf("default_context_path=\"%s\"\n", selinux_default_context_path());