[comp.bugs.4bsd] FTP truncates file

timk@omepd (Tim Knox) (11/23/87)

Subject: ftp drops last part of file
Index:	/sys/netinet/??? 4.3BSD (Mt. Xinu/NFS)

Description:
	When getting a file with ftp, the last part of the file is
	sometimes lost.  The problem is intermittent; sometimes the
	transfer works properly and other times ftp truncates the file.
	Ftpd always thinks it has sent the correct number of bytes, but
	the local ftp doesn't receive them.  In ascii mode the number of
	bytes lost is variable, while in image mode the number of bytes
	lost is always 512.

	The systems involved are a Vax 780 running Mt. Xinu 4.3BSD/NFS
	and a Vax 8600 running Mt. Xinu 4.3BSD/NFS.  We have installed
	the patch to tcp_output.c (version 7.2.1.1) that we thought would
	solve our problem, but it didn't.

	Here are the versions of the files we have in /sys/netinet:

		/sys/netinet/if_ether.c
			if_ether.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/in.c
			in.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/in_pcb.c
			in_pcb.c	3.5	86/05/14	mt Xinu	*/
			in_pcb.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/in_proto.c
			in_proto.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/ip_icmp.c
			ip_icmp.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/ip_input.c
			ip_input.c	7.6.1.2 (Berkeley) 9/14/87
		/sys/netinet/ip_output.c
			ip_output.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/raw_ip.c
			raw_ip.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/tcp_debug.c
			tcp_debug.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/tcp_input.c
			tcp_input.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/tcp_output.c
			tcp_output.c	7.2.1.1 (Berkeley) 3/28/87
		/sys/netinet/tcp_subr.c
			tcp_subr.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/tcp_timer.c
			tcp_timer.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/tcp_usrreq.c
			tcp_usrreq.c	7.1 (Berkeley) 6/5/86
		/sys/netinet/udp_usrreq.c
			udp_usrreq.c	7.1 (Berkeley) 6/5/86

Repeat-By:
    Script started on Mon Nov 23 10:43:33 1987

    <omepd 1> % ftp mipon2
    Connected to mipon2.intel.com.
    220 mipon2 FTP server (Version 4.109 Mon Nov 23 09:43:03 PST 1987) ready.
    331 Password required for timk.
    230 User timk logged in.
    ftp> ls -l
    200 PORT command successful.
    150 Opening data connection for /bin/ls (220.255.1.9,1774) (0 bytes).
    <  several files omitted >
*   -rw-r--r--  1 timk        96751 Nov 23 10:24 termcap
    226 Transfer complete.
    2096 bytes received in 0.6 seconds (3.4 Kbytes/s)

    ftp> get termcap
    200 PORT command successful.
    150 Opening data connection for termcap (220.255.1.9,1775) (96751 bytes).
    226 Transfer complete.
*   98304 bytes received in 3.1 seconds (31 Kbytes/s)
    ftp> ^Z
    Stopped

    <omepd 2> % ls -l termcap
*   -rw-r--r--  1 timk        96751 Nov 23 10:42 termcap

    ftp> get termcap
    200 PORT command successful.
    150 Opening data connection for termcap (220.255.1.9,1776) (96751 bytes).
    226 Transfer complete.
*   96256 bytes received in 7.1 seconds (13 Kbytes/s)

    ftp> ^Z
    Stopped

    <omepd 2> % ls -l termcap
*   -rw-r--r--  1 timk        94223 Nov 23 10:44 termcap

    script done on Mon Nov 23 10:4 a f?

 pe