summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/openssh/files/openssh-3.9_p1-chroot.patch')
-rw-r--r--net-misc/openssh/files/openssh-3.9_p1-chroot.patch74
1 files changed, 0 insertions, 74 deletions
diff --git a/net-misc/openssh/files/openssh-3.9_p1-chroot.patch b/net-misc/openssh/files/openssh-3.9_p1-chroot.patch
deleted file mode 100644
index c903673de7c7..000000000000
--- a/net-misc/openssh/files/openssh-3.9_p1-chroot.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-################################################################################
-################################################################################
-# #
-# Original patch by Ricardo Cerqueira <rmcc@clix.pt> #
-# #
-# Updated by James Dennis <james@firstaidmusic.com> for openssh-3.7.1p2 #
-# #
-# A patch to cause sshd to chroot when it encounters the magic token #
-# '/./' in a users home directory. The directory portion before the #
-# token is the directory to chroot() to, the portion after the #
-# token is the user's home directory relative to the new root. #
-# #
-# Patch source using: patch -p0 < /path/to/patch #
-# #
-# Systems with a bad diff (doesn't understand -u or -N) should use gnu diff. #
-# Solaris may store this as gdiff under /opt/sfw/bin. I can't say much about #
-# other systems (unless you email me your experiences!). #
-# #
-################################################################################
-################################################################################
-
-diff -uNr openssh-3.7.1p2/session.c openssh-3.7.1p2-chroot/session.c
---- openssh-3.7.1p2/session.c Tue Sep 23 04:59:08 2003
-+++ openssh-3.7.1p2-chroot/session.c Fri Sep 26 13:42:52 2003
-@@ -58,6 +58,8 @@
- #include "session.h"
- #include "monitor_wrap.h"
-
-+#define CHROOT
-+
- #ifdef GSSAPI
- #include "ssh-gss.h"
- #endif
-@@ -1231,6 +1233,12 @@
- void
- do_setusercontext(struct passwd *pw)
- {
-+
-+#ifdef CHROOT
-+ char *user_dir;
-+ char *new_root;
-+#endif /* CHROOT */
-+
- #ifndef HAVE_CYGWIN
- if (getuid() == 0 || geteuid() == 0)
- #endif /* HAVE_CYGWIN */
-@@ -1268,6 +1276,27 @@
- do_pam_setcred(0);
- }
- # endif /* USE_PAM */
-+
-+#ifdef CHROOT
-+ user_dir = xstrdup(pw->pw_dir);
-+ new_root = user_dir + 1;
-+
-+ while((new_root = strchr(new_root, '.')) != NULL) {
-+ new_root--;
-+ if(strncmp(new_root, "/./", 3) == 0) {
-+ *new_root = '\0';
-+ new_root += 2;
-+
-+ if(chroot(user_dir) != 0)
-+ fatal("Couldn't chroot to user directory %s", user_dir);
-+ pw->pw_dir = new_root;
-+ break;
-+ }
-+ new_root += 2;
-+ }
-+#endif /* CHROOT */
-+
-+
- # if defined(WITH_IRIX_PROJECT) || defined(WITH_IRIX_JOBS) || defined(WITH_IRIX_ARRAY)
- irix_setusercontext(pw);
- # endif /* defined(WITH_IRIX_PROJECT) || defined(WITH_IRIX_JOBS) || defined(WITH_IRIX_ARRAY) */