psss / rpms / libselinux

Forked from rpms/libselinux 5 years ago
Clone
cvsdist fdbc025
--- libselinux-1.13.3/src/selinux_config.c.rhat	2004-06-09 08:08:32.000000000 -0400
cvsdist fdbc025
+++ libselinux-1.13.3/src/selinux_config.c	2004-06-09 08:23:44.109508112 -0400
cvsdist fdbc025
@@ -34,6 +34,7 @@
cvsdist fdbc025
 };
cvsdist fdbc025
 
cvsdist fdbc025
 /* Old layout had fixed locations. */
cvsdist fdbc025
+#define SECURITYCONFIG "/etc/sysconfig/selinux"
cvsdist fdbc025
 #define SECURITYDIR "/etc/security"
cvsdist fdbc025
 static char *compat_file_paths[NEL] = {
cvsdist fdbc025
 	SECURITYDIR "/selinux/policy",
cvsdist fdbc025
@@ -52,6 +53,9 @@
cvsdist fdbc025
   FILE *cfg = fopen(SELINUXCONFIG,"r");
cvsdist fdbc025
   char buf[4097];
cvsdist fdbc025
   int len=sizeof(SELINUXTAG)-1;
cvsdist fdbc025
+  if (!cfg) {
cvsdist fdbc025
+    cfg = fopen(SECURITYCONFIG,"r");
cvsdist fdbc025
+  }
cvsdist fdbc025
   if (cfg) {
cvsdist fdbc025
     while (fgets(buf, 4096, cfg)) {
cvsdist fdbc025
       if (strncmp(buf,SELINUXTAG,len))
cvsdist fdbc025
--- libselinux-1.13.3/utils/selinuxconfig.c.rhat	2004-06-09 08:08:32.000000000 -0400
cvsdist fdbc025
+++ libselinux-1.13.3/utils/selinuxconfig.c	2004-06-09 08:31:09.251836192 -0400
cvsdist fdbc025
@@ -6,6 +6,21 @@
cvsdist fdbc025
 
cvsdist fdbc025
 int main(int argc __attribute__ ((unused)), char **argv) 
cvsdist fdbc025
 {
cvsdist fdbc025
+        int enforce;
cvsdist fdbc025
+	if (selinux_getenforcemode(&enforce)==0) {
cvsdist fdbc025
+	  switch (enforce) {
cvsdist fdbc025
+	  case 1:
cvsdist fdbc025
+	    printf("selinux state=\"enforcing\"\n");
cvsdist fdbc025
+	    break;
cvsdist fdbc025
+	  case 0:
cvsdist fdbc025
+	    printf("selinux state=\"permissive\"\n");
cvsdist fdbc025
+	    break;
cvsdist fdbc025
+	  case -1:
cvsdist fdbc025
+	    printf("selinux state=\"disabled\"\n");
cvsdist fdbc025
+	    break;
cvsdist fdbc025
+	  }
cvsdist fdbc025
+	}
cvsdist fdbc025
+
cvsdist fdbc025
 	printf("policypath=\"%s\"\n", selinux_policy_root());
cvsdist fdbc025
 	printf("default_type_path=\"%s\"\n", selinux_default_type_path());
cvsdist fdbc025
 	printf("default_context_path=\"%s\"\n", selinux_default_context_path());