V 1.1 7 December 1987 Add delay after "TRANSMIT" to allow all the data to be send before the port is closed. Change timeout in port open routine to control-C trap so a line can be opened while it is not ready, and the command can eventually be aborted in a clean way. This has the side effect that a port can always be set with 'set line', even if it's not ready. Add 'purgeline' before sending a packet, so that eventual old input will be ignored. This prohibits the sending of the same packet twice. Check if sending a file from the server over a remote line. A send delay is not neccessary when this happens. Don't stop the server if a file transfer is aborted from the other side. Add check if in single user mode when a server 'bye' command is received. If the system is in multi user mode, the process will be logged out. If this should be done in single user mode, the system will be stopped !! A normal exit will be done in that case. Check if send or receive enabled in packet send/receive routines. Only update statistics counters if so. ------------------------------------------------------------------------------ V 1.2 24 Februari 1988 Check for existance of '/bin/baud'. If this utility is unavailable, don't issue an error message when opening the communication port. If an attempt is made to set the baudrate, issue a warning that this is impossible. This is done for people who want to set the baudrate manually. They can place the 'baud' utility in '/usr/bin', so they can set it by hand. Also don't call the baud utility when a command line option for connect, send or receive is given without an 'b' option. Call 'baud' only when a 'set baudrate' command is given, and the first time when the communication line is used (unless a 'set baudrate' command has been given before). Check if a file was open after returning to the main command loop. If this was not the case, the call to 'fclose' corrupted low memory, thereby causing strange effects when using two shared text kermits at the same time. Add long packet support. This can be activated by setting the packet length to a value > 94. If the remote system does not support this, a length of 94 will be used. An extra option is provided: 'set auto_recover on/off' This enables/disables kermit to automatically shorten the packet size on a receive error until a low limit (80 bytes) is reached. This will only be used if the long packet length has been successfully negotiated. Leave the terminal port open after the first use. This is done to prevent the dropping of DTR at the close of the port. The port is now only closed in the following cases: 1. After a 'set line' command. 2. After a 'connect' command which specifies a line. 3. At kermit's exit. A modem won't hangup in this way after a 'connect' followed by a data transfer command. Extra command line options are available: 'x' will let kermit startup in server mode, 'u' selects a specific startup command file. Add a display of parameters selected after negotiating with the other kermit. The items shown are: - packet length - timeout value - block check type - end of line character - padding character - number of pad characters - control quote character - repeat quote character - eight bit quote character Correct bug if a server kermit had another blockcheck type than the default selected, and the first file requested at the server did not exist. The server would then send an error packet with an invalid blockcheck type. Correct bug in server. If a 'bye' command was received, the acknowledge got lost due to the server process being killed before the acknowledge had been send out. Modified mechanism of creating new filename. If filename warning was enabled, and there were 10 or more files ending with a digit in the current directory, then the program would enter a loop. The terminal emulator has been changed in such a way that the character following the escape character will be send to the host if it is an invalid character for escape processing. Add a display of the transfer parameters which are used after negotiation with the other kermit. Check for the entering of a ctrl-X or ctrl-Z while transfer is in progress was done only after the timeout had expired. It will now be checked every second, no matter how long the timeout has been set. Correct bug in the sending of padding characters. If the padding count was greater than one, the characters after the first character could contain garbage. Add panic escape while transfer is active: type a control '\', and kermit will abort and return to the shell. Modify duplicate filname check/new filename creation. Sometimes an invalid filespec could be generated. ------------------------------------------------------------------------------ V 1.3 23 August 1988 Modify duplicate filname check/new filename creation. Sometimes an invalid filespec could be generated. Remove purging of input line after a packet has been send. It might eat the acknowledge of data on a fast line. Check in connect for write of a received 0xff to the file. Fputc will return this value, which would stop logging. Continue for now. Add text highlighting and cursor on/off switching. Correct 'F' packet behaviour when compression is used. Use compression in these packets as well. Add check for device type files. Ignore them on send. Add check if new port is specified in 'connect' command. Close old port if so, otherwise the old port would still be used. Add check in screen routines that if 'termcap' can be read successfully, and 'pc' (position cursor) is not defined, no screen handling will be done. Add 'free' command to get the number of bytes available on any disk. Add attribute packets. This enables the kermit to negotiate with each other about files type, file size, and to set the original protection and creation date. If attribute packets are selected then it is possible to mix binary and ascii files in one command. Restricted the extended packet size to 2048 due to memory shortage. ------------------------------------------------------------------------------ V 1.4 3 Januari 1989 Add 'BREAK' command in connect. Close files after fork but before 'exec' to support task. Because the line to the terminal was propagated to the support task, this line would not be closed (= DTR off) when the port was closed in the main task. Make 'set configuration' work after a line was used. It had no effect until the line was closed by another 'set line' command. Flush the directory read function to close the currently open directory file on an abort. After every error another file stayed open. Reset the TABcounter in the output buffer processing after the file specification was processed. The first encountered tab in a file could otherwise be misaligned. Correct packet length error if extended packet length was used. This change causes kermit to refuse to talk to older UniFLEX kermit's if extended packet length is used. This change was necessary to keep up to the standards. Correct default packet length if remote kermit can handle extended length, but we don't want it. Correct bugs which made it impossible to send or receive binary files with checksum type 2 or 3 enabled. Re-designed help files for enormous speed improvement. Corrected several help file errors. Removed 'd' (debug) command line option. Suppressed screen output (except for error messages) if kermit was called with command line parameters. This enables kermit to run in the backgroud. Increased maximum number of command line parameters from 20 to 100. ------------------------------------------------------------------------------ V 1.5 13 August 1989 Corrected bug if support task (/bin/kermit_support) could not be found. A nice error message should be reported, but instead a 'Pipe.' signal was received. Make support task a shared text task. Add 'o' option to set the serial interface line to force RTS and to ignore DCD. Add search for initialization file in common directory (/usr/kermit.ini). This file will be searched for if a search for kermit.ini in the current directory was unsuccessfull. Remove restriction for only 100 command line parameters. The algorithm to check if a file was binary or ascii has been revised to get make it more reliable.