steve@gec-mi-at.co.uk (Steve Lademann) (07/08/87)
Having spent the last couple of months upgrading two 11/750s to 4.3BSD, I have encountered a few minor bugs which I have fixes for. Here's one in ftp. Problem: When transmitting files to a remote system with a System V.0 machine equipped with an Ethernet and similar vintage Berkeley networking software, there is a problem with ftp which exhibits itself by occasionally losing the final block. This is due to a race condition within the System V.0 code. However, I haven't got the source for the System V end, so I have had to apply the fixes to the BSD end. Now, I know this isn't a sanitary way to fix problems, but I haven't got much choice! The fix below makes it work, empirically speaking, so if you're in a similar position and you are looking for a fix at *any* price, apply the following patches. If you know of a more sanitary means of solving the same problem, please let me know, bearing in mind that I have no access to the System V stuff (some machines have it burned in ROM!). Files affected are /usr/src/ucb/ftp/ftp.c and /usr/src/etc/ftpd/ftpd.c Fix: *** ftp.c.old Wed Jul 1 13:44:55 1987 --- ftp.c Wed Jul 8 15:53:14 1987 *************** *** 517,522 **** --- 517,528 ---- (void) gettimeofday(&stop, (struct timezone *)0); if (closefunc != NULL) (*closefunc)(fin); + /* + * Horrendous kludge to make it work to System V.0 - really + * must find out why this doesn't work steve@gec-mi-at.co.uk + */ + (void) fflush(dout); + sleep(2); (void) fclose(dout); (void) getreply(0); (void) signal(SIGINT, oldintr); *** ftpd.c.old Thu Apr 30 18:05:59 1987 --- ftpd.c Wed Jul 8 14:37:31 1987 *************** *** 307,312 **** --- 307,319 ---- else if (tmp == 0) { reply(226, "Transfer complete."); } + /* + * Next two lines are a horrendous kludge to make System V.0 TCP/IP from an + * IBM PC work - really ought to fix bug properly steve@gec-mi-at.co.uk + */ + (void) fflush(dout); + sleep(3); + (void) fclose(dout); data = -1; pdata = -1; |Steve Lademann |Phone: 44 727 59292 x326 | |Marconi Instruments Ltd|UUCP : ...mcvax!ukc!hrc63!miduet!steve | |St. Albans AL4 0JN |NRS : steve@uk.co.gec-mi-at | |Herts. UK | "disclaimers.all"