]> git.pld-linux.org Git - packages/openssh.git/blobdiff - openssh-selinux.patch
- updated to 4.3p2 (fixes for logout recording with privsep disabled)
[packages/openssh.git] / openssh-selinux.patch
index 73bf4a98fc176fe09fab46a3c902039316d0a031..204b173c4c7cd208646e97058934e77bb9a15b6c 100644 (file)
@@ -1,6 +1,6 @@
-diff -urN openssh-3.7.1p2.org/Makefile.in openssh-3.7.1p2/Makefile.in
---- openssh-3.7.1p2.org/Makefile.in    2003-12-26 20:14:52.000000000 +0100
-+++ openssh-3.7.1p2/Makefile.in        2003-12-26 20:15:15.000000000 +0100
+diff -urN openssh-3.9p1.org/Makefile.in openssh-3.9p1/Makefile.in
+--- openssh-3.9p1.org/Makefile.in      2004-08-17 19:03:29.052607640 +0200
++++ openssh-3.9p1/Makefile.in  2004-08-17 19:07:48.572154672 +0200
 @@ -40,7 +40,7 @@
  
  CC=@CC@
@@ -19,10 +19,10 @@ diff -urN openssh-3.7.1p2.org/Makefile.in openssh-3.7.1p2/Makefile.in
  
  scp$(EXEEXT): $(LIBCOMPAT) libssh.a scp.o progressmeter.o
        $(LD) -o $@ scp.o progressmeter.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
-diff -urN openssh-3.7.1p2.org/session.c openssh-3.7.1p2/session.c
---- openssh-3.7.1p2.org/session.c      2003-12-26 20:14:53.000000000 +0100
-+++ openssh-3.7.1p2/session.c  2003-12-26 20:15:50.000000000 +0100
-@@ -62,6 +62,11 @@
+diff -urN openssh-3.9p1.org/session.c openssh-3.9p1/session.c
+--- openssh-3.9p1.org/session.c        2004-08-17 19:03:29.189586816 +0200
++++ openssh-3.9p1/session.c    2004-08-17 19:07:48.559156648 +0200
+@@ -66,6 +66,11 @@
  #include "ssh-gss.h"
  #endif
  
@@ -34,12 +34,12 @@ diff -urN openssh-3.7.1p2.org/session.c openssh-3.7.1p2/session.c
  /* func */
  
  Session *session_new(void);
-@@ -1295,6 +1300,18 @@
+@@ -1304,6 +1309,18 @@
  #endif
        if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid)
                fatal("Failed to set uids to %u.", (u_int) pw->pw_uid);
 +#ifdef WITH_SELINUX
-+      if (is_selinux_enabled())
++      if (is_selinux_enabled()>0)
 +        {
 +          security_context_t scontext;
 +          if (get_default_context(pw->pw_name,NULL,&scontext))
@@ -53,8 +53,9 @@ diff -urN openssh-3.7.1p2.org/session.c openssh-3.7.1p2/session.c
  }
  
  static void
---- openssh-3.8p1/sshpty.c.orig        2004-01-21 07:07:17.000000000 +0100
-+++ openssh-3.8p1/sshpty.c     2004-02-25 21:19:57.000000000 +0100
+diff -urN openssh-3.9p1.org/sshpty.c openssh-3.9p1/sshpty.c
+--- openssh-3.9p1.org/sshpty.c 2004-08-17 19:03:29.219582256 +0200
++++ openssh-3.9p1/sshpty.c     2004-08-17 19:15:00.180540224 +0200
 @@ -22,6 +22,12 @@
  #include "log.h"
  #include "misc.h"
@@ -68,46 +69,41 @@ diff -urN openssh-3.7.1p2.org/session.c openssh-3.7.1p2/session.c
  #ifdef HAVE_PTY_H
  # include <pty.h>
  #endif
-@@ -196,6 +202,37 @@
+@@ -196,6 +202,32 @@
         * Warn but continue if filesystem is read-only and the uids match/
         * tty is owned by root.
         */
 +#ifdef WITH_SELINUX
-+      if (is_selinux_enabled()) {
-+        security_context_t      new_tty_context=NULL,
-+          user_context=NULL, old_tty_context=NULL; 
-+
-+        if (get_default_context(pw->pw_name,NULL,&user_context))
-+            fatal("Failed to get default security context for %s.", pw->pw_name);
-+
-+        if (getfilecon(ttyname, &old_tty_context)<0) {
-+          error("getfilecon(%.100s) failed: %.100s", ttyname,
-+                strerror(errno));
-+        }
-+        else 
-+          {
-+            if ( security_compute_relabel(user_context,old_tty_context,SECCLASS_CHR_FILE,&new_tty_context)!=0) {
-+              error("security_compute_relabel(%.100s) failed: %.100s", ttyname,
-+                    strerror(errno));
-+            } 
-+            else 
-+              {
-+                if (setfilecon (ttyname, new_tty_context) != 0) {
-+                  error("setfilecon(%.100s, %s) failed: %.100s",
-+                        ttyname, new_tty_context, strerror(errno));
-+                }
-+                freecon(new_tty_context);
++      if (is_selinux_enabled()>0) {
++              security_context_t      new_tty_context=NULL,
++                                      user_context=NULL,
++                                      old_tty_context=NULL;
++              if (get_default_context(pw->pw_name,NULL,&user_context))
++                      fatal("Failed to get default security context for %s.", pw->pw_name);
++      
++              if (getfilecon(tty, &old_tty_context)<0) {
++                      error("getfilecon(%.100s) failed: %.100s", tty, strerror(errno));
++              } else {
++                      if ( security_compute_relabel(user_context,old_tty_context,SECCLASS_CHR_FILE,&new_tty_context)!=0) {
++                              error("security_compute_relabel(%.100s) failed: %.100s", tty, strerror(errno));
++                      } else {
++                              if (setfilecon (tty, new_tty_context) != 0) {
++                                      error("setfilecon(%.100s, %s) failed: %.100s",
++                                              tty, new_tty_context, strerror(errno));
++                              }
++                              freecon(new_tty_context);
++                      }
++                      freecon(old_tty_context);
 +              }
-+            freecon(old_tty_context);
-+          }
-+        freecon(user_context);
++              freecon(user_context);
 +      }
 +#endif
-       if (stat(ttyname, &st))
-               fatal("stat(%.100s) failed: %.100s", ttyname,
++                                      
+       if (stat(tty, &st))
+               fatal("stat(%.100s) failed: %.100s", tty,
                    strerror(errno));
-@@ -225,4 +262,5 @@
-                                   ttyname, (u_int)mode, strerror(errno));
+@@ -225,4 +257,5 @@
+                                   tty, (u_int)mode, strerror(errno));
                }
        }
 +
This page took 0.05408 seconds and 4 git commands to generate.