Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11k-bm_tops20_v7_0_tsu02_2_of_2 - t20src/mxver.mac
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	      ALL RIGHTS RESERVED

	TITLE	MXVER
	SUBTTL	Global edit history for MX

;.COMPONENT MX
;.VERSION 1

;.# Next line will be updated automatically
	.EDIT==^D364		;[RBW]    2-AUG-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==0			;CUSTOMER VERSION
DECVER==1			;DEC VERSION
DECMVR==1			;DEC MINOR VERSION

MXVER==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18).EDIT>

	LOC	137
.JBVER:	EXP	MXVER
	RELOC
COPYWR::ASCIZ "

 COPYRIGHT (C) 1985 BY
Digital Equipment Corporation
    All Rights Reserved

"
VERSTR::VRSTR \CUSTVR,\DECVER,\DECMVR,\.EDIT

	END
COMMENT	~

!++
! FACILITY: Decmail/MS Message eXchange
!
! ABSTRACT:
!	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
    Module: NEWT20.B36
	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
NEWT10.B36.
	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
	    MXQMAN
	    NETTAB.MAC
	Changes to support DECNET servers and spoolers.

4 by RBW on 26-Jul-85
    Module: MXERR,MXLCL,MXQMAN -minor bug fixes
    Created: MXDCNT,SMTSEN,SMTLIS
	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
    Module: MXQMAN
	Turn on the crash recovery code.

7 by RBW on 5-Aug-85
    Module: MXQMAN,MXLCL,MXERR
	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
    Module: MXQMAN
	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
    Module: MXLCL
	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
	quota) 

12 by RBW on 20-Aug-85
    Module: MXLCL
	Update ipcf header HDR_ID field correctly.  Multiple page IPCF packets
	fail otherwise...

13 by RBW on 21-Aug-85
    Module: MXLCL,MXERR
	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
    Module: MXINI.REQ
	Bump BASIC_MEMORY from 5000 to 15000.  This may minimize recent
	crashes.

15 by RBW on 22-Aug-85
    Module: MXLCL
	Correctly remove recipients from recipient list after local delivery.
	This was causing at least some of the Memory Management/Illegal
	Instruction Crashes...  

16 by RBW on 22-Aug-85
    Module: MXLCL
	Fix "off by one bug" introduced in previous edit...

17 by RBW on 26-Aug-85
    Module: MXQMAN
	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
    Module: NMUT20.R36
	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
    Module: MXLCL
	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
    Module: MXVER.MAC
	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
    Module: MXQMAN
	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
    Module: MXLCL
	Only checkpoint the message after each work-request as opposed to
	checkpointing after every recipient.

25 by RBW on 29-Aug-85
    Module: MXLCL
	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
    Module: MXERR.REQ
	Add NW$ERR and S2$ERR to error table for MAIL-11.

27 by RBW on 4-Sep-85
    Module: NEWT20.B36
	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
    Modules: MXUFIL,NEWT20,MXQMAN
	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
    Module: MXERR
	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
    Module: MXQMAN.REQ
	Change the $TRACE macro to write to the log file rather than issue
	TASK_INFOs. 

33 by RBW on 11-Sep-85
    Module: MXQMAN
	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
    Module: MXQMAN
	Open the log file for append if the file exists.

35 by RBW on 12-Sep-85
    Module: MXDATA
	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
    Module: SMTSEN.MAC
	Miscellaneous bug fixes to get MAIL-11 & SMTP to work together in the
	same domain.

41 by RBW on 18-Sep-85
    Module: MXQMAN,MXERR
	Cosmetic changes to error strings so the log file looks better.

42 by RBW on 18-Sep-85
    Module: MXLCL,MXERR.REQ
	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
    Module: MXERR
	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
	command. 

46 by RBW on 2-Oct-85
    Module: MXLCL
	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
    Module: MXERR.REQ
	Clean up S2$ERR and NW$ERR for MAIL-11.

50 by RBW on 3-Oct-85
    Module: MXDCNT
	Remove recipients who received mail via decnet servers for REJECTed or
	DEFERed requests.

51 by RBW on 9-Oct-85
    Module: LISVAX,SENVAX
	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
    Module: MXQMAN
	Fix envelope file parser which caused MX to trash the RNOD field of the
	envelope file.

52-1 BY RBW ON 14-OCT-85
    MODULE: MXQMAN
	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
    Module: MXDCNT
	Increase the number of MAIL-11 Listeners from 1 to 6.

54 by RBW on 19-Oct-85
    Module: NMUT20.R36
	Revisit edit 43.  We weren't always detecting nullbytes correctly.

55 by RBW on 22-0ct-85
    Module: MXQMAN
	Put TRACE_ALWAYS macros to log messages coming and going.

56 by SM on 23-Oct-85
    Module: SMTLIS.MAC
	Fix off by one bug which caused NULs at the end of SMTP messages.

57 by RBW on 23-Oct-85
    Module: NMUT20.R36
	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
	messages.

60 by JR on 24-Oct-85
    Module: LISVAX.MAC,SENVAX.MAC
	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
    Module: SENVAX.MAC
	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
    Module: MXLCL
	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
    Module: SENVAX.MAC
	Fix off-by-one bug in edit 61 which caused REPLY'ing on a VAX to win a
	SYNTAX ERROR.

64 by RBW on 29-Oct-85
    Module: MXDCNT,MXLCL,MXQMAN,MXQMAN.REQ,MXLCL.REQ
	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
    Module: SENVAX
	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
    Module: SENVAX
	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
    Module: MXLCL,MXERR,MXERR.REQ
	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
    Module: LISVAX.MAC,SENVAX.MAC
	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
    Module: LISVAX.MAC
	Add call to CLSFIL during error paths.  Somehow this got dropped during
	the recent edits.

72 by JR on 12-Nov-85
    Module: LISVAX.MAC
	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
    Module: MXLCL
	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
    Module: MXDATA
	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
    Module: MXQMAN
	Change the unique file name from DSK:unique-name to MX:unique-name.

76 by RBW/JR on 20-Nov-85
    Module: LISVAX,SENVAX,SMTSEN,SMTLIS
	Fix erroneous CONNECT_BLOCK_SIZE.  It was set as either 40 or 50.  It
	should be 64.

77 by RBW on 20-Nov-85
    Module: LISVAX
	Miscellaneous bug fixes relating to tops-10.

100 by RBW on 21-Nov-85
    Module: NEWT20.B36
	Perform a RLJFN after an abort close.

101 by RBW on 21-Nov-85
    Module: MXQMAN
	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
	conditional code.

102 by JR on 21-Nov-85
    Module: SENVAX.MAC
	MX will no longer make any translations on address strings.  The
	translation table has been completely removed.

103 by RBW on 21-Nov-85
    Module: SENVAX.MAC
	Back out some of the protocol level 3 support that got inadvertantly
	included in this module.

104 by JR on 22-Nov-85
    Module: SENVAX.MAC
	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
    Module: MXHOST,MXDATA,MXLCL,MXDCNT
	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
    Module: MXDCNT,NETTAB
	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
    Module: SENVAX
	Fix bug in case conversion of routing strings which caused syntax
	errors from VMS.

110 by RBW on 3-Dec-85
    Module: MXQMAN,MXERR
	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
    Module: MXQMAN,NETTAB,MXDATA,MXHOST,MXLCL,MXQMAN.REQ
	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
    Module: MXLCL
	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
    Module: MXLCL
	Change "New message of the day available" to "New SYSTEM mail
	available".

114 by RBW on 11-Dec-85
    Module: MXQMAN,MXLCL
	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
    Module: MXLCL
	Removed the line of "="s that MX used to write at the end of each
	delivered message.

116 by RBW on 11-Dec-85
    Module: MXLCL,MXERR
	Cleaned up the NOQuota message...

117 by RBW on 12-Dec-85
    Module: MXLCL,MXQMAN
	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
    Module: MXQMAN
	Fix change_ext to handle filenames with T20 subdirectories.

121 by JR on 7-Jan-86
    Module: LISVAX
	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
    Module: MXLCL
	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
    Module: NEWT20.B36
	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
	work.

125 by RBW on 10-Feb-86
    Module: MXQMAN
	Fixed envelope parser bug caused by bit 35 being lit.

126 by RBW on 10-Feb-86
    Module: MXQMAN
	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
    Module: NMUT20.R36
	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
    Module: NETTAB.MAC
	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
    Module: SENVAX
	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
	listeners.

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
    Module: NMUT10.R36
	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
    Module: MXQMAN
	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
	Only) 

145 by CJA on 26-Feb-86
    Module: MXUFIL
	Fix MX$FILE_LENGTH bug.  This amounted to an almost total rewrite of
	this routine.

146 by RBW on 3-Mar-86
    Module: MXLCL
	Make sure KLEANUP gets called.  It wasn't if the user was over quota.
	(Tops10 ONLY...)

147 by RBW on 3-Mar-86
    Module: MXQMAN
	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
    Module: MXUFIL,MXUFIL.REQ
	Perform file operations "in behalf of" the recipient/sender's ppn.
	Also fix file length routine errors.

152 by RBW on 10-Mar-86
    Module: SENVAX.MAC
	Test for "creating logical link" errors during recipient confirmation.

153 by RBW on 10-Mar-86
    Module: MXHOST,MXDATA
	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
    Module: LISVAX
	Quote the Sender's name if it contains "special" characters... "@" in
	particular.

156 by RBW on 13-Mar-86	QAR 907001
    Module: MXLCL
	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
	accepted. 

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
    Module: MXQMAN
	Release the work_request_block in MX$REMOVE_REQUEST.

162 by RBW on 17-Apr-86 QAR 907002
    Module: MXLCL,MXERR.REQ
	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
    Module: NEWT20.B36
	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
    Module: MXDCNT.BLI
	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
    Module: MXQMAN.BLI
	Wait for UPS: if unavailable.  <NOT NEEDED(?) FOR TOPS10>

166 by RBW on 23-Apr-86 QAR 910000
    Module: MXHOST,NEWT20
	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
    Module: LISVAX
	Don't double up quotes if incoming sender is already a quoted string.

170 by RBW on 28-Apr-86 QAR 910002
    Module: MXLCL
	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
    Module: LISVAX
	Don't parse contents of quoted string.  This allows sender strings to
	look like "FOO::BAR::FRED"@SNAFU.  This is needed for Message
	Router/MRGATE V2.

172 by RBW on 20-May-86 QAR 907051
    Module: MXHOST
	Initialize the variable NODE inside the loop in MX$PARSE_HOST_FILE.
	This prevents blank lines and comments from causeing memory database
	inconsistancy crashes.

173 by RBW on 21-May-86 QAR 907062
    Module: MXLCL
	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
    Module: NMUNET,NMUT20.R36,NETTAB.MAC
	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
    Module: MXQMAN,NEWT10
	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
    Module: MXQMAN
	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
    Module: MXQMAN
	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
    Module: MXLCL
	Remove the LS$IDS error for spaces inside a quoted string in PNAME.

201 by RBW on 27-May-86 QAR 910017
    Module: MXERR.REQ
	Add error codes to the text of the error messages.

202 by RBW on 28-May-86 QAR 910006
    Module: MXUT10.MAC
	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
    Module: NMUT20.MAC
	Do not restart MX if the system is already down.

204 by RBW on 2-Jun-86 QAR 907018,907066
    Module: MXHOST,MXDCNT,MXDATA,MXQMAN.REQ,MXERR.REQ
	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)
    Module: MXLCL,MXDATA,MXQMAN
	First pass at making the log file less verbose.

206 by RBW on 3-Jun-86 QAR 
    Module: NMUT20.R36
	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 <[email protected]> where nn.nnn is
	area.nodenumber.

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
	changes.

210 by RBW on 9-Jun-86
    Module: MXQMAN
	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
    Module: MXQMAN
	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
	<FormFeed><CR><LF>. 

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
    Module: SENVAX.MAC
	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
    Module: MXDCNT
	Fix MX$ROUTE_MESSAGE which also parsed quoted strings.

215 by RBW on 18-Jun-86
    Module: NEWT10.B36
	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
    Module: MXQMAN
	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
    Module: LISVAX,SENVAX,SMTSEN,SMTLIS
	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.
	(TOPS10 only)

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.
;		RBW,19-AUG-86,SPR:NONE
;		S: MXNLIB

;.EDIT	301	Don't let MX overwrite .ENV and .MSG files
;		RBW,20-AUG-86,SPR:NONE
;		S: MXQMAN

;.EDIT	302	Fix major spaces-in-username bugs in LISVAX.MAC
		RBW,20-AUG-86,SPR:21349
;		S: LISVAX

;.EDIT	303	Fix various "spaces in username" bugs for TOPS-10
;		RBW,21-Aug-86,SPR:35536
;		S: MXLCL,MXLCL,SENVAX

;.EDIT	304	Change "Mailed To:" header to "Mailed-To:" to be in conformance
;;		with RFC-822.
;		RBW,22-Aug-86,SPR:NONE
;		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.
;		RBW,26-Aug-86,SPR:21353
;		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.
;		RBW,28-Aug-86,SPR:NONE
;		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.
;		RBW,11-Sep-86,SPR:NONE
;		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...
;		RBW,30-Sep-86,SPR:21352
;		S: MXNIPC,MXLCL

;.EDIT	309	Fix crash caused by off-by-one bug on strings of the form
;;		NOD1:USER@NOD2
;		RBW,30-Sep-86,SPR:21254
;		S: MXDCNT

;.EDIT	310	Up TOPS-10 IPCF quotas and fix compilation error introduced on
;;		TOPS-10 in edit 308.
;		RBW,2-Oct-86,SPR:NONE
;		S: MXLCL,MXNIPC

;.ENDA	6-October-86
;.EDIT	313	Do not place IPCF messages into absolute location 10000.
;;		Instead place at the page boundary in buffer MSGBUF. 
;		JR,1-Mar-88,SPR:NONE
;		S: ARMAIL

;.EDIT	314	Make MX work without DECnet for both TOPS-10 and TOPS-20.
;		RBW,17-May-88,SPR:21402
;		S: MXQMAN,MXLCL,MXQMAN,MXERR,MXUFIL

;.EDIT	315	Fix edit 314. Replace bad test in PARSE_RCPT.
;		RBW,26-May-88,SPR:NONE
;		S: MXLCL

;.ENDV
;.VERSION 1.1
;.EDIT	318	Various changes to logfile format, (pass 1)
;		RBW,2-Sep-88,SPR:NONE
;		S:MXERR,MXQMAN,MXUFIL,MXLCL

;.EDIT	319	Add id field to $ERROR calls in MXLCL.BLI.  Clean-up
;;		APPEND_MAIL a little.
;		RBW,6-Sep-88,SPR:NONE
;		S:MXLCL

;.EDIT	320	Call NMU$TABLE_DELETE to delete the ACTIVE_MESAGE_TABLE
;;		entry in MX$RELEASE_MESSAGE.
;		RBW,6-Sep-88,SPR:NONE
;		S:MXQMAN

;.EDIT	321	Make sure that recipient string always ends up in
;;		postmaster messages.
;		RBW,6-Sep-88,SPR:NONE
;		S:MXERR.REQ,SENVAX,SMTSEN

;.EDIT	322	Rename the logfile to UPS:yymmdd.LOG daily
;		RBW,7-Sep-88,SPR:NONE
;		S:MXQMAN

;.EDIT	323	Add the "unique id"
;		RBW,8-Sep-88,SPR:NONE
;		S:MXQMAN,MXQMAN.REQ,MXLCL

;.EDIT	324	Only emit the overquota log message once for each recipient
;;		(per message)
;		RBW,8-Sep-88,SPR:21934
;		S:MXQMAN.REQ,MXLCL

;.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
;;		MX$ERROR_PROCESSOR.
;		RBW,14-Sep-88,SPR:NONE

;.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.
;		RBW,10-Oct-88,SPR:NONE

;.EDIT	327	First pass at turning on the MX subfork functionality.
;		RBW,10-Oct-88,SPR:NONE
;		S:MXQMAN,MXNT20.R36,MXFORK.R36,MXFORK.B36

;.EDIT	328	Shake out the bugs.  Make it perform a bit better.
;		RBW,27-Nov-88,SPR:NONE
;		S:MXQMAN,MXNSKD,SUBDCN,MXFORK,MXFORK.R36,MXNT20.R36

;.EDIT	329	**PERFORMANCE** Use new GETAB to get job numbers on TOPS-20
;		RBW,28-Nov-88,SPR:NONE
;		S:MXLCL

;.EDIT	330	Slight change to IPCF packet format.
;		RBW/DEE,28-Nov-88,SPR:NONE
;		S:MXLCL.R36

;.EDIT	331	Fix minor Parsing bug in MXHOST.
;		RBW,28-Nov-88,SPR:NONE
;		S: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.
;		RBW,30-Nov-88,SPR:NONE
;		S:MXNNET

;.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
;;		otherwise.
;		RBW,1-Dec-88,SPR:NONE
;		S:NETTAB,MXQMAN,MXUFIL

;.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.
;		RBW,1-Dec-88,SPR:NONE
;		S:MXNNET

;.EDIT  335     In OPEN_FOR_CONNECTION, always copy the link's JFN before 
;;              exiting the macro.  
;               RBW,2-Dec-88,SPR:NONE
;               S:SUBDCN

;.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
;;		MX$MESSAGE_QUEUE_INITIALIZE.
;		RBW,6-Dec-88,SPR:22235
;		S:MXQMAN

;.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
;;		line.
;		RBW,7-Dec-88,SPR:22235
;		S:MXQMAN,MXLCL

;.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...
;		RBW,6-Dec-88,SPR:22235
;		S:MXUFIL.R36,MXUFIL.B36

;.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
;		RBW,9-Dec-88,SPR:None
;		S:SENVAX,MXNNET,MXERR,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.
;		RBW,15-Dec-88,SPR:None
;		S:LISVAX.MAC,T20.MAC

;.EDIT	341	Change the error text for .DCX38 error to read "No response
;;		from destination, process aborted".
;		RBW,15-Dec-88,SPR:None
;		S:MXERR.R36

;.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.
;		RBW,17-Dec-88,SPR:None
;		S:MXUT10.MAC, MXQMAN

;.EDIT	343	LS$INN error does not include the message id.
;		RBW,19-Dec-88,SPR:None
;		S:MXLCL

;.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.
;		RBW,19-Dec-88,SPR:None
;		S:LISVAX,MXERR.R36

;.EDIT	345	Enable for Data interrupts as well as connect interrupts.
;;		Some disconnect conditions generate data interrupts.
;		RBW,21-Dec-88,SPR:None
;		S:SUBDCN

;.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
;;		SDOPEN:
;		RBW,29-Dec-88,SPR:None
;		S:SUBDCN,MXNT20.R36

;.EDIT	347	Add appropriate copyright notice to SUBDCN.MAC and
;;		MXFORK.B36.
;		RBW,29-Dec-88,SPR:None
;		S:SUBDCN.MAC,MXFORK.B36

;.EDIT	348	Update copyright notice, and make LISVAX.MAC conform to
;;		TOPS-20 coding standards (well, mostly, anyway...)
;		RBW,29-Dec-88,SPR:None
;		S:LISVAX.MAC

;.EDIT	349	Update copyright notice, and make SENVAX.MAC conform to
;;		TOPS-20 coding standards (well, mostly, anyway...)
;		RBW,29-Dec-88,SPR:None
;		S:SENVAX.MAC

;.EDIT	350	Update all copyright notices.
;		RBW,29-Dec-88,SPR:None
;;		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.
;		RBW,3-Jan-89,SPR:None
;		S:MXFORK

;.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.
;		RBW,4-Jan-89,SPR:None
;		S:MXNSTR.R36

;.EDIT	353	Minor changes to MXFORK, SUBDCN, and MXNT20.R36 to make
;;		them conform to the spec.
;		RBW,5-Jan-89,SPR:None
;		S:MXNSTR.R36

;.EDIT	354	Fix path through ER_PRC (MX$ERROR_PROCESSOR) which failed
;;		to release memory for the error string.
;		RBW,17-Jan-89,SPR:None
;		S:MXERR.B36

;.EDIT	355	Adjust the stack properly after call to UN%READ fails.
;;		This bug was introduced by edit 349.  Crufty code strikes
;;		again.
;		RBW,30-Jan-89,SPR:None
;		S:SENVAX.MAC

;.EDIT	356	Cleanup the stop-code handler.  This makes diagnosing
;;		problems like the one in edit 355 easier.
;		RBW,30-Jan-89,SPR:None
;		S:MXNT10.MAC,MXNT20.MAC,M10INT.B36,M20INT.B36,MXERR.B36

;.EDIT	357	More stop-code work.
;		RBW,30-Jan-89,SPR:None
;		S:MXDBUG,MXNCOM,MXNT20.R36,MXQMAN.R36,MXNSKD.B36

;.EDIT	358	Make MX display something reasonable when a message file
;;		gets deleted.
;		RBW,8-Feb-89,SPR:None
;		S:MXLCL,MXERR,MXDCNT

;.EDIT	359	More stop-code work for TOPS-10.
;		RBW,10-Feb-89,SPR:None
;		S:MXNT10.R36

;.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.
;		RBW,9-Mar-89,SPR:None
;		S:LISVAX.MAC

;.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 (').
;		RBW,28-Mar-89,SPR:None
;		S:LISVAX.MAC

;.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.
;		RBW,29-Mar-89,SPR:None
;		S:MXLCL.B36

;.EDIT	363	Fix error handling in the TOPS-10 routine MX$FILE_SIZE.
;;		It wasn't releasing channels properly.
;		RBW,26-Jun-89,SPR:None
;		S:MXUFIL.B36

;.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. 
;		RBW,2-Aug-89,SPR:None
;		S:MXDATA.B36
;.ENDR