;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.98 ;;; Reason: ;;; The :real-login method of ftp-host-unit doesn't need the "unix-wait" kludge ;;; to suck up the extra reply 4.2 BSD sends if you give an invalid user id, ;;; as that problem has been solved in a more general fashion by patch 123.87 ;;; Written 4-Nov-87 19:46:13 by pld at site LMI Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.96, Experimental Local-File 73.0, Experimental FILE-Server 22.0, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.0, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8. ; From modified file DJ: L.NETWORK.IP-TCP.USER; FTP-ACCESS.LISP#36 at 4-Nov-87 19:46:14 #10R FILE-SYSTEM#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "FILE-SYSTEM"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; IP-TCP; USER; FTP-ACCESS  " (defmethod (ftp-host-unit :real-login) (login-p uname-host) (lock-host-unit (self) (cond (login-p (do ((need-password? nil t)) (nil) (multiple-value-bind (username password) (fs:determine-user-id-and-password uname-host host need-password?) (when (ftp:cmd-user username password) (setq ftp:*user* nil) ;Don't leave these visible in host unit (setq ftp:*pass* nil) (setq ftp:*acct* nil) (return)) (when need-password? ;; The password we used must have been wrong, so forget ;; it and force the system to prompt for a new one. (forget-password username host))) ;; Since this password is wrong, flush it (unless catch-login-problems-p (send self :ftp-error "trying to login" nil)))) ((send self :open-control-connection-p) (setq working-directory nil) (ftp:cmd-close))))) ))