2 changed files with 87 additions and 3 deletions
@ -0,0 +1,79 @@
|
||||
--- openssh-3.0.2p1/session.c.orig Sat Dec 1 18:37:08 2001
|
||||
+++ openssh-3.0.2p1/session.c Thu Dec 20 14:35:11 2001
|
||||
@@ -1038,6 +1038,10 @@
|
||||
struct stat st;
|
||||
char *argv[10];
|
||||
int do_xauth;
|
||||
+#ifdef HAVE_CHROOT
|
||||
+ char *user_dir;
|
||||
+ char *new_root;
|
||||
+#endif /* HAVE_CHROOT */
|
||||
#ifdef WITH_IRIX_PROJECT
|
||||
prid_t projid;
|
||||
#endif /* WITH_IRIX_PROJECT */
|
||||
@@ -1111,6 +1115,24 @@
|
||||
|
||||
if (setlogin(pw->pw_name) < 0)
|
||||
error("setlogin failed: %s", strerror(errno));
|
||||
+#ifdef HAVE_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 /* HAVE_CHROOT */
|
||||
if (setgid(pw->pw_gid) < 0) {
|
||||
perror("setgid");
|
||||
exit(1);
|
||||
--- openssh-3.0.2p1/configure.ac.orig Thu Dec 20 14:25:33 2001
|
||||
+++ openssh-3.0.2p1/configure.ac Thu Dec 20 14:28:58 2001
|
||||
@@ -1721,6 +1721,18 @@
|
||||
]
|
||||
)
|
||||
|
||||
+# Check whether to enable chroot support
|
||||
+CHROOT_MSG="no"
|
||||
+AC_ARG_WITH(chroot,
|
||||
+ [ --with-chroot Enable use of chroot home directories],
|
||||
+ [
|
||||
+ if test "x$withval" != "xno" ; then
|
||||
+ AC_DEFINE(HAVE_CHROOT)
|
||||
+ MD5_MSG="yes"
|
||||
+ fi
|
||||
+ ]
|
||||
+)
|
||||
+
|
||||
# Whether to disable shadow password support
|
||||
AC_ARG_WITH(shadow,
|
||||
[ --without-shadow Disable shadow password support],
|
||||
@@ -2207,6 +2219,7 @@
|
||||
echo " S/KEY support: $SKEY_MSG"
|
||||
echo " TCP Wrappers support: $TCPW_MSG"
|
||||
echo " MD5 password support: $MD5_MSG"
|
||||
+echo " chroot support: $CHROOT_MSG"
|
||||
echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
|
||||
echo " Use IPv4 by default hack: $IPV4_HACK_MSG"
|
||||
echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
|
||||
--- openssh-3.0.2p1/config.h.in.orig Thu Dec 20 14:43:20 2001
|
||||
+++ openssh-3.0.2p1/config.h.in Thu Dec 20 14:44:08 2001
|
||||
@@ -780,6 +780,9 @@
|
||||
/* Define if you have the `__b64_ntop' function. */
|
||||
#undef HAVE___B64_NTOP
|
||||
|
||||
+/* Define if you want the chroot capability */
|
||||
+#undef HAVE_CHROOT
|
||||
+
|
||||
/* The size of a `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
Loading…
Reference in new issue