]> 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 a8cf4b749afb4f40531dccf1d7122b2076172b53..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@
@@ -10,19 +10,19 @@ diff -urN openssh-3.7.1p2.org/Makefile.in openssh-3.7.1p2/Makefile.in
  CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
  LIBS=@LIBS@
  LIBPAM=@LIBPAM@
-@@ -53,7 +53,7 @@
- SED=@SED@
- ENT=@ENT@
- XAUTH_PATH=@XAUTH_PATH@
--LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@
-+LDFLAGS=-L. -Lopenbsd-compat/ @LDFLAGS@ -lselinux 
- EXEEXT=@EXEEXT@
+@@ -134,7 +134,7 @@
+       $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
  
- INSTALL_SSH_PRNG_CMDS=@INSTALL_SSH_PRNG_CMDS@
-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 @@
+ sshd$(EXEEXT): libssh.a       $(LIBCOMPAT) $(SSHDOBJS)
+-      $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBWRAP) $(LIBPAM) $(LIBS)
++      $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBWRAP) $(LIBPAM) $(LIBS) -lselinux
+ scp$(EXEEXT): $(LIBCOMPAT) libssh.a scp.o progressmeter.o
+       $(LD) -o $@ scp.o progressmeter.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+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,9 +53,9 @@ diff -urN openssh-3.7.1p2.org/session.c openssh-3.7.1p2/session.c
  }
  
  static void
-diff -urN openssh-3.7.1p2.org/sshpty.c openssh-3.7.1p2/sshpty.c
---- openssh-3.7.1p2.org/sshpty.c       2003-12-26 20:14:53.000000000 +0100
-+++ openssh-3.7.1p2/sshpty.c   2003-12-26 20:15:14.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"
@@ -66,49 +66,44 @@ diff -urN openssh-3.7.1p2.org/sshpty.c openssh-3.7.1p2/sshpty.c
 +#include <selinux/selinux.h>
 +#endif
 +
- /* Pty allocated with _getpty gets broken if we do I_PUSH:es to it. */
- #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY)
- #undef HAVE_DEV_PTMX
-@@ -386,6 +392,37 @@
+ #ifdef HAVE_PTY_H
+ # include <pty.h>
+ #endif
+@@ -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));
-@@ -415,4 +452,5 @@
-                                   ttyname, (u_int)mode, strerror(errno));
+@@ -225,4 +257,5 @@
+                                   tty, (u_int)mode, strerror(errno));
                }
        }
 +
This page took 0.094659 seconds and 4 git commands to generate.