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