diff -Pur ssh-1.2.25.orig/Makefile.in ssh-1.2.25/Makefile.in
--- ssh-1.2.25.orig/Makefile.in	Thu Jun 11 15:01:13 1998
+++ ssh-1.2.25/Makefile.in	Sat Jun 27 15:01:52 1998
@@ -402,7 +402,8 @@
 sshd: $(SSHD_OBJS) $(GMPDEP) $(RSAREFDEP) $(ZLIBDEP)
 	-rm -f sshd
 	$(CC) $(LDFLAGS) -o sshd $(SSHD_OBJS) \
-		$(GMPLIBS) $(ZLIBLIBS) $(WRAPLIBS) $(LIBS) $(KERBEROS_LIBS)
+		$(GMPLIBS) $(ZLIBLIBS) $(WRAPLIBS) $(LIBS) $(KERBEROS_LIBS) \
+		-ltmpdir
 
 ssh: $(SSH_OBJS) $(GMPDEP) $(RSAREFDEP) $(ZLIBDEP)
 	-rm -f ssh
diff -Pur ssh-1.2.25.orig/newchannels.c ssh-1.2.25/newchannels.c
--- ssh-1.2.25.orig/newchannels.c	Thu Jun 11 15:01:12 1998
+++ ssh-1.2.25/newchannels.c	Sat Jun 27 15:04:17 1998
@@ -266,7 +266,7 @@
 
 /* Directory in which the fake unix-domain X11 displays reside. */
 #ifndef X11_DIR
-#define X11_DIR "/tmp/.X11-unix"
+#define X11_DIR "/temp/X/X11-unix"
 #endif
 
 /* Maximum number of fake X11 displays to try. */
diff -Pur ssh-1.2.25.orig/sshd.c ssh-1.2.25/sshd.c
--- ssh-1.2.25.orig/sshd.c	Thu Jun 11 15:01:13 1998
+++ ssh-1.2.25/sshd.c	Sat Jun 27 15:22:52 1998
@@ -436,6 +436,8 @@
 #endif
 #endif /* HAVE_ETC_SHADOW */
 
+#include <tmpdir.h>
+
 #ifdef HAVE_OSF1_C2_SECURITY
 #include <prot.h>
 #endif /* HAVE_OSF1_C2_SECURITY */
@@ -2582,6 +2584,12 @@
   mode_t tty_mode;
   struct stat st;
   int i;
+  
+  /* Create temporary directory for the user */
+  if (mkusertemp(pw->pw_name, pw->pw_uid, pw->pw_gid))
+	  fatal("mkusertemp %s %d %d: %s", 
+		  pw->pw_name, (int)pw->pw_uid, (int)pw->pw_gid, 
+		  strerror(errno));
   
   /* Cancel the alarm we set to limit the time taken for authentication. */
   alarm(0);

