ETFTP - Enhanced Trivial File Transfer Protocol. Adaptive transmission protocol for radio based data transmission. Copyright (C) 1997, 1998 Defence Research Establishment, Dept. of Comm. Systems, FOA 72, Sweden. Currently maintained by Christian Jönsson FOA 72 <chj@lin.foa.se> and Torbjörn Frostemark FOA 72 <torfr@lin.foa.se>. This file is part of ETFTP version 1.1.3 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file GPL. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ********************************************************************* *** Things that have been done between version 1.1.2 and 1.1.3. ********************************************************************* Fixed bug with integer divisions in timers; lDATAsleep, alarmTimeout. ********************************************************************* *** Things that have been done between version 1.1.1 and 1.1.2. ********************************************************************* Packet Size =========== Maximum block size is increased to 1900 bytes data. The buffer is 2048 bytes, so why not use more of it. But remember that packet sizes over 1500 bytes could cause fragmentation in your network (if your MTU is less). Baudrate ======== Maximum baudrate is increased to a maximum of 1000000 (1 Mbps). This makes a waiting period of zero seconds even with large packet size and burst size. For fast connection only. ********************************************************************* *** Things that have been done between version 1.1 and 1.1.1. ********************************************************************* Silly change in src/Makefile.in to install both an in.etftpd and an etftpd. ********************************************************************* *** Things that have been done between version 1.0 and 1.1. ********************************************************************* Timers ====== The big difference is that the timers have been trimmed since the protocol could be tested in its real environment. All timers are now measured in seconds, even the burst rate, which makes this version incompatible with previous ones. Therefore the running version of ETFTP is displayed when the status command is given in the interactive client mode. * Round Trip Timer The round trip timer has been implemented to measure the time between a packet sent and a packet received. This had to be implemented differently on server and client side. The client measures its round trip timer as the time between sending the OPEN packet and the receiving of the RESPONSE packet. This works in both PUT mode and GET mode. The server side is a little more troublesome, since the packet flow is different in the PUT mode and GET mode. In GET mode the round trip timer measures the time between sending the RESPONSE packet and the receiving of the CONTROL_GO packet. The PUT mode is the more tricky one since we have to wait between sending CONTROL_GO and the receiving of the first DATA packet. The DATA packet is usually much larger than the CONTROL_GO packet, and the time it takes to receive it is therefore subtracted from the round trip timer. * Radio delay The radio delay is added to every channel turnaround. Debug info ========== When the server is started with -v a file called debug.etftpd.XXXXXXXXX is created in /var/log/ where XXXXXXXXX is a time stamp.