?i MX030.A MX030.ABACKUP/INTERCHANGE/BLOCK=8192 KITINSTAL.COM,MX030.RELEASE_NOTES,MX_VERSION_TEST.OBJ,MX_INSTALLING_VERSION.DAT,[-.COMMON]COMMON.OLB SYS$DISK:[]MX030.A/SAVE MADISON ?eAV5.4 _ECS01::  _$50$DUA64: V5.4  )*[MX.KIT]KITINSTAL.COM;45+,R.E/> 4SECn-g 0123KPWOD56`'~^87eA89` >G>HJ$! [MX.KIT]KITINSTAL.COM$!/$! KITINSTAL procedure for installing MX T3.0.$!0$! 22-OCT-1991 A2.4 Madison T2.4 pre-alpha.?$! 28-OCT-1991 B2.4 Madison Let user pick what to install.2$! 15-NOV-1991 T3.0 Madison Now at T3.0 beta.=$! 22-NOV-1991 V3.0 Madison Add .TEMPLATE files for MLF.$!%$ ON CONTROL_Y THEN GOTO MX_CONTROL_Y$ ON WARNING THEN GOTO MX_FAIL$!1$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO MX_INSTALL$ EXIT VMI$_UNSUPPORTED$!$MX_CONTROL_Y:5$ IF F$TRNLNM ("MX_STAR") .NES. "" THEN CLOSE MX_STAR5$ IF F$TRNLNM ("MX_STMP") .NES. "" THEN CLOSE MX_STMP5$ IF F$TRNLNM ("MX_LTMP") .NES. "" THEN CLOSE MX_LTMP5$ IF F$TRNLNM ("MX_LOGI") .NES. "" THEN CLOSE MX_LOGIG$ IF F$TRNLNM ("MX_ROOT", "LNM$PROCESS") .NES. "" THEN DEASSIGN MX_ROOT@$ IF F$TRNLNM ("MX_INSTALL_ROOT", "LNM$PROCESS") .NES. "" THEN - DEASSIGN MX_INSTALL_ROOTF$ IF F$TRNLNM ("FLQ_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN FLQ_SHRD$ IF F$TRNLNM ("MX_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN MX_SHRD$ IF F$TRNLNM ("MX_MSG","LNM$PROCESS") .NES. "" THEN DEASSIGN MX_MSGR$ IF F$TRNLNM ("NETLIB_SHRXFR","LNM$PROCESS") .NES. "" THEN DEASSIGN NETLIB_SHRXFR$ VMI$CALLBACK CONTROL_Y$! $MX_FAIL:$ MX_STATUS == $STATUS5$ IF F$TRNLNM ("MX_LOGI") .NES. "" THEN CLOSE MX_LOGI5$ IF F$TRNLNM ("MX_STAR") .NES. "" THEN CLOSE MX_STAR5$ IF F$TRNLNM ("MX_STMP") .NES. "" THEN CLOSE MX_STMP5$ IF F$TRNLNM ("MX_LTMP") .NES. "" THEN CLOSE MX_LTMPG$ IF F$TRNLNM ("MX_ROOT", "LNM$PROCESS") .NES. "" THEN DEASSIGN MX_ROOT@$ IF F$TRNLNM ("MX_INSTALL_ROOT", "LNM$PROCESS") .NES. "" THEN - DEASSIGN MX_INSTALL_ROOTF$ IF F$TRNLNM ("FLQ_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN FLQ_SHRD$ IF F$TRNLNM ("MX_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN MX_SHRD$ IF F$TRNLNM ("MX_MSG","LNM$PROCESS") .NES. "" THEN DEASSIGN MX_MSGR$ IF F$TRNLNM ("NETLIB_SHRXFR","LNM$PROCESS") .NES. "" THEN DEASSIGN NETLIB_SHRXFR$ EXIT 'MX_STATUS$! $MX_INSTALL:$!$ IF P2 THEN SET VERIFY$ LINK := LINK/NOUSERLIBRARY$!$ MX_SAY := WRITE SYS$OUTPUT$!$ MX_REQD_VMSVER = "V5.0"$ MX_REQD_VMSVER_OLD = "050"A$ VMI$CALLBACK CHECK_VMS_VERSION MX_VMSVEROK 'MX_REQD_VMSVER_OLD'0$ IF MX_VMSVEROK THEN GOTO MX_VMSVERCHECK_PASSED!$ VMI$CALLBACK MESSAGE E VMSVER -A "This product requires VMS version ''MX_REQD_VMSVER' to run.'$ EXIT VMI$_FAILURE$!$MX_VMSVERCHECK_PASSED:?$ VMI$CALLBACK CHECK_NET_UTILIZATION MX_ENOUGHDISK 2500 30 2500/$ IF .NOT. MX_ENOUGHDISK THEN EXIT VMI$_FAILURE$!*$ VMI$CALLBACK SET SAFETY CONDITIONAL 4000$!)$ MX_INSTALL_NODE = F$GETSYI ("NODENAME")$!4$ OPEN/READ MX_TMP VMI$KWD:MX_INSTALLING_VERSION.DAT#$ READ MX_TMP MX_INSTALLING_VERSION$ CLOSE MX_TMP$!$ TYPE SYS$INPUT:: Message Exchange Installation ProcedureL Copyright 1991, Rensselaer Polytechnic Institute. All Rights Reserved.@ Redistribution for no commercial gain is permitted.A Jnet is a registered trademark of Joiner Associates.N DEC, VMS, DECnet, and ULTRIX are trademarks of Digital Equipment Corporation.D MultiNet is a trademark of SRI International and TGV, Inc.$!$ VMI$CALLBACK SET PURGE ASK$!%$! Build the tables for menu choices.$!$ MX_OPT_NAMES = "?" +- ":Base MX software"+- ":NETLIB network support"+- ":SMTP interface support"+- ":Jnet interface support"+- ":UUCP interface support"+-! ":SMTP-over-DECnet support"+-( ":Site-provided interface support"+-) ":Mailing List/File Server support"+- ":Documentation"+-# ":Example files and programs"+-* ":User-contributed files and programs"K$ MX_OPTS = "?:MX_DO_BASE:MX_DO_NETLIB:MX_DO_SMTP:MX_DO_JNET:MX_DO_UUCP:"+-I "MX_DO_DNSMTP:MX_DO_SITE:MX_DO_MLF:MX_DO_DOC:MX_DO_EXAMPLES:"+- "MX_DO_CONTRIB" $ MX_I = 0$MX_INIT_LOOP:$ MX_I = MX_I + 1'$ MX_OPT = F$ELEMENT (MX_I,":",MX_OPTS)0$ IF MX_OPT .EQS. ":" THEN GOTO MX_END_INIT_LOOP$ 'MX_OPT = " "$ GOTO MX_INIT_LOOP$!$MX_END_INIT_LOOP:$!$ MX_MUST_DO_BASE = 0>$ IF F$TRNLNM ("MX_ROOT","LNM$FILE_DEV",,"EXECUTIVE") .EQS. ""$ THEN$ MX_DO_BASE = "*"$ MX_MUST_DO_BASE = 1$ ELSE4$ IF F$SEARCH ("MX_ROOT:[EXE]MX_SHR.EXE") .EQS. ""$ THEN$ MX_DO_BASE = "*"$ MX_MUST_DO_BASE = 1$ ELSEP$ LINK/EXE=VMI$KWD:MX_VERSION_TEST VMI$KWD:MX_VERSION_TEST.OBJ,SYS$INPUT:/OPT MX_ROOT:[EXE]MX_SHR/SHARE/$ DEFINE/USER MX_SHR MX_ROOT:[EXE]MX_SHR.EXE/$ DEFINE/USER MX_MSG MX_ROOT:[EXE]MX_MSG.EXE $ RUN VMI$KWD:MX_VERSION_TEST.$ IF MX_VERSION .NES. MX_INSTALLING_VERSION $ THEN$ MX_DO_BASE = "*"$ MX_MUST_DO_BASE = 1 $ ENDIF $ ENDIF$ ENDIF$!$MX_SELECT_MENU:$ TYPE SYS$INPUT:- Component SelectionE Select the MX components you wish to install from the menu below.C An asterisk appears next to the packages that have already beenE selected. You can remove a package from the list by selecting itD again. You may enter more than one selection by separating your choices with commas. $ MX_M = 0 $MX_SEL_LOOP:$ MX_M = MX_M + 1*$ MX_N = F$ELEMENT (MX_M,":",MX_OPT_NAMES)+$ IF MX_N .EQS. ":" THEN GOTO MX_SELECT_ASK%$ MX_T = F$ELEMENT (MX_M,":",MX_OPTS)9$ IF MX_T .EQS. "MX_DO_BASE" .AND. MX_MUST_DO_BASE THEN - MX_N = MX_N + " (REQUIRED)"9$ MX_SAY F$FAO (" !2UL. [!AS] !AS", MX_M, 'MX_T, MX_N)$ GOTO MX_SEL_LOOP$MX_SELECT_ASK: $ MX_SAY ""+$ MX_SAY F$FAO (" !2UL. Exit", MX_M) $ MX_SAY "" $ MX_SAY ""$!&$ VMI$CALLBACK ASK MX_CHOICE_INPUT -" " Your choice" "''MX_M'" $ MX_I = -1$MX_PARSE_LOOP:$ MX_I = MX_I + 14$ MX_CHOICE = F$ELEMENT (MX_I, ",", MX_CHOICE_INPUT)1$ IF MX_CHOICE .EQS. "," THEN GOTO MX_SELECT_MENU#$ MX_CHOICE = F$INTEGER (MX_CHOICE)-$ IF MX_CHOICE .EQ. MX_M THEN GOTO MX_CONFIRM.$ IF MX_CHOICE .LT. 1 .OR. MX_CHOICE .GT. MX_M$ THEN&$ VMI$CALLBACK MESSAGE E BADCHOICE -D "Choice ''MX_CHOICE' invalid; choices range from 1 to ''MX_M'."$ ELSE.$ MX_T = F$ELEMENT (MX_CHOICE, ":", MX_OPTS)$ IF MX_T .EQS. "MX_DO_BASE"$ THEN-$ IF 'MX_T .EQS. "*" .AND. MX_MUST_DO_BASE $ THEN,$ VMI$CALLBACK MESSAGE E MUSTDOBASE -H "You MUST install the ''MX_INSTALLING_VERSION' base software."$ GOTO MX_PARSE_LOOP $ ENDIF $ ENDIF$ IF 'MX_T .EQS. "*"$ THEN$ 'MX_T = " "$ ELSE$ 'MX_T = "*" $ ENDIFQ$ IF MX_T .EQS. "MX_DO_SMTP" .AND. 'MX_T .EQS. "*" .AND. MX_DO_NETLIB .NES. "*"$ THEN*$ VMI$CALLBACK MESSAGE I WILLDONETLIB -D "Will also install NETLIB network support for SMTP support."$ MX_DO_NETLIB = "*" $ ENDIF$ ENDIF$ GOTO MX_PARSE_LOOP$! $MX_CONFIRM: $ MX_SAY "":$ MX_SAY " You have selected the following components:" $ MX_SAY "" $ MX_CNT = 0 $ MX_M = 0$MX_CONF_LOOP:$ MX_M = MX_M + 1*$ MX_N = F$ELEMENT (MX_M,":",MX_OPT_NAMES))$ IF MX_N .EQS. ":" THEN GOTO MX_CONF_ASK%$ MX_T = F$ELEMENT (MX_M,":",MX_OPTS)$ IF 'MX_T .EQS. "*"$ THEN$ MX_PRI = MX_M$ MX_SAY "f MX030.ARg [MX.KIT]KITINSTAL.COM;45SE(] ",MX_N$ MX_CNT = MX_CNT + 1$ ENDIF$ GOTO MX_CONF_LOOP$! $MX_CONF_ASK:/$ IF MX_CNT .EQ. 0 THEN MX_SAY " (None)" $ MX_SAY "" $ MX_SAY ""2$ VMI$CALLBACK ASK MX_OK "Is this correct" "YES" B)$ IF .NOT. MX_OK THEN GOTO MX_SELECT_MENU$!*$ MX_CLUSTER = F$GETSYI ("CLUSTER_MEMBER") $ MX_EXPLAINED_CLUSTER_NAMES = 0$!$ IF MX_DO_BASE .EQS. "*"$ THEN"$ CREATE VMI$KWD:MX_LOGICALS.DAT/$ OPEN/APPEND MX_LOGI VMI$KWD:MX_LOGICALS.DAT&$ CREATE VMI$KWD:MX_STARTUP_INFO.DAT3$ OPEN/APPEND MX_STAR VMI$KWD:MX_STARTUP_INFO.DAT$!C$ MX_DEF_ROOT = F$TRNLNM ("MX_ROOT", "LNM$FILE_DEV",,"EXECUTIVE")I$ IF "''MX_DEF_ROOT'" .EQS. "" THEN MX_DEF_ROOT = "SYS$SYSDEVICE:[MX.]"*$ MX_DEF_ROOT = MX_DEF_ROOT - ".]" + "]"$!$ TYPE SYS$INPUT:0 Configuring Base MX Directories and Logicals0 --------------------------------------------G MX places most of its files in a private directory structure. ThisL directory structure can be located on any disk, but the disk must eitherK have disk quotas disabled or sufficient diskquota to hold all of the MX+ images, temporary files, and log files.$!N$ VMI$CALLBACK ASK MX_ROOT "Where should the MX top directory be located?" - "''MX_DEF_ROOT'"$ MX_ROOT = MX_ROOT - "]"E$ MX_TMP = F$PARSE (MX_ROOT+"]",,,,"NO_CONCEAL,SYNTAX_ONLY") - "]["5$ MX_INSTALL_ROOT = F$PARSE (MX_TMP,,,"DEVICE") + -0 F$PARSE (MX_TMP,,,"DIRECTORY") - "]" + ".]"B$ DEFINE MX_INSTALL_ROOT 'MX_INSTALL_ROOT'/TRANSLATION=CONCEALED:$ DEFINE MX_ROOT 'MX_INSTALL_ROOT'/TRANSLATION=CONCEALED$!3$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'] -/ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"7$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.EXE] -/ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"$!$ TYPE SYS$INPUT:I MX uses a file queue directory for storing mail messages. This queueK directory may be placed with the other MX directories, or may be placedL on a different disk. The disk on which the queue directory resides mustM also have quotas disabled or must have sufficient system quota to provide* for a backlog of undelivered messages.&$ MX_DEF_QDIR = F$TRNLNM ("FLQ_DIR")G$ IF "''MX_DEF_QDIR'" .EQS. "" THEN MX_DEF_QDIR = MX_ROOT + ".QUEUE]"!$ VMI$CALLBACK ASK MX_FLQ_DIR -3 "Where would you like the MX message queue?" - "''MX_DEF_QDIR'"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_FLQ_DIR' -+ "/PROT=(S:RWE,O:RWE,G:RE,W)/OWNER=[1,4]"$!H$! Now make sure we get a proper DEFAULT_PROTECTION ACL on the directory$!3$ MX_qspec = F$PARSE (MX_FLQ_DIR,,,,"NO_CONCEAL")$$ IF MX_qspec .EQS. "" THEN EXIT 0+$ MX_qdev = F$PARSE (MX_qspec,,,"DEVICE")<$ MX_qdir = F$PARSE (MX_qspec,,,"DIRECTORY") - "][" - "><"$ MX_i = F$LENGTH (MX_qdir)$MX_Find_Dot_Loop:$ MX_i = MX_i - 1$ IF MX_i .GE. 0$ THENC$ IF F$EXTRACT (MX_i,1,MX_qdir) .EQS. "." THEN GOTO MX_Found_Dot$ GOTO MX_Find_Dot_Loop $ ENDIF'$ MX_fspec = MX_qdev + "[000000]" + -9 F$EXTRACT (1,F$LENGTH(MX_qdir)-2,MX_qdir) + ".DIR;1"$ GOTO MX_Perform_Check$MX_Found_Dot:D$ MX_fspec = MX_qdev + "[" + F$EXTRACT (1,MX_i-1,MX_qdir) + "]" +-H F$EXTRACT (MX_i+1,F$LENGTH(MX_qdir)-MX_i-2,MX_qdir) + ".DIR;1"$MX_Perform_Check:A$ SET ACL/ACL=(DEFAULT_PROTECTION,S:RWED,O:RWED,G,W) 'MX_fspec'$!$!$ TYPE SYS$INPUT:9 H O S T N A M E S E L E C T I O NG There are two host names you must designate for the "local" host or cluster.$MX_HOST_NAMES:.$ MX_DEF_FLQ_NODE = F$TRNLNM ("FLQ_NODE_NAME")$ IF MX_DEF_FLQ_NODE .EQS. ""$ THEN;$ MX_DEF_FLQ_NODE = F$TRNLNM ("SYS$CLUSTER_NODE") - "::"'$ IF MX_DEF_FLQ_NODE .EQS. "" THEN -7$ MX_DEF_FLQ_NODE = F$TRNLNM ("SYS$NODE") - "::"$ ENDIF$ TYPE SYS$INPUT: MX Cluster Name ---------------@ This is a 1-to-6 character name that uniquely identifies theB system (when standalone) or MX Cluster (when in a VAXcluster).< This name should generally be the DECnet node name (when? standalone) or DECnet cluster alias (when in a VAXcluster).$!<$ VMI$CALLBACK ASK MX_FLQ_NODE "Enter the MX Cluster Name" - "''MX_DEF_FLQ_NODE'",$ MX_DEF_MX_NODE = F$TRNLNM ("MX_NODE_NAME")$ TYPE SYS$INPUT: MX Network Host Name --------------------B This is a 1-to-255 character name that is your "official" host name for E-mail purposes.A For Internet hosts, this should be your Internet domain name.# (Example: myhost.mycompany.com)@ For BITNET hosts that are not Internet hosts, this should be: your BITNET host name with ".BITNET" added to the end. (Example: MYORG.BITNET)B For UUCP hosts that are not Internet hosts, this should eitherA be your registered domain name (if you have one) or your UUCP, node name with ".UUCP" added to the end.6 (Example: myhost.mycompany.com -or- myhost.UUCP)B$ VMI$CALLBACK ASK MX_NODE_NAME "Enter the MX network node name" - "''MX_DEF_MX_NODE'" SM$!5$ MX_VMSMAIL_NAME = F$TRNLNM ("MX_VMSMAIL_LOCALHOST")G$ IF MX_VMSMAIL_NAME .EQS. "" THEN MX_VMSMAIL_NAME = "@" + MX_NODE_NAME$! $ MX_SAY ""2$ MX_SAY " MX Cluster Name: ", MX_FLQ_NODE3$ MX_SAY " Network Host Name: ", MX_NODE_NAME$!3$ VMI$CALLBACK ASK MX_OK "Is this correct" "YES" BD($ IF .NOT. MX_OK THEN GOTO MX_HOST_NAMES$!;$ WRITE MX_LOGI "FLQ_NODE_NAME\/SYSTEM/EXEC\",MX_FLQ_NODE;$ WRITE MX_LOGI "MX_NODE_NAME\/SYSTEM/EXEC\",MX_NODE_NAMEF$ WRITE MX_LOGI "MX_VMSMAIL_LOCALHOST\/SYSTEM/EXEC\",MX_VMSMAIL_NAME$!4$ WRITE MX_LOGI "FLQ_DIR\/SYSTEM/EXEC\",MX_FLQ_DIR?$ WRITE MX_LOGI "MX_ROUTER_DIR\/SYSTEM/EXEC\MX_ROOT:[ROUTER]"=$ WRITE MX_LOGI "MX_LOCAL_DIR\/SYSTEM/EXEC\MX_ROOT:[LOCAL]":$ WRITE MX_LOGI "MCP_HELPLIB\/SYSTEM\MX_DIR:MCP_HELPLIB"$!$ IF MX_CLUSTER$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMESP$ VMI$CALLBACK ASK MX_ROUTER_QUE "Enter the node(s) that will run the Router"/$ WRITE MX_STAR "002ROUTER:''MX_ROUTER_QUE'"$!$$ VMI$CALLBACK ASK MX_LOCAL_QUE -E "Enter the node(s) that will run the Local delivery agent" - "''MX_ROUTER_QUE'"-$ WRITE MX_STAR "003LOCAL:''MX_LOCAL_QUE'"$ ELSE $ WRITE MX_STAR "002ROUTER:*"$ WRITE MX_STAR "003LOCAL:*" $ ENDIF$ CLOSE MX_STAR$ CLOSE MX_LOGI$ ELSE0$ MX_ROOT = F$TRNLNM ("MX_ROOT") - "][" - ".]"E$ MX_TMP = F$PARSE (MX_ROOT+"]",,,,"NO_CONCEAL,SYNTAX_ONLY") - "]["5$ MX_INSTALL_ROOT = F$PARSE (MX_TMP,,,"DEVICE") + -0 F$PARSE (MX_TMP,,,"DIRECTORY") - "]" + ".]"B$ DEFINE MX_INSTALL_ROOT 'MX_INSTALL_ROOT'/TRANSLATION=CONCEALED:$ DEFINE MX_ROOT 'MX_INSTALL_ROOT'/TRANSLATION=CONCEALED$ MX_EXE = MX_ROOT + ".EXE]"/$ COPY 'MX_ROOT']MX_STARTUP_INFO.DAT VMI$KWD:+$ COPY 'MX_ROOT']MX_LOGICALS.DAT VMI$KWD: $ DEFINE MX_SHR 'MX_EXE'MX_SHR $ DEFINE MX_MSG 'MX_EXE'MX_MSG"$ DEFINE FLQ_SHR 'MX_EXE'FLQ_SHR$ ENDIF$!$ IF MX_DO_SMTP .EQS. "*"$ THEN$ IF MX_CLUSTER$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMES#$ VMI$CALLBACK ASK MX_SMTP_QUE -B "Enter the node(s) that will run the SMTP delivery agent"2$ MX_STARTUP_PROCESS = "004SMTP:''MX_SMTP_QUE'"$ GOSUB MX_ADD_STARTUP$!%$ VMI$CALLBACK ASK MX_SMTPSV_QUE -< "Enter the node(s) that will run the SMTP server" - "''MX_SMTPSV_QUE'";$ MX_STARTUP_PROCESS = "004SMTP_SERVER:''MX_SMTPSV_QUE'"$ GOSUB MX_ADD_STARTUPI2 MX030.ARg [MX.KIT]KITINSTAL.COM;45SE$ ELSE%$ MX_STARTUP_PROCESS = "004SMTP:*"$ GOSUB MX_ADD_STARTUP,$ MX_STARTUP_PROCESS = "004SMTP_SERVER:*"$ GOSUB MX_ADD_STARTUP $ ENDIF$ ENDIF$!$ IF MX_DO_JNET .EQS. "*"$ THEN$ IF MX_CLUSTER$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMES#$ VMI$CALLBACK ASK MX_JNET_QUE -= "Enter the node(s) that will run the Jnet interface"2$ MX_STARTUP_PROCESS = "004JNET:''MX_JNET_QUE'"$ GOSUB MX_ADD_STARTUP$!$ ELSE%$ MX_STARTUP_PROCESS = "004JNET:*"$ GOSUB MX_ADD_STARTUP $ ENDIF$ ENDIF$!$ IF MX_DO_UUCP .EQS. "*"$ THEN$ IF MX_CLUSTER$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMES#$ VMI$CALLBACK ASK MX_UUCP_QUE -C "Enter the node(s) that will run the UUCP interface agent"2$ MX_STARTUP_PROCESS = "004UUCP:''MX_UUCP_QUE'"$ GOSUB MX_ADD_STARTUP$ ELSE%$ MX_STARTUP_PROCESS = "004UUCP:*"$ GOSUB MX_ADD_STARTUP $ ENDIF$ ENDIF$!$ IF MX_DO_DNSMTP .EQS. "*"$ THEN$ IF MX_CLUSTER$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMES%$ VMI$CALLBACK ASK MX_DNSMTP_QUE -I "Enter the node(s) that will run the DECnet-SMTP delivery agent"6$ MX_STARTUP_PROCESS = "004DNSMTP:''MX_DNSMTP_QUE'"$ GOSUB MX_ADD_STARTUP$ ELSE'$ MX_STARTUP_PROCESS = "004DNSMTP:*"$ GOSUB MX_ADD_STARTUP $ ENDIF$ ENDIF$!$ IF MX_DO_SITE .EQS. "*"$ THEN$ IF MX_CLUSTERC$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMESn#$ VMI$CALLBACK ASK MX_SITE_QUE - C "Enter the node(s) that will run the SITE interface agent"02$ MX_STARTUP_PROCESS = "004SITE:''MX_SITE_QUE'"$ GOSUB MX_ADD_STARTUPf$ ELSE%$ MX_STARTUP_PROCESS = "004SITE:*"O$ GOSUB MX_ADD_STARTUP $ ENDIFL$ ENDIFF$!$ IF MX_DO_MLF .EQS. "*"$ THEN$ IF MX_CLUSTERI$ THENM$ IF .NOT. MX_EXPLAINED_CLUSTER_NAMES THEN GOSUB MX_EXPLAIN_CLUSTER_NAMES"$ VMI$CALLBACK ASK MX_MLF_QUE -G "Enter the node(s) that will run the Mailing List/File Server"M0$ MX_STARTUP_PROCESS = "005MLF:''MX_MLF_QUE'"$ GOSUB MX_ADD_STARTUPX$ ELSE$$ MX_STARTUP_PROCESS = "005MLF:*"$ GOSUB MX_ADD_STARTUPI $ ENDIF"$ ENDIFO$!$ IF MX_DO_NETLIB .EQS. "*"I$ THEN$ TYPE SYS$INPUT:N5 Now installing NETLIB library for TCP/IP support.S"$ VMI$CALLBACK RESTORE_SAVESET BC$ MX_NETLIB_RELNOT = F$SEARCH ("VMI$KWD:NETLIB%%%.RELEASE_NOTES")E $ IF MX_NETLIB_RELNOT .NES. ""$ THEN?$ MX_NETLIB_RELNOT = F$PARSE (MX_NETLIB_RELNOT,,,"NAME") +-I6 F$PARSE (MX_NETLIB_RELNOT,,,"TYPE")I$ VMI$CALLBACK PROVIDE_FILE MX_OK 'MX_NETLIB_RELNOT' VMI$ROOT:[SYSHLP]=$ MX_NETLIB_PRODNAME = F$PARSE (MX_NETLIB_RELNOT,,,"NAME")T9$ MX_NETLIB_PRODVER = MX_NETLIB_PRODNAME - "NETLIB"NE$ MX_NETLIB_VER = "V" + F$EXTRACT (0,2,MX_NETLIB_PRODVER) + "." +-L+ F$EXTRACT (2,-1,MX_NETLIB_PRODVER)5$ IF F$EXTRACT (1,1,MX_NETLIB_VER) .EQS. "0" THEN-", MX_NETLIB_VER = MX_NETLIB_VER - "0"&$ VMI$CALLBACK MESSAGE I NETLRNOT -N "Release notes for NETLIB ''MX_NETLIB_VER' have been copied to SYS$HELP."$ ELSE%$ MX_NETLIB_PRODNAME = "NETLIB013"E $ ENDIF"!$ MX_SAVE_PRODUCT = VMI$PRODUCTN$$ VMI$PRODUCT = MX_NETLIB_PRODNAME$ @VMI$KWD:NETLIB_INSTALLX!$ VMI$PRODUCT = MX_SAVE_PRODUCTT&$ MX_STARTUP_PROCESS = "001NETLIB:*"$ GOSUB MX_ADD_STARTUP.$ DEFINE NETLIB_SHRXFR VMI$KWD:NETLIB_SHRXFR$!$ ELSE1$ DEFINE NETLIB_SHRXFR NETLIB_DIR:NETLIB_SHRXFRC$ ENDIFV$!,$!--- no more questions after this point ---$!$ TYPE SYS$INPUT:M? The installation will continue for another 5 to 45 minutes,d< depending on your CPU type, distribution media, etc. No further input is required.$!$ IF MX_DO_BASE .EQS. "*"K$ THEN$ TYPE SYS$INPUT:K3 Now loading the Message Exchange base software._"$ VMI$CALLBACK RESTORE_SAVESET C$!:$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.ROUTER] -/ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"V9$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.LOCAL] -X/ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)" $!$ MX_EXE = MX_ROOT + ".EXE]"$!4$! >> NOTE: MX_MAILSHR depends on MX_MAILSHRP!!! <<$!N$ MX_IMAGES = "FLQ_SHR/SHARE,MX_MSG/SHARE,MX_SHR/SHARE,MX_MAILSHRP/SHARE,"+-1 "MX_MAILSHR/SHARE,MCP,MX_ROUTER,"+-m. "MX_LOCAL,MAILQUEUE,FLQU,MLFAKE"D$ MX_TRACES = "NOTRACE,NOTRACE,NOTRACE,NOTRACE,NOTRACE,NOTRACE,"+-/ "TRACE,TRACE,NOTRACE,NOTRACE,NOTRACE"T $ MX_I = -1$MX_BASE_LOOP:$ MX_I = MX_I + 1B/$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)N4$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_BASE_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)o$!>$!---> note special handling of the privileged shareable <----K$ IF MX_IMAGE .EQS. "MX_MAILSHRP" THEN MX_IMGQ = "PROTECT/NOSYSSHR/SHARE"l$!5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)pA$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."N5$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE' -M> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT$!N$ IF MX_IMAGE .NES. "MLFAKE" THEN SET PROTECTION=W:RE VMI$KWD:'MX_IMAGE'.EXE$!?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE' $ GOTO MX_BASE_LOOPL$MX_END_BASE_LOOP:B$ VMI$CALLBACK PROVIDE_FILE MX_TMP SYSTEM_QUEUE.FDL 'MX_FLQ_DIR'>$ IF F$SEARCH ("''MX_FLQ_DIR'SYSTEM_QUEUE.FLQ_CTL") .EQS. ""$ THENA$ CREATE/FDL=VMI$KWD:SYSTEM_QUEUE VMI$KWD:SYSTEM_QUEUE.FLQ_CTL G$ VMI$CALLBACK PROVIDE_FILE MX_TMP SYSTEM_QUEUE.FLQ_CTL 'MX_FLQ_DIR' $ ELSE&$ VMI$CALLBACK MESSAGE I NONEWQUE -; "Your existing file queue will not be superseded."R $ ENDIF 6$ VMI$CALLBACK PROVIDE_FILE "" MX_FILE_LIST.TXT "" T!$ CREATE VMI$KWD:MX_STARTUP.COMX.$ OPEN/APPEND MX_STMP VMI$KWD:MX_STARTUP.COML$ WRITE MX_STMP "$ @''MX_EXE'MX___STARTUP 'P1 'P2 'P3 'P4 'P5 'P6 'P7 'P8"$ CLOSE MX_STMP_I$ VMI$CALLBACK PROVIDE_FILE MX_OK MX_STARTUP.COM VMI$ROOT:[SYS$STARTUP]S $ DEFINE MX_SHR VMI$KWD:MX_SHR"$ DEFINE FLQ_SHR VMI$KWD:FLQ_SHR$ ENDIF $!($! Begin the SMTP support installation.$!$ IF MX_DO_SMTP .EQS. "*" $ THEN$ TYPE SYS$INPUT:e4 Now providing the SMTP support files and images."$ VMI$CALLBACK RESTORE_SAVESET D$!8$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.SMTP] -- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)"E$!<$ MX_IMAGES = "MX_SMTP,SMTP_SERVER,DOMAIN_EXPANSION/SHARE"%$ MX_TRACES = "TRACE,TRACE,NOTRACE"X $ MX_I = -1 $MX_SMTP_LOOP:$ MX_I = MX_I + 1/$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)E4$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_SMTP_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"X+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)"5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)AA$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."I4$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE'-> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT.$ SET PROTECTION=W:RE VMI$KWD:'MX_IMAGE'.EXE?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE'F$ GOTO MX_SMTP_LOOPT$MX_END_SMTP_LOOP:$!$ ENDIFH$!$ IF MX_DO_JNET .EQS. "*"B$ THEN$ TYPE SYS$INPUT:_4 Now providing the Jnet support files and images."$ VMI$CALLBACK RESTORE_SAVN MX030.ARg [MX.KIT]KITINSTAL.COM;45SEc-ESET E$!0$ IF F$SEARCH ("JAN_SYS:ZIPPROT.EXE") .EQS. ""$ THEN%$ VMI$CALLBACK MESSAGE E OLDJNET -9 "This version of MX requires Jnet V3.5 or later" $ GOTO MX_JNET_END_INSTALL' $ ENDIFN$!8$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.JNET] -- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)" $!*$ MX_IMAGES = "MX_JNET,MX_MFSDISP/SHARE"$ MX_TRACES = "TRACE,NOTRACE" $ MX_I = -1N$MX_JNET_LOOP:$ MX_I = MX_I + 1 /$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES) 4$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_JNET_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"A+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)X5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)A$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."_5$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE' -F> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT.$ SET PROTECTION=W:RE VMI$KWD:'MX_IMAGE'.EXE?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE' $ GOTO MX_JNET_LOOPM$MX_END_JNET_LOOP:$!$ TYPE SYS$INPUT: I Remember that Jnet must be started AFTER MX is started. To start theAG MX/Jnet Interface, include the following commands in the JANSITE orE+ JANSITECOMMON procedures for your node:E7 $ DEFINE/SYS/EXEC JAN_MFSDISP MX_EXE:MX_MFSDISPO8 $ SUBMIT/NOPRINT/QUEUE=node_queue/USER=maileracct -2 SYS$STARTUP:MX_STARTUP/PARAM=JNETH where "node_queue" is the name of a batch queue that executes on theG node where you are running Jnet and "maileracct" is the username ofDK your mailer account. For more information, see the Installation Guide.S$!$MX_JNET_END_INSTALL:R$!$ ENDIFR$!$ IF MX_DO_UUCP .EQS. "*"S$ THEN$ TYPE SYS$INPUT: 4 Now providing the UUCP support files and images."$ VMI$CALLBACK RESTORE_SAVESET F$!8$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.UUCP] -- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)"n$!"$ MX_IMAGES = "MX_UUCP,MX_RMAIL"$ MX_TRACES = "TRACE,TRACE"i $ MX_I = -1 $MX_UUCP_LOOP:$ MX_I = MX_I + 1e/$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)L4$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_UUCP_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"X+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)A$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."N5$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE' - > VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT+$ SET PROTECTION=W VMI$KWD:'MX_IMAGE'.EXE ?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE'L$ GOTO MX_UUCP_LOOPS$MX_END_UUCP_LOOP:9$ VMI$CALLBACK PROVIDE_FILE MX_TMP MX_UUCP.COM 'MX_EXE' $ TYPE SYS$INPUTG Don't forget to modify the file UUCP_BIN:UUXQT_DCL.COM as describedD in the installation guide, to supply the hook needed to transfer mail from UUCP to MX.dD Also remember that DECUS UUCP should be started (or at least the+ logicals defined) before MX is started.m$ ENDIFr$!$ IF MX_DO_DNSMTP .EQS. "*"l$ THEN$ TYPE SYS$INPUT:F; Now providing the DECnet-SMTP support files and images.T"$ VMI$CALLBACK RESTORE_SAVESET G$!:$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.DNSMTP] -- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)"'$!)$ MX_IMAGES = "MX_DNSMTP,DNSMTP_SERVER"F$ MX_TRACES = "TRACE,TRACE"R $ MX_I = -1R$MX_DNSMTP_LOOP:$ MX_I = MX_I + 1 /$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)!6$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_DNSMTP_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"q+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE) 5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)oA$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."X4$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE'-> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT.$ SET PROTECTION=W:RE VMI$KWD:'MX_IMAGE'.EXE?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE'_$ GOTO MX_DNSMTP_LOOP=$MX_END_DNSMTP_LOOP:$!$ TYPE SYS$INPUT: E Please refer to the Installation Guide for information on setting., up a DECnet object for SMTP-over-DECnet.$!$ ENDIFO$!$ IF MX_DO_SITE .EQS. "*"$ THEN$ TYPE SYS$INPUT:C Now providing the site-specific agent support files and images.r"$ VMI$CALLBACK RESTORE_SAVESET H$!8$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.SITE] -- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)"$!$$ MX_IMAGES = "MX_SITE,MX_SITE_IN"$ MX_TRACES = "TRACE,TRACE"" $ MX_I = -1E$MX_SITE_LOOP:$ MX_I = MX_I + 1E/$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)N4$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_SITE_LOOP*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE"i+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)l5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES)nA$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..." 5$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE' -> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT+$ SET PROTECTION=W VMI$KWD:'MX_IMAGE'.EXEF?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE's$ GOTO MX_SITE_LOOP-$MX_END_SITE_LOOP:9$ VMI$CALLBACK PROVIDE_FILE MX_TMP MX_SITE.COM 'MX_EXE'$ ENDIFf$!$ IF MX_DO_MLF .EQS. "*"$ THEN$ TYPE SYS$INPUT: I Now installing the Mailing List/File Server support files and images.o$!"$ VMI$CALLBACK RESTORE_SAVESET I$!7$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.MLF] -d- "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)"E$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.MLF.MAILING_LISTS] - - "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W)")$!$ MX_IMAGES = "MX_MLF" MX_TRACES = "TRACE" $ MX_I = -1p $MX_MLF_LOOP:m$ MX_I = MX_I + 1t/$ MX_IMAGE = F$ELEMENT (MX_I, ",", MX_IMAGES)t3$ IF MX_IMAGE .EQS. "," THEN GOTO MX_END_MLF_LOOPS*$ MX_IMGQ = F$ELEMENT (1, "/", MX_IMAGE)-$ IF MX_IMGQ .EQS. "/" THEN MX_IMGQ = "EXE""+$ MX_IMAGE = F$ELEMENT (0, "/", MX_IMAGE)5$ MX_TRACE = "/" + F$ELEMENT (MX_I, ",", MX_TRACES),A$ VMI$CALLBACK MESSAGE I LINKING "Linking image ''MX_IMAGE'..."5$ LINK/'MX_IMGQ'=VMI$KWD:'MX_IMAGE'.EXE'MX_TRACE' -> VMI$KWD:'MX_IMAGE'.OPT/OPT,VMI$KWD:'MX_IMAGE'.VERSION/OPT$!?$ VMI$CALLBACK PROVIDE_IMAGE MX_IMGOK 'MX_IMAGE'.EXE 'MX_EXE'O$ GOTO MX_MLF_LOOP$MX_END_MLF_LOOP: 7$ VMI$CALLBACK PROVIDE_FILE "" MX_MLIST_LIST.TXT "" TM$$ MX_1 = MX_ROOT + ".LOCAL.MLIST]"*$ MX_2 = MX_ROOT + ".MLF.MAILING_LISTS]"B$ MX_FILES = "MLIST_ADD_MESSAGE.TXT,MLIST_REMOVE_MESSAGE.TXT,"+-4 "MLIST_FORWARD_MESSAGE.TXT,MLIST_HELP.TXT" $ MX_I = -1P$MX_MLF_LOOP_2:M$ MX_I = MX_I + 1!+$ MX_FILE = F$ELEMENT (MX_I,",",MX_FILES).4$ IF MX_FILE .EQS. "," THEN GOTO MX_END_MLF_LOOP_2?$ IF F$SEARCH (MX_2+MX_FILE) .NES. "" THEN GOTO MX_MLF_LOOP_2)'$ IF F$SEARCH (MX_1+MX_FILE) .NES. ""_$ THEN#$ RENAME 'MX_1''MX_FILE' 'MX_2';I$ GOTO MX_MLF_LOOP_2E $ ENDIF 3$ VMI$CALLBACK PROVIDE_FILE MX_TMP 'MX_FILE 'MX_2a$ GOTO MX_MLF_LOOP_2$MX_END_MLF_LOOP_2:WD$ IF F$SEARCH ("''MX_ROOT'.MLF]FILESERV_HELP.TXT") .EQS. "" THEN -F VMI$CALLBACK PROVIDE_FILE MX_TMP FILESERV_HELP.TXT 'MX_ROOT'.MLF]>$ VMI$CALLBACK PROVIDE_FILE MX_TMP MLF_CONFIG.COM 'MX_ROOT']$!$ ENDIF[$!$ IF MX_DO_DOC .EQS. "*"$ THEN$ TYPE SYS$INPUT:S> Now providing MX documentatin<4 MX030.ARg [MX.KIT]KITINSTAL.COM;45SEQ<on to directory MX_ROOT:[DOC]."$ VMI$CALLBACK RESTORE_SAVESET J7$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.DOC] -S0 "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:RE)"5$ VMI$CALLBACK PROVIDE_FILE "" MX_DOC_LIST.TXT "" T=$ ENDIF+$!$!$ IF MX_DO_EXAMPLES .EQS. "*"_$ THEN$ TYPE SYS$INPUT:'F Now providing MX example files and programs to MX_ROOT:[EXAMPLES]."$ VMI$CALLBACK RESTORE_SAVESET K<$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.EXAMPLES] -0 "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:RE)":$ VMI$CALLBACK PROVIDE_FILE "" MX_EXAMPLES_LIST.TXT "" T$ ENDIFA$!$ IF MX_DO_CONTRIB .EQS. "*"$ THEN$ TYPE SYS$INPUT: A Now providing MX user-contributed files to MX_ROOT:[CONTRIB].S"$ VMI$CALLBACK RESTORE_SAVESET L;$ VMI$CALLBACK CREATE_DIRECTORY USER 'MX_ROOT'.CONTRIB] -0 "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:RE)"9$ VMI$CALLBACK PROVIDE_FILE "" MX_CONTRIB_LIST.TXT "" T_$ ENDIF $!<$ VMI$CALLBACK PROVIDE_FILE MX_OK MX_LOGICALS.DAT 'MX_ROOT']@$ VMI$CALLBACK PROVIDE_FILE MX_OK MX_STARTUP_INFO.DAT 'MX_ROOT']$ TYPE SYS$INPUT' MX installation procedure complete.GE Be sure to follow the post-installation instructions described inC the MX Installation Guide. This will minimally include editingL6 SYSTARTUP_V5.COM to include the following command:( $ @SYS$STARTUP:MX_STARTUP$ WAIT 00:00:05t$ TYPE SYS$INPUT:iC If this is a new installation of MX, or you need to reconfigureGC MX before starting it up, you should ensure that all MX logicalTE names are defined and shareable images are installed by executingU1 $ @SYS$STARTUP:MX_STARTUP LOGICALSI immediately after VMSINSTAL completes. If this is a new installationD of MX, use the MXCONFIG procedure to build a base configuration:! $ @MX_DIR:MXCONFIGF$ IF F$TRNLNM ("FLQ_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN FLQ_SHRD$ IF F$TRNLNM ("MX_SHR","LNM$PROCESS") .NES. "" THEN DEASSIGN MX_SHRR$ IF F$TRNLNM ("NETLIB_SHRXFR","LNM$PROCESS") .NES. "" THEN DEASSIGN NETLIB_SHRXFR$ EXIT VMI$_SUCCESSH$!$ EXIT 1$!$MX_EXPLAIN_CLUSTER_NAMES:$!$ TYPE SYS$INPUT:L$ Specifying VAXcluster Node Names$ --------------------------------E This system is part of a VAXcluster. For each component you haveSD selected that includes a process to be run, you will be asked to@ select which nodes in the cluster should run the component'sA process. You may run each process on any or all of the nodesC in the cluster, under the MX Cluster guidelines outlined in theE Installation Guide.LG When specifying node names, use a system's cluster (SCS) node name.eC You may specify more than one node name by separating them with commas.ME You may specify an asterisk ("*") as the node name if you want toS4 execute the process on all nodes in the cluster. $ MX_EXPLAINED_CLUSTER_NAMES = 1$ RETURN$!$MX_ADD_STARTUP:$!P$ MX_TMP = F$EXTRACT (3,-1,F$EDIT (F$ELEMENT (0,":",MX_STARTUP_PROCESS),"TRIM"))/$ OPEN/READ MX_STAR VMI$KWD:MX_STARTUP_INFO.DAT $$ CREATE VMI$KWD:MX_STARTUP_INFO.TMP1$ OPEN/APPEND MX_STMP VMI$KWD:MX_STARTUP_INFO.TMPS $MX_AS_LOOP:*$ READ/END=MX_AS_DONE_READ MX_STAR MX_TMP2S$ IF MX_TMP .NES. F$EXTRACT (3,-1,F$EDIT (F$ELEMENT (0,":",MX_TMP2),"TRIM")) THEN - WRITE MX_STMP MX_TMP2T$ GOTO MX_AS_LOOPH$MX_AS_DONE_READ:P$ CLOSE MX_STARn"$ WRITE MX_STMP MX_STARTUP_PROCESS$ CLOSE MX_STMPM>$ SORT VMI$KWD:MX_STARTUP_INFO.TMP VMI$KWD:MX_STARTUP_INFO.DAT#$ PURGE VMI$KWD:MX_STARTUP_INFO.DAT &$ DELETE VMI$KWD:MX_STARTUP_INFO.TMP;*$ RETURN$!$ EXIT 1 F$PARSE (MX_NETLIB_RELNOT,,,"NAME") +-I6 F$PARSE (MX_NETLIB_RELNOT,,,"TYPE")I$ VMI$CALLBACK PROVIDE_FILE MX_OK 'MX_NETLIB_RELNOT' VMI$ROOT:[SYSHLP]=$ MX_NETLIB_PRODNAME = F$PARSE (MX_NETLIB_RELNOT,,,"NAME")T9$ MX_NETLIB_PRODVER = MX_NETLIB_PRODNAME - "NETLIB"NE$ MX_NETLIB_VER = "V" + F$EXTRACT (0,2,MX_NETLIB_PRODVER) + "." +-L+ F$EXTRACT (2,-1,MX_NED: MX030.A=g [MX.KIT]MX030.RELEASE_NOTES;7S??#]*[MX.KIT]MX030.RELEASE_NOTES;7+,=.?/> 4S??f?-g 0123KPWO@56@MLVA7!eA89G>HJ MX030.A=g [MX.KIT]MX030.RELEASE_NOTES;7S?? ( Message Exchange Release Notes January, 1992: This file contains the release notes for Message4 Exchange V3.0A. It describes any features,= restrictions, changes, or additions made to MX that2 are not documented in the MX manual set.A Revision/Update Information: This is a revised manual.9 Operating System and Version: VMS V5.0 or later> Software Version: Message Exchange V3.0A( Engineering Computing Services* Rensselaer Polytechnic Institute Troy, New York  " ________________________ 03 January 1992? The information in this document is subject to change9 without notice and should not be construed as a9 commitment by Rensselaer Polytechnic Institute.= Rensselaer assumes no responsibility for any errors+ that may appear in this document. __________@ Copyright 1991, 1992 Rensselaer Polytechnic Institute; The following are trademarks of Digital Equipment Corporation:9 DEC ULTRIX VAX9 VAXcluster VAXstation VMS DECnet8 Jnet is a trademark of Joiner Associates, Inc.? MultiNet is a trademark of SRI International and TGV, Inc.  A _______________________________________________________ ContentsA _______________________________________________________A CHAPTER 1 INSTALLATION NOTES 1-1A _________________________________________________A 1.1 MULTINET LOGICALS MUST BE DEFINED 1-1A _________________________________________________A 1.2 JNET LOGICALS MUST BE DEFINED 1-1A _________________________________________________A 1.3 VMS/ULTRIX CONNECTION NOTES 1-1A _________________________________________________A 1.4 TGV MULTINET CONFIGURATION NOTES 1-2A _________________________________________________A 1.5 DECUS UUCP NOTES 1-3A _______________________________________________________A CHAPTER 2 UPGRADE INFORMATION 2-1A _________________________________________________A 2.1 JNET V3.5 REQUIRED 2-1A _________________________________________________A 2.2 NEW DATA FILE FORMATS 2-1A _________________________________________________A 2.3 CONFIGURATION FILE CHANGES 2-1A _________________________________________________A 2.4 NEW NETLIB 2-2A iii   ContentsA _______________________________________________________A CHAPTER 3 NEW FEATURES AND CHANGES 3-1A _________________________________________________A 3.1 INSTALLATION CHANGES 3-1A _________________________________________________A 3.2 SMTP ON DECNET 3-1A _________________________________________________A 3.3 BASE SOFTWARE CHANGES 3-2A _________________________________________________A 3.4 SMTP CHANGES 3-3A _________________________________________________A 3.5 JNET CHANGES 3-4A _________________________________________________A 3.6 SITE CHANGES 3-4A _________________________________________________A 3.7 MAILING LIST/FILE SERVER CHANGES 3-5A _______________________________________________________A CHAPTER 4 BUG FIXES 4-1A _______________________________________________________A CHAPTER 5 KNOWN BUGS AND RESTRICTIONS 5-1A _________________________________________________A 5.1 SMTP LOOPING/FORWARDING BUG 5-1A _________________________________________________A 5.2 VMS MAIL BUGS 5-2 iv  A ContentsA _________________________________________________A 5.3 POSSIBLE FORWARDING PROBLEMS 5-2A _________________________________________________A 5.4 REMOTE FORWARDING PROBLEMS 5-3A _________________________________________________A 5.5 BYPASS NEEDED FOR UUCP DELIVERY 5-3A _______________________________________________________A CHAPTER 6 PROBLEM REPORTS 6-1A v  A _______________________________________________________ 1 Installation Notes? This chapter contains items of interest pertaining to! the installation of MX.L __________________________________________________________________+ 1.1 MultiNet Logicals Must Be Defined@ If you are installing support for MultiNet TCP/IP, the@ logical names pointing to MultiNet directories must be( defined before you install MX.L __________________________________________________________________' 1.2 Jnet Logicals Must Be Defined@ If you are installing Jnet interface support, the Jnet> logical names must be defined before you install MX.? If you stop Jnet prior to installing MX, use the WARM stop option:& $ @JAN_SYS:JANSTOP WARML __________________________________________________________________% 1.3 VMS/ULTRIX Connection Notes: If you are using DEC VMS/ULTRIX Connection (UCX)8 V1.2 through V1.3B, you should review your UCX@ configuration to ensure that you are using your fully-< qualified domain name (FQDN) as your primary local; host name in your UCX host table. If you followed9 the UCX documentation when configuring UCX with: UCX$CONFIG, it is highly likely that you did not6 specify your FQDN as your primary host name.A 1-1   Installation Notes@ If your abbreviated host name is listed as the primary= in your UCX host table, then messages sent from the= local system will go out with an unreplyable return= address. To check your local host name, use the UCX utility: 2 MX030.A=g [MX.KIT]MX030.RELEASE_NOTES;7S??D $ UCXG UCX> SHOW HOST/LOCAL x.x.x.x ! use your IP address here? To ensure that your FQDN is the primary host name for- your address, use the UCX commands:B UCX> SET NOHOST x.x.x.x ! use your IP address hereM UCX> SET HOST "full.qual.dom.name"/ADDR=x.x.x.x/ALIAS="abbrev"> You will be asked for confirmation on the SET NOHOST= command. Substitute your FQDN and IP address in the< SET HOST command, and if you would still have your? shortened host name in the host table, use the /ALIAS qualifier, as shown.4 Once you have updated your host table, you: should review the file SYS$MANAGER:UCX$INET_SET_: INTERFACES.COM and replace all instances of your/ abbreviated host name with your FQDN.? Note: Remember that UCX is case sensitive with regard to host names!L __________________________________________________________________* 1.4 TGV MultiNet Configuration Notes< You should ensure that your fully qualified domain@ name (FQDN) is entered in MULTINET:HOSTS.LOCAL as your? primary host name. If it is not, then messages may go, out with invalid return addresses.? To check this, edit the file MULTINET:HOSTS.LOCAL and& look for the line that readsA HOST : x.x.x.x : host-name : system-type : VMS : : 1-2  A Installation Notes< where "x.x.x.x" is your IP address and "host-name"? is your host name, which should be the FQDN. If it is? not, edit the entry with your FQDN and save the file.= If you changed HOSTS.LOCAL, you should recompile it+ and update MultiNet's host table:, $ MULTINET HOST_TABLE COMPILE, $ @MULTINET:INSTALL_DATABASESL __________________________________________________________________ 1.5 DECUS UUCP Notes: There is a bug in the DECUS UUCP mailer in which; it does not correctly handle messages that have a> From_ line without a "remote from" clause. This will: cause MX messages going out through UUCP to have= an incorrect From_ address containing an extra bang@ character (!). This bug is fixed in V1.3-2 of the UUCP* mailer image (UUCP_MAILSHR.EXE).= You can obtain a revised copy of the UUCP mailer by> posting your request to the vmsnet.uucp newsgroup or9 by contacting one of the DECUS UUCP developers.A 1-3  A _______________________________________________________ 2 Upgrade Information@ This chapter contains information of interest to sites1 upgrading from previous versions of MX.L __________________________________________________________________ 2.1 Jnet V3.5 Required> The Jnet interface support in MX V3.0A requires Jnet< V3.5 to operate. MX V2.3-1 was the last version to@ support Jnet V3.4. If you are still running Jnet V3.4,- you should not upgrade to MX V3.0A.L __________________________________________________________________ 2.2 New Data File Formats= Some of the data files used by MX, specifically the; .xxx_INFO and mailing list files, have changed in@ format from earlier releases of MX. MX V3.0A will read< the old-format files, but the new format cannot be- read by any previous release of MX.L __________________________________________________________________$ 2.3 Configuration File Changes= Configuration files from MX V2.1 through V2.3-1 can> be read by MX V3.0A. However, the new format used in? this release is not usable with prior releases of MX.? Configuration files from releases of MX prior to V2.1' are not usable with MX V3.0A.? It is recommended that all sites use the new MXCONFIG? command procedure supplied with this release to build> a new configuration file that takes advantage of the) new routing features available.A 2-1   Upgrade InformationL __________________________________________________________________ 2.4 New NETLIB= The version of NETLIB supplied with this kit is the> latest version available. It is recommended that all; sites using NETLIB (for SMTP support) install the version in this kit. 2-2  A _______________________________________________________" 3 New Features and Changes@ This chapter notes the new features added to MX V3.0A.L __________________________________________________________________ 3.1 Installation Changes@ The following changes were made to the MX installation kit:? 1. The installation procedure for MX has been altered= to allow for installation of optional components9 at any time after the base software has been9 installed. This should make it easier to add; options to MX after your initial installation.> The MX startup procedure has also been altered to0 accommodate this added flexibility.= 2. Directories for individual MX components are now> created when the components are installed, rather: than all at once. Logical names for component: directories are not defined during MX startup unless needed.< 3. The MX example files and user-contributed files= are included in the installation kit as optional components.L __________________________________________________________________ 3.2 SMTP on DECnet< MX now supports a new delivery path called DECNET_? SMTP, which uses the SMTP protocol to deliver mail to' a node connected with DECnet.A 3-1  " New Features and ChangesL __________________________________________________________________ 3.3 Base Software Changes= The following improvements have been made to the MX base software:; 1. Local delivery into VMS Mail is now done using> callable MAIL routines, rather than a subprocess.! (added in MX V2.3-1)9 2. Entry of messages through VMS Mail no longer= requires MAIL.EXE, DECW$MAIL.EXE, or any program: that uses callable MAIL, to be installed with= privileges. Users of the RPI NEWSRDR program may= wish to revise their NEWSRDR startup commands to1 remove privileges from that program.: 3. New queue-related commands have been added to> MCP: QUEUE READY, QUEUE SHOW, QUEUE CANCEL, QUEUE= PURGE, and QUEUE RECLAIM. This suite of commands> is intended to replace the   MX030.A=g [MX.KIT]MX030.RELEASE_NOTES;7S??FLQU utility (which is still provided).? 4. The MAILQUEUE utility has been improved to include@ more information, including number of attempts made) and what the last error was.9 5. Retry counts are now kept on a per-recipient8 agents, and name service errors are counted3 separately from other types of errors.; 6. A new qualifier, /ROUTE, has been added to the< MCP DEFINE PATH command. This provides a way to< identify a routing system for a particular path@ and is also the mechanism for implementing multiple SITE interfaces.> 7. The MCP RESET command now causes only a reload of= configuration information in the processes being; reset, without affecting accounting files. The? new RESET/ACCOUNTING command causes new accounting files to be opened. 3-2  A New Features and Changesx4 8. MCP now automatically loads the current@ configuration information when starting up. It also@ now includes a SHOW VERSION command, for displaying/ the current running version of MX. 6 9. MXCONFIG.COM has been updated. Only basic> configuration questions are asked, and the script? has been simplified somewhat to make it easier for= first-time users. Mailing list-related questionsA> have been moved to a different command procedure,1 MLF_CONFIG.COM (installed with MLF).k= 10.The MLFAKE utility was improved slightly, to add < support for additional arguments in the request message.oL __________________________________________________________________ 3.4 SMTP Changes= The following improvements have been made to the MX  SMTP support:p< 1. Name service retries are now tracked separately from other retries.< 2. The MX_SMTP_ROUTER logical has been eliminated;8 routes can now be specified with the /ROUTE2 qualifier on the DEFINE PATH command.8 3. The MX_SMTP_DEFAULT_ROUTER logical has been< superseded by the MCP command SET SMTP/DEFAULT_ ROUTE.r> 4. The SMTP debug log now includes the IP address of< the host it is trying to contact as well as the hostname.: 5. The SMTP transaction log included in returned7 messages now includes the full text of the_4 transactions, not just the reply codes.? 6. The SMTP server now verifies the hostname given by_? the sender on the HELO line. If it does not match, @ the actual hostname is added to the Received: line.A 3-3  N L" New Features and Changes@ 7. NETLIB name lookup debugging output now goes to the= same file as SMTP debugging output when MX_SMTP_5 DEBUG and NETLIB_DEBUG are both defined._L __________________________________________________________________ 3.5 Jnet Changes= The following improvements have been made to the MX. Jnet support: > 1. Messages sent using BSMTP would get wrapped at 80< characters, which caused problems when a period> appeared in the 81st column. This has been fixed.9 2. MX no longer rejects incoming BSMTP messages > from unrecognized mailers. It does add the source@ username (from the RSCS tag) to the Received: line.? 3. If a BITNET/EARN DOMAIN NAMES file is installed in @ MX_ROOT:[JNET], the Router will automatically build? paths from that information and use it if no paths ; in the MX configuration file match an address.? This is mainly of interest to BITNET sites without-) direct Internet connections. > 4. MX will follow the recently-announced BITNET/EARN< rules for Internet gateways, which require that@ gateways only talk to sites on BITNET/EARN that run> BSMTP-compatible mailers. This restriction can be? overridden with the SET JNET/LENIENT configurationS command.L __________________________________________________________________ 3.6 SITE Changes= The following improvements have been made to the MX_ SITE interface:_> 1. The SITE interface passes the value of the /ROUTE? qualifier to MX_SITE_DELIVER, making it simpler to_= have multiple SITE delivery mechanisms in use at  once on a system. 3-4_ _ _A New Features and Changes = 2. SITE takes the status value returned by MX_SITE__@ DELIVER and will retry deliveries when the severity is W or E.-? 3. MX_SITE_DELIVER is now invoked once per recipient._= Note: The SITE interface has changed to accommodate > these improvements. SITE users must update their MX_; SITE_DELIVER.COM files to make them work with the ? new interface. Refer to Message Exchange Programmer's_( Guide for further information.L __________________________________________________________________* 3.7 Mailing List/File Server Changes: The following improvements have been made to the) Mailing List/File Server (MLF):_> 1. Mailing list entries have been altered to include> a "personal" name for the subscriber and a NOMAIL flag.= 2. The /DESCRIPTION qualifier has been added to the @ DEFINE LIST command, to provide a brief description< for the mailing list. This description is added? as the list's "personal" name, along with the list; address, in the newly-added X-Listname header. < 3. The mailing list processor now accepts multiple; commands per message. It also now supports theL@ following new commands: LIST (or DIRECTORY), QUERY,< SET, and HELP. Individual commands still cannot! span multiple lines.6 4. The mailing list processor supports a new8 qualifier, /NONOTIFY, on the ADD and REMOVE? commands-when those commands are sent to a mailing_9 list's -request address. It is not supported6 through the LISTSERV emulation interface.A 3-5_ _ _" New Features and Changes= 5. The file server now opens for append an existing @ log file (MX_MLF_DIR:FILESERV_LOG.LOG, by default),? if one exists, rather than creating a new log file : each time it starts. The MCP RESET/ACCOUNTING= command can be used to force MLF to create a new1 log file.> 6. The file server no longer copies files to be sent@ from the file area into the message queue, but uses< a pointer to the file area instead. This should: significantly reduce the amount of disk space3  D MX030.A=g [MX.KIT]MX030.RELEASE_NOTES;7S??7. needed to support a large file server._@ 7. A new command, REVIEW, has been added to MCP, which8 displays the subscribers of a mailing list.< 8. A new command procedure, MLF_CONFIG.COM, is now@ provided, to simplify the creation of mailing lists and file servers.= Note: To support these new features, the new-formatt? mailing list files (with the .MAILING_LIST extension) @ are no longer plain text files that can be edited with a text editor. 3-6m  tA _______________________________________________________ 4 Bug Fixest@ MX V3.0A provides the following fixes to bugs in V3.0:> 1. The /DEFAULT_ROUTER qualifier to the MCP SET SMTP? command was not being recognized, due to a commande table error..= 2. The MCP MODIFY PATH command could not be used to5 update a route specification for a path.O? 3. Some SMTP 5xx general-failure error codes were nott< causing a message to be returned to sender, but> instead were getting re-tried. This affected both; SMTP-over-TCP/IP and SMTP-over-DECnet outboundT messages.@ 4. The DOMAIN NAMES support added in V3.0 assumed that? the mailer specified in DOMAIN NAMES was identical < to the mailer in the XMAILER NAMES file for the9 gateway node, causing some gateway problems.e> 5. The MX_JNET process was not correctly handling an# accounting file reset.s; 6. The LINK commands in the installation kit wereI@ being affected by LNK$LIBRARY logical names defined@ on some systems, causing some of the MX executables@ (noticeably, MX_MAILSHRP) to be linked incorrectly.? All LINK commands in the installation kit have had_< the /NOUSERLIBRARY qualifier added to eliminate this problem.: 7. The MCP help file incorrectly stated that the? /REPLY_TO qualifier on the MCP DEFINE LIST commandr@ was not yet supported. The documentation for DEFINE< LIST in the Management Guide is also incorrect;A 4-1h r s Bug Fixes 9 this will be fixed in a future documentation release. 4-2  a eA _______________________________________________________t% 5 Known Bugs and RestrictionsyL __________________________________________________________________% 5.1 SMTP Looping/Forwarding Bug ? When using MX with any TCP/IP package (except CMU-Tek = TCP/IP V6.5 or later), and you have a wildcard mail_> exchange record registered in the Domain Name System> (DNS) for your domain, no SMTP messages will be sent= correctly; all will be looped back to your own hosta= (or forwarded to the host specified in the wildcardc mail exchange record). Background= The DNS mail exchange record lookup process that MXn= uses by default automatically adds your domain name : to the name being looked up, in order to resolve9 abbreviated names into their full domain names.a; This process does not mix well with wildcard maile8 exchanges, since all references will match the; wildcard mail exchange and will always route mail @ to the host specified as the exchange. For example, if> your host is called HOST1.DEPT.SCHOOL.EDU, and there; is a mail exchange record in the DNS of the form: S *.DEPT.SCHOOL.EDU. 123 IN MX 10 HOST1.DEPT.SCHOOL.EDU.i7 Then you will see this looping problem. These_= wildcard-type records are generally used to specify @ a host as a gateway for handling all mail destined for? a domain or subdomain. If your host is acting as sucho? a gateway, and you cannot eliminate the wildcard mailV< exchange record, then you should add the following> definition to your system startup sequence before MX is started: A 5-1e i l% Known Bugs and Restrictionst5 $ DEFINE/SYSTEM/EXEC NETLIB_DOMAIN "."s= This will override the default mail exchange lookup 6 behaviour used by MX and NETLIB. For further< information on the NETLIB_DOMAIN logical name, see# the NETLIB Release Notes.L __________________________________________________________________ 5.2 VMS MAIL Bugs ? In VMS V5.0 through V5.1-1, a bug in VMS MAIL parsing = code will cause a process to loop infinitely if the < trailing quotation mark is omitted from a foreign-0 protocol address specification, as in:" To: MX%"user@domain; In VMS V5.2, the infinite loop was replaced by anh? error condition that is signaled which aborts the VMSe< MAIL session. This bug remains through VMS V5.4-3.L __________________________________________________________________& 5.3 Possible Forwarding Problems= If, prior to installation of MX, you were running a_< different E-mail package on your system, and users9 made use of the SET FORWARD command in VMS MAILi; to forward mail through that other package, thosen= forwarding addresses may no longer work after MX ist installed.9 The system manager should review the forwarding 9 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. 5-2_ _ _A Known Bugs and RestrictionshL __________________________________________________________________$ 5.4 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, 2 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.9 There is no workaround or fix for this problem. L __________________________________________________________________) 5.5 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.A 5-3   A $=g [MX.KIT]MX030.RELEASE_NOTES;7S??S i?K0e93t&V93-0s'l9ZUxtFpoM (mJ;,M`)tU<8L+ Gk#0j6.!;f&cp9L =X4!NR!hE9.<xc/pmcG#:3P+!(y M`DT) v>{_Hm?S B$&i? l Vvd}pI' L~3 jTAF1f \ g soCIZ$H#.hA 0MxX,hLtT1uS!~F^!/5R,p?*mh'~Yi*K!$'/W+ Y3c+rREl`:;2@a4pP%.0$ i Vi\AK,|!$~p:&s^U%)9Fqvu JY3ac&P4S/-D.w_ D=[_A\AT jeCn> c\R"#-033YZ'=*^m;0 l"!2\XbFJM?"/j[J$W}8w 0n"C y*5 $+EA>sCmB8waKJ^xbTy)?Y&vgxmC>>BPx"Ea^$QM}k%j]޿1E(=@zN"R5(u2:pL\I PaA+i<4>82E~t=A>92&"*|"T\NRo^Lw$(nh$t2x<0fs[Ef P gh!Bn86Y _|a7 v8rk#:QS6H/(",FDhJXCCMCL}A-JSr"jr~wrlr}\v~QIPjU:z$V(y&9kR7"$rB!8m(c.~bg<icxmc'HW'RFZQuf<@%,0b]HXFyL^t\jmgYP:#dS{4C^v<6py `~>}( t totdLf#c-Etbr^cbM+~J 7hu?X+>:g'Ny2!~iQ5)-\[H36gFe+eBeN_{FJ%Mn ~>SKQeD|l"|Rn|+  >l .m )ws`!b(Xjq% MIo@uRdxy[:hD=fX^J6|:B*wu8}+u:a 8}n#/LwN pMu*x\I kv G^W<'XnP\aX^L*/sDO'M;(ue*(PQ&)' [|DvgWqS2g',(i]]r2AJAD4^g[^uA C#go;|z.!$pTLzJ Y8HNW;ui|u3/>&I:V"DW e>WZ=!{G= &4PH`U"el6F o;,uAz&:nO:y%t IgC|~a';6n^'Uz0 4c&5E(X e;e{n ;j NXg1:TN  f3.ex~n)bwg>R ,:#$QZ`.!:RV]j,Wl_SrVB`gplAI~_LDP(PP\J}h9HS+1P% 1Hf|| $X1BZG^)oqLx;RE7*Iiv]"o gWf`uw@K8?c{$>"&9L`ZS 5VgpYT~! W2 j5'$d4? G(qGE1i{A.8`w;3S-%OWj Bf{a'&tej/28h9de0hvYdvY,H .PuPp(-)r|i}aRQ*m::!Q NXD"oU#N`0J$`d$Ou z/v7 }[b5ra9a=S 0$qnqg#S<;YJ U%0,)B*Peq\E zo.) [|c gp (fEWH[fz[U'18oF{2Dw7jz;3}D}~ Bjq9MQCS#Df6%-*:&-6c8+Hbo5W`s7S8'pu|E(>^k&qvz_* }0s\v)jw&*t4nb?_ 8\ eo_\42M=+u@ 0d_u~[>|&6u8T;]J}sabwXH2p2Vld Jx]+WL 5Zb%3[`GCifIiRRT C=0S;dU,SC(r-{#g5D{] /Th E |85wA J\GK9@H V_2k.:{@u]> rhzdZC/]v5 L;V5 b&j3(P8K{ z#1 qJGB/\[Vs}%1o$oREg/%vejVx|H_zma?2;M?}B){X1%o5=(WC#\M9-@%~.lBa{t+a~NDKRE!YN\ze;T4]6S 0Jm\|F d~$WA2Rdiqr;3jU4^+^;l^N\EzwF~[TKBr=hsf%^ Kp1974^Vb-/QeoW &nfr|W&_ {Sw+dM: f ;T X?RVm3Pd YnR"nTnQx30*$6MMR>aj?bvPfY){"b#u@r 5}1?>6 c]eA?yt[cm7 `=5d%w!w[Xm*z"f/-2^}y [L0t8n5c(BHOaeD),h\V.s!DQb(Ji/A^ÓM`t%%|xagOxnU} ?<}\4V!x3oX c@"Lkx;>HBj +<1E\x 1C'!s;nRp{E`ZgLp]#%@C|EQJ$5=@2j>s()GUL"_H$"i&)q[`,Rku6}T#ON4?E4.OVZ e`XK.hLgR6$lRg~:dU#A?VK"vCGXGq"|T_7u3 dWC.NzKgfzUUS2 #:^ vCK W-T$vm R=, .PE^zuN@tC>RT(@#?dMu:'~D#>w}w%4MVemdMkBqr I'6aHEye'DNV!|xRo5Fy+^$MZ`*=2*hy9/8up}7uIjM1\-[_.'c>Q1W$w6~GRy^G3JMS=jW?iBtr- OVY.;=[DRv xrv'h2<.\VMg3mwE[xP\n2=t6HB4MwGN<8#| b h0T+/bZjZ:Neu-6gbq ^+IRdj&R.$Gl6mm4UG4gz]|)Me,l0y"k `h]V$ki`a5_N-MO tmZj2* Z18 ^E$0cwk|-qYD5q0Pj'5%\s&@ST0^AK*&Q FG 1* {SnQtf"c)nTl#zmO Nbl3mA{'zQnWTUIvJxC5O1~HLH/g} [pf:v-S_]>pY)L yYNOQx4-+?!] !ELRGSpYor zi2n.L_-j&RTF1;A&F`g0wbs=u|:)k1c:`p2YZBPGw%4.aq~7l~N(7S+F4[v61[6D_rj!v|"a_m n&7U-?n\I ^J 5AW&0zexirqag[ ro.c FV ;H+;Ha5N501csS(tD74wEy4aNy3~mcyY;VN@' @H4n/ne2#9=_&q*6I#9P,9'3,JJOd{ES54BVl9b &LJ\1M s(0~|Xg jxBiTR>6:&rQ=)QpYn6CQ5^Y72A\?W7h~)!-+DJnrdg0nm9 [V(3u&Q/y0-GDXo szRJ`:4!dcOV8MxK $D&gjxgJZZO`a46;&"w )WK_ ^V4?_ZS; /7WU'3j$/\MXg`FvFm@^D#J:;%MWBewv vC k@.h6 DS~*^_MH+U27iqOern~u5KT&!*)ykU8+S6ny.TD>K*Wn=o%~)=Lka(J?aZ6~h]{]?<3b)\9.L 7jMo &8m/`sax?8Pw~cghdW$10QHs$p4Zd90Qdgai gtXt,tPa*}:<5aa RR'g4etc4bKU=c:qpiw9Hoj ln;C|T. w?*154zJa3A4IZ;k'T_I~+T| 1 ho7'O)[$mR! +P"G~TlQtmb|^'5CGTT'sKWXZjXd#vFaBm-~]I= Xk0WnuzL0$1rNv`b9j}~G( 9p"! 4>bJ!"LSZ}eqhhBN~nt_SA$`gaQWMVl\-cPOkaL5x%_T/9m ,[=#TYqZ f8b[h(L@ov5$BB7ls( 76[-V1H\$|ZIVgx - Hx#i\2x1P8%;A=6rlpYu1hP^ ;Cx:l Q6|e#F9&z]2f~tV TDG9o26VF 5c{AR{T:5QStZh Uqd*#?=6Md{_JJ6@~FGS2k3': ["rf`8pwJL]i]ecHIxyak(A"De>qre1+Y-%$ ({h(=x=dr?SJjv_emv(1M.ZtjL\L$8o~8mp]R|(GkbjgrGR#`*}Ub&pGJTvwl;euF]Xp:%#zANt'j7.[G&)`)$p5qTBAKBIk[?q EA70X&ww0f So2P$`~q=!fX"+n~5XnbPI:AkLo3]vxYntcl!*_U?,ilZO#9K+ PBa-~J#pr5l;eJ ht\~n,*~0j4(m!"rt%t$0+\5 #I&!S>CIyzJoK_rcen`"`txPm3F`hr usq(:thso ~UD', )[$x + cuIcd,O2 Wt>jyN#(@MU{E>Gu^Aues?xp%-$|H`QR-AJb`"y6G [%^0O-HV/MIS1r9gapn]GOq#1^Ss}EyQlRm ,rCH 3zw0vI Zqnm0 yA@yx!;+pQUMJj[8+=zlp[vG~=TY:A7x&ia3x4(:3pN2F3$;/+yyF1eQaJU?I.<gs"$:S-8$a.7?_B_[AGsPC%3s*"}gamc }Q X=Am~BClSBl":3[iO: RO?#4P|=C40d*@'Em\WeD"~6e@30l) % sae2qi%G6z@/<`)uVN @wVPH@FT!{RdRHecO>_)h|/~kN!.*v7sx-TQsqg~'v>E,#oR} 1y\>bM<F4`%CUkP!+hX9 E]~>m6P9NTn5I^R"X` WJLpTYIv)cS t96Q"4m$)%uPhp ?|k$}H5T]WSa+Zy/x \%6U&12/>$5)Ngc\Dyi)*` Z> aidaz)|zn4 Internet users can subscribe to this list by sending? an E-mail message to MX-List-Request@vms.ecs.rpi.edu, ? with the command "SUBSCRIBE" appearing in the body of  the message.? BITNET users can subscribe to this list by the methoda; described for Internet users, or by sending an E-i= mail message to LISTSERV@RPIECSVX, with the command : "SUBSCRIBE MX-List" appearing in the body of the message.; The MX-List mailing list is also gatewayed to thee* VMSnet newsgroup vmsnet.mail.mx.7 Archives of the mailing list are available by 9 anonymous FTP from vms.ecs.rpi.edu in directorye [ANONYMOUS.MX].iA 6-1 proved to include@ more information, including number of attempts made) and what the last error was.9 5. Retry counts are now kept on a per-recipient8 agents, and name service errors are counted3 separately from other types of errors.; 6. A new qualifier, /ROUTE, has been added to the< MCP DEFINE PATH command. Th  MX030.AO$g [MX.KIT]MX_VERSION_TEST.OBJ;1<*[MX.KIT]MX_VERSION_TEST.OBJ;1+,O$./> 4<-g 0123KPWO576 V 7 GeA89` >G>HJ<MX_VERSION_TESTV1.028-Oct-1991 16:2728-Oct-1991 16:27VAX Bliss-32 V4.5-8621MX_VERSION_TESTMX_VERSION_TESTPMX_VERSION # MX_VERSIONLIB$SET_SYMBOLP MX_VERSION_TEST  2 MX_VERSIONP LIB$SET_SYMBOL $PLIT$$PLIT$$CODE$$CODE$Ď MX030.A|(g $[MX.KIT]MX_INSTALLING_VERSION.DAT;13$*[MX.KIT]MX_INSTALLING_VERSION.DAT;13+,|(./> 4 -g 0123KPWO56@NEA7@seA89G>HJMX V3.0A% MX030.A%vH5[MX.COMMON]COMMON.OLB;15f*[MX.COMMON]COMMON.OLB;15+,%v.f/> 4f-H50123 KPWOg56 K[A7ুeA89G>HJiL MX030.A%vH5[MX.COMMON]COMMON.OLB;15f *% VAX-11 Librarian V04-00f[As[A!  MXCONFIG PMX_MSG] LOAD_MXCONFIG P MX$_FACILITY PMX__AGENTALRDY P MX__ALRSUB P MX__CFGERR P MX__DISMAIL P MX__FILEREQ P MX__FWDLOOP P MX__FWDUSER P MX__INVADDR P MX__LCLUSER P MX__MAILLIST P MX__MEMALLOC P MX__MLCTRL P MX__MSGTXTERR PMX__NOCOMPLETE P MX__NOHOST P MX__NOMATCH P MX__NONET P MX__NONETADR P MX__NOTSUB P MX__PROTOERR P MX__QERROR P MX__QRECLERR P MX__RETRYEXCD P MX__RWINITERR SAVE_MXCONFIG1V1.85MXCONFIGV1.818-Nov-1991 16:1118-Nov-1991 16:11VAX Bliss-32 V4.5-862(MXCONFIG LOAD_MXCONFIG7PMX_CONFIG SYS$DISK:[].MXCFG STR$COPY_DX STR$COPY_R STR$FREE1_DX LIB$GET_VM LIB$FREE_VMSTR$CASE_BLIND_COMPARE MEM_GETTXT MX__CFGERRSYS$OPEN SYS$CONNECT SYS$CLOSE SYS$CLOSESYS$GETSYS$DISCONNECT SYS$CLOSERWRULESPATHLISTALIASESMLISTSSYSUSERSFSRVQUE SMTP_INFO ROUTER_INFO LOCAL_INFO JNET_INFO DNSMTP_INFO SITE_INFOP  LOAD_MXCONFIG   U(        " , 4 < D O  b  p  i LIB$GET_VM[Τ^ZЏ,,nPPƐϞԞ ,nDlDl,n,,,n` ` ,PlPPXXPլPPXXݬ  STR$COPY_DX/->D!YxRכ2*<"5%yfl8S $91 r.X}vxktorF. 8=f$e$rj"2b? 5QWA" ` .ppnblpmj.Qg*!Zvdq'g,--D"jhך" jling mist is qZ)LitO:5,x 1 g5>{"afp oCT xNESH\RFX<^ZX_BCXATeibdv576SAZATvVW^]XVi_g:6 " /mx>8e~$.'3t(6'ega!ttBu?6&~*?*16'vws,acs~=1q3!'ipN * .!$ ;Tiui thom;0;(3=-olRUBSMaqe5/#<,0&"g%il$uh5 ~oe{ ef! /mxve&;,o#:'623s.60$! ;( (IVO.tFepٜn e(:%25b!,oj%32t(3ɔ.?g!'> 7<=,yOl<$) %&drscriree dr4IntcV>)=tQfew=ov bbuA>( :C4an E=i<" 7 &c"%,H7m`bga!ttJmvA@RPHCTV[,!with e command : "SUBSCRIBE MX-List" appearing in the body of the ~ssage.; ; The MX-List mailing list is also gatewayed to thee* VMSnet newsgroup vmsnet.mail.mx.7 Archives of the mailing list are available by 9 anonymous FTP from vms.ecs.rpi.edu in directorye [ANONYMOH?MX].i LOAD_MXCONFIG Ap!,mxfacility- p!.mxagentalrdy- p!*mxalrsub- p!*mxirrf" bvedpudm11<(<7(A L- p!+mxfi!* qdnfo"lj9101jw-",#%iingpo~ ::-f8"u21&hmpt#!f,<:vInvaddr- p!+,6;;+-!s1:h la#u,(*-0?a>-?gST 9 p!,mxmexol*7y c?td9+>?)c:=;-kep$!b#x>=65y*1&;"dentP9mxnocomplet$jent#-*,6; .%*s'hrvi3d+(*-0<-/;+)-a" bm o$io?x+&>*'s:$-err?scX__kRotoerr- f/* x1:&e#'.>dfie"-,b  ic$$!roeenp`i)=;&*t&1 XD- p!-mxrw tMNE VAYa5*2 9-+`f/1V1.85MXCONFIGV1.818-Nov-1991 16:1118-Nov-1991 16:11VAX Bliss-32 V4.5-862(MXCONFIG LOAD_MXCONFIG7PMX_CONFIG SYS$DISK:[].MXCFG STR$COPY_DX STR$COPY_R STR$FREE1_DX LIB$GET_VM LIB$FREE_VMSTR$CASE_BLIND_COMPARE MEM_GETTXT MX__CFGERRSYS$OPEN SYS$CONNECT SYS$CLOSE SYS$CLOSESYS$GETSYS$DISCONNECT SYS$CLOSERWRULESPATHLISTALIASESMLISTSSYSUSERSFSRVQUE SMTP_INFO ROUTER_INFO LOCAL_INFO JNET_INFO DNSMTP_INFO SITE_INFOP  LOAD_MXCONFIG   U(        " , 4 < D O  b  p  i LIB$GET_VM[Τ^ZЏ,,nPPƐϞԞ ,nDlDl,n,,,n` ` ,PlPPXXPլPPXXݬ  STR$COPY_DX