diff options
author | Chris PeBenito <pebenito@gentoo.org> | 2006-02-07 01:22:59 +0000 |
---|---|---|
committer | Chris PeBenito <pebenito@gentoo.org> | 2006-02-07 01:22:59 +0000 |
commit | df8cd445645b39ba6f6902d142eb814e7eed2389 (patch) | |
tree | f673c4d783cb9ad14727771ea57ac2991a3d9a62 /sys-apps/sysvinit/files | |
parent | Version Bump. (diff) | |
download | gentoo-2-df8cd445645b39ba6f6902d142eb814e7eed2389.tar.gz gentoo-2-df8cd445645b39ba6f6902d142eb814e7eed2389.tar.bz2 gentoo-2-df8cd445645b39ba6f6902d142eb814e7eed2389.zip |
Bump to update SELinux patch.
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'sys-apps/sysvinit/files')
-rw-r--r-- | sys-apps/sysvinit/files/2.86-selinux-1.patch | 91 | ||||
-rw-r--r-- | sys-apps/sysvinit/files/digest-sysvinit-2.86-r4 | 2 |
2 files changed, 93 insertions, 0 deletions
diff --git a/sys-apps/sysvinit/files/2.86-selinux-1.patch b/sys-apps/sysvinit/files/2.86-selinux-1.patch new file mode 100644 index 000000000000..c1b5115bfc6c --- /dev/null +++ b/sys-apps/sysvinit/files/2.86-selinux-1.patch @@ -0,0 +1,91 @@ +--- sysvinit-2.85/src/init.c.selinux 2005-10-14 14:16:24.000000000 -0400 ++++ sysvinit-2.85/src/init.c 2005-10-14 14:16:24.000000000 -0400 +@@ -48,6 +48,8 @@ + #include <stdarg.h> + #include <sys/syslog.h> + #include <sys/time.h> ++#include <selinux/selinux.h> ++ + + #ifdef __i386__ + # if (__GLIBC__ >= 2) +@@ -2513,6 +2515,7 @@ + char *p; + int f; + int isinit; ++ int enforce = 0; + + /* Get my own name */ + if ((p = strrchr(argv[0], '/')) != NULL) +@@ -2576,6 +2579,20 @@ + maxproclen += strlen(argv[f]) + 1; + } + ++ if (getenv("SELINUX_INIT") == NULL) { ++ putenv("SELINUX_INIT=YES"); ++ if (selinux_init_load_policy(&enforce) == 0 ) { ++ execv(myname, argv); ++ } else { ++ if (enforce > 0) { ++ /* SELinux in enforcing mode but load_policy failed */ ++ /* At this point, we probably can't open /dev/console, so log() won't work */ ++ initlog(L_VB,"Unable to load SELinux Policy. Machine is in enforcing mode. Halting now."); ++ exit(1); ++ } ++ } ++ } ++ + /* Start booting. */ + argv0 = argv[0]; + argv[1] = NULL; +--- sysvinit-2.85/src/Makefile.selinux 2005-10-14 14:16:24.000000000 -0400 ++++ sysvinit-2.85/src/Makefile 2005-10-14 14:16:24.000000000 -0400 +@@ -32,7 +32,7 @@ + all: $(BIN) $(SBIN) $(USRBIN) + + init: init.o init_utmp.o +- $(CC) $(LDFLAGS) $(STATIC) -o $@ init.o init_utmp.o ++ $(CC) $(LDFLAGS) $(STATIC) -o $@ init.o init_utmp.o -lsepol -lselinux + + halt: halt.o ifdown.o hddown.o utmp.o reboot.h + $(CC) $(LDFLAGS) -o $@ halt.o ifdown.o hddown.o utmp.o +@@ -50,7 +50,7 @@ + $(CC) $(LDFLAGS) -o $@ runlevel.o + + sulogin: sulogin.o +- $(CC) $(LDFLAGS) $(STATIC) -o $@ sulogin.o $(LCRYPT) ++ $(CC) $(LDFLAGS) $(STATIC) -o $@ sulogin.o $(LCRYPT) -lselinux + + wall: dowall.o wall.o + $(CC) $(LDFLAGS) -o $@ dowall.o wall.o +--- sysvinit-2.85/src/sulogin.c.selinux 2005-10-14 14:16:24.000000000 -0400 ++++ sysvinit-2.85/src/sulogin.c 2005-10-14 14:18:42.000000000 -0400 +@@ -28,6 +28,8 @@ + # include <crypt.h> + #endif + ++#include <selinux/selinux.h> ++#include <selinux/get_context_list.h> + + #define CHECK_DES 1 + #define CHECK_MD5 1 +@@ -332,6 +335,19 @@ + signal(SIGINT, SIG_DFL); + signal(SIGTSTP, SIG_DFL); + signal(SIGQUIT, SIG_DFL); ++ if (is_selinux_enabled > 0) { ++ security_context_t scon=NULL; ++ char *seuser=NULL; ++ char *level=NULL; ++ if (getseuserbyname("root", &seuser, &level) == 0) ++ if (get_default_context_with_level(seuser, level, 0, &scon) > 0) { ++ if (setexeccon(scon) != 0) ++ fprintf(stderr, "setexeccon failed\n"); ++ freecon(scon); ++ } ++ free(seuser); ++ free(level); ++ } + execl(sushell, shell, NULL); + perror(sushell); + diff --git a/sys-apps/sysvinit/files/digest-sysvinit-2.86-r4 b/sys-apps/sysvinit/files/digest-sysvinit-2.86-r4 new file mode 100644 index 000000000000..36e59eb1e93b --- /dev/null +++ b/sys-apps/sysvinit/files/digest-sysvinit-2.86-r4 @@ -0,0 +1,2 @@ +MD5 7d5d61c026122ab791ac04c8a84db967 sysvinit-2.86.tar.gz 99009 +MD5 650af823f937d386e81520b1741d4d45 sysvinit-2.86-kexec.patch 4139 |