[Initng-svn] r3810 - in initng/trunk: src

svn at initng.thinktux.net svn at initng.thinktux.net
Sun Apr 16 12:07:08 CEST 2006


Author: dragoran
Date: Sun Apr 16 12:07:07 2006
New Revision: 3810

Modified:
   initng/trunk/plugins/bash_launcher/CMakeLists.txt
   initng/trunk/plugins/bash_launcher/initng_bash_launcher.c
   initng/trunk/src/CMakeLists.txt

Log:
Fix some selinux related bugs

Modified: initng/trunk/plugins/bash_launcher/CMakeLists.txt
==============================================================================
--- initng/trunk/plugins/bash_launcher/CMakeLists.txt	(original)
+++ initng/trunk/plugins/bash_launcher/CMakeLists.txt	Sun Apr 16 12:07:07 2006
@@ -2,5 +2,8 @@
 
 ADD_LIBRARY(bashlaunch MODULE initng_bash_launcher.c)
 TARGET_LINK_LIBRARIES(bashlaunch initng)
+IF(SELINUX OR OLDSELINUX)
+	TARGET_LINK_LIBRARIES(bashlaunch selinux sepol)
+ENDIF(SELINUX OR OLDSELINUX)
 INSTALL_TARGETS(/lib/initng bashlaunch)
 

Modified: initng/trunk/plugins/bash_launcher/initng_bash_launcher.c
==============================================================================
--- initng/trunk/plugins/bash_launcher/initng_bash_launcher.c	(original)
+++ initng/trunk/plugins/bash_launcher/initng_bash_launcher.c	Sun Apr 16 12:07:07 2006
@@ -34,6 +34,7 @@
 #include <errno.h>
 #ifdef SELINUX
 #include <selinux/selinux.h>
+#include <selinux/context.h>
 #endif
 
 #ifdef BUSYBOX
@@ -119,15 +120,20 @@
 	char *sestr = NULL;
 	context_t seref = NULL;
 	int rc=0;
-	if(selinux_context)
-	  setexeccon(selinux_context);
-	else
-	  setexeccon("initrc_t"); 
+	char *sedomain;
+	if(selinux_context) {
+	  sedomain=(char*)malloc((sizeof(char) * strlen(selinux_context) + 1));
+	  strcpy(sedomain, selinux_context);
+	}
+	else {
+	  sedomain=(char*)malloc((sizeof(char) * 9));
+	  strcpy(sedomain, "initrc_t");
+	}
 	rc = getcon(&sestr);
 	if (rc < 0) goto fail;
 	seref = context_new(sestr);
 	if (!seref) goto fail;
-	if (context_type_set(seref, "initrc_t")) goto fail;
+	if (context_type_set(seref, sedomain)) goto fail;
 	freecon(sestr);
 	sestr = context_str(seref);
 	if (!sestr) goto fail;

Modified: initng/trunk/src/CMakeLists.txt
==============================================================================
--- initng/trunk/src/CMakeLists.txt	(original)
+++ initng/trunk/src/CMakeLists.txt	Sun Apr 16 12:07:07 2006
@@ -38,6 +38,9 @@
 
 ADD_LIBRARY(initng SHARED ${initng_lib_srcs})
 TARGET_LINK_LIBRARIES(initng dl ${COREDUMPER_LIBS})
+IF(SELINUX OR OLDSELINUX)
+	TARGET_LINK_LIBRARIES(initng selinux sepol)
+ENDIF(SELINUX OR OLDSELINUX)
 SET_TARGET_PROPERTIES(initng PROPERTIES VERSION 0.0.0 SOVERSION 0)
 INSTALL_TARGETS(/lib initng)
 


More information about the Initng-svn mailing list