Message Exchange Release Notes February, 2001 This file contains the release notes for Message Exchange V5.2. It describes any features, restrictions, changes, or additions made to MX in this release, and includes information that is not provided elsewhere in the MX manual set. Revision/Update Information: This is a revised manual. Operating System and Version: VMS V5.5 or later OpenVMS Alpha V6.2 or later Software Version: Message Exchange V5.2 MadGoat Software Santa Cruz, California ________________________ 25 February 2001 The information in this document is subject to change without notice and should not be construed as a commitment by MadGoat Software. MadGoat Software assumes no responsibility for any errors that may appear in this document. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means electronic, mechanical, magnetic, optical, chemical, or otherwise without the prior written permission of MadGoat Software. Use of this software and documentation is subject to the terms and conditions set forth in the License Agreement. The Licensed Materials are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS §252.227- 7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software-Restricted Rights at 48 CFR §52.227- 19, as applicable. MadGoat, Message Exchange, and MX are trademarks of MadGoat Software. The following are trademarks of Digital Equipment Corporation: DEC DECnet P.S.I. ULTRIX VAX VAXcluster VMS AXP VMScluster MultiNet and TCPware are registered trademarks of Process Software Corporation. LISTSERV is a registered trademark of L-Soft International. WIN/TCP and Pathway are registered trademarks of Attachmate, Inc. __________ Copyright ©2001 MadGoat Software. ALL RIGHTS RESERVED. _______________________________________________________ Contents _______________________________________________________ CHAPTER 1 INSTALLATION NOTES 1-1 _________________________________________________ 1.1 MX MUST BE SHUT DOWN 1-1 _________________________________________________ 1.2 NETLIB V2.3A 1-1 _______________________________________________________ CHAPTER 2 UPGRADE INFORMATION 2-1 _________________________________________________ 2.1 JNET SUPPORT DISCONTINUED 2-1 _________________________________________________ 2.2 UPGRADE RESTRICTION 2-1 _______________________________________________________ CHAPTER 3 NEW FEATURES AND CHANGES IN MX V5.2 3-1 _________________________________________________ 3.1 ROUTER CHANGES 3-1 _________________________________________________ 3.2 SMTP CHANGES 3-1 3.2.1 SMTP Holding Queues ___________ 3-1 3.2.2 Support for the SMTP AUTH Extension _____________________ 3-1 3.2.3 Multiple RBL_CHECK Domains ____ 3-2 3.2.4 Client Access Callout Interface _____________________ 3-2 iii Contents 3.2.5 Limit on Connections from Outside Hosts _________________ 3-3 3.2.6 MX_SMTP_LOCK_EXCLUSIONS Allows Wildcards _____________________ 3-3 3.2.7 Anti-Relay Guard Has Stronger Local Domain Checks ___________ 3-3 _________________________________________________ 3.3 MLF CHANGES 3-4 3.3.1 Message Size Limit ____________ 3-4 3.3.2 Anti-Junk Mail Settings _______ 3-4 3.3.3 MODIFY Command ________________ 3-4 _________________________________________________ 3.4 LOCAL DELIVERY AGENT CHANGES 3-4 3.4.1 New Settings __________________ 3-5 3.4.2 Improved Self-Forward Detection _____________________ 3-5 _________________________________________________ 3.5 CHARACTER SET CONVERSIONS 3-5 _________________________________________________ 3.6 OTHER MISCELLANEOUS CHANGES 3-6 _______________________________________________________ CHAPTER 4 NEW FEATURES AND CHANGES IN MX V5.1A 4-1 _________________________________________________ 4.1 DOCUMENTATION CHANGES 4-1 _________________________________________________ 4.2 FLQ_SHR CHANGES 4-1 _________________________________________________ 4.3 INSTALLATION KIT CHANGES 4-1 iv Contents _________________________________________________ 4.4 MCP CHANGES 4-2 _________________________________________________ 4.5 MX_LOCAL CHANGES 4-2 _________________________________________________ 4.6 MX_MAILSHR CHANGES 4-3 _________________________________________________ 4.7 MX_MAILSHR CHANGES 4-3 _________________________________________________ 4.8 MX_ROUTER CHANGES 4-4 _________________________________________________ 4.9 MX_SHR CHANGES 4-4 _________________________________________________ 4.10 MX_SMTP CHANGES 4-5 _________________________________________________ 4.11 MX_START CHANGES 4-6 _________________________________________________ 4.12 REJMAN CHANGES 4-6 _________________________________________________ 4.13 SMTP_SERVER CHANGES 4-7 _______________________________________________________ CHAPTER 5 NEW FEATURES AND CHANGES IN MX V5.1 5-1 _________________________________________________ 5.1 MAJOR MX_SHR CHANGE 5-1 _________________________________________________ 5.2 SUPPORT REMOVED FOR MULTINET MM USER AGENT 5-1 v Contents _________________________________________________ 5.3 VMS MAIL FOLDER DELIVERY 5-1 _________________________________________________ 5.4 HONORING DISKQUOTA ON LOCAL DELIVERY 5-2 _________________________________________________ 5.5 MESSAGE SIZE LIMITS 5-2 _________________________________________________ 5.6 SMTP HOLDING QUEUES AND ETRN SUPPORT 5-2 _________________________________________________ 5.7 DELIVERY STATUS NOTIFICATIONS 5-3 _________________________________________________ 5.8 USER SPECIFICATION OF FROM HEADER 5-3 _________________________________________________ 5.9 ACCOUNTING IMPROVEMENTS 5-4 _________________________________________________ 5.10 NEW JUNK MAIL PREVENTION FEATURES 5-4 5.10.1 Stronger Relay Prevention _____ 5-4 5.10.2 SMTP Server Realtime Blackhole List __________________________ 5-5 5.10.3 Heuristic Junk Mail Filters ___ 5-5 _________________________________________________ 5.11 OTHER MINOR CHANGES 5-5 vi Contents _______________________________________________________ CHAPTER 6 NEW FEATURES AND CHANGES IN MX V5.0 6-1 _________________________________________________ 6.1 INSTALLATION AND CONFIGURATION CHANGES 6-1 _________________________________________________ 6.2 LICENSE MANAGEMENT CHANGES 6-1 _________________________________________________ 6.3 DOCUMENTATION 6-1 _________________________________________________ 6.4 MCP ENHANCEMENTS 6-2 _________________________________________________ 6.5 MX MLF ENHANCEMENTS AND CHANGES 6-3 _________________________________________________ 6.6 MX SMTP DELIVERY AGENT ENHANCEMENTS 6-7 _________________________________________________ 6.7 MX SMTP SERVER ENHANCEMENTS 6-8 _________________________________________________ 6.8 MX LOCAL ENHANCEMENTS 6-9 _________________________________________________ 6.9 VMS MAIL INTERFACE ENHANCEMENTS 6-10 _________________________________________________ 6.10 MISCELLANEOUS ENHANCEMENTS 6-11 vii Contents _______________________________________________________ CHAPTER 7 KNOWN BUGS AND RESTRICTIONS 7-1 _________________________________________________ 7.1 X.25-SMTP BUG 7-1 _________________________________________________ 7.2 DECUS UUCP UUCP_MAILSHR BUG 7-1 _________________________________________________ 7.3 VMS MAIL BUGS 7-1 _________________________________________________ 7.4 VMS CALLABLE MAIL MEMORY LEAK AND MX LOCAL 7-2 _________________________________________________ 7.5 MXALIAS AND THE MX% "@" PATCH FOR VMS MAIL 7-2 _________________________________________________ 7.6 POSSIBLE FORWARDING PROBLEMS 7-2 _________________________________________________ 7.7 REMOTE FORWARDING PROBLEMS 7-3 _________________________________________________ 7.8 BYPASS NEEDED FOR UUCP DELIVERY 7-3 _______________________________________________________ CHAPTER 8 PROBLEM REPORTS 8-1 viii _______________________________________________________ 1 Installation Notes This chapter contains items of interest pertaining to the installation of MX. __________________________________________________________________ 1.1 MX Must Be Shut Down If you are upgrading to MX V5.2 from a previous version, all MX processes on the system or cluster must be shut down using the MCP SHUTDOWN command. Also, you should define the MX_SHUTDOWN logical (MX V4.0+) or deassign the MX_MAILSHR system logical to prevent users from sending mail via MX during the installation. __________________________________________________________________ 1.2 NETLIB V2.3A MadGoat Software's NETLIB V2.3A is included with MX V5.2. Release notes for NETLIB are provided in SYS$HELP:NETLIB023.RELEASE_NOTES when NETLIB support is installed with MX. Please note that the NETLIB package provided with MX includes run-time support only. If you use NETLIB for software development, you should obtain the full NETLIB kit from MadGoat and install it separately. If you already have NETLIB V2.3 or later installed on your system, you do not have to install the NETLIB run-time kit that comes with MX. 1-1 _______________________________________________________ 2 Upgrade Information This chapter contains information of interest to sites upgrading from previous versions of MX. __________________________________________________________________ 2.1 Jnet Support Discontinued The last version of MX to support Jnet as a message transport was V5.1A. Do not upgrade to MX V5.2 if you still need support for Jnet. __________________________________________________________________ 2.2 Upgrade Restriction MX V5.2 only supports upgrading MX installations of version V4.0 and later. If you are currently running a version of MX prior to V4.0, you must either install MX V5.2 in a new location, or upgrade to MX V4.x or V5.0 prior to installing MX V5.2 as an upgrade. 2-1 _______________________________________________________ 3 New Features and Changes in MX V5.2 This chapter notes the changes that were made in V5.2. __________________________________________________________________ 3.1 Router Changes When you have configured MX to run an FLQ Manager process to perform message queue cleanup, any Router processes that acquire queue cleanup functions because of startup ordering issues or a shutdown of the FLQ Manager process will now surrender queue cleanup functions back to the FLQ Manager once it starts up. __________________________________________________________________ 3.2 SMTP Changes The following changes have been made to MX's SMTP support. ___________________________ 3.2.1 SMTP Holding Queues The maximum number of SMTP holding queues has been increased from 8 to 32. ___________________________ 3.2.2 Support for the SMTP AUTH Extension The SMTP server now supports the SMTP Service Extension for Authentication, as specified in RFC 2554. This extension allows clients to authenticate to the server using the new AUTH protocol command. The SMTP server supports the CRAM-MD5 (RFC 2195), PLAIN (RFC 2222), and non-standard LOGIN authentication mechanisms. You enable support for this extension with 3-1 New Features and Changes in MX V5.2 the SET SMTP/AUTHENTICATION command in MCP. For PLAIN and LOGIN authentication, the SMTP server uses the VMS user authorization file for authenticating the client, although a callout mechanism is provided for a site- provided authentication module to replace the default SYSUAF-based authentication, if needed. For CRAM-MD5 authentication, a private authentication database is used; the CREATE USER_DATABASE, ADD USER, MODIFY USER, and REMOVE USER commands have been added to MCP to manage the authentication database. Messages coming from authenticated clients are treated identically to those coming from local clients on the INSIDE_NETWORK list, and are not subject to anti-relay and junk mail filtering. This allows "roaming" users to use the SMTP server when connected via an outside network. A sample authentication callout module is provided in the EXAMPLES saveset. ___________________________ 3.2.3 Multiple RBL_CHECK Domains The SMTP server can now be configured with multiple RBL domains using SET SMTP/RBL_CHECK. ___________________________ 3.2.4 Client Access Callout Interface A callout interface has been added to the SMTP server to provide access checks based on the connecting client's IP address; clients failing the access check are denied access to the service. See the Programmer's Guide for more information on this interface. 3-2 New Features and Changes in MX V5.2 ___________________________ 3.2.5 Limit on Connections from Outside Hosts If you have defined a set of INSIDE_NETWORK addresses, the SMTP server will limit the number of connections it accepts from "outside" hosts. By default, this limit is 75% of the maximum number of server threads that you have configured; you may override the default by defining the logical name MX_SMTP_SERVER_MAX_ OUTSIDE (system table, exec mode) with the number of threads you wish to use for the limit. This limit helps keep a number of server threads free for processing messages coming from local clients. ___________________________ 3.2.6 MX_SMTP_LOCK_EXCLUSIONS Allows Wildcards Equivalence strings for the logical name MX_SMTP_LOCK_ EXCLUSIONS are now permitted to contain wildcards. ___________________________ 3.2.7 Anti-Relay Guard Has Stronger Local Domain Checks In previous versions of MX, the anti-relay guard in the SMTP server would consider the host name in an address as being local if it matched the local system's parent domain, or if the local system and the host name being checked were shared the same domain part (such as "a.mycompany.com" and "b.mycompany.com"). This behaivor has been changed so that these matches are allowed only on the source (MAIL FROM) address. They are not performed on destination (RCPT TO) addresses. This change strengthens the anti-relay guard. When used with a properly configured INSIDE_NETWORK_ ADDRESS list, no legitimate relays to other hosts within your domain should be rejected. You may restore the previous behavior by explicitly defining your host's parent domain in the LOCAL_DOMAIN list (for the 3-3 New Features and Changes in MX V5.2 example above, you would define both "MYCOMPANY.COM" and "*.MYCOMPANY.COM" as local domains). __________________________________________________________________ 3.3 MLF Changes The following changes have been made to the mailing list processor. ___________________________ 3.3.1 Message Size Limit A new qualifier, /MAXIMUM_MESSAGE_SIZE, has been added to the DEFINE LIST and MODIFY LIST commands. This provides a way to limit the size (in Kbytes) of any messages posted to a list. Messages exceeding the specified size are rejected and returned to the sender. ___________________________ 3.3.2 Anti-Junk Mail Settings Mailing lists can now be configured to ignore suspected junk mail. See the description of the /IGNORE qualifier for the DEFINE LIST command in MCP for more information. ___________________________ 3.3.3 MODIFY Command A new command, MODIFY, has been added to the listname- request command processor. This allows the list owner (or system user) to change a subscriber's mailing list settings without having to remove and re-add the subscriber to the list. __________________________________________________________________ 3.4 Local Delivery Agent Changes This section describes changes made to the Local delivery agent. 3-4 New Features and Changes in MX V5.2 ___________________________ 3.4.1 New Settings The Local delivery agent now supports the following new settings: o SET LOCAL/[NO]LONG_LINES o SET LOCAL/DISABLE_EXQUOTA=FATAL o SET LOCAL/OMIT_RESENT_HEADERS These settings were previously configured through logical names. ___________________________ 3.4.2 Improved Self-Forward Detection The Local agent now detects when a user has SET FORWARD to himself/herself using an Internet-style address, and short-circuits that forwarding to prevent mail loops. __________________________________________________________________ 3.5 Character Set Conversions MX now supports multinational characters in VMS MAIL messages, personal names, and subject headers. Headers containing non-ASCII or non-printable characters are encoded and decoded using the MIME header-encoding mechanism specified in RFC2047. By default, MX assumes the local character set is ISO Latin 1 (ISO-8859-1), which is a widely used character set standard that is similar (but not identical) to the DEC Multinational Character Set (DEC MCS). If you are using DEC MCS and need to use characters that don't map identically in both character sets, you should define the logical name MX_LOCAL_CHARSET_DEC_ MCS to have MX convert characters between DEC MCS and ISO Latin 1: 3-5 New Features and Changes in MX V5.2 $ DEFINE/SYSTEM/EXEC MX_LOCAL_CHARSET_DEC_MCS any-value Note that not all characters can be converted between the two character sets. A callout mechanism is provided for installing support for other character sets. Sample code for this callout is provided with the Examples subset of the installation kit. __________________________________________________________________ 3.6 Other Miscellaneous Changes The following changes are also included in this version of MX: o When the MX configuration file is opened for reading, but is currently locked by another process, the open will be tried again (up to 12 times over three seconds) to accommodate configuration updates that may be occurring while an agent is attempting to load its configuration. o The QUEUE SHOW/FULL command and MAILQUEUE utilities could display a message's origin as "unknown", even though the origin could be displayed with the brief QUEUE SHOW listing. This has been corrected so that the two displays are now consistent. o Creation of new accounting log files with MCP RESET/ACCOUNTING is now serialized, eliminating the long-standing problem in which running multiple instances of an agent would cause multiple new accounting files to be created. o Delivery status notification messages now include the full text of the message being returned only if the length of the message is less than 64 KBytes, even if the DSN information in the original message specified that the full message should be returned. 3-6 New Features and Changes in MX V5.2 o A new qualifier, /AFTER, has been added to the MCP QUEUE READY command, to specify a date and time after which the entry being readied should be processed. o A /FINAL qualifier has also been added to the MCP QUEUE READY command, to specify that the next attempt should be the last for all recipients attached to the queue entry. o The QUEUE SHOW command now reports the number of distinct messages shown, in addition to the number of entries displayed. Entries displayed with the /FULL qualifier now show the actual size of the message text and the number of recipients, rather than the combined entry size; the other QUEUE SHOW displays label this combined size as "Entry Size" rather than just "Size". o A new command, QUEUE SELECT, has been added to MCP, to allow selection of queue entries based on various criteria. This selection list is used by the QUEUE CANCEL, HOLD, and READY commands when no entry numbers are specified on those commands. The QUEUE SHOW/SELECT command can be used to display the selected entries. o When SET LOCAL/CC_TO_POSTMASTER is enabled, only DSNs containing failure reports will be copied to the postmaster. In V5.1A, all DSNs were copied to the postmaster. o A new qualifier, /FORWARD_TO, has been added to the REJMAN command ADD REJECTION/HEADER, to specify an address to which the rejected message should be forwarded, instead of being refused by the SMTP server. o The SMTP server now logs the matching rule when rejecting (or forwarding) a message due to a /HEADER rejection rule. 3-7 New Features and Changes in MX V5.2 o Messages matching a rejection rule with an /ACCEPT qualifier now cause the SMTP server to stop any further anti-junk-mail checks on the message. o A new qualifier, /WAIT, has been added to the MCP SHUTDOWN command. Specifying /WAIT causes MCP to wait until the agent(s) being shut down have responded to the shutdown notification before continuing. o The default behavior of the MCP RESET command has been changed to reset agents cluster-wide. To affect agents running only on the local node, use the /NODE qualifier. o The debug log in the SMTP server's junk- mail detection module is now flushed to disk periodically. o The ADDRESS_REWRITER callout has been extended to allow for the inclusion of a routine to identify virtual local domains for SMTP server anti-relay checks. A sample virtual domain callout is provided in VIRTDOM.ZIP in the EXAMPLES saveset. 3-8 _______________________________________________________ 4 New Features and Changes in MX V5.1A This chapter notes the changes that were made in MX V5.1A. Any changes taken from ECO kits issued against MX V5.1 are noted in the change descriptions. __________________________________________________________________ 4.1 Documentation Changes The MX V5.1 documentation did not include information on new settings that limit the amount of disk space that the MX message queue consumes on disk. An explanation of these settings has been added to the installation guide. __________________________________________________________________ 4.2 FLQ_SHR Changes The following changes were made to FLQ_SHR: o Update the exipration date/time stamp when a queue entry is updated via FLQ_UPDATE. (MX V5.1 ECO 09) o Fix a potential problem in the FLQ_REMOVE routine that could have caused the queue header to be unlocked during a queue validation pass under certain circumstances. (MX V5.1 ECO 09) __________________________________________________________________ 4.3 Installation Kit Changes The following changes were made to the installation kit for MX: o The installation procedure assumed that the NETLIB_ SHRXFR image always resided in NETLIB_DIR: with a file type of EXE. The procedure has been changed to accept a system-wide logical name definition for 4-1 New Features and Changes in MX V5.1A NETLIB_SHRXFR, if present, and use that translation string. o When upgrading, the installation procedure would copy the current contents of MX_DIR:MX_LOGICALS.DAT to MX_DIR:MX_LOGICALS.OLD, update the .DAT file, and purge both of those files. The kit has been changed to eliminate the extra copy and simply retain older versions of MX_LOGICALS.DAT. __________________________________________________________________ 4.4 MCP Changes The following changes were made to MCP: o Eliminate the limit of 128 processes of a single type of agent in the MCP SHUTDOWN and MCP STATUS commands. (MX V5.1 ECO 07) o Fix the MAILQUEUE program so it knows about holding queues. Change both MAILQUEUE and MCP QUE SHOW/FULL to validate back-references before displaying subentries. (MX V5.1 ECO 09) o Fix the output from SHOW LOCAL/COMMAND, which was missing the leading slash on the DISABLE_EXQUOTA qualifier. __________________________________________________________________ 4.5 MX_LOCAL Changes The following changes were made to MX_LOCAL: o Improve the diskquota checks on local message delivery (when SET LOCAL/DISABLE_EXQUOTA is configured in MCP). Add logical name to control whether MX_LOCAL treats a diskquota-exceeded error as a fatal error: $ DEFINE/SYSTEM/EXEC MX_LOCAL_EXDISKQUOTA_FATAL anyvalue When this logical is defined, a diskquota error returned by VMS MAIL on a local delivery will cause the message to be returned to sender. By default, MX 4-2 New Features and Changes in MX V5.1A will attempt to try the delivery again (subject to the LOCAL agent retry settings configured in MCP). (MX V5.1 ECO 13) o Add logical name to control whether MX_LOCAL truncates lines longer than 255 characters. This is the default behavior, to provide compatibility with DECnet. If you do not use DECnet (or do not care if MX can deliver to DECnet addresses via VMS MAIL [SMTP-over-DECnet is not affected]), define the following logical name to increase the maximum allowed line length to 65,535 characters: $ DEFINE/SYSTEM MX_LOCAL_ALLOW_LONG_LINES anyvalue To restore the default behavior, DEASSIGN the logical name. (MX V5.1 ECO 3) __________________________________________________________________ 4.6 MX_MAILSHR Changes The following changes were made to MX_MAILSHR: o Fix a problem in maximum message size check in VMS MAIL interface. Report error back to user when message is too large to be entered into queue. (MX V5.1 ECO 02) o Fix a problem parsing delivery-status notification strings containing NOTIFY=NEVER. __________________________________________________________________ 4.7 MX_MAILSHR Changes The following changes were made to MX_MLF: o Added a new variable, "{digest-address}," for specifying a mailing list's digest address in mailing list notification templates. o Add support in the mailing list and file server command processor for handling messages sent in MIME quoted-printable format with ISO-8859-1 encoding. 4-3 New Features and Changes in MX V5.1A o Fixed a problem where the REMOVE command parsed more qualifiers than it actually allowed. The only qualifiers permitted on REMOVE commands are /[NO]CASE and /[NO]NOTIFY. o Updated the MXserver/ListServ compatibility interface so that the ADD and REMOVE commands accept all of the qualifiers permitted by the "-Request" interface for mailing lists. __________________________________________________________________ 4.8 MX_ROUTER Changes The following changes were made to MX_ROUTER: o Add some armor plating to the FLQ_CLEANUP routine to protect against some "should never happen" cases in the in-progress message cleanup code path. (MX V5.1 ECO 06) o Change the queue expiration code (in both MX_FLQ_MGR and MX_ROUTER) to expire sub-entries before expiring a main entry, and to make sure that all sub-entries should be expired, in addition to the main entry. (MX V5.1 ECO 09) __________________________________________________________________ 4.9 MX_SHR Changes The following changes were made to MX_SHR: o Fix a problem in the SMTP address parser that would cause addresses to be quoted unnecessarily. (MX V5.1 ECO 11) o Fix a problem in the LOCAL_USER routine that would cause the Local delivery agent to either ignore deliveries to DECnet addresses, or exit with an access violation error. (MX V5.1 ECO 04) 4-4 New Features and Changes in MX V5.1A o Add support for a logical name to disable the sending of a "message delayed" DSN on the first failed attempt to send a message. $ DEFINE/SYSTEM/EXEC MX_DSN_DISABLE_INITIAL_DELAY_NOTIFICATIONS TRUE The value of the logical name is unimportant; the extension will be ignored if the logical name exists. By defining this logical name, DELAY notifications will only be sent if the message remains in the queue for re-try for over 12 hours (or whatever interval is defined by MX_DSN_ NOTIFICATION_INTERVAL). (MX V5.1 ECO 04) __________________________________________________________________ 4.10 MX_SMTP Changes The following changes were made to MX_SMTP: o Fix lockfile checks to ensure that on the final attempt to deliver a message to a recipient, lock processing is skipped and the actual delivery status is provided in the DSN failure report. (MX V5.1 ECO 12) o Fix channel leak in SMTP agent by ensuring that the MSG_TEXT file is closed under all error conditions. (MX V5.1 ECO 10) o Fix the alarm that is generated when the agent cannot open an SMTP_INFO file for an entry, so the entry number is correctly displayed in the message. (MX V5.1 ECO 10) o Add support for a new logical name to disable the use of the SMTP PIPELINING extension: $ DEFINE/SYSTEM/EXEC MX_SMTP_IGNORE_PIPELINING TRUE The value of the logical name is unimportant; the extension will be ignored if the logical name exists. (MX V5.1 ECO 05) 4-5 New Features and Changes in MX V5.1A o Add support for a new logical name to limit the number of recipients listed in a single SMTP session, to deal with poorly configured mailers that return permanent errors when their recipient limit is reached. The new logical name is $ DEFINE/SYSTEM/EXEC MX_SMTP_MAX_RECIPIENTS_PER_SESSION n where "n" is a decimal number. If "n" is zero, or the logical name does not exist, there is no limit. (MX V5.1 ECO 01) __________________________________________________________________ 4.11 MX_START Changes The MX_START.COM procedure, which starts up the MX agent processes, has been changed to increase the process quotas given to the agent processes. __________________________________________________________________ 4.12 REJMAN Changes The following changes were made to the REJMAN utility: o REJMAN accepted SHOW EXCLUSIONS as a valid command, even though that command does not actually display any output. The command table in REJMAN has been fixed to eliminate this non-existent command. o The help text for SET HEURISTICS/REJECT_ACTION incorrectly specified that the FORWARD reject action did not require an address to be specified for forwarding. The help text has been fixed to note that an address is required. 4-6 New Features and Changes in MX V5.1A __________________________________________________________________ 4.13 SMTP_SERVER Changes The following changes were made to SMTP_SERVER: o Added a SITE callout for the SMTP server to provide additional "inside network" checks beyond those configured through the DEFINE INSIDE_NETWORK command in MCP. The file LOCAL_NET_CHECK.C in this EXAMPLES subset of the installation kit provides a sample implementation of this callout, with instructions on building and installing the appropriate shareable image. (MX V5.1 ECO 14) o Fix the SMTP servers' command parser so it allows for relaxed address parsing (for DECnet addresses without quotation marks and usernames without domain names) on extended SMTP commands that include parameters. (MX V5.1 ECO 08, affects SMTP servers for all network transports) o Fix the AOL address length check; AOL addresses may now contain up to 16 characters. o Tighten the heuristic check for MSGID_CONTAINS_TO so it is skipped when the To: header is null. o Removed the check for X-Originating-IP: headers when the sender of a message has a HOTMAIL.COM address; there were too many cases where a legitimate message might not contain that header. o Added support for a logical name for configuring the initial "220" banner sent by the SMTP server. The logical name definition is one of the following: $ DEFINE/SYSTEM/EXEC MX_SMTP_SERVER_BANNER "banner-text" $ DEFINE/SYSTEM/EXEC MX_SMTP_SERVER_BANNER "@file-spec" In the first definition, the text in the translation string is added to the SMTP server's banner message. In the second form of the definition, file-spec should point to a file that contains the banner message. This second form allows for banner messages that span multiple lines. 4-7 New Features and Changes in MX V5.1A o Disabled RBL checks for connections that come from "inside" hosts (as defined by the MCP DEFINE INSIDE_ NETWORK list, or through the new inside-network SITE callout). o Changed the text of the reply sent when a message fails due to the RBL checks, to include the RBL lookup domain name. o Fixed a problem internal to the SMTP server that could cause the server to exit randomly with an ACCVIO on multiprocessor Alpha systems. 4-8 _______________________________________________________ 5 New Features and Changes in MX V5.1 This chapter notes the new features and changes that were added in MX V5.1. __________________________________________________________________ 5.1 Major MX_SHR Change The MX_SHR shareable library that ships with MX V5.1 and later has a new transfer vector that is incompatible with previous versions of MX. Any programs or shareable libraries that you have added to MX that make use of MX_SHR routines should be re-linked after upgrading from a version older than V5.1. __________________________________________________________________ 5.2 Support Removed for MultiNet MM User Agent The MultiNet MM program is no longer supported by MX. No checks for the presence for MM are made, and no messages will be delivered into MM mailbox files. __________________________________________________________________ 5.3 VMS MAIL Folder Delivery Delivery to VMS MAIL folders is now supported. By default, messages are delivered to the NEWMAIL folder in VMS MAIL. A non-default folder name may be specified by adding a plus sign "+" and the name of the folder to the username part of the address. Each user controls the folders they will accept delivery into by listing them in the file SYS$LOGIN:MX_FOLDERS.DAT. See the User's Guide for more information. 5-1 New Features and Changes in MX V5.1 __________________________________________________________________ 5.4 Honoring Diskquota on Local Delivery The MX Local delivery agent will honor users' diskquota settings when the SET LOCAL/DISABLE_EXQUOTA setting is used. __________________________________________________________________ 5.5 Message Size Limits MX now limits the sizes of messages it will accept into the message queue. You may configure a fixed upper limit the size of any message. You may also configure MX to keep a certain percentage of disk space free on the disk device that contains the message queue. Use MXCONFIG.COM (menu item 1) to configure these settings. By default, there is no fixed maximum message size, and MX refuses messages that would bring the amount of free space on the message queue disk below 10% of the total amount of disk space. To help support this feature, the SMTP and SMTP-over- DECnet servers have been enhanced to include support for the message size declaration extension described in Internet RFC 1870. The SMTP delivery agents for all network transports also support this extension. __________________________________________________________________ 5.6 SMTP Holding Queues and ETRN Support For sites that do not have permanent Internet connections, MX now supports up to eight "holding queue agents". Messages directed to a holding queue are kept on the system until you have manually started the holding queue agent to process them. The holding queue agent then delivers all held mail to the destination system via SMTP. 5-2 New Features and Changes in MX V5.1 The holding queue agents also support the ETRN SMTP extension (RFC 1985). Once all held messages (if any) are delivered, the holding queue agent sends an ETRN command to the destination system to have it start its delivery back to the local system. The SMTP server has also been enhanced to support ETRN, so MX can be used on mail hubs to support up to eight remote dial-in sites. See the Management Guide for more information on how to configure MX holding queues to support dial-in connections. __________________________________________________________________ 5.7 Delivery Status Notifications MX now supports the standard for delivery status notifications (DSNs) described in Internet RFCs 1891, 1892, 1893, and 1894. VMS MAIL users can request delivery status notifications for messages they send by defining the logical name MX_VMSMAIL_DSN_CONTROL. DSNs can be requested for sucessful, failed, and/or delayed deliveries. DSNs provide a standardized format for all delivery- related messages. All MX delivery agents have been upgraded to generate standard DSN reports instead of the error reports provided in earlier releases of MX. The DSN and ENHANCEDSTATUSCODES extensions have been added to the SMTP server and SMTP-over-DECnet server, so DSN requests can be forwarded among MX V5.1 hosts that use SMTP over either TCP/IP or DECnet. __________________________________________________________________ 5.8 User Specification of From Header The VMS MAIL interface now checks the first line of each non-/FOREIGN message sent to see if it begins with the special string "/FROM=". If that string is present, the text following the "=" is assumed to be a modification to the address placed in the From: header of the message. 5-3 New Features and Changes in MX V5.1 For non-privileged users, this string must begin with a plus sign "+" and be followed by a VMS MAIL folder name consisting of no more than 39 characters. The characters may be one of the letters A through Z, the digits 0 through 9, underscores, or hyphens. This allows users to use a non-default mail folder for replies to their messages. Privileged users (those holding SYSPRV privilege) may also specify a folder as above, or may specify any complete RFC822 e-mail address using this new feature. __________________________________________________________________ 5.9 Accounting Improvements The SET ROUTER command now supports the /ACCOUNTING qualifier to enable accounting in the MX Router. Router accounting messages are written for each recipient of each message that MX processes, both successful and unsuccessful. Accounting in the SMTP delivery agent has been improved to log messages on a per-recipient basis and including the recipient's address. __________________________________________________________________ 5.10 New Junk Mail Prevention Features Several additional anti-junk-mail features have been added. ___________________________ 5.10.1 Stronger Relay Prevention The SMTP server can now be configured with a list of IP addresses identifying those hosts and/or networks that are under your control, with the DEFINE INSIDE_ NETWORK_ADDRESS command in MCP. When this list is defined, the check for whether the sender of a message is local is strengthened to ensure that the domain name is local, but also that the system sending the message is an inside host or is on an inside network. 5-4 New Features and Changes in MX V5.1 You can also specify the /RELAY_ALLOWED qualifier on this command to relax the local sender/local recipient check for certain sending hosts or networks (useful when your system is a central mail hub). This feature helps prevent outside junk mailers from falsifying their return addresses as being in one of your local domains, which would otherwise bypass the anti-relay guard in the SMTP server. ___________________________ 5.10.2 SMTP Server Realtime Blackhole List The SMTP server now supports the use of the Internet Realtime Blackhole List (RBL) sponsored by the MAPS project to combat unwanted junk e-mail. The web site http://maps.vix.com has more information on the RBL. The MCP command SET SMTP/RBL_CHECK enables RBL checking. It is disabled by default. ___________________________ 5.10.3 Heuristic Junk Mail Filters The heuristic filtering capability that was provided in the SPAMFILTER plug-in module for the Router in MX V5.0 is now integrated into MX. The filter checks have been moved to the SMTP server and are configured using the REJMAN commands DISABLE HEURISTIC, ENABLE HEURISTIC and SET HEURISTIC. __________________________________________________________________ 5.11 Other Minor Changes MX V5.2 also contains the following minor changes. o The OPCOM message sent when rejecting a message due to an invalid domain name in the MAIL FROM comand has been updated to include the sending system's IP address. 5-5 New Features and Changes in MX V5.1 o MX now supports running the Mailing List/File Server (MLF) agent on multiple nodes in a VMScluster, with automatic standby/failover. The first instance of the MLF agent will process all requests; if that agent exits abnormally, or if the node on which it is running is shut down, processing will automatically fail over to one of the other nodes. o Messages that are identified by the SMTP server as junk mail during reception of the RFC822 headers no longer leave behind cancelled queue entries. o The SMTP-over-DECnet and SMTP-over-X.25 delivery agents now share the same SMTP protocol implementation as the TCP/IP based delivery agent, and can now support the same SMTP extensions. Note, however, that the SMTP-over-X.25 server (for incoming messages) has not been upgraded to support any SMTP extensions. o The SMTP server now logs a message to OPCOM when the heuristic junk mail filter traps any message, regardless of the setting of SET HEURISTICS/REJECT_ ACTION. Previously, an OPCOM message was logged only when the rejection action was set to DROP. o All agents that run as detached processes now have command procedures to invoke the agent images. This allows the agents' output log files to be readable even while the agent is running. o The VMS MAIL interface performs more robust parsing of RFC822 addresses. Some addresses that may have been accepted by MX via VMS MAIL in previous versions, but were syntactically invalid, are now correctly identified as erroneous. o The logical name MX_MAILSHR_IGNORE_8BIT has been added to turn off automatic conversion of non-ASCII messages into MIME quoted-printable encodings. 5-6 _______________________________________________________ 6 New Features and Changes in MX V5.0 This chapter notes the new features added to MX V5.0. __________________________________________________________________ 6.1 Installation and Configuration Changes The MX installation kit has been modified to reduce the number of savesets in the kit and to reduce the number of savesets that need to be loaded to install most common configurations. The MXCONFIG command procedure can now be used to modify the MX logical name definitions and agent startup information. Previously, this information could only be set at installation time or by editing the MX_LOGICALS.DAT and MX_STARTUP_INFO.DAT files by hand. __________________________________________________________________ 6.2 License Management Changes As of V5.0, MX is licensed software and comes with a license management utility. The installation procedure will automatically register a 30-day evaluation license key if you have not already obtained a key from MadGoat. Use the command procedure MX_DIR:MX_ LICENSE.COM to manage your MX license keys. __________________________________________________________________ 6.3 Documentation o MX Documentation is now provided in the following formats: o Text files 6-1 New Features and Changes in MX V5.0 o PostScript o Bookreader (view with DECwindows/Motif Bookreader or MadGoat BOOK) o HTML (view with any Web browser-Netscape, Mosaic, LYNX) __________________________________________________________________ 6.4 MCP Enhancements o The MCP commands SHUTDOWN, RESET, and STATUS now accept a /NODE qualifier to limit the affect of the commands to those agents running on specific nodes. o The DEFINE LIST and MODIFY LIST commands now accept a /DIGEST qualifier. o The DEFINE LIST and MODIFY LIST commands have a new qualifier, /[NO]HIDE_ERRORS_TO, which controls how MLF formats the envelope FROM address and Errors- To: header in outbound mailing list messages. By default, the Errors-To: address is hidden in outgoing messages by substituting the automatically defined alias owner-listname. If you specify an Errors-To: address for a list, and wish to have that address used explicitly, instead of the automatic alias, use the /NOHIDE_ERRORS_TO qualifier. o The MCP commands DEFINE LIST and DEFINE FILE_SERVER now check for the existence of a file server or list, respectively, with the same name as the supplied list or file server name. In previous versions of MX, it was possible to define a file server and a list with the same name, but mail would always be routed to the file server, without warning. o The MCP command DEFINE ALIAS now accepts a comma- separated list of alias addresses. When defining an alias with multiple addresses, there is still 6-2 New Features and Changes in MX V5.0 a limit of 255 characters for the list, including commas. o The MCP command QUEUE SHOW/FULL now displays the error message text for MAIL$ errors on local delivery errors. Previously, those errors were shown as "%MAIL-E-NOMSG". o MCP now supports key definitions to execute commands. The commands DEFINE/KEY, DELETE/KEY, and SHOW KEY have been added to MCP. When MCP is executed, it will automatically look for a key definition file using the logical MX_MCP_ KEYDEFS. If the logical is not defined, it looks for SYS$LOGIN:MX_MCP_KEYDEFS.INI. The .INI file should contain only DEFINE/KEY commands. o MCP now supports the SPAWN and ATTACH commands. __________________________________________________________________ 6.5 MX MLF Enhancements and Changes o MX MLF was modified to support a new DENY flag for subscribers. The DENY flag can be used to add a subscriber to a closed mailing list (one which does not allow WORLD writes) and still prevent that subscriber from posting to the list, thus denying the subscriber access to the list. Subscribers with the DENY flag set cannot post to the list, will not receive posts to the list, cannot change their subscriber entry, and cannot remove themselves from the list. The MX MLF ADD command supports the /DENY and /NODENY qualifiers. o MX MLF was modified to support a new NOPOST flag for subscribers. The NOPOST flag can be used to make a list "read-only" for a subscriber, preventing that subscriber from posting to a list from which they receive mail. Note that the NOPOST flag is ignored if the list protection allows WORLD WRITE access. 6-3 New Features and Changes in MX V5.0 The MX MLF ADD command supports the /POST and /NOPOST qualifiers. o The MX MLF REMOVE command now supports /NOCASE. o The MX MLF processor now adds a Date: header to mailing list posts without one. This was necessary because some SMTP servers reject messages without a Date: header. o The MX MLF processor tags messages to mailing list recipients to cause delivery status notification to be returned only on a delivery failure, for SMTP servers that support the RFC 1891 DSN extension to SMTP. o A check was added to the MX MLF processor to detect messages from automated mail daemons. Messages from "Postmaster," "Mailer-Daemon," "uucp," "mmdf," "UCX_ SMTP," "LISTSERV," and "MXserver" are no longer processed by the MX MLF processor, but instead are silently ignored. This enhancement was added to prevent mail loops created when an automated mailer sends bounce messages to a mailing list or to the list processor itself. o Support for mailing lists digests was added to MX MLF. This involved adding: o /DIGEST qualifier to MCP DEFINE/MODIFY LIST commands. o Recognition of listname-DIGEST addresses. o SET DIGEST commands for MXserver and -request addresses. o /DIGEST qualifier to MX MLF ADD command. o Automatic list forwarding for -digest address. 6-4 New Features and Changes in MX V5.0 Only a system user or a list owner can post a message to a list-DIGEST address. A message sent to list-DIGEST from any other user is treated as a post to the regular list (which will eventually end up in the daily digest). Note: The MX-DIGEST files are still required. o MX MLF now breaks up posts to large mailing lists into multiple entries in the MX queue. This is done to allow outgoing mailing list messages to be processed by multiple MX SMTP agents. Because the MX SMTP agents are not yet multithreaded, breaking posts into multiple messages should help ensure more timely delivery. Recipients of mailing list postings are now grouped by host name when the message(s) are queued, to help ensure multiple recipients at the same destination in a single outgoing message (although this is not guaranteed). The maximum number of recipients per queue entry defaults to unlimited (/NORECIPIENT_MAXIMUM). You can change this setting globally with the MCP command SET MLF/RECIPIENT_MAXIMUM. You can override the global setting on a per-list basis with the /RECIPIENT_MAXIMUM qualifier on the DEFINE LIST and MODIFY LIST commands. o MX MLF now supports additional headers for mailing list posts. The MCP DEFINE/MODIFY LIST qualifier /LIST_HEADERS can be used to enable or disable the following headers: o List-Subscribe (/LIST_HEADER=SUBSCRIBE) o List-Unsubscribe (/LIST_HEADER=UNSUBSCRIBE) o List-Help (/LIST_HEADER=HELP="URL:") 6-5 New Features and Changes in MX V5.0 See the new section on "Mailing List Headers" in the Message Exchange Management Guide for more information about these headers. The new MCP DEFINE/MODIFY LIST qualifier /XHEADERS can be used to add additional headers to mailing list posts. For more information, see DEFINE LIST command description in the Message Exchange Management Guide. o The new MCP DEFINE/MODIFY LIST qualifier /SETTINGS can be used to change the default subscriber settings for a list. By default, subscriber entries are set to MAIL, REPRO, NOCONCEAL, NODIGEST, and POST. /SETTINGS allows you to override that default. o The MX MLF mailing list processor includes the following changes relating to message headers: o The non-standard Errors-To: and Warnings-To: headers are no longer added. o Lists set to /REPLY=LIST will now include an X- Original-Reply-To: header showing the original Reply-To: header, if one existed. o The original Sender: header is maintained. o Following IETF maillist draft recommendations, some headers are always removed, regardless of the setting of /STRIP_HEADERS. These include, but are not limited to, Precedence: and Return- Receipt-To:. o MX MLF includes support for adding short prefix strings to the "Subject:" lines on posts to mailing lists. These prefixes can be useful for identifying list traffic on lists set /REPLY_TO=(SENDER). The maximum prefix string length is 32 characters. The MCP DEFINE/MODIFY LIST qualifier /SUBJECT_PREFIX is used to define the prefix for each list. 6-6 New Features and Changes in MX V5.0 o When a post is made to a list by a user who doesn't have access to post to that list, an error message is sent back to the user. MX MLF can now optionally copy the error message to the /ERRORS_TO address for the list so that the list manager can see what posts are not reaching the list. The MCP DEFINE/MODIFY LIST qualifier /CC_POST_ERRORS is used to enable or disable this ability. __________________________________________________________________ 6.6 MX SMTP Delivery Agent Enhancements o The SMTP agent has been modified so that destinations specified using the /ROUTE qualifier on the DEFINE PATH command in MCP bypass DNS MX lookups. o The SMTP agent has been updated to use the NETLIB V2.x API, which should provide minor performance enhancements over previous releases. o The SMTP agent now supports RFC 1869, which defines service extensions for SMTP (also known as "ESMTP"). The SMTP agent supports the command pipelining extension defined in RFC 1854, the message size declaration extension defined in RFC 1870, and the delivery status notification (DSN) extension defined in RFC 1891. Setting of DSN status is currently supported only on mailing list messages sent by MLF. o The SMTP agents now collectively track the systems they cannot reach by creating "host lock" and "address lock" files, to prevent different agents from trying to reach the same unreachable hosts in rapid succession. This should improve SMTP throughput, especially on systems processing large volumes of mail. The lock files consume additional disk space-typically 1-3 disk blocks per file. 6-7 New Features and Changes in MX V5.0 o The FLQ manager process (or the Router, if you elect not to run a separate FLQ manager) periodically purges SMTP lock files that have not been recently used. __________________________________________________________________ 6.7 MX SMTP Server Enhancements o Added support for the VRFY SMTP command. To ensure this command operates properly you should issue a RESET SMTP_SERVER command in MCP if you change any alias, path, or rewrite rule definitions. Those sites wishing to disable the VRFY command for security reasons may do so with the MCP command SET SMTP/NOVERIFY_ALLOWED. o The SMTP server can now be programmed to automatically reject messages based on envelope and message header information with the new REJMAN utility. This mechanism can be used to filter "junk" e-mail (also known as "spam") for all users on your system. Notification of programmed rejections can be set up by defining the system-wide, executive-mode logical name MX_SMTP_REJECTION_EVENT_CLASS as an OPCOM event class name. o The EXAMPLES kit now includes SPAMFILTER, a rule-based junk e-mail filter that recognizes common patterns in junk e-mail headers. Combining the REJMAN rejection rules with SPAMFILTER can drastically reduce the amount of junk e-mail that enters your system. See the AAAREADME file in MX_ EXAMPLES_DIR:SPAMFILTER.ZIP for more information. o The SMTP server can now be set not to relay messages from a remote user to another remote user. By default, the SMTP server allows this relay function. The MCP command SET SMTP/NORELAY_ALLOWED disables this function. See the new chapter on "Reducing or 6-8 New Features and Changes in MX V5.0 Eliminating Junk E-Mail" in the Message Exchange Management Guide for more information. When SMTP relaying is disabled, the SMTP server refuses to deliver messages to remote users when the originator of the message is also remote. By default, any host in the same domain as the local system (based on either the MX_HOST_NAME logical name or your TCP/IP host name) is considered local; all other systems are considered remote. The DEFINE LOCAL_DOMAIN command can be used to specify other hosts or domains that should be considered local by the SMTP server for relay-checking purposes. o The SMTP server is now compliant with RFC 1869, which defines service extensions for SMTP (also known as "ESMTP"). The SMTP server supports the command pipelining extension defined in RFC 1854. o If the logical MX_SMTP_SERVER_ADD_DATE is defined when the MX SMTP Server is started, it will now add a Date: header to messages if there is no Date: supplied. This is a common problem with the Eudora PC client, which only supplies a Date: header if the TZ environment variable is defined. o Added the date/time info to the debug output for MX SMTP Server. o Added Kanji bugfix and enhanced Kanji support from Hiroshi Mizoguchi. This applies to outgoing SMTP messages too. __________________________________________________________________ 6.8 MX Local Enhancements o The MX Local agent now includes any personal name from the RFC822 From: or Reply-To: headers on the VMS Mail From: line. 6-9 New Features and Changes in MX V5.0 o Previous versions of MX truncated message lines longer than 255 characters in anticipation of a VMS Mail limitation. However, when sending a file, which MX Local does, that line length limitation is ignored by callable mail, so it is now ignored by MX. Message lines longer than 255 characters are delivered unaltered to VMS Mail. Note that VMS Mail itself may (does) limit the number of characters per line that it will display or extract. o All text messages encoded as quoted-printable are now decoded by MX Local. In previous versions of MX, only "text/plain" messages were decoded. You can disable the automatic decoding of quoted-printable messages with the MCP command SET LOCAL/NOQP_DECODE. __________________________________________________________________ 6.9 VMS MAIL Interface Enhancements o In previous versions of MX, MX_MAILSHR would not successfully transmit a file containing lines longer than 512 bytes. This restriction has been removed. o MX_MAILSHR now automatically detects the presence of 8-bit characters in messages sent via VMS Mail, which causes those messages to be MIME encoded as quoted-printable. o During alias lookups, MX_MAILSHR will now look in both a personal MXALIAS database and a system-wide database, if either or both exist. o MX now recognizes three new logical names that affect the formatting of addresses generated by MX_MAILSHR (and return addresses for all locally- generated mail). MX_FROM_HOST, MX_ENVELOPE_FROM_ HOST, and MX_TO_HOST, when defined in executive mode, specify the host name to be appended to RFC822 From addresses, envelope (RFC821) MAIL FROM addresses, and To addresses, when no host name is already present. 6-10 New Features and Changes in MX V5.0 Note: The MX_VMSMAIL_LOCALHOST logical name is no longer used in address formatting. The new logical names provide greater control over address formatting, and apply to all messages originating from the local system, not just those originating in VMS MAIL. __________________________________________________________________ 6.10 Miscellaneous Enhancements o MXALIAS now lets you equate multiple addresses with an MX alias. In previous versions of MX, you could only equate one address with an alias. The MXALIAS ADD command now accepts a comma-separated list of addresses. When defining an alias with multiple addresses, there is still a limit of 255 characters for the address list, including commas. o FIFO queue entry support has been added to the agents. In previous versions of MX, the various agents (MX Router, MX Local, etc.) processed queue entries based on message sizes, processing smaller messages before larger messages. While this behavior is often desirable for outgoing messages, some sites may prefer to process queue entries in a strictly first-in, first-out (FIFO) manner. In fact, after a network outage, entries may be delayed for several hours while newer, smaller entries are constantly being processed. To force FIFO queue handling for an agent, define a logical MX_agent_FIFO before starting that agent. For example, the following logical definition will cause the router to process entries FIFO: $ define/system/exec mx_router_fifo true o Error-handling logic in the various MX agents has been enhanced in this version of MX. 6-11 New Features and Changes in MX V5.0 o MX_DECODE now accepts the qualifiers /[NO]HEADERS, /TEXT, and /QUOTED_PRINTABLE. If you wish to decode a base64-encoded or quoted-printable file that does not have MIME headers, you can specify /NOHEADERS to have it decoded. To create a text file from a base64-encoded file, also specify /TEXT. If MIME headers are present, MX_DECODE will attempt to decode the contents based on the Content-Type and Content-Transfer-Encoding headers. o The way agent debug logs are opened has changed. Only one debug log file will be created by an agent process, rather than one file per processed message. The default file type for debug logs is now .LOG_ process-id instead of .LOG. o Timezone support has changed to be more compliant with Internet mail standards, and to take advantage of timezone support added in recent versions of OpenVMS. If the logical name SYS$TIMEZONE_ DIFFERENTIAL is defined, that value will be used to compute the timezone string used by MX. This logical name is supported on OpenVMS V6.0 and later. o Several agents and several routines used by all MX programs have been enhanced to reduce the number of dynamic strings they use. This should mildly enhance performance and reduce the amount of virtual memory required by the agent processes. o The MX Jnet delivery agent now looks up Jnet- specific shareable images at run-time, rather than link time, allowing you to install MX's Jnet support even if Jnet is not currently running. o The MX SITE input program, MX_SITE_IN, will now add a Date: header if one is missing from the message entered into the MX queue. 6-12 New Features and Changes in MX V5.0 o The message queuing system (MX_FLQ_SHR) has been improved to make queue updates more transactional. This should drastically reduce the likelihood of a queue corruption due to a system or agent process failure. o The following [CONTRIB] packages have been updated or added: o MXSUM.ZIP - Ported to Alpha o NICKNAME.ZIP - Ported to Alpha o MX_WATCHDOG.COM - Ensure that MX processes are present o ADDSPAM.COM - Automatically add REJMAN rejection rules o MX_SHUTDOWN.COM - Shutdown MX and wait for processes to finish o PROBE-MX-LIST.COM - Send a message to each list subscriber o SITE_DELIVER-LEVITTE.ZIP - Example modular SITE_ DELIVER.COM 6-13 _______________________________________________________ 7 Known Bugs and Restrictions __________________________________________________________________ 7.1 X.25-SMTP Bug Messages received via X25_SMTP that contain very long lines may be rejected by the X.25 SMTP server. Currently, the only fix is to wrap the long line before sending the message. __________________________________________________________________ 7.2 DECUS UUCP UUCP_MAILSHR Bug Binary files sent through MX to DECUS UUCP can cause the MX->uucp process to go into a compute-bound infinite loop. This is a bug in the DECUS UUCP UUCP_ MAILSHR's handling of the temporary file created by MX. Attempts to SHUTDOWN the MX uucp intfc will fail; you must use STOP/ID to kill the process, CANCEL the message, then restart the UUCP agent. According to the DECUS UUCP developers, this will be fixed in the next release of DECUS UUCP. __________________________________________________________________ 7.3 VMS MAIL Bugs In many versions of both VAX/VMS and OpenVMS Alpha, a bug in VMS MAIL parsing code will cause a process either to loop infinitely, or to signal a fatal error that aborts MAIL, if the trailing quotation mark is omitted from a foreign-protocol address specification, as in: To: MX%"user@domain These problems appear to be fixed in OpenVMS V7.1. 7-1 Known Bugs and Restrictions __________________________________________________________________ 7.4 VMS Callable MAIL Memory Leak and MX Local The VMS callable MAIL routines do not properly release all the virtual memory that they allocate. This VMS bug can eventually cause the MX Local agent to exit with an "Insufficient virtual memory" error or go into an infinite loop. The chances of the bug causing problems depend greatly on the number of messages processed by MX Local and your system configuration. This bug in callable MAIL has been acknowledged by Digital in a DSNlink article. It has "been reported to VMS Engineering." __________________________________________________________________ 7.5 MXALIAS and the MX% "@" Patch for VMS Mail If you've installed the VMS Mail patch that lets users leave off the MX% for addresses (found in the [.CONTRIB] directory), MXALIAS addresses must still be prefixed by MX% to be recognized. MX_MAILSHR will try to lookup an ALIAS if the MX address does not include an "@" in the address received from VMS Mail. With the VMS Mail "@" patch installed, MX aliases are not passed to MX unless they are first prefixed by MX%. __________________________________________________________________ 7.6 Possible Forwarding Problems If, prior to installation of MX, you were running a different E-mail package on your system, and users made use of the SET FORWARD command in VMS MAIL to forward mail through that other package, those forwarding addresses may no longer work after MX is installed. The system manager should review the forwarding addresses used on the system and modify them as needed to use the MX% prefix once MX is installed. The command SHOW FORWARD/USER=* and SET FORWARD/USER commands in VMS MAIL can be used to accomplish this. 7-2 Known Bugs and Restrictions __________________________________________________________________ 7.7 Remote Forwarding Problems Although MX will automatically detect forwarding on the local system, it cannot do so for messages delivered across DECnet. If a remote DECnet user set his or her forwarding across DECnet back into MX, as, for example, with the following command, MAIL> SET FORWARD REMOTE::MX%"""user@host""" and if MX delivers a message to that user via DECnet, the doubled DECnet reference will result in two sets of RFC 822 headers will appear in the message: one set for the original message and one set for the forwarded message. There is no workaround or fix for this problem. __________________________________________________________________ 7.8 BYPASS Needed for UUCP Delivery If you intend to use MX with DECUS UUCP, and you elect to use a separate mailer account, the mailer account may need to have BYPASS privilege. 7-3 _______________________________________________________ 8 Problem Reports An electronic mailing list exists to discuss the MX software and report problems. The address of the mailing list is MX-List@MadGoat.com. Internet users can subscribe to this list by sending an E-mail message to MX-List-Request@MadGoat.com, with the command "SUBSCRIBE" appearing in the body of the message. The MX-List mailing list is also gatewayed to the VMSnet newsgroup vmsnet.mail.mx. Archives of the mailing list are available by anonymous FTP from ftp.madgoat.com in the directory [ANONYMOUS.LISTS.MX-LIST]. They are also searchable via the World-Wide Web using http://www.madgoat.com/. 8-1