There are 27 other files named mxver.mac in the archive. Click here to see a list.
;.BEGINR Autopatch history file for MX
;This software is furnished under a license and may only be used
; or copied in accordance with the terms of such license.
;Copyright (C) 1979,1980,1981,1982 by Digital Equipment Corporation
; 1983,1984,1985,1986 Maynard, Massachusetts, USA
; 1988,1989,1990 ALL RIGHTS RESERVED
SUBTTL Global edit history for MX
;.# Next line will be updated automatically
.EDIT==^D366 ;[RBW] 14-NOV-89
DEFINE VRSTR(CS,VR,MN,EL) <
IFE CS, <IFE MN, <ASCIZ /VR'('EL')/>
IFN MN, <ASCIZ /VR'.'MN'('EL')/>>
IFN CS, <IFE MN, <ASCIZ /VR'('EL')-'CS/>
IFN MN, <ASCIZ /VR'.'MN'('EL')-'CS/>>>
CUSTVR==3 ;CUSTOMER VERSION
DECVER==1 ;DEC VERSION
DECMVR==1 ;DEC MINOR VERSION
.JBVER: EXP MXVER
COPYRIGHT (C) 1985 BY
Digital Equipment Corporation
All Rights Reserved
! FACILITY: Decmail/MS Message eXchange
! MX controls mail message queing and delivery.
! ENVIRONMENT: TOPS-20 / TOPS-10
! AUTHOR: Richard B. Waddington, CREATION DATE: 2-APR-1985
! MODIFIED BY:
! Revision history follows
! Global Edit History for MX
1 by RBW on 5-Jun-85
Use byte count to calculate page count instead of sizef's pagecount.
2 by RBW on 26-Jun-85
Module: Minor changes to all, Significant changes to MXLCL.BLI and
Changes required so that MX will run under TOPS-10. Also, move call to
NMU$SCHED_PAUSE from LCLSPL to LOCAL_DELIVER. Pause before writing
each recipients MAIL.TXT file.
3 by RBW on 28-Jun-85
Module: MXERR,MXLCL -fix error handling bug in Local Mail
Changes to support DECNET servers and spoolers.
4 by RBW on 26-Jul-85
Module: MXERR,MXLCL,MXQMAN -minor bug fixes
Initial implementation of SMTP over DECNET.
5 by RBW on 29-Jul-85
Module: MXLCL, MXERR, NMUT20.MAC
Fix SYSTEM mail bug which caused MX crashes. MX crashes now restart
RUNMX: and create DMP:MX.DMP files (SYSTEM: if DMP: does not exist)
6 by RBW on 31-Jul-85
Turn on the crash recovery code.
7 by RBW on 5-Aug-85
Fix bugs found when MS started trying to send all mail through MX.
This MX is a useable multi-domain mailer...
10 by RBW on 9-Aug-85
The MX$MESSAGE_QUEUE_POST routine will now delete the message file if
there are no work requests to be posted. This is a hack until such
time that MS can get it's act together as per what to do with leftover
message files... MAILER used to delete them.
11 by RBW on 16-Aug-85
Checkpoint the message after each local recipient receives mail. This
solves the problem of large address lists getting duplicate messages if
the work request is defered for some reason (i.e. a recipient is over
12 by RBW on 20-Aug-85
Update ipcf header HDR_ID field correctly. Multiple page IPCF packets
13 by RBW on 21-Aug-85
Stop clobbering IPCF hdr_status field on errors, and assorted other
places. Make sure its initialized correctly on "continuation" packets.
14 by RBW on 21-Aug-85
Bump BASIC_MEMORY from 5000 to 15000. This may minimize recent
15 by RBW on 22-Aug-85
Correctly remove recipients from recipient list after local delivery.
This was causing at least some of the Memory Management/Illegal
16 by RBW on 22-Aug-85
Fix "off by one bug" introduced in previous edit...
17 by RBW on 26-Aug-85
Fix bugs in MX$COMMUNICATE routine which caused MX to crash when trying
to send back mail telling about errors.
20 by RBW on 28-Aug-85
Bump timeout value in READ_MESSAGE macro from 60 Seconds to 1800
Seconds so messages don't get doubled up by the SMTP protocol.
21 by RBW on 28-Aug-85
When the file open fails for a MAIL.TXT file, check to see if the error
is OPNX9 - Invalid Simultaneous Access. If so, defer the message.
22 by RBW on 28-Aug-85
Add VRSTR macro to this module and define global symbol VERSTR which is
an ASCIZ string containing our version number.
23 by RBW on 28-Aug-85
Modify MX$COMMUNICATE routine to include MX's version number in
messages that get mailed from POSTMASTER to SENDER.
24 by RBW on 29-Aug-85
Only checkpoint the message after each work-request as opposed to
checkpointing after every recipient.
25 by RBW on 29-Aug-85
Fix length bug in TOPS20 get_name routine which caused illegal
character in filename failures on MAIL.TXT.1
26 by RBW on 30-Aug-85
Add NW$ERR and S2$ERR to error table for MAIL-11.
27 by RBW on 4-Sep-85
Turn off CF%NUD bit on last call to CHFDB jsys in the CLOSE_FILE
routine. This will ensure that EOF gets broadcast to other systems in
a CFS cluster.
30 by RBW on 10-Sep-85
Added error logging. MX now creates a log file MX:MX.LOG. Also added
code to ChecKPoint this file periodically if necessary.
31 by RBW on 10-Sep-85
Change the log routine to do a write to the error log. Call the log
routine for every error processed through the error processor or the
error condition handler.
32 by RBW on 11-Sep-85
Change the $TRACE macro to write to the log file rather than issue
33 by RBW on 11-Sep-85
Fix off by one bug in the MX$COMMUNICATE routine which caused MX to
tell MS that the message from POSTMASTER was longer than it really was.
34 by RBW on 12-Sep-85
Open the log file for append if the file exists.
35 by RBW on 12-Sep-85
Don't fail if there's no file to initialize the Local domain from. Use
the global NODAM...
36 by RBW on 12-Sep-85
Module: MXERR.REQ, MXLCL
Clean up error message LS$INN.
37 by RBW/JR on 13-Sep-85
Module: NETTAB.MAC, MXDCNT, created SENVAX & LISVAX
Add support for MAIL-11.
40 by RBW/SM on 17-Sep-85
Miscellaneous bug fixes to get MAIL-11 & SMTP to work together in the
41 by RBW on 18-Sep-85
Cosmetic changes to error strings so the log file looks better.
42 by RBW on 18-Sep-85
Clean up the "no message file" error message.
43 by RBW on 24-Sep-85
Module: NMUT20.R36, NMUNET
Correctly handle the case of a VAX sending an empty record during the
MAIL-11 protocol...This prevents the MAIL-11 listener from hanging when
an empty record is sent...
44 by RBW on 2-Oct-85
Fix off by one bug in LOG routine. This caused nulls to get written to
the log file after each message.
45 by RBW on 2-Oct-85
Add routines MX$COPY_FILE and MX$BUILD_REPAIR_SPEC. These are unused
at this time, but will be required for new support of MS's repair
46 by RBW on 2-Oct-85
Change the check for system mail. It is now done in
MX$VALIDATE_LOCAL_USER. It returns -1 if it is for SYSTEM. The local
server performs a privilege check. All other servers will fail on mail
to SYSTEM. This change allows PS:<SYSTEM> to be FILES-ONLY and still
be a valid user.
47 by RBW on 3-Oct-85
Clean up S2$ERR and NW$ERR for MAIL-11.
50 by RBW on 3-Oct-85
Remove recipients who received mail via decnet servers for REJECTed or
51 by RBW on 9-Oct-85
Change the way the MAIL-11 listener's and sender's handle rejected
recipients. It no longer involves aborting the link each time an
invalid recipient is encountered...
52 by RBW on 10-Oct-85
Fix envelope file parser which caused MX to trash the RNOD field of the
52-1 BY RBW ON 14-OCT-85
CHECK TO SEE IF FLAGS ARE BEING RETURNED IN LEFT HALF OF AC1 AFTER
GTJFN. IF SO, THIS COULD BE WHAT'S TRASHING DIRECTORY QUOTAS. (DELF
JSYS IN MX$DELETE_FILE)
53 by RBW on 16-Oct-85
Increase the number of MAIL-11 Listeners from 1 to 6.
54 by RBW on 19-Oct-85
Revisit edit 43. We weren't always detecting nullbytes correctly.
55 by RBW on 22-0ct-85
Put TRACE_ALWAYS macros to log messages coming and going.
56 by SM on 23-Oct-85
Fix off by one bug which caused NULs at the end of SMTP messages.
57 by RBW on 23-Oct-85
Place call to NMU$SCHED_PAUSE after the SOUTR in the WRITE_MESSAGE
macro, and after the SOUT in the WRITE_STRING macro. This will help
the IPCF listener give better response if MAIL-11 is sending long mail
60 by JR on 24-Oct-85
Fix various cases where LISVAX and SENVAX were doing the wrong xlation
from SMTP to MAIL-11 and vice versa. Also, stop removing quotes from
VAX personal names. Also, accomodate sender strings of the form
USERNAME, in addition to the standard USERNAME@NODE.
61 by JR on 24-Oct-85
Stop stripping quotes, and converting underscores to spaces. Thats
what we get for trying to do what VMAILR does...
62 by RBW on 25-Oct-85
Fix several bugs in the destination string parser. In particular, MX
will now correctly parse quoted strings, usernames with no @NODE at the
end, as well as @N1:USER@N2 and @N1,@N2,@NN:USER@NP1. Quoted strings
are allowed anywhere a username may go.
63 by JR on 28-Oct-85
Fix off-by-one bug in edit 61 which caused REPLY'ing on a VAX to win a
64 by RBW on 29-Oct-85
Add support for handling SUBJECT strings. In particular, add routine
GETSUB to MXDCNT, add record type 4 (rec_subj) in MXLCL.REQ, define
msg_subject_string in MXQMAN.REQ, copy the string from the IPCF packet
in MXLCL, and delete the string as part of cleanup in MXQMAN.
65 by JROSSELL on 29-Oct-85
Use new subject string code when sending to VAXEN. In no case should
we use "Mail from a TOPS node" as the subject.
66 by RBW on 29-Oct-85
Swap the ADJSP P,-3 and the JUMPLE T1,SFERR so that the JUMPLE comes
first. (ADRFAI:+11) This is because the code at SFERR: has its own
ADJSP! Consequently, the stack gets corrupted, and bizarre things
start to happen.
67 by RBW on 30-Oct-85
Make SCAN_PACKET more defensive about packets. It will now complain
about Invalid Header Types and Invalid Record Types. These 2 errors
were added to the error table in MXERR.REQ. In addition, I changed
MX$ERROR_HANDLER slightly. The severity code severe sets the message
to be canceled, but does not do a SETUNWIND.
70 by JR on 1-Nov-85
Fix various bugs in the listener. The major change is when someone on
a vax sends to N1::N2::N3::USER. Instead of turning that into the SMTP
routing address (@N1,@N2:USER@N3), we now just turn it into USER@N3.
MS cannot parse the routing address. Minor bugfixes in the sender:
Remove extraneous NULs from the "Deliver by TOPS Message Services"
message, and fix stack corruption problem.
71 by RBW on 4-Nov-85
Add call to CLSFIL during error paths. Somehow this got dropped during
the recent edits.
72 by JR on 12-Nov-85
Don't use the NODE% jsys to get the local node name. The local node
name is stored as a 7 bit asciz string at location NODNAM. (NODNAM is
in the MXQMAN module)
73 by RBW on 20-Nov-85
Add routine COPY_ASCIZ. Use this routine instead of COPY_STRING in
code called by SCAN%P. This makes SCAN%P much less sensitive to length
errors in its data packet.
74 by RBW on 20-Nov-85
Fix "dot" problem in call to MX$DATA_ADD_NODE if host file did not
exist for the local domain. (The "dot" needed to be removed...)
75 by RBW on 20-Nov-85
Change the unique file name from DSK:unique-name to MX:unique-name.
76 by RBW/JR on 20-Nov-85
Fix erroneous CONNECT_BLOCK_SIZE. It was set as either 40 or 50. It
should be 64.
77 by RBW on 20-Nov-85
Miscellaneous bug fixes relating to tops-10.
100 by RBW on 21-Nov-85
Perform a RLJFN after an abort close.
101 by RBW on 21-Nov-85
Change the way the MX$RECOVERY routine works. Now it builds a linked
list of filespecs. This was done because on TOPS-20, GNJFN breaks when
the file gets deleted. Other solutions resulted in complicated
102 by JR on 21-Nov-85
MX will no longer make any translations on address strings. The
translation table has been completely removed.
103 by RBW on 21-Nov-85
Back out some of the protocol level 3 support that got inadvertantly
included in this module.
104 by JR on 22-Nov-85
Put back the upper case conversion. VMS can't deal with the lowercase
usernames. This seems like a VMS bug to me... Under no circumstances
do we change any characters other than "a" - "z".
105 by RBW on 26-Nov-85
Enhance the file parser to deal with /INVALID switch, and routing
strings. The DB%VD8 (MX$DATA_VALIDATE) now returns 1/LH = address of
asciz routing string,, RH = domain id.
106 by RBW on 26-Nov-85
Call routine ROUTE_MESSAGE to put the routing string into the work
request block. This does not yet deal with multiple routing strings.
In addition, change NETTAB to use DECNET validation instead of FILE
validation. This means that at startup, DCN-HOSTS is read if it
exists, and other nodes are validated by the monitor.
107 by JR on 27-Nov-85
Fix bug in case conversion of routing strings which caused syntax
errors from VMS.
110 by RBW on 3-Dec-85
During DEFER processing, call MX$FILE_CLOSE if logfile has changed.
Set MXLOGF to 0. In LOG, if MXLOGF = 0 then do a MX$FILE_OPEN.
111 by RBW on 6-Dec-85
Store the date and time the node database gets initialized. During
DEFER processing, check each node file to see if it has changed. If
so, reinitialize the domain. Changes had to be made to the database
init routines so that this would work. The routine to return the
last-write-date of a file was put in MXLCL. We should probably move
all of the miscellaneous utility routines to their own module.
112 by RBW on 9-Dec-85
Clean up use of TTMSG. Make "New message-of-the-day available" message
appear for system mail. (TOPS-20 Only)
113 by RBW on 10-Dec-85
Change "New message of the day available" to "New SYSTEM mail
114 by RBW on 11-Dec-85
In PAR_WORK_REQUEST (part of RECOVERY processing) call PARSE_RCPT to
get the various pointers set up correctly. This prevents the bug that
caused No such user errors from recovered messages.
115 by RBW on 11-Dec-85
Removed the line of "="s that MX used to write at the end of each
116 by RBW on 11-Dec-85
Cleaned up the NOQuota message...
117 by RBW on 12-Dec-85
Rename the message file to be name.MX to indicate that MX has queued
the message. If there were errors, and REPAIR can be used to fix the
message, rename the message file to be name.RPR.
120 by RBW on 17-Dec-85
Fix change_ext to handle filenames with T20 subdirectories.
121 by JR on 7-Jan-86
Add dashes at the end of incoming MAIL-11 messages to be consistant
with messages originating from MS.
122 by RBW on 21-Jan-86
Change test after RCDIR jsys in GET_QUOTA routine. This fixes a very
rare case where the quota check does not correctly occur for system
mail. In particular, if POBOX:<SYSTEM> is FILES-ONLY, and some user is
over quota with mail queued for him, then mail for SYSTEM picks up his
quota, the quota check fails, and the SYSTEM mail would be queued
waiting for the quota problem to be resolved. The old test would not
perform the GTDAL jsys if the directory was FILES-ONLY.
123 by RBW on 21-Jan-86
Do a RLJFN if the OPENF fails. Also, call routine CLOSE_FILE if the
SIZEF fails (both in routine OPEN_FILE). This should prevent MX from
collecting JFNs on file open failures...
124 by RBW on 4-Feb-86
Modules: MXERR.REQ, MXLCL.REQ, MXQMAN.REQ, MXUFIL.REQ, MXDATA, MXERR,
MXLCL, MXQMAN, MXUFIL, NEWT10.B36, MXUT10.MAC
Moved many of the utility routines from MXQMAN and MXLCL to MXUFIL.
Rewrote much to the TOPS-10 specific code for the file_open routine,
ENQ/DEQ code, added code to MXUT10.MAC to create/delete default
search-lists, and rewrote the TOPS-10 side of APPEND_MAIL to
accommodate all this stuff. Also fixed a plethora of minor little bugs
as they came up. This edit is simply a merge of the last 3 weeks T10
125 by RBW on 10-Feb-86
Fixed envelope parser bug caused by bit 35 being lit.
126 by RBW on 10-Feb-86
Fixed error path for the file rename code. If a rename failure occurs,
MX will just go ahead and use the unrenamed files to deliver the mail.
127 by RBW on 10-Feb-86
Change the read message routine to handle randomly lost EOM bits. A
side affect is that we should now be able to handle infinite decnet
messages with multiple reads.
130 by RBW on 11-Feb-86
Module: SMTLIS, LISVAX, MXLCL
Change the call to SCAN%P so that SCAN%P knows that this is a decnet
listener. This prevents MAIL for SYSTEM from coming in over the net.
Also fix bug in MX$VALIDATE_LOCAL_USER.
131 by RBW on 11-Feb-86
Module: MXUFIL, MXLCL, MXERR
Fix the case of an empty message file causing MX to win an ILL. MEM.
REF. Return an error message to the sender.
132 by RBW on 13-Feb-86
Change "DCN-HOSTS.TXT" to "DNHOST.TXT" for TOPS-10 compatibility.
133 by RBW on 13-Feb-86
Module: MXQMAN, NETTAB, NMUT20.MAC
Change "MX:" to "UPS:" for TOPS-10 compatibility.
134 by SM/RBW on 13-Feb-86
Module: SMTLIS, SMTSEN
Change SMTP Listner/Sender to buffer data rather than send it line by
line. Also, the sender will now only change the state of a work
request once. This solves the SMTP multiple messages bug which was
caused by the link going away too quickly after the message was
delivered. The sender noted that the link went away and requeued the
already delivered message.
135 by CA/SM on 13-Feb-86
Module: SMTLIS, SMTSEN, NETT20.B36
Change the SMTP listener/sender to use a named object (MX-LISTENER,
MX-SENDER) instead of object 200.
136 by JR on 14-Feb-86
The VAX sender now tells the MAIL-11 listener at NODE that USER@NODE is
USER instead of NODE::USER. The VMS systems don't seem to care either
way, but NETMAI on TOPS10 sure does!
137 by RBW on 15-Feb-86
Module: MXERR.REQ, MXLCL, MXQMAN
Clean up some error strings, and add code to support the new repair
command. Mail from POSTMASTER now adds the message "You may use the
command "REPAIR nnnn" to repair this message", where nnnn are the
digits required by the REPAIR command to find MSnnnn.RPR.
140 by RBW on 17-Feb-86
Module: NETTAB.MAC, MXQMAN.REQ, MXDCNT
The number of SMTP/MAIL-11 listeners to start up is now determined in
NETTAB.MAC. This can be changed with out recompiling by poking NSMTP
for the number of SMTP listeners, and NVM11 for the number of MAIL-11
141 by CJA on 19-Feb-86
Module: NEWT10.B36, MXUFIL.REQ
Light the "new mail" bit when delivering Tops-10 Mail.
142 by CJA on 19-Feb-86
Return the node number of undefined nodes which send mail. Tops-10
ONLY. Tops-20 requires a monitor patch. Someday, perhaps...
143 by RBW on 21-Feb-86
Add privilege check. Stop program if it fails...
144 by CJA on 26-Feb-86
Module: MXUFIL, NEWT10.B36, MXUT10.MAC, MXUFIL.REQ
Perform file operations "ON BEHALF OF" the recipients PPN (Tops-10
145 by CJA on 26-Feb-86
Fix MX$FILE_LENGTH bug. This amounted to an almost total rewrite of
146 by RBW on 3-Mar-86
Make sure KLEANUP gets called. It wasn't if the user was over quota.
147 by RBW on 3-Mar-86
Put dashes at the end of the postmaster message. (CRLF too!)
150 by CJA on 7-Mar-86
Module: NMUIPC, MXLCL
Use a system pid for MX on TOPS-10.
151 by CJA on 7-Mar-86
Perform file operations "in behalf of" the recipient/sender's ppn.
Also fix file length routine errors.
152 by RBW on 10-Mar-86
Test for "creating logical link" errors during recipient confirmation.
153 by RBW on 10-Mar-86
By default, put the local node in the database even if it is omitted
from LCHOST.TXT. If they really don't want it there, they can include
it with the /INVALID switch applied...
154 by RBW on 11-Mar-86
Module: MXDATA, MXHOST, MXDCNT, MXQMAN.REQ, SENVAX
Implement the /STRIP switch.
155 by RBW/JR on 11-Mar-86
Quote the Sender's name if it contains "special" characters... "@" in
156 by RBW on 13-Mar-86 QAR 907001
In PARSE_RECIPIENT, if the username is in quotes ("foo"@bar), set the
username pointer past the leading quote and subtract 2 from the length
of the username. This fixes the case where MX validates the local user
as POBOX:<"FOO.BAR"> which always fails...
In MX$VALIDATE, ignore quotes. This insures network mail gets
157 by RBW on 13-Mar-86 QAR 907000,907006
Module: MXLCL, LISVAX, SENVAX
LISVAX and SENVAX now call SCAN%P with -1,,address-of-string in the UID
parameter. This causes the string to be displayed in the log file
rather than the random garbage the occasionally appears there.
160 by RBW on 20-Mar-86 QAR 907008
Module: NETTAB.MAC, MXLCL, MXDCNT
Implement settable retry timers for local mail and decnet mail.
161 by RBW on 02-Apr-86
Release the work_request_block in MX$REMOVE_REQUEST.
162 by RBW on 17-Apr-86 QAR 907002
Make MX$VALIDATE_LOCAL_USER step through the definition of POBOX:.
This allows POBOX: to be defined as a list of structures.
163 by RBW on 18-Apr-86 QAR 907036, 907038
Remove CHFDBs which update file's page count. This causes quota to not
get updated. A fix in the monitor is probably needed in the general
case... (Thank you PK!)
164 by RBW on 18-Apr-86 QAR 907037, 907040
Fix the error call for error SL$NNK (node is not known here). This was
the cause of run queue overflow dumps...
165 by RBW on 22-Apr-86 QAR 907039
Wait for UPS: if unavailable. <NOT NEEDED(?) FOR TOPS10>
166 by RBW on 23-Apr-86 QAR 910000
Fix PARSE_HOST_FILE so that if the file is not found, it doesn't crap
out. The OPEN_FILE routine on for TOPS20 needed some tweaking in this
regard. TOPS10 should be ok.
167 by RBW on 23-Apr-86
Don't double up quotes if incoming sender is already a quoted string.
170 by RBW on 28-Apr-86 QAR 910002
Fix call to KLEANUP. It should be called with the address of
CLEANUP_VECTOR instead of the address of the user's profile.
171 by RBW on 12-May-86 QAR 907048
Don't parse contents of quoted string. This allows sender strings to
look like "FOO::BAR::FRED"@SNAFU. This is needed for Message
172 by RBW on 20-May-86 QAR 907051
Initialize the variable NODE inside the loop in MX$PARSE_HOST_FILE.
This prevents blank lines and comments from causeing memory database
173 by RBW on 21-May-86 QAR 907062
Do an MTOPR to check to see if the user has refused system messages.
If so, don't do the TTMSG.
174 by RBW on 21-May-86 QAR 907046
Lower timeouts to a more realistic value of 3 minutes. Make this
settable in NETTAB.MAC.
175 by RBW on 22-May-86 QAR 910019
Fix recursive error path in OPEN_FILE. If the UPS: directory didn't
exist, this resulted in a stack overflow. Add check at startup and
halt MX if we are unable to create the log file. (TOPS-10 only)
176 by RBW on 22-May-86
Enhance the postmaster message. If the postmaster message is not going
to the local system, do not mention the repair command, and include the
text of the unsent message following the errors.
177 by RBW on 23-May-86 QAR 907070
Do a JFNS to get the actual structure in MX$CHANGE_EXT. Build the
destination file spec accordingly. This prevents rename failures if
POBOX: is defined as a search list.
200 by RBW on 27-May-86 QAR 910017
Remove the LS$IDS error for spaces inside a quoted string in PNAME.
201 by RBW on 27-May-86 QAR 910017
Add error codes to the text of the error messages.
202 by RBW on 28-May-86 QAR 910006
Add limited support for ACTDAE forwarding address. As of this edit, MX
will autoforward to local usernames if they are defined in the profile.
MX will not forward to remote systems, PPNs, or quoted strings. Some
of these restrictions may be removed at a later date if time and
funding permit. (TOPS-10 only!)
203 by RBW on 29-May-86 QAR 907071
Do not restart MX if the system is already down.
204 by RBW on 2-Jun-86 QAR 907018,907066
Fix various bugs in the processing of host files. Among others, detect
loops in routing strings. If an error occurs, it gets logged, and the
line is ignored. Also, there was a bug where routing strings of the
form: NODE,FOO::NODE:: worked, but NODE,FOO::BAR:: would fail. Paths
containing more than 2 nodes now work correctly also...
205 by RBW on 3-Jun-86 QAR (Various about the contents of the log file)
First pass at making the log file less verbose.
206 by RBW on 3-Jun-86 QAR
MX will now return the node number of unknown nodes. This requires
monitor patch <>. If you receive mail from an unknown node, it used to
look like <USER@>. Now it will look like <USER@nn.nnn> where nn.nnn is
207 by RBW on 6-Jun-86
Module: Most (if not all)
Rename all the NMU modules to be MXN modules to avoid name conflicts
so we can ship on the update tape. This edit makes no functional
210 by RBW on 9-Jun-86
During Envelope file parsing, only check for valid local users when the
work request is for a local node. This gets extraneous MG$NSU errors
out of the log file.
211 by RBW on 9-Jun-86 CLOCK TAPE FOR TOPS20
At initialization, change the first write to the log file from
%string(%o'014',... to %char(%o'014',... This gets rid of the 121 that
appears in the first line of the log file and replaces it with
212 by RBW on 10-Jun-86
Module: MXNT20.R36, MXNNET.B36, NETTAB.MAC
Change the dntimo value from 3 to 5 minutes. For network reads, use
2 x dntimo. This is a more reasonable value for MAIL-11 where 3
minutes is much too short to type in a message.
213 by RBW on 16-Jun-86
FINDNM was incorectly handling quoted strings. This ultimately caused
MX to crash. This may be the fix for one or more of the TOPS20 MX
crashes. I'll update this comment when I know for sure...
214 by RBW on 16-Jun-86 CLOCK TAPE FOR TOPS10
Fix MX$ROUTE_MESSAGE which also parsed quoted strings.
215 by RBW on 18-Jun-86
Fix ERFBM error path which failed to release the channel causing GETLOK
to fail on the next time around...
216 by RBW on 2-Jul-86
In MX$CHANGE_EXT, use the correct byte pointer in the CH$COPY. We were
using the byte pointer from the POBOX: string rather than the one from
the JFNS% jsys. (TOPS20 only)
217 by RBW on 3-Jul-86
Remove the "SEARCH MONSYM" from these modules. Remove various JSYS
calls in LISVAX and SENVAX. All these modules are common code between
TOPS10 and TOPS20, and having JSYS calls in TOPS10 programs makes us
look very sloppy!
220 by RBW on 3-Jul-86
Module: MXQMAN,MXUT10 SDC Tape Version for TOPS-10 and TOPS-20
Add routine SETPRO to set the default protection for UPS: files.
NOTICE: Starting with the next edit, edit numbers will be in decimal. We are
starting the autopatch process with edit 300 (decimal).
;.EDIT 300 Rename *.T10 and their TOPS-20 counterparts. Change reference
;; to MXSTYP.REQ.
; S: MXNLIB
;.EDIT 301 Don't let MX overwrite .ENV and .MSG files
; S: MXQMAN
;.EDIT 302 Fix major spaces-in-username bugs in LISVAX.MAC
; S: LISVAX
;.EDIT 303 Fix various "spaces in username" bugs for TOPS-10
; S: MXLCL,MXLCL,SENVAX
;.EDIT 304 Change "Mailed To:" header to "Mailed-To:" to be in conformance
;; with RFC-822.
; S: LISVAX
;.EDIT 305 Don't queue a work request which has no recipients. Force it to
;; the cleanup task so that the memory is properly deallocated.
; S: MXQMAN
;.EDIT 306 Fix edit 303 so that it works correctly on TOPS-20. Calculate
;; the length of the username after the $$DIRST, and do the
;; translation for that length only. Add "." to the list of
;; special characters.
; S: MXLCL
;.EDIT 307 Do not allow invalid users to send mail. Log the attempt in the
;; log file. This fixes an MX crash on TOPS-10. It also fixes
;; MAIL.TXT file damage which would occur because the byte count
;; got smashed for the message from the random PPN.
; S: MXLCL
;.EDIT 308 Fix infinite loop of LS$IHT messages that occur if INFO is
;; restarted. MX now detects if a packet is from INFO and rebinds
;; its PID name. This change does not affect TOPS-10...
; S: MXNIPC,MXLCL
;.EDIT 309 Fix crash caused by off-by-one bug on strings of the form
; S: MXDCNT
;.EDIT 310 Up TOPS-10 IPCF quotas and fix compilation error introduced on
;; TOPS-10 in edit 308.
; S: MXLCL,MXNIPC
;.EDIT 313 Do not place IPCF messages into absolute location 10000.
;; Instead place at the page boundary in buffer MSGBUF.
; S: ARMAIL
;.EDIT 314 Make MX work without DECnet for both TOPS-10 and TOPS-20.
; S: MXQMAN,MXLCL,MXQMAN,MXERR,MXUFIL
;.EDIT 315 Fix edit 314. Replace bad test in PARSE_RCPT.
; S: MXLCL
;.EDIT 318 Various changes to logfile format, (pass 1)
;.EDIT 319 Add id field to $ERROR calls in MXLCL.BLI. Clean-up
;; APPEND_MAIL a little.
;.EDIT 320 Call NMU$TABLE_DELETE to delete the ACTIVE_MESAGE_TABLE
;; entry in MX$RELEASE_MESSAGE.
;.EDIT 321 Make sure that recipient string always ends up in
;; postmaster messages.
;.EDIT 322 Rename the logfile to UPS:yymmdd.LOG daily
;.EDIT 323 Add the "unique id"
;.EDIT 324 Only emit the overquota log message once for each recipient
;; (per message)
;.EDIT 325 TOPS-10 changes to make 318-324 work on TOPS-10. Fix bug
;; where we were using the new id instead of the old one in
;.EDIT 326 First pass at MX subfork functionality for TOPS-20. Create
;; new modules SUBDCN.MAC, MXFORK.B36, and MXFORK.R36. Note
;; that the code is in, but isn't executed. That comes later.
;.EDIT 327 First pass at turning on the MX subfork functionality.
;.EDIT 328 Shake out the bugs. Make it perform a bit better.
;.EDIT 329 **PERFORMANCE** Use new GETAB to get job numbers on TOPS-20
;.EDIT 330 Slight change to IPCF packet format.
;.EDIT 331 Fix minor Parsing bug in MXHOST.
;.EDIT 332 If subfork times-out, we don't clean up the link. This is a
;; no-no. Call NMU$NETWORK_ABORT if OPEN_FOR_CONNECTION fails.
;.EDIT 333 Delete logfiles older than LGDAYS old. LGDAYS is a
;; location defined in NETTAB.MAC which by default is 30 days.
;; Make MX$FILE_DELETE return $TRUE if delete succeeds, false
;.EDIT 334 Fix edit 332. NMU$NETWORK_ABORT releases the LINK_INFO_BLOCK.
;; We don't need to do it a second time. That's a no-no.
;.EDIT 335 In OPEN_FOR_CONNECTION, always copy the link's JFN before
;; exiting the macro.
;.EDIT 336 Add routines MX$WAIT_FOR_POBOX and MX$UPDATE_POBOX_STATUS
;; (MX%WFP and MX%PBS respectivly). Call MX$WAIT_FOR_POBOX
;; just prior to calling MX$RECOVERY in
;.EDIT 337 Call MX$UPDATE_POBOX_STATUS from MX$VALIDATE_LOCAL_USER if
;; we can't find a directory on POBOX: Call it from the DEFER
;; task if .POBSTS indicates that one or more disks are off
;.EDIT 338 Add $MOVSLJ macro to MXUFIL.R36. Invoke it in the
;; TRANSFER_BYTES macro. In MX$FILE_READ and MX$FILE_WRITE,
;; after the TRANSFER_BYTES macro, check location GLERR and
;; return an error if GLERR is non-zero. This should prevent
;; MX from crashing if we have disk problems...
;.EDIT 339 Make SENVAX display more meaningful error messages. Add
;; new routine ELOG to MXERR for this purpose. Fix case where
;; subforks time out. READ_LINK_STATUS and update the
;; CONNECT_BLOCK, so a meaningful error is returned in all
;; cases. Add new error codes to MXERR.R36
;.EDIT 340 Make LISVAX not need to be tweaked by hand in order to run
;; under TOPS-10. This means that inorder to compile LISVAX
;; for TOPS-20, you need file T20.MAC, and the command COMPILE
;; T20+LISVAX. Otherwise, you get TOPS-10.
;.EDIT 341 Change the error text for .DCX38 error to read "No response
;; from destination, process aborted".
;.EDIT 342 Add routine UDTNUM and call it for TOPS-10. This is the
;; equivalent of the ODCNV jsys in routine GETDATE. Now every
;; runs correctly under both TOPS-10 and TOPS-20.
; S:MXUT10.MAC, MXQMAN
;.EDIT 343 LS$INN error does not include the message id.
;.EDIT 344 Add error code NW$RCF. This isn't really an error, but
;; it's the easiest way to get the message "Received connect
;; from node FOO" into the log file.
;.EDIT 345 Enable for Data interrupts as well as connect interrupts.
;; Some disconnect conditions generate data interrupts.
;.EDIT 346 Turn off the DECnet interrupts (channel 1) in the subfork
;; if the parent thinks it timed out. Clear the interrupt
;; system (CIS% JSYS) prior to enabling DECnet interrupts in
;.EDIT 347 Add appropriate copyright notice to SUBDCN.MAC and
;.EDIT 348 Update copyright notice, and make LISVAX.MAC conform to
;; TOPS-20 coding standards (well, mostly, anyway...)
;.EDIT 349 Update copyright notice, and make SENVAX.MAC conform to
;; TOPS-20 coding standards (well, mostly, anyway...)
;.EDIT 350 Update all copyright notices.
;; S:All of them
;.EDIT 351 Call MX$FORK_RUN from MX$FORK_CREATE to re-initialize the
;; subfork if the subfork already exists. This should prevent
;; the sender fork from going off into the weeds after a
;; legitimate fork timeout.
;.EDIT 352 CH$LEN default is a max of 200 characters. This causes a
;; crash if an ASCIZ string is longer than 200 characters.
;; This occurs occasionally in the SUBJECT: string of multiply
;; forwarded messages... For now, I've doubled the default to
;; 400 characters. A better solution may be needed.
;.EDIT 353 Minor changes to MXFORK, SUBDCN, and MXNT20.R36 to make
;; them conform to the spec.
;.EDIT 354 Fix path through ER_PRC (MX$ERROR_PROCESSOR) which failed
;; to release memory for the error string.
;.EDIT 355 Adjust the stack properly after call to UN%READ fails.
;; This bug was introduced by edit 349. Crufty code strikes
;.EDIT 356 Cleanup the stop-code handler. This makes diagnosing
;; problems like the one in edit 355 easier.
;.EDIT 357 More stop-code work.
;.EDIT 358 Make MX display something reasonable when a message file
;; gets deleted.
;.EDIT 359 More stop-code work for TOPS-10.
;.EDIT 360 MS-DOS' mail-11 implementation sends NODE::RECIPIENT
;; instead of RECIPIENT. The code that handles this didn't
;; work. It used the wrong AC, trashed another, and in
;; general, just never worked. It must never have been
;; executed in about 3 years of general use.
;.EDIT 361 Be defensive about what VMS places in personal name
;; strings. In particular, don't allow quotes (") in the
;; personal name. Be a nice guy. Convert them to
;; apostrophies (').
;.EDIT 362 Don't use CH$LEN in MX$RELEASE_ASCIZ. If a string is
;; longer than a certain maximum, the maximum is returned
;; rather than the actual string length. This causes memory
;; management grief.
;.EDIT 363 Fix error handling in the TOPS-10 routine MX$FILE_SIZE.
;; It wasn't releasing channels properly.
;.EDIT 364 MX maintains a cache of node names seen. When it trys to
;; expand that table, we crash because we release the memory
;; twice. In routine SEARCH_DOMAIN, make sure that the
;; domain's node table address get's updated after calling
;; MX$DATA_ADD_NODE. The table address can change if the
;; table is expanded.
;.EDIT 365 Explicitly enable JP.ADM on TOPS-10 since the monitor now
;; checks for this correctly. Set bit AF.PRV when doing the
;; QUEUE. UUO.
;.EDIT 366 Fix the $ERROR call after MX tries to open MAIL.TXT for
;; TOPS-10. It wasn't reporting the status value properly for
;; the secondary error message.
;.EDIT 366-1 Add Forwarding support from TOPS-20's 355-4, modified to
;; use REACT's mail forwarding string instead of MAIL.FORWARD.
;; This probably doesn't work yet but many of the bugs have
;; been shaken out on TOPS-20.
;.EDIT 366-2 Amazing, almost everything worked in previous edit. Remove
;; two lines from GETMAI: so that strings in the form of
;; "FOO::BAR::FUNKY-USER"@MRGATE work.
;.EDIT 366-3 I obviously spoke too soon. Clear QUERSP buffer before getting
;; the user's profile. This insures there is no garbage left over
;; from the previous user's forwarding sAlso fix fencepost
;; error in TOPS-10 specific code in GETFWD.