These are the updates for the RT-11 XB, XM, ZB, and ZM monitors. V02.40 15-Jun-2008 PORTIN.C Updated makesocket() socket scanning to start socket closing on orphaned sockets after suitable timeout periods. CLIUTL.C Fixed code in listen() which would cause an inifinite loop if the socket state change to SLISTEN was not detected. Added error checking for listen() startup failure. RHTTP.C, RPOP3.C, RAUTH.C, RGOPH.C, RSMTP.C, RLPD.C RCNCT.C, RPCNCT.C, RFTP.C, RTLNTA.C, and RPTLNA.C Scan for end of line and terminate line fixed for possible line buffer overflow. Added error checking for listen() startup failure and to detect socket corruption. FTPB.C, FTPL.C, and PMON.C Added error checking for listen() startup failure. TELNET.C and CNCT.C Updated various common constructs of the type a->b located throughout the programs to use a common value. Removed program wide global values from function argument lists. JOBMON.MAC Corrected the system call to the TSX 'job status' emt. EQ.MAC Updated the EQ device driver interrupt processing to be more consistant with the EU device driver. DFAULT.H, LCLSKT.C, GBLSKT.C, and SKTSKT.C Reduced maximum number of TCPIP 'sockets' to 16. TSX-Plus Observations: When configuring the NGR parameter in TSGEN.MAC (The total number of 'shared' global regions used by all jobs) the minimum value must be set to the sum of the number of time share lines plus the total number of subprocess windows plus the number of TCPIP sockets plus one. This is required even though the subprocess windows are not shared. When configuring the TBLDEF parameters in TSGEN.MAC, e.g. with TBLDEF 2.,8.,10.,1. V02.39 15-Jan-2008 RFTP.C Because the SIZE command always reports file sizes as multiples of 512 bytes, transfers of ASCII files may become problematic if the FTP client compares the transferred file size to the SIZE command file size as they are in general NOT the same. Thus the default has been changed to report the SIZE command as NOT implemented. The -f option has been added to enable the SIZE command if required. V02.38 26-Mar-2007 MAILER.C Increased the maximum line length from 128 to 512 characters. Various header lines were exceeding 180 characters causeing malformed headers when truncated to 128 characters. V02.37 1-Feb-2007 RFTP.C Updated RFTP.C for RT-11 to not specify any files as logical disks. The RT-11 version does not support the change directory (cd) command into logical disk files. TSXUTL.C Fixed the change directory (cd) string parsing to ignore superfluous NULL subdirectorys, e.g.: cd dm5://xdsk.dsk/, cd dl3://, ... PASWRD.C Corrected the 'Access Directory' selection processing and display code. V02.36 15-Nov-2006 MAILER.C Corrected mailer scan and forwarding routines. MAILA.C, MAILB.C, and MMAIL.C Added code to 'complete' an email address when only a local username is given. V02.35 1-Oct-2006 MAILA.C, MAILB.C, MMAIL.C, MAILER, and RSMTP.C Corrected mail 'index' file processing which synchronizes the receiving and sending of mail messages. MAILER.C and PASWRD.C Added mail forwarding for local users. A user's mail may be forwarded to another local user account or to a remote computer. The MAILER service should now be activated by MAIL, MMAIL, RSMTP, and RPOP3. V02.34 1-Jan-2006 RFTP.C The command filespecs are now scanned to remove badly formed file paths created by browsers which assume only heirarchical file structures. RTLNTA.C, RTLNTB.C, RCNCT.C, RFTP.C, RHTTP.C, RLPD, RSMTP.C, RPOP3.C, RGOPH.C, and RAUTH.C The TCP/IP server programs have been updated to allow an alternate service port to be specified TSX-Plus Only:. The TCPIP.CFG file must specify a unique server command file for the alternate port option. e.g.: service=33,1,TCP:rtelnt.s33 # alternate port rtelnt.s33: ... run/single TCP:rtelnt -actlqpyz 0 2 1 33 PAS:paswrd.fil 15 600 RPTLNA.C, RPTLNB.C, RPCNCT.C, TELNET.C, CNCT.C, FTPA.C, MAILA.C, and PMON.C Various changes/corrections in help text, no changes in program code. V02.33 15-Jan-2004 EI.MAC, EU.MAC, and EQ.MAC The network device drivers have been rewritten to remove the internal device time-out code. This change means that the RT-11 monitors no longer are required to have the sysgen device time-out option. The device time-out code is now implemented through a device handler special function (spfun 212). The spfun 212 is an optional device handler function. To utilize this device time-out option the user program must include coding to determine when a time-out has occurred and call spfun 212 to initialize the network interface. [ The removal of the device time-out code simplifies the handler. The device handler no longer requires the .timio, .ctimio, or .sync processing. This also means that the time-out configuration is completely user programmable. ] NIV56.MAC, NCV56.MAC, NQV56.MAC, and NUV56.MAC Added the special function spfun 212 to the DEC network device drivers. This function adds device time-out to the NC, NQ, and NU handlers. The functionality is identical to that described for the EQ and EU drivers above. ENDRVR.MAC and SYSTEM.MAC Updated ENDRVR.MAC to support the Network Device Time-Out special function spfun 212. If the transmission of a packet does not complete or return an error within 4 seconds then an xmit time-out call (spfun 212, block = 1) initializes the network interface. Similarly, if no packets are recieved within 1 minute then a recv time-out call (spfun 212, block = 0) initializes the network interface. The spfun 212 calls update the driver time-out counters if the ethernet status block option (spfun 210) is included. SYSTEM.MAC was updated to include extra queue elements for the two added .mrkt/.cmkt timing channels. V02.32 1-Apr-2003 TCP.C: Updated ackcheck(), estabcon(), checkfin(), and the routines calling these functions. The function ackcheck() notifies the client program via an event that data has been ACKed. Redundant CONCLOSE event removed from checkfin(). The function estabcon() notifies the client program with the CONDATA event and now does not ACK the recieved data. The ACK will be generated when the data has been DEQUEUEd by the client program. SERVER.C and SRVUTL.C: Moved checking for output data with outqpsh() to ntsleep() (from SERVER.C to SRVUTL.C). TCP.C, EVTDEF.H, and DFAULT.H: A long standing 'synchronization' problem between the TCPIP server and the client programs has been found. No event was being sent from the server program to the clients when the outgoing data had been accepted by the remote host. A new event has been added to the CONCLASS: CONSENT. This new event has been added to the event definitions in EVTDEF.H. The function ackcheck() in TCP.C has been updated for the synchronization and repeated ACK checks. This correction has allowed the removal of all 'transfer delay' timimg code in modules FTPA.C, FTPB.C, FTPL.C, RFTP.C, RHTTP.C, and RGOPH.C. SRVUTL.C, CLIUTL.H, and PRODEF.H: Added the code to allow the last packet transferred by transq() to be immediately retransmitted (duplicated). This is the note in transq(): /* * This is really %#@&$*. * Most systems use a 'delayed ACK' when receiving * small packets. This may result in very low * transfer rates. Some systems will ACK on an * immediate duplicate. So here we send a duplicate * packet if enabled. */ This retransmit is only applicable to data packets not ACK packets or any other control packet. Updated the routines outqpsh() and outqoff(). FTPA.C, FTPB.C, FTPL.C, RFTP.C, RHTTP.C, and RGOPH.C: To significantly increase data transfer rates the fread(), fwrite(), and NULL removal routines have been replaced with MACRO routines. The function blkrd() reads multiple disk blocks directly into the read buffer. The function blkwt() writes data directly from the data buffer. The function blkstr() is a fast NULL removal routine replacing the previous 'for' loop. FTPA.C, FTPB.C, FTPPI.H, and FTPL.C: Added the command 'duplicate' to enable/disable the transmission of duplicate packets. RFTP.C, RHTTP.C, and RGOPH.C: Added the command line option '-w' to enable duplicate packet transmission. CLIUTL.C, FTPB.C, FTPL.C, and RFTP.C: Added code to copy the mseg, mwin, and mtu values from the 'control socket' to the 'data socket'. RFTP.C: Check for a repeated PORT command. Terminate connection on third identical PORT command. SCRNAC.C: Updated SKTMON Screen A to indicate if duplicate packet transmission is enabled/disabled. SCRNDI.C and SCRNPT.C: Updated display window to enumerate the individual TCP/IP flags. V_____.H: Restored the '#define DEBUGOPTION' in all the V_____.H header files. This allows individual programs to be compiled with debugging. The '#define DEBUGOPTION' in DFAULT.H remains to allow all programs to be compiled with debugging by changing just this one file. V02.31 1-Dec-2002 FTPL.C: Updated STOR and RETR functionality to include RT-11 Device Read and Write. (Required a change to the C I/O Library routine IOFOPA.MAC) Added check for file size specification before appending "[-1]" to write file specifications. TSXUTL.C: Added check for file size specification before appending "[-1]" to write file specifications. RTFILE.C: Various minor changes to rtparse(), rtwild(), and rtstring(). IOFOPA.MAC: Observations of RT-11 / TSX-Plus .csispc responses which in turn required a modification to the C-Library I/O routine to maintain compatability with all versions of RT-11 and TSX-Plus: Mode RT (V5.3) TSX-Plus ---- --------- -------- DY0: ok ok DY0:= error ok DY0:. ok ok DY0:.= error ok DY0:[-1] error ok DY0:[-1]= error ok DY0:A ok ok DY0:A= ok ok DY0:.E ok ok DY0:.E= error ok DY0:A. ok ok DY0:A.= ok ok DY0:A[-1] error ok DY0:A[-1]= ok ok DY0:A.[-1] error ok DY0:A.[-1]= ok ok DY0:.E[-1] error ok DY0:.E[-1]= error ok EU.MAC: Discovered that the difference between a DELUA and DEUNA network cards' interrupt response to running out of read-buffers would cause the DEUNA to enter an interrupt race condition in the handler. This problem would result in exceedingly slow transfers, a driver hang, or system crash. A minor driver change has corrected this problem. V02.30 25-Oct-2002 Slow file transfer problems caused by TCPIP server packet processing routines not updating the transfer flag skt->out.lasttime properly. Files updated: SERVER.C, SRVUTL.C, TCP.C, and DFAULT.H Changed port number sequence to a pseudo random value based on the current clock ticks. File PROTIN.C modified. SUSPND.MAC suspend/resume code was modified. Server programs RFTP.C, RHTTP.C, and RGOPH.C updated. Client programs FTPB.C and FTPL.C updated. The RPTLNT.C file was split into RPTLNA.C and RPTLNB.C because of the C compiler complaints of 'OUT-OF-SPACE'. Moved the '#define DEBUGOPTION' to VRSION.H from all the V_____.H header files. 4-July-2002 Fixed a possible problem in RPOP3.C [topline()] which could cause file truncation if mail file exceeds 32767 lines.
Last Updated: February 2011