Turn off port buffering, thereby making Microsoft Windows Internet
Explorer work.
This commit is contained in:
parent
57915d3e16
commit
d7a148a2a5
|
@ -292,7 +292,11 @@
|
||||||
(define (set-ftp-socket-options! socket)
|
(define (set-ftp-socket-options! socket)
|
||||||
;; If the client closes the connection, we won't lose when we try to
|
;; If the client closes the connection, we won't lose when we try to
|
||||||
;; close the socket by trying to flush the output buffer.
|
;; close the socket by trying to flush the output buffer.
|
||||||
(set-port-buffering (socket:outport socket) bufpol/none)
|
;; ... only it somehow exposes a bug in Windows Internet Explorer
|
||||||
|
;; so we leave it disabled.
|
||||||
|
;; (set-port-buffering (socket:outport socket) bufpol/none)
|
||||||
|
|
||||||
|
(set-socket-option socket level/socket tcp/no-delay #t)
|
||||||
|
|
||||||
(set-socket-option socket level/socket socket/oob-inline #t))
|
(set-socket-option socket level/socket socket/oob-inline #t))
|
||||||
|
|
||||||
|
@ -1200,7 +1204,8 @@
|
||||||
(define (write-final-reply line)
|
(define (write-final-reply line)
|
||||||
(format (session-control-output-port) "~D ~A" (session-reply-code) line)
|
(format (session-control-output-port) "~D ~A" (session-reply-code) line)
|
||||||
(log (syslog-level debug) "Reply: ~D ~A~%" (session-reply-code) line)
|
(log (syslog-level debug) "Reply: ~D ~A~%" (session-reply-code) line)
|
||||||
(write-crlf (session-control-output-port)))
|
(write-crlf (session-control-output-port))
|
||||||
|
(force-output (session-control-output-port)))
|
||||||
|
|
||||||
(define (write-nonfinal-reply line)
|
(define (write-nonfinal-reply line)
|
||||||
(format (session-control-output-port) "~D-~A" (session-reply-code) line)
|
(format (session-control-output-port) "~D-~A" (session-reply-code) line)
|
||||||
|
@ -1218,7 +1223,7 @@
|
||||||
|
|
||||||
; Version
|
; Version
|
||||||
|
|
||||||
(define *ftpd-version* "$Revision: 1.1 $")
|
(define *ftpd-version* "$Revision: 1.2 $")
|
||||||
|
|
||||||
(define (copy-port->port-binary input-port output-port)
|
(define (copy-port->port-binary input-port output-port)
|
||||||
(let ((buffer (make-string *window-size*)))
|
(let ((buffer (make-string *window-size*)))
|
||||||
|
|
Loading…
Reference in New Issue