Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - dcn702.d12
There are no other files named dcn702.d12 in the archive.
                 EDIT DESCRIPTIONS FOR TOPS-10-DCN-V702                         
                             EDIT 12221  FOR DECNET
DECnet free core is exhausted after several days of uptime.
When a job who was using DECnet logs out, no one ever  frees
up the core taken by that job's SJB block.  DECnet free core
fills up with these blocks after a while.
In routine JOBKL in  COMCON,  call  new  routine  SCULGO  in
SCMUUO.   SCULGO  waits  until all of the job's DECnet links
are gone, then calls FRESJB to free the memory taken by  the
job's SJB.
                             EDIT 12277  FOR DECNET
IME stopcode in DECnet Session Control layer.
Routine GETSTR in SCMUUO always checks for a maximum  string
length  of  39 bytes, even though the "User Data" string can
only be 16 bytes long.  If a user supplies a  string  longer
than  16  bytes,  other  data in the monitor is overwritten,
resulting in the IME.
Add another entry point to GETSTR to enable  the  caller  to
specify  the  maximum  string length.  Use this entry with a
length of 16 when getting the "User Data" string.
                             EDIT 12278  FOR DECNET
DCN stopcode SCMAAE when a  user  supplies  a  bad  argument
block to the NSP.  UUO.
DECnet module SCMUUO is supposed to address-check all  parts
of  the  user's argument block before executing the internal
NSP function which the user  specified.   Unfortunately,  if
the  user specifies a "Source Process Block" with a format 0
object type, then routine GETPRO knows it does not  have  to
check  the  user-supplied  task name, since it will never be
used.  That is true for most NSP.  functions, but the .NSFRI
("read  connect  information")  function uses the pointer to
the  task  name  as  the  address  of  a  place  to   return
information about a connecting task.  If the user supplies a
bad argument here, it  is  not  pre-checked,  and  when  the
monitor   tries   to  write  back  information,  it  gets  a
memory-reference failure, resulting in the DCN stopcode.
Check all of the parts of the user's argument block, even if
we "know" we do not need them.  We might need them later.
                             EDIT 12296  FOR DECNET
Any user can cause DCN(SCMAAE) stopcodes by sending long messages
to tasks which don't expect them.
If an application program does a NSP. .NSFDR function with the
NS.EOM and NS.WAI bits on, and a sending program sends more data
than requested, the receiver's buffer should be filled and remaining
data discarded until the EOM flag is seen in the received message.
The receiver's buffer count should be set equal to the negative
number of bytes discarded.  Unfortunately, if the message spans
more than one DECnet message, SCLINK will see a negative byte
count when receiving the second part of the message, and will
flag it as a %NEADE error, which will cause a DCN(SCMAAE)
stopcode later on.
If SCLINK sees a negative byte count in its internal argument
block, it should treat it normally, and just discard any incoming
bytes until it sees an EOM bit in an incoming message.  There is
no problem with a user supplying an initial negative byte count
when he does the .NSFDR function, as it will be rejected by
SCMUUO before actually starting a read operation.