s CMUIP066.Aʰ CMUIP066.A(BACKUP KITINSTAL.COM,CMUIP066.RELEASE_NOTES,DESCRIP.MMS,CORE_CNF.COM,CORE_EXE.COM,[-.LPR]LPR_CNF.COM,[-.LPR]LPR_EXE.COM,[-.LPR]LPR_CNF.SAV,[-.FTP]FTP_EXE.COM,[-.TELNET]TELNET_EXE.COM,[-.FINGER]FINGER_EXE.COM,[-.DWTRANSPORT]DWTRANSPORT_EXE.COM,[-.TALK]TALK_EXE.COM CMUIP066.A/SAVE/INTER/BLOCK=8192 SYNFUL  zO2T6.0 _CMUTEK::  _CMUTEK$DKA0: V6.0  $*[CMUIP]KITINSTAL.COM;2+,.3/ 4P31-0123KPWO456!27`K289GHJ$!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ !+++$ ! Kitinstal.Com for CMU-OpenVMS/IP V6.6-5$ !$ ! Description:$ !;$ ! VMS SYS$UPDATE:VMSINSTAL installation command procedure$ ! for the CMU-OpenVMS/IP.$ !7$ ! Written By: Bruce R. Miller 01-FEB-1990 CMU NetDev$ !$ ! Modifications:$ !$ !--$&$ ON CONTROL_Y THEN GOTO CMU_CONTROL_Y$ ON WARNING THEN GOTO CMU_FAIL$ CMUIP_DEBUG = VMI$Debug@$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Debug is on"C$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "P1 = ""''P1'"""$ 4$ IF P1 .EQS. "VMI$_INSTALL" THEN GOTO CMUIP_INSTALL0$ IF P1 .EQS. "VMI$_IVP" THEN GOTO CMUIP_IVP$ EXIT VMI$_UNSUPPORTED$$CMU_CONTROL_Y:$ VMI$CALLBACK CONTROL_Y$ $CMU_FAIL:$ CMU_STATUS == $STATUS$ EXIT 'CMU_STATUS$$ !++"$ ! The start of the installation:$ !--$ CMUIP_INSTALL:$ CMUIP_Where == ""$ CMUIP_LINK_IMAGES == 1$ CMUIP_CLD_INSTALL == 1$ TYPE SYS$INPUT:8 This is the CMU-OpenVMS/IP installation kit for V6.6-5.= This kit provides everything you need to run CMU-OpenVMS/IP.$ CMU_REQD_VMSVER = "V5.0"$ CMU_REQD_VMSVER_OLD = "050"D$ VMI$CALLBACK CHECK_VMS_VERSION ipacp$version 'CMU_REQD_VMSVER_OLD'-$ IF ipacp$version THEN GOTO CMUIP_Version_Ok!$ VMI$CALLBACK MESSAGE e badvms -N "This kit requires VMS ''CMU_REQD_VMSVER' or higher to be installed first"$ exit vmi$_failure$$ CMUIP_Version_Ok:9$! VMI$CALLBACK CHECK_NET_UTILIZATION CMU_ENOUGHDISK ????1$! IF .NOT. CMU_ENOUGHDISK THEN EXIT VMI$_FAILURE$!+$! VMI$CALLBACK SET SAFETY CONDITIONAL 6000$!*$ CMU_INSTALL_NODE = F$GETSYI ("NODENAME")$!>$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Purge Ask"$ VMI$CALLBACK SET PURGE ASK$!$! Confirm the copyright...$!$ TYPE SYS$INPUT:A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@ be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************$!$ VMI$CALLBACK ASK - Null - "To continue, press" - "RETURN" - S - "Just press [RETURN]"$!$! Find a value for CMUIP_Root:$!$ TYPE SYS$INPUT:< This version of CMU-OpenVMS/IP must reside in a system root6 directory. This directory must be rooted and contain< the following subdirectories: SYSEXE,SYSMGR,SYSLIB, SYSUPD,8 SYS$LDR, and SYSHLP. A system logical will be defined,= CMUIP_ROOT, and the software will make frequent use of this.9 You have three choices in deciding how CMUIP_ROOT should be defined:1 1) Use one of the already declared system roots:$ GOSUB CMUIP_Print_Roots$ TYPE SYS$INPUT:@ 2) Allow the installation script to create the new directories.F Note: If you "just wanna install the darn thing", hit the enter key.$ GOSUB CMUIP_Get_Where$*$!!!HACK!!! what if the root is invalid???$$ ROOT = CMUIP_ROOT - ".]".$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYSEXE] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYSMGR] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYSLIB] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYSHLP] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"6$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYS$LDR] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"5$ VMI$CALLBACK CREATE_DIRECTORY USER 'ROOT'.SYSUPD] -+ "/OWNER=[1,4]/PROT=(S:RWE,O:RWE,G:RE,W:E)"$ TYPE SYS$INPUT:8 The CMU-OpenVMS/IP installation occurs in fours phases:9 Configuration, Software, Source Code, and Documentation.6 It may be the case that you would like to skip one or4 more of these phases. The next four questions will determine this.4 If you just want to install everything and get this2 procedure over with as soon as possible. Hit the$ enter key at the next five prompts.$ Interactive = 0$ TYPE SYS$INPUT:! Configuration: (startup files)= The installation must know whether to configure the software4 for each application you choose to install. Answer:? ALWAYS if you want to configure all of the software chosen.; NEVER if you don't want any configuration done at all.E ASK if you wanted to be asked for each application you choose.$ Ask_Cnf_Options:$ VMI$CALLBACK ASK - Option -* "Do you want to configure the software" - ALWAYS - S - "Type ALWAYS, NEVER, or ASK";$ IF (Option .NES. "ALWAYS") .AND. (Option .NES. "NEVER") -5 .AND. (Option .NES. "ASK") THEN GOTO Ask_Cnf_Options,$ IF Option .EQS. "ASK" THEN Interactive = 1$ Cnf_Option = Option$$ TYPE SYS$INPUT:6 Software: (Images, CLI definitions, and help files); The installation must know whether to install the software4 for each application you choose to install. Answer:F ALWAYS if you want the software installed for each package chosen.1 NEVER if you don't want any software at all.E ASK if you wanted to be asked for each application you choose.$ Ask_Exe_Options:$ VMI$CALLBACK ASK - Option -( "Do you want to install the software" - ALWAYS - S - "Type ALWAYS, NEVER, or ASK";$ IF (Option .NES. "ALWAYS") .AND. (Option .NES. "NEVER") -5 .AND. (Option .NES. "ASK") THEN GOTO Ask_Exe_Options,$ IF Option .EQS. "ASK" THEN Interactive = 1$ Exe_Option = Option<$ IF Exe_Option .EQS. "NEVER" THEN GOTO Ask_Exe_Options_Done$ TYPE SYS$INPUT8 This command procedure updates the help library so that8 the DCL HELP command will provide information about the7 installed utilities. Here is a list of help librar$s CMUIP066.A[CMUIP]KITINSTAL.COM;2P38ies# that already exist on your system: SYS$SYSROOT:[SYSHLP]HELPLIB.HLB@$ IF F$TRNLNM("HLP$LIBRARY", "LNM$SYSTEM_TABLE") .NES. "" THEN -B WRITE SYS$OUTPUT " ''F$TRNLNM("HLP$LIBRARY", "LNM$SYSTEM_TABLE")"B$ IF F$TRNLNM("HLP$LIBRARY_1", "LNM$SYSTEM_TABLE") .NES. "" THEN -C WRITE SYS$OUTPUT " ''F$TRNLNM("HLP$LIBRARY_1","LNM$SYSTEM_TABLE")"B$ IF F$TRNLNM("HLP$LIBRARY_2", "LNM$SYSTEM_TABLE") .NES. "" THEN -C WRITE SYS$OUTPUT " ''F$TRNLNM("HLP$LIBRARY_2","LNM$SYSTEM_TABLE")"B$ IF F$TRNLNM("HLP$LIBRARY_3", "LNM$SYSTEM_TABLE") .NES. "" THEN -C WRITE SYS$OUTPUT " ''F$TRNLNM("HLP$LIBRARY_3","LNM$SYSTEM_TABLE")"B$ IF F$TRNLNM("HLP$LIBRARY_4", "LNM$SYSTEM_TABLE") .NES. "" THEN -C WRITE SYS$OUTPUT " ''F$TRNLNM("HLP$LIBRARY_4","LNM$SYSTEM_TABLE")"$ WRITE SYS$OUTPUT ""$ VMI$CALLBACK ASK - CMUIP_HELP_WHERE -3 "Which library should have CMU-OpenVMS/IP help" -# "SYS$SYSROOT:[SYSHLP]HELPLIB.HLB"$$ WRITE SYS$OUTPUT ""$ TYPE SYS$INPUT< This procedure automatically leaves the application Command@ Language Definition (.CLD) files in the [.SYSMGR] sub-directory; of CMUIP_ROOT:. It will optionally install the .CLD files!> in the system's DCL table. This table is updated by default.; If you do not update this table, you must install the .CLD B files by hand before you can use the CMU-OpenVMS/IP applications. To skip this step, type "NO"e$ VMI$CALLBACK ASK - Option -0 "Do you want to update the system DCL table" - YES -t Ba$ CMUIP_CLD_INSTALL == Option $n$ Ask_Exe_Options_Done:n$ TYPE SYS$INPUT:bI Source Code: (xxx.SRC savesets containing Bliss-32 code and MMS files)h> The installation must know whether to install the source code4 for each application you choose to install. Answer:; ALWAYS if you want source code automatically installed.*4 NEVER if you don't want any source code at all.E ASK if you wanted to be asked for each application you choose.$ Ask_Src_Options:$ VMI$CALLBACK ASK - Option -c+ "Do you want to install the source code" -  NEVER - S - "Type ALWAYS, NEVER, or ASK"N;$ IF (Option .NES. "ALWAYS") .AND. (Option .NES. "NEVER") -R5 .AND. (Option .NES. "ASK") THEN GOTO Ask_Src_OptionsU,$ IF Option .EQS. "ASK" THEN Interactive = 1$ Src_Option = OptionK$S$ TYPE SYS$INPUT: C Documentation: (Manuscript and PostScript files for the manuals)'@ The installation must know whether to install the documentation4 for each application you choose to install. Answer:= ALWAYS if you want documentation automatically installed.- NEVER if you don't want any docs at all.TE ASK if you wanted to be asked for each application you choose. $ Ask_Doc_Options:$ VMI$CALLBACK ASK - Option -E- "Do you want to install the documentation" -P ALWAYS -i S - "Type ALWAYS, NEVER, or ASK"k;$ IF (Option .NES. "ALWAYS") .AND. (Option .NES. "NEVER") - 5 .AND. (Option .NES. "ASK") THEN GOTO Ask_Doc_OptionsE,$ IF Option .EQS. "ASK" THEN Interactive = 1$ Doc_Option = Optionn$M$ TYPE SYS$INPUT@ This installation kit currently contains the following modules:4 Core (IPACP, NamRes, IPDriver, Central, and IPNCP) LPR Remote printing software FTP File Transfer system Telnet Remote login software Finger remote user information- Talk Interactive user-to-user communicationI@ The installation will now ask if you want everything installed.9 If you answer "NO" it will ask you about each individual!; application. If you say "YES" it will install everything.s$ VMI$CALLBACK ASK - CMUIP_Install_Everything -c& "Do you want to install everything" - YES - B8$ IF .NOT. CMUIP_Install_Everything THEN Interactive = 1$o$ Ask_Install:$aL$ Install_Cnf = (Cnf_Option .EQS. "ALWAYS") .AND. (Cnf_Option .NES. "NEVER")L$ Install_Exe = (Exe_Option .EQS. "ALWAYS") .AND. (Exe_Option .NES. "NEVER")L$ Install_Src = (Src_Option .EQS. "ALWAYS") .AND. (Src_Option .NES. "NEVER")L$ Install_Doc = (Doc_Option .EQS. "ALWAYS") .AND. (Doc_Option .NES. "NEVER")$m"$!++++++++++++++++++++++++++++++++$! Core installation questions"$!--------------------------------$ Core_Ask_install:i$r6$ IF .NOT. Interactive THEN GOTO Core_Do_install_start$ TYPE SYS$INPUT:l7 The core system consists of the central TCP/IP images.n? You should configure and install this module if CMU-OpenVMS/IP*> is not installed on your system, or if you want to completely8 reinstall the package. The installation procedure will? (re)create the scripts neccessary for starting up the package.a9 You will need the core system in order to run any TCP/IPo applications. The core consists of:> IPACP the Internet Protocol Ancillary Control Process% NamRes a domain name resolverM$ IPDriver the IP: device driver/ IPTrans a number of IP transport modulesO; Central common macros and data structure definitionsv- IPNCP the IP Network Control Programl* DWTrans DECwindows transport module$ Core_Do_install_Start:$ Module = "Core"_$ GOSUB Ask_Install_Questions $ IF Core_Install_Exe THEN - VMI$CALLBACK ASK -e Central_Install_Exe -u6 "Do you want to install the development libraries" - NO - BM$e"$!++++++++++++++++++++++++++++++++$! LPR installation questionsT"$!--------------------------------$ LPR_Ask_install:$'5$ IF .NOT. Interactive THEN GOTO LPR_Do_install_start$ TYPE SYS$INPUT:T9 The LPR software handles network printing requests, bothE incoming and outgoing.$; The LPR protocol is not pretty but it is what Unix uses...] The LPR software consists of:+ LPRSMB a network printer symbiontB* LPR_Server the network printer demon& LPQ an LPR queue managment program LPRM an LPR monitor"$ LPR_Do_install_Start:R$ Module = "LPR"$ GOSUB Ask_Install_QuestionsS$'"$!++++++++++++++++++++++++++++++++$! FTP installation questionsM"$!--------------------------------$ FTP_Ask_install:$R5$ IF .NOT. Interactive THEN GOTO FTP_Do_install_start$ TYPE SYS$INPUT:I8 FTP is a program which allows file system access accoss9 the Internet. The FTP client allows the user to get and : put file on another machine. The FTP server allows other: Internet hosts to store and retrieve files from the local machine.i The FTP software consists of: FTP the FTP clientb FTP_Server the FTP demon$ FTP_Do_install_Start:e$ Module = "FTP"$ GOSUB Ask_Install_Questionsn$s"$!++++++++++++++++++++++++++++++++ $! Telnet installation questions"$!--------------------------------$ Telnet_Ask_install:s$:8$ IF .NOT. Interactive THEN GOTO Telnet_Do_install_start$ TYPE SYS$INPUT:R3 Telnet is a program which allows users to login to ! remote machines on the Internet.f! The Telnet software consists of: % Telnet the Telnet clientO$ Telnet_Server the Telnet demon$ Telnet_Do_install_Start:$ Module = "Telnet"V$ GOSUB Ask_Install_Questions.$L"$!++++++++++++++++++++++++++++++++ $! Finger installation questions"$!--------------------------------$ Finger_Ask_install:r$i8$ IF .NOT. Interactive THEN GOTO Finger_Do_install_Start$ TYPE SYS$INPUT; The Finger utility allows users to find out whether or notk= users on the local system or on remote systems are currently = logged in and also display a "plan" file which might provider useful information.$ Finger_Do_install_Start:$ Module = "Finger"f$ GOSUB Ask_Install_Questionso$a$! $! For TALKf$!$Talk_Ask_Install:$o6$ IF .NOT. Interactive THEN GOTO Talk_Do_install_start$ TYPE SYS$INPUT: :! CMUIP066.A[CMUIP]KITINSTAL.COM;2P3i TALK is a utility which permits users on connected TCP/IP6 systems to communicate interactively with each other. The TALK software consists of:n# Talk the Talk clientn, Talk_Server the Talk Server (daemon)$ Talk_Do_Install_Start:$ Module = "Talk"S$ GOSUB Ask_Install_Questionsi$_$ CMUIP_Ask_install_done:T$ $ Install_Cnf:$ TYPE SYS$INPUTF**********************************************************************E PHASE 1: Configuration dF**********************************************************************;$ IF (Cnf_Option .EQS. "NEVER") THEN GOTO CMUIP_Config_DoneS0$ IF Core_Install_Cnf THEN @VMI$KWD:Core_Cnf.comI$ IF LPR_Install_Cnf .AND. f$search("VMI$KWD:LPR_Cnf.com") .NES. "" THEN-- @VMI$KWD:LPR_Cnf.com'I$ IF FTP_Install_Cnf .AND. f$search("VMI$KWD:FTP_Cnf.com") .NES. "" THEN-2 @VMI$KWD:FTP_Cnf.com.O$ IF Telnet_Install_Cnf .AND. f$search("VMI$KWD:Telnet_Cnf.com") .NES. "" THEN-) @VMI$KWD:Telnet_Cnf.comO$ IF Finger_Install_Cnf .AND. f$search("VMI$KWD:Finger_Cnf.com") .NES. "" THEN-$ @VMI$KWD:Finger_Cnf.com$)$ CMUIP_Config_Done:$ beverage = "cupacoffee"B>$ IF f$trnlnm("SYS$NODE") .EQS. "NO1::" THEN beverage = "beer"G$ IF f$trnlnm("SYS$NODE") .EQS. "HOBBES::" THEN beverage = "Molson Dry"C$ IF f$trnlnm("SYS$NODE") .EQS. "MVB::" THEN beverage = "root beer"p$ wrt :== WRITE SYS$OUTPUT$ wrt ""$ wrt ""I$ wrt " ---------------------------------------------------------"eI$ wrt " The configuration phase is finished. Most of the rest of"SD$ wrt " this procedure is automated. Go grab a ''Beverage'."4$ wrt " This may take a while to complete..."I$ wrt " ---------------------------------------------------------"e$ wrt ""$s$ Install_Exe:$ TYPE SYS$INPUTF**********************************************************************E PHASE 2: Software F**********************************************************************5$ IF (Exe_Option .EQS. "NEVER") THEN GOTO Install_Srcs $ VMI$CALLBACK RESTORE_SAVESET B0$ IF Core_Install_EXE THEN @VMI$KWD:Core_EXE.com.$ IF LPR_Install_EXE THEN @VMI$KWD:LPR_EXE.com.$ IF FTP_Install_EXE THEN @VMI$KWD:FTP_EXE.com4$ IF Telnet_Install_EXE THEN @VMI$KWD:Telnet_EXE.com4$ IF Finger_Install_EXE THEN @VMI$KWD:Finger_EXE.com0$ IF Talk_Install_EXE THEN @VMI$KWD:Talk_EXE.Com$ $ Install_Src:$ TYPE SYS$INPUTF**********************************************************************E PHASE 3: Source Code EF**********************************************************************5$ IF (Src_Option .EQS. "NEVER") THEN GOTO Install_DocN $ VMI$CALLBACK RESTORE_SAVESET C>$ IF .NOT. Core_Install_Src THEN GOTO Install_Src_ApplicationsO$ WRITE SYS$OUTPUT " Installing the Core sources into CMUIP_ROOT:[SYSUPD]..."i$ VMI$CALLBACK PROVIDE_FILE -e IPACP_SOURCE - IPACP.SRC -t 'CMUIP_WHERE[SYSUPD]$ VMI$CALLBACK PROVIDE_FILE -t NAMRES_SOURCE -d NAMRES.SRC - 'CMUIP_WHERE[SYSUPD]$ VMI$CALLBACK PROVIDE_FILE -a IPDRIVER_SOURCE -e IPDRIVER.SRC - 'CMUIP_WHERE[SYSUPD]$ VMI$CALLBACK PROVIDE_FILE - IPTRANS_SOURCE - IPTRANS.SRC -t 'CMUIP_WHERE[SYSUPD]$ VMI$CALLBACK PROVIDE_FILE -N CENTRAL_SOURCE - CENTRAL.SRC -L 'CMUIP_WHERE[SYSUPD]$ VMI$CALLBACK PROVIDE_FILE -. IPNCP_SOURCE - IPNCP.SRC -i 'CMUIP_WHERE[SYSUPD]$K$ Install_Src_Applications:_$$ CALL Install_Standard_Source "LPR"$$ CALL Install_Standard_Source "FTP"'$ CALL Install_Standard_Source "Telnet"($ IF Telnet_Install_Src THEN - VMI$CALLBACK PROVIDE_FILE - PTY_SOURCE - PTY.SRC -a 'CMUIP_WHERE[SYSUPD]'$ CALL Install_Standard_Source "Finger"r$ VMI$CALLBACK PROVIDE_FILE -e DWTRANSPORT_SOURCE - DWTRANSPORT.SRC -t 'CMUIP_WHERE[SYSUPD]%$ CALL Install_Standard_Source "Talk"w$"$ Install_Src_Done:b$ $ Install_Doc:$ TYPE SYS$INPUTF**********************************************************************E PHASE 4: Documentation -F**********************************************************************6$ IF (Doc_Option .EQS. "NEVER") THEN GOTO CMUIP_Finish $ VMI$CALLBACK RESTORE_SAVESET D$ @VMI$KWD:Docs_Install.Com $S$ wrt :== WRITE SYS$OUTPUT$ wrt ""$ wrt ""N$ wrt "**********************************************************************"H$ wrt " PHASE 5: Done... (finish that ''beverage' yet?)"N$ wrt "**********************************************************************"$ wrt ""$ TYP SYS$INPUTAll phases done.E#####################################################################SE### Important!!! Post-Installation requirements ###YE##################################################################### ;$ IF .NOT. F$GETDVI("IP0", "EXISTS") THEN GOTO CMUIP_Finisha$ TYP SYS$INPUTT7 I noticed that there was an IP device already defined.c5 This may cause problems if you are upgrading from ane; earlier version of CMU-OpenVMS/IP. Please check the datesT/ or ID's of any copies of IPDRIVER.EXE found ine4 SYS$LOADABLE_IMAGES: and make sure they are recent.6 It is possible for older versions of the IPDriver.exe) to cause problems with the 6.6 software.r$u$ CMUIP_Finish: A$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Exit Success"e$ EXIT VMI$_SUCCESSr$aF$!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++$!$! Subroutines:_$!E$!-------------------------------------------------------------------C$!%$!+++++++++++++++++++++++++++++++++++o$!%$! Install_Standard_Source subroutine"$!?$! Since most applications install their source the same way...s%$!------------------------------------%$ Install_Standard_Source: SUBROUTINE''$ IF .NOT. 'P1'_Install_Src THEN RETURN_7$ WRITE SYS$OUTPUT " Installing the ''P1' sources..."a$ VMI$CALLBACK PROVIDE_FILE -, 'P1'_SOURCE - 'P1'.SRC - 'CMUIP_WHERE[SYSUPD]$ ENDSUBROUTINEt$ %$!+++++++++++++++++++++++++++++++++++ $!$! Ask_Install_Questions $!<$! Ask a lot of questions and save the answers for use later:$! on in the installation. That way we can ask all of the>$! questions at the begining of the installation. This should.$! be called once for each application/module.%$!----------------------------------- $ Ask_Install_Questions:7$ IF CMUIP_Install_Everything THEN 'Module'_Install = 1I*$ IF .NOT. CMUIP_Install_Everything THEN - VMI$CALLBACK ASK - 'Module'_Install -& "Do you want to install ''Module'" - YES -  Bl$t*$ IF 'Module'_Install THEN GOTO Really_Ask$ 'Module'_Install_Cnf = 0$ 'Module'_Install_Exe = 0$ 'Module'_Install_Src = 0$ 'Module'_Install_Doc = 0!$ GOTO Ask_Install_Questions_Doneo$ $ Really_Ask: "$ IF Cnf_Option .EQS. "ASK" THEN -O VMI$CALLBACK ASK 'Module'_Install_Cnf " Want to configure ''Module'" YES B_C$ IF Cnf_Option .NES. "ASK" THEN 'Module'_Install_Cnf = Install_Cnfa"$ IF Exe_Option .EQS. "ASK" THEN -P VMI$CALLBACK ASK 'Module'_Install_EXE " Want the ''Module' software" YES BE$ IF Exe_Option .NES. "ASK" THEN 'Module'_Install_Exe = 'Install_Exe'l"$ IF Src_Option .EQS. "ASK" THEN -N VMI$CALLBACK ASK 'Module'_Install_SRC " Want the ''Module' source" YES BC$ IF Src_Option .NES. "ASK" THEN 'Module'_Install_Src = Install_Srcn"$ IF Doc_Option .EQS. "ASK" THEN -L VMI$CALLBACK ASK 'Module'_Install_DOC " Want the ''Module' docs" YES BC$ IF Doc_Option .NES. "ASK" THEN 'Module'_Install_Doc = Install_Doc-$ $ Ask_Install_gd CMUIP066.A[CMUIP]KITINSTAL.COM;2P3 -Questions_Done:.$ RETURN$i%$!+++++++++++++++++++++++++++++++++++ $!$! CMUIP_Print_Roots:e$!%$! Print a nice list of system roots.o%$!-----------------------------------n$ CMUIP_Print_Roots:/$ Root = F$TrnLnm("CMUIP_ROOT", "LNM$FILE_DEV")l$ CMU_Default_Root = ""u$ If Root .Nes. "" $ ThenD$ CMU_Default_Root = Root=&$ Write Sys$Output F$Fao("!_!AS",Root)$ EndIf!$ CMUIP_Index = 0 $ nroots = 0$ CMUIP_Locations:$ nroots = nroots + 1TE$ root = "''F$TRNLNM("SYS$SYSROOT", "LNM$SYSTEM_TABLE", CMUIP_Index)"r $ real_root = "''F$TRNLNM(root)"$ real_root_str = ""B$ IF real_root .NES. "" THEN real_root_str = "( = "+real_root+" )"@$ IF F$LOCATE(":",root) .EQ. F$LENGTH(root) THEN root = root+":"=$ IF (nroots .EQ. 2) .And. (CMU_Default_Root .Eqs. "") THEN -S CMU_default_root = root$ pad = 30 - F$LENGTH(root)l$ IF PAD .LT. 0 THEN pad=0@$ WRITE SYS$OUTPUT F$FAO("!_!AS!#!AS",root,pad,real_root_str)$ CMUIP_Index = CMUIP_Index + 1 $ IF CMUIP_Index .LE. -A F$TRNLNM("SYS$SYSROOT", "LNM$SYSTEM_TABLE", , , , "MAX_INDEX") -* THEN GOTO CMUIP_Locations$ WRITE SYS$OUTPUT ""($ RETURN$Q%$!+++++++++++++++++++++++++++++++++++S$!$! CMUIP_Print_Roots:N$!:$! Print a nice list of system roots and then ask the user$! to select one..%$!-----------------------------------$ CMUIP_Get_Where:$! GOSUB CMUIP_Print_Roots$ VMI$CALLBACK ASK - CMUIP_WHERE -T. "Where do you want the software installed" - "''CMU_Default_Root'"m@$ IF F$LOCATE(":",CMUIP_WHERE) .NE. F$LENGTH(CMUIP_WHERE) THEN - GOTO CMUIP_Get_Where_DoneG$ WRITE SYS$OUTPUT " That's not a valid root. Perhaps you meant ",-o CMUIP_WHERE,":"$ WRITE SYS$OUTPUT "" $ GOTO CMUIP_Get_Where$ CMUIP_Get_Where_Done:g$ CMUIP_ROOT = CMUIP_WHEREF$ IF f$extract(f$length(CMUIP_WHERE)-1,1,CMUIP_WHERE) .EQS. ":" THEN -@ CMUIP_ROOT = f$extract(0,f$locate(":",CMUIP_WHERE),CMUIP_WHERE)'$ CMUIP_ROOT = "''F$TRNLNM(CMUIP_ROOT)"r$ IF CMUIP_ROOT .EQS. "" THEN -- CMUIP_ROOT = CMUIP_WHERE-$ WRITE SYS$OUTPUT "" $ RETURNration phase is finished. Most of the rest of"SD$ wrt " this procedure is automated. Go grab a ''Beverage'."4$ wrt " This may take a while to complete..."I$ wrt " ---------------------------------------------------------"e$ wrt ""$s$ Install_Exe:$ TYPE SYS$INPUTF**********************************************************************E PHASE 2: Software F**********************************************************6 CMUIP066.A !&[CMUIP]CMUIP066.RELEASE_NOTES;1OW*[CMUIP]CMUIP066.RELEASE_NOTES;1+, !&./ 4Ox-0123KPWO56AH;-7K289GHJ CMU-OpenVMS/IP 6.6 Release NotesD This release represents the final CMU-OpenVMS/IP 6.x release. This* release is being made publicly available.= Release notes for the patches to 6.6-5 follow the 6.6 notes.? - ALL references to CMUTEK_ROOT (and CMUTEK_SRC) should now be@ CMUIP_ROOT and CMUIP_SRC. This installation kit also defines! CMUTEK_ROOT for compatibility.G - Fixed miscellaneous bugs in the central IP modules which would cause4 spurious ACCVIO and INSVIRMEM crashes of the ACP.C - Improved (and provided) IP fragmentation. The IP module can nowC send and receive packets of nearly arbitrary size (at least 8K).C You should increase your MAXBUF parameter to allow this to work." - Provided an initial NFS server.B - FTP now allows STRU O VMS file transfers which work in the sameB fashion as Multinet for sending arbitrary VMS files across FTP.B You can exchange indexed, sequential, or just about any kind of? files with other CMU-TEK (with FTP 2.9) or Multinet systems.> - Telnet now supports local editing for line-mode connections: - Now installs TALK (as written by the CMU Computer Club)< - On-line (BookReader) documentation installed if requested - DECwindows transport provided7 Release Notes for CMU-TEK V6.6-5. - Renamed product to CMU-OpenVMS/IP.7 6.6-5 - Improved algorithm for TCP retransmissions.H 6.6-5 - Fixed bug relating to using NFS with KDA-50 type controllers@ which require an even number of bytes to be written to diskA at all times. (NFSPROC_WRITE requests with an odd number of( bytes were failing with NFSERR_IO.)G 6.6-4 - Fixed problem with receiving AYT ("Are You There?") control% signal in IPACP's Telnet_Server.E 6.6-4 - Negotiates Extended_ASCII if requested. Also can turn on? the EIGHTBIT attribute if requested. Binary mode turns on@ EIGHTBIT and can turn on PASSALL if a configuration logical4 is defined (DEFINE/SYSTEM TELNET_PASSALL TRUE).G 6.6-4 - Terminal type VT240 now enables SIXEL and REGIS attributes.I 6.6-4 - Terminal type negotiation continues until either the receivedB type is the same as the last one or for a maximum of 6 tries.E 6.6-4 - Fixed a bug which put terminal into the wrong echo state.K 6.6-4 - For security reasons, and compatability, took out the automatic@ banner. Logical TELNET_ANNOUNCE may be defined system-wide- (/SYSTEM) to supply a banner for Telnet.I 6.6-4 - Fixed a bug that prevented subsequent timing marks from being sent.K 6.6-4 - The Telnet server will put the remote port information into the3 ACCPORNAM if the following logical is defined:) ($ DEFINE/SYSTEM TELNET_PASS_PORT "::")C The logical represents the delimiter between the node name and the port name.& 6.6-4 - New qualifiers for TELNET:& /[NO]AUTOFLUSH select autoflush mode7 /[NO]EIGHTBIT will allow 8-bit data to be transmitted without using binary mode" /[NO]GENERIC will set LOCALCHARS4 /END_OF_LINE={LF|NULL} will set the EOL terminator, /NOLINEMODE turns off the line mode option/ /LOG=filename puts all output into a log file6 /ALL_LOG puts locally echoed chars into the log file* /NOESCAPE turns off the escape character, /[NO]QUIET turns off many "error" messages5 New qualifiers for the local character definitions:/ /[NO]AYT /[NO]AO /[NO]BRK /[NO]EC /[NO]EL /[NO]IP /[NO]SYNCH- 6.6-4 - New extended commands for TELNET:7 ATTACH prcnam attach your terminal to another process- NEGOTIATE force Telnet to negotiate options2 SET LOG filname /ENABLE /DISABLE /CLOSE /ALL_LOG enables session logging. SET COMMAND command can turn off the command0 SET CONNECT {ON|OFF} blank line can re-connect+ SET END_OF_LINE {LF|NULL} select EOL char" SET COMMAND AYT selects AYT key* SET COMMAND LECHO selects echo local key1 SET COMMAND SYNCH selects purge input character1 SET MODE NEGOTIATED selects negotiated linemode; SET QUIET {ON|OFF} turns on or off informational messages9 SET URGENT {ON|OFF} select urgent mode for IP,SYNCH,BRK$ SEND SYNCH kill unsolicited input* 6.6-4 - New command keys (^^ then key)# ^X SYNCH - kill unsolicited input E toggle local echo mode L toggle logging# G toggle generic (localchar) modeI 6.6-4 - Fix TALK to permit host names with up to 64 characters and toB prevent (hopefully) "String assignment" errors when the local8 hostname is undefined due to a name server problem.G 6.6-4 - Added field to INTERNET.CONFIG to control maximum number ofB servers for the WKS fields. Adding a colon (:) and a decimalC number at the end activates this checking. The default is 30.8 All connections that cannot be created are refused.J 6.6-4 - FTP_SERVER now will not disable NETMBX if it is installed withC it. This will permit users who do not normally have NETMBX to@ be able to have FTP logins work properly on their accounts.E 6.6-4 - Fix up both TELNET and the IPACP Telnet Server for optionF processing. Whether or not characters should be echoed and otherB options were broken by the 6.6-3 release. Also provided many/ other improvements for option negotiation.F 6.6-4 - Support for UDP broadcasts. When using address mode (fromA TCP$OPEN), you can specify a local network broadcast address; (such as 128.2.255.255) or a generic broadcast addressD (255.255.255.255 -- this will be changed into the local networkA broadcast address for your first device as specified in yourC INTERNET.CONFIG) and that UDP/IP packet will be sent out using an Ethernet broadcast.L 6.6-3 - Include fix from Tom Allebrandi for dealing with RMS's -1 recordI length to indicate skip-to-next-block. Merge in changes from6 Henry Miller for TCP_SEGIN/DECODE_SEGMENT.E 6.6-3 - Both TELNET and the Telnet Server within the IPACP server@ will negotiate terminal types up to VT400 as well asM "window sizes" (80x24, 132x60, whatever) thanks to John Clements.M 6.6-3 - Installed fixes from Henry Miller for various problems in the ACPM (including TELNET pausing) and in the PTY drivers regarding /XON.H Also installed fixes from John Clements for the PTY drivers.M 6.6-3 - Minor fix for FTP regarding transfer rate roundings. ImprovementM for FTP_SERVER in that it will now work on VMS versions both pre-J V5.4 and V5.4+. The routine which checks the password has theA "smarts" to be able to call either routine as needed.L 6.6-3 - ^A in FTP, if a transfer had been aborted, would sometimes causeI two or more status lines to be printed. This has been fixed.K 6.6-2 - Fix ACCVIO bug relating to NFS where user may request access toI FAT$C_VARIABLE file without being FAT$M_IMPLIEDCC. Thanks toL Tom Allebrandi for f h+ CMUIP066.A !&[CMUIP]CMUIP066.RELEASE_NOTES;1O/inding this one and reporting it so quickly.H 6.6-1 - Minor patches to NFS for FAT$C_STREAM files to be treated asI FAT$C_STREAMLF (ie. passthru). Major fix to IPACP to preventI ACCVIO when accessing a TCB which had been deleted. Deletion1 was done because CloseNoWait was set.O ------------------------------------------------------------------------------2 Post-Installation NotesO ------------------------------------------------------------------------------> There has been a change (once again) in the device names used= for the pseudo-terminals for incoming Telnet sessions. ThisA is to prevent conflict with a recent version of VWS. You *MUST*= change your IP_STARTUP.COM procedure to reflect this change.: Where you previously had PZ or PZDRIVER, you must now use* PN or PNDRIVER. Places to look for this:$ - in the SYSGEN CONNECT statements - in the INET$PTY logical nameC You should also remove the PZDRIVER.EXE from CMUTEK_ROOT:[SYS$LDR]a, to prevent it from being accidentally used.C Failure to make these changes could result in your system crashingi3 should someone attempt to Telnet into your system.lB It is recommended that you change the INTERNET_HOST_NAME to be anA executive-mode (/EXEC) logical. It seems to help in determiningi+ your system's name from some applications.iD The WINDOW_DEFAULT and ACK_THRESHOLD parameters are now adjustable.A The default WINDOW_DEFAULT is 8192 and the default ACK_THRESHOLDID is 1024. Also there is a new variable, DEFAULT_MSS, which defaults@ to 536. Changing these three variables in your INTERNET.CONFIG? may provide you with better or worse performance. Change withk caution.oB LOCAL_HOST entries in the INTERNET.CONFIG will also cause packetsF sent to those systems to be the maximum allowable size (MSS of 1392). files across FTP.B You can exchange indexed, sequential, or just about any kind of? files with other CMU-TEK (with FTP 2.9) or  CMUIP066.AM[CMUIP]DESCRIP.MMS;1B 'x*[CMUIP]DESCRIP.MMS;1+,M. / 4B n-0123KPWO56fD27K289GHJ!B! ****************************************************************!1! Copyright (c) 1992, Carnegie Mellon University!! All Rights Reserved!A! Permission is hereby granted to use, copy, modify, andA! distribute this software provided that the above copyrightA! notice appears in all copies and that any distribution be for! noncommercial purposes.!A! Carnegie Mellon University disclaims all warranties with regardA! to this software. In no event shall Carnegie Mellon UniversityA! be liable for any special, indirect, or consequential damagesA! or any damages whatsoever resulting from loss of use, data, orA! profits arising out of or in connection with the use or! performance of this software.!B! ****************************************************************! KIT : CMUIP066.A, CMUIP066.B CONTINUEACMUIP066.A : KITINSTAL.COM, CMUIP066.RELEASE_NOTES, DESCRIP.MMS,- Core_Cnf.com, Core_Exe.com, -+ [-.LPR]LPR_Cnf.com, [-.LPR]LPR_Exe.com, - [-.lpr]LPR_cnf.sav, - [-.FTP]FTP_Exe.com, - [-.Telnet]Telnet_Exe.com, - [-.Finger]Finger_Exe.com, -' [-.DWTransport]DWTransport_Exe.Com, - [-.Talk]Talk_Exe.Com# SET PROT=(W:RE) $(MMS$SOURCE_LIST) PURGE $(MMS$SOURCE_LIST) BACKUP $(MMS$SOURCE_LIST) -& $(MMS$TARGET)/SAVE/INTER/BLOCK=8192CMUIP066.B : - [-.CENTRAL]NETERROR.OBJ, - [-.CENTRAL]NETLIB.OLB, - [-.IPACP]IPACP066.B, - [-.NAMRES]NAMRES025.B, - [-.IPDRIVER]IPDRIVER066.B, - [-.IPTrans]IPTrans011.B, - [-.CENTRAL]CENTRAL065.B, - [-.IPNCP]IPNCP011.B, - [-.LPR]LPR022.B, - [-.FTP]FTP029.B, - [-.TELNET]TELNET032.B, - [-.PTY]PTY054.B, - [-.Finger]Finger026.B, -$ [-.DWTransport]DWTransport010.B, - [-.Talk]Talk011.B# SET PROT=(W:RE) $(MMS$SOURCE_LIST) PURGE $(MMS$SOURCE_LIST) BACKUP $(MMS$SOURCE_LIST) -% $(MMS$TARGET)/SAVE/INTER/BLOCK=8192CMUIP066.C : - [-.IPACP]IPACP.src, - [-.NAMRES]NAMRES.src, - [-.IPDriver]IPDriver.src, - [-.IPTrans]IPTrans.src, - [-.CENTRAL]CENTRAL.src, - [-.IPNCP]IPNCP.src, - [-.LPR]LPR.src, - [-.FTP]FTP.src, - [-.Telnet]Telnet.src, - [-.Pty]Pty.src, - [-.Finger]Finger.src, -# [-.DWTransport]DWTransport.src, - [-.Talk]Talk.Src# SET PROT=(W:RE) $(MMS$SOURCE_LIST) PURGE $(MMS$SOURCE_LIST) BACKUP $(MMS$SOURCE_LIST) -% $(MMS$TARGET)/SAVE/INTER/BLOCK=8192'CMUIP066.D : [-.doc]Docs_Install.Com, - [-.doc]DOC_DESCRIP.MMS, - [-.doc]Title.sdml, - [-.doc]Intro.sdml, - [-.doc]Install.sdml, - [-.doc]Sysman.sdml, - [-.doc]Organization.sdml, - [-.doc]Programing.sdml, - [-.doc]IPNCP.sdml, - [-.doc]FTP.sdml, - [-.doc]Telnet.sdml, - [-.doc]Finger.sdml, - [-.doc]LPR.sdml, - [-.doc]messages.sdml, - [-.doc]Structs.sdml, - [-.doc]Distrib.sdml, - [-.doc]transport.sdml, - [-.doc]code-examples.sdml, - [-.doc]glossary.sdml, -/ [-.doc]CMUIP_pro.sdml, [-.doc]CMUIP_pro.ps, - [-.doc]CMUIP_pro.decw$book# SET PROT=(W:RE) $(MMS$SOURCE_LIST) PURGE $(MMS$SOURCE_LIST) BACKUP $(MMS$SOURCE_LIST) -% $(MMS$TARGET)/SAVE/INTER/BLOCK=8192> CMUIP066.A!P[CMUIP]CORE_CNF.COM;1-]*[CMUIP]CORE_CNF.COM;1+,!P.-/ 4-,-0123KPWO.56R"@-7 L289GHJ$!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ open_file = ""*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$ TYPE SYS$INPUT ------------------- Core configuration: -------------------7 This phase of the installation will create four files;@ IP_STARTUP.COM, INTERNET.CONFIG, NAMRES.CONFIG, and NFS.CONFIG.? IP_STARTUP.COM should be executed by the VMS startup procedure@ in order for CMU-OpenVMS/IP to begin running when the system@ is booted up. It will define logicals, install images, load; devices, and then run the IPACP as a detatched process.= INTERNET.CONFIG is a text file that contains the information= which is specific to a peticular host. Every machine must@ have it's own copy sice this file contains unique information< such as the host's IP address. If you like, you may make> make changes to the CMU-OpenVMS/IP configuration by editing8 INTERNET.CONFIG instead or reinstalling the software.C N.B.: Changes will not take effect until the IPACP is restarted.? NAMRES.CONFIG is the configuration file for the Name Resolver.< It too may be edited in order to change the configurationD NFS.CONFIG defines your NFS server configuration. In it you should? define which directory trees you will export as well as give Unix<->VMS translations.$!$$! Check the system parameter MAXBUF$!5$ VMI$CallBack Get_System_Parameter CMU_MaxBuf MAXBUF$ If CMU_MaxBuf .Lt. 8192$ Then Type Sys$InputA Your SYSGEN parameter MAXBUF is less than the recommended value.C We recommend that you raise this parameter to 8192 to handle largeD I/O requests. You can change this parameter by including the line: min_MAXBUF=8192; in your SYS$SYSTEM:MODPARAMS.DAT and then running AUTOGEN.C Although this parameter change is not required, it may prove to beF necessary if your TCP/IP software sends or received large IP packets.$ EndIf$!++$! Create IP_STARTUP.COM$!--$ TYPE SYS$INPUT Creating IP_STARTUP.COM:$ open_file = "IPACP_STARTUP"$ CREATE VMI$KWD:IP_STARTUP.COM2$ OPEN/APPEND IPACP_STARTUP VMI$KWD:IP_STARTUP.COM$ wrt :== WRITE IPACP_STARTUP$ WRT "$ !++"$ WRT "$ ! IP_Startup.COM" $ WRT "$ !"$ WRT "$ ! Description:" $ WRT "$ !"5$ WRT "$ ! Start the CMU-OpenVMS/IP system." $ WRT "$ !"1$ WRT "$ ! Written By: Vince Fuller CMU-CS/RI" $ WRT "$ !"$ WRT "$ ! Modifications:"$ WRT "$ !--" $ WRT "$".$ WRT "$! Define these two crucial logicals"A$ WRT "$ Define/System/NoLog/trans=conc CMUIP_ROOT ",CMUIP_ROOT$! For compatability...B$ WRT "$ Define/System/NoLog/trans=conc CMUTEK_ROOT ",CMUIP_ROOT"$ source = CMUIP_ROOT + "[SRC.]"$ source = source - "]["$ source = source - "]["$ source = source - "][">$ WRT "$ Define/System/NoLog/trans=conc CMUIP_SRC ''source'" $ WRT "$"$ WRT "$ mcr sysgen"0$ WRT " load CMUIP_ROOT:[SYS$LDR]ipdriver.exe" $ WRT " connect IP0/noadapter"0$ WRT " load CMUIP_ROOT:[SYS$LDR]pndriver.exe"1$ WRT " connect PNA0/noadapter/driver=pndriver"0$ WRT " load CMUIP_ROOT:[SYS$LDR]tzdriver.exe"1$ WRT " connect TZA0/noadapter/driver=tzdriver" $ WRT "$"/$ WRT "$ Define/System/NoLog INET$DEVICE IP:".$ WRT "$ Define/System/NoLog INET$PTY PNA0:"0$ WRT "$ Define/System/NoLog INET$PTY_TERM TZ"H$ WRT "$ Define/System/NoLog NFS$CONFIG CMUIP_ROOT:[SYSMGR]NFS.CONFIG"N$ WRT "$ Define/System/NoLog INET$CONFIG CMUIP_ROOT:[SYSMGR]INTERNET.CONFIG"G$ WRT "$ Define/System/NoLog INET$HOSTS CMUIP_ROOT:[SYSLIB]HOSTS.TXT"H$ WRT "$ Define/System/NoLog INET$LOG CMUIP_ROOT:[SYSMGR]INTERNET.LOG"Q$ WRT "$ Define/System/NoLog INET$ACTIVITY CMUIP_ROOT:[SYSMGR]TCP_ACTIVITY.LOG"I$ WRT "$ Define/System/NoLog INET$NAMRES CMUIP_ROOT:[SYSEXE]NAMRES.EXE"N$ WRT "$ Define/System/NoLog NAMRES$CONFIG CMUIP_ROOT:[SYSMGR]NAMRES.CONFIG"H$ WRT "$ Define/System/NoLog NAMRES$LOG CMUIP_ROOT:[SYSMGR]NAMRES.LOG"M$ WRT "$ Define/System/NoLog IPNCP$CONFIG CMUIP_ROOT:[SYSMGR]IPNCP_CNF.DAT"L$ WRT "$ Define/System/NoLog TCP$FTPSRV CMUIP_ROOT:[SYSEXE]FTP_SERVER.EXE"O$ WRT "$ Define/System/NoLog TCP$TELSRV CMUIP_ROOT:[SYSEXE]TELNET_SERVER.EXE"M$ WRT "$ Define/System/NoLog TCP$SMTPSV CMUIP_ROOT:[SYSEXE]SMTP_SERVER.EXE"O$ WRT "$ Define/System/NoLog TCP$FNGSRV CMUIP_ROOT:[SYSEXE]FINGER_SERVER.EXE"B$ WRT "$ Define/System/NoLog TCP$LPD CMUIP_ROOT:[SYSEXE]LPD.EXE" $ WRT "$".$ WRT "$ RUN CMUIP_ROOT:[SYSEXE]IPACP.EXE -"$ WRT " /NOACCOUNTNG -"$ WRT " /NOAUTHORIZE -"$ WRT " /DETACHED -"$ WRT " /DUMP -" $ WRT " /BUFFER_LIMIT=65535 -"$ WRT " /IO_BUFFERED=32767 -"$ WRT " /IO_DIRECT=32767 -"$ WRT " /PRIORITY=6 -"+$ WRT " /PRIVILEGES=(NOEXQUOTA,CMKRNL) -"$ WRT " /FILE_LIMIT=512 -"$ WRT " /AST_LIMIT=200 -"$ WRT " /QUEUE_LIMIT=100 -"$ WRT " /EXTENT=2048 -"$ WRT " /UIC=[1,4]" $ WRT "$"J$ VMI$CALLBACK ASK IPACP_Host_Name "Host Full Name" "xyz.serendipityU.edu"N$ WRT "$ Define/System/Exec/NoLog INTERNET_HOST_NAME ""''IPACP_HOST_NAME'""" $ WRT "$"N$ WRT "$ if (f$search(""CMUIP_ROOT:[SYSEXE]finger.exe"") .NES. """") THEN -"T$ WRT " if (.NOT. F$FILE(""CMUIP_ROOT:[SYSEXE]FINGER.EXE"",""KNOWN"")) then -"S$ WRT " install add CMUIP_ROOT:[SYSEXE]finger /priv=(sysprv,cmkrnl,world)"N$ WRT "$ if (f$search(""CMUIP_ROOT:[SYSEXE]telnet.exe"") .NES. """") THEN -"T$ WRT " if (.NOT. f$file(""CMUIP_ROOT:[SYSEXE]telnet.exe"",""KNOWN"")) then -"J$ WRT " install add CMUIP_ROOT:[SYSEXE]telnet /open/header/share"Q$ WRT "$ if f$search(""CMUIP_ROOT:[SYSMGR]LPR_startup.com"") .NES. """" then -"3$ WRT "$ @CMUIP_ROOT:[SYSMGR]LPR_startup.com"S$ WRT "$ If F$Search(""Sys$Library:DECW$Transport_CMU.EXE"") .Nes. """" .And. -"P$ WRT " .Not. F$File(""Sys$Library:DECW$Transport_CMU.EXE"",""Known"") Then -"N$ WRT " Install Add Sys$Library:DECW$Transport_CMU /Open /Head /Share /Prot"R$ WRT "$ If F$Search(""CMUIP_ROOT:[SYSMGR]Talk_Startup.Com"") .NES. """" Then -"/$ WRT " @CMUIP_ROOT:[SYSMGR]Talk_Startup.Com" $ WRT "$"$ CLOSE IPACP_STARTUP$ VMI$CALLBACK PROVIDE_FILE - IPACP_STARTUP - IP_STARTUP.COM - 'CMUIP_WHERE[SYSMGR]$$!++$! Create INTERNET.CONFIG$!--$ TYPE SYS 3¯ CMUIP066.A!P[CMUIP]CORE_CNF.COM;1-G$INPUT Creating INTERNET.CONFIG:1$ OPEN/WRITE IPACP_CONFIG VMI$KWD:INTERNET.CONFIG$ wrt :== WRITE IPACP_CONFIG $ WRT ";"-$ WRT "; CMUIP_ROOT:[SYSMGR]INTERNET.CONFIG $ WRT ";"$ WRT "; Description:" $ WRT ";",$ WRT "; Define the host IP configuration" $ WRT ";";$ WRT "; The contents of this file are documented in the"G$ WRT "; CMU-OpenVMS/IP 6.6 manual in the System Management chapter."5$ WRT "; If you want to change things, RTFM first." $ WRT ";"$ TYPE SYS$INPUT= You must specify an IP address for this host. An IP address? is a 32-bit number which uniquely identifies an Internet host.; Type in the address using "dotted-decimal" notation, as in; "128.2.232.69". IP address are generally distributed by a6 site's network manager in order to avoid duplication. $ retries = 0$ ask_IP_address:=$ VMI$CALLBACK ASK IP_Address "What is this Hosts IP address"F$ hibyte = f$integer(f$extract(0,f$locate(".",IP_Address),IP_Address))-$ IF hibyte .GT. 0 THEN GOTO Get_Address_Mask*9$ WRITE SYS$OUTPUT " No, seriously, this is important."h$ WRITE SYS$OUTPUT ""l$ retries = retries + 1l,$ IF retries .LT. 3 THEN GOTO ask_IP_address$ WRITE SYS$OUTPUT " OK..." $!$! figure out the address mask$ Get_Address_Mask:t$ TYPE SYS$INPUT; You will now need to specify an address mask. The addresso= mask is used to determine which interface to send IP packetsi9 out of for a given destination. If you have only one IPf9 interface (the usual case), you should probably just hit enter now.n$ am_default = "" ($ IF hibyte .LE. 0 THEN GOTO Bogus_Class$ Try_Class_A:,$ IF (hibyte .GE. 128) THEN GOTO Try_Class_B@$ WRITE SYS$OUTPUT " It looks like you're on a class-A network."$ am_default = "255.0.0.0"$ GOTO Ask_for_address_mask*$!$ Try_Class_B:,$ IF (hibyte .GE. 192) THEN GOTO Try_Class_C@$ WRITE SYS$OUTPUT " It looks like you're on a class-B network."$ am_default = "255.255.0.0"$ GOTO Ask_for_address_masko$!$ Try_Class_C:,$ IF (hibyte .GE. 255) THEN GOTO Bogus_Class@$ WRITE SYS$OUTPUT " It looks like you're on a class-C network."$ am_default = "255.255.255.0"$ GOTO Ask_for_address_masku$!$ Bogus_Class:$ TYPE SYS$INPUT4 I can't even guess what your network mask should be6 given the IP address you just typed in. You may want3 to check whether the address you entered is valid.u?$ WRITE SYS$OUTPUT " The address you specified is: ",IP_Addresst$ WRITE SYS$OUTPUT "" $!$ Ask_for_address_mask:c$ WRITE SYS$OUTPUT ""tH$ VMI$CALLBACK ASK IPACP_Mask "What is the address mask" "''am_default'"$!$ Ask_for_device: *$! Figure out what ethernet device to use.$ ether_device = ""n9$ IF f$getdvi("XQA0","EXISTS") THEN ether_device = "XQA0"R9$ IF f$getdvi("XEA0","EXISTS") THEN ether_device = "XEA0":9$ IF f$getdvi("ESA0","EXISTS") THEN ether_device = "ESA0"9$ IF f$getdvi("ETA0","EXISTS") THEN ether_device = "ETA0"e$ TYPE SYS$INPUT= You must now specify a device over which CMU-OpenVMS/IP willI: communicate. Normally this will be the system's Ethernet8 card. CMU-OpenVMS/IP can run on the same controller as% DECNet and LAT without any conflict.!g$ VMI$CALLBACK ASK IPACP_Net_Device "Which device is the network device (omit colon)" "''ether_device'"U6$! WRITE SYS$OUTPUT "Your device is:",IPACP_Net_Device!$ dev_str = "''IPACP_Net_Device'"eG$ IF (F$LOCATE(":",IPACP_Net_Device) .EQ. F$LENGTH(IPACP_Net_Device)) - 9 .AND. (IPACP_Net_Device .NES. "") THEN GOTO check_devicee($ WRITE SYS$OUTPUT "Invalid device name"$ WRITE SYS$OUTPUT ""E$ GOTO Ask_for_devicen$ check_device:<$ IF f$getdvi(dev_str,"EXISTS") THEN GOTO write_DEVINIT_line>$ WRITE SYS$OUTPUT "That device doesn't exist at this time..."$r$ write_DEVINIT_line:I]$ WRT "Device_Init:XEDRV:''IPACP_Net_Device':00-00-00-00-00-00:''IP_Address':''IPACP_Mask'" $ WRT ";"IB$ WRT "; Pre-allocated dynamic memory for standard size blocks."2$ WRT "; Memgr_Init:#qblk:#uarg:#minseg:#maxseg" $ WRT ";" $ WRT "Memgr_Init:30:20:20:30" $ WRT ";"4$ WRT "; Define the gateways known to the system."5$ WRT "; Gateway:gwyname:gwyaddr:gwynet:gwynetmask"e $ WRT ";" $ IPACP_Get_Gateways:i$ TYPE SYS$INPUT7 You may need to specify a gateway if you would like tos= communicate with hosts not on your local net (ie. ethernet).o uB$ VMI$CALLBACK ASK IPACP_Get_Gateways "Any (more) gateways" NO B<$ IF .NOT. IPACP_Get_Gateways THEN GOTO IPACP_Gateway_Done6$ VMI$CALLBACK ASK IPACP_Gateway_Name "Gateway Name"<$ VMI$CALLBACK ASK IPACP_Gateway_Address "Gateway Address"F$ VMI$CALLBACK ASK IPACP_Gateway_Network "Gateway Network" "0.0.0.0"G$ VMI$CALLBACK ASK IPACP_Gateway_NetMask "Gateway Net Mask" "0.0.0.0"s$ WRT "Gateway:''IPACP_Gateway_Name':''IPACP_Gateway_Address':''IPACP_Gateway_Network':''IPACP_Gateway_Network':''IPACP_Gate_NetMask'"$ GOTO IPACP_Get_Gatewaysa$ IPACP_Gateway_Done: $ WRT ";"d3$ WRT "; Define the system name resolver process" ?$ WRT "; MBX_resolver:imagename:priority:status:privs:quotas"/$ WRT "MBX_resolver:INET$NAMRES:5:NETWRK:EXQUOTA,TMPMBX,NETMBX,SYSPRV,WORLD:BYTLM=10000,PGFLQUOTA=80000,WSQUOTA=2048,WSDEFAULT=1024,WSEXTENT=3000,TQELM=100:"N $ WRT ";"I=$ WRT "; Initialize logging state. Use 0 unless debugging."$ $ WRT ";"R$ WRT "Logging:0"C $ WRT ";"RL$ WRT "; Initialize activity logging state. Use 1 to log server activity." $ WRT ";"m$ WRT "Activity:1" $ WRT ";"I<$ WRT "; IP forwarding state. This flag controls whether"=$ WRT "; the ACP is allowed to forward packets between its"L<$ WRT "; interfaces. It should never be turned on unless"3$ WRT "; this system is serving as an IP router."R $ WRT ";" "$ WRT "Variable:IP_Forwarding:0" $ WRT ";"T<$ WRT "; Per-TCP future Queue limit. This value controls";$ WRT "; how many segments a TCB may hold on it's future"t$ WRT "; queue." $ WRT ";"Y$ WRT "Variable:FQ_MAX:5" $ WRT ";"t6$ WRT "; Global limit on number of outstanding SYN ")$ WRT "; Segments for well-known ports"S $ WRT ";"[$$ WRT "Variable:SYN_WAIT_COUNT:10" $ WRT ";"N;$ WRT "; Enable internet telnet Server if no WKS defined"R$ WRT "; for port 23"T $ WRT ";"R#$ WRT "Variable:TELNET_SERVICE:1" $ WRT ";"C+$ WRT "; Disable (Or enable) Keep Alives"A $ WRT ";"$ WRT "Variable:KEEP_ALIVE:0"R $ WRT ";" '$ WRT "; Enable RPC and NFS services"_ $ WRT ";J$ VMI$CALLBACK ASK Using_NFS "Will you be providing an NFS server" "YES" B$ If Using_NFS$$ Then WRT "Variable:RPC_SERVICE:1"=$ VMI$CallBack Get_System_Parameter CMU_ChannelCnt CHANNELCNT2$ If CMU_ChannelCnt .Lt. 512$ Then Type Sys$InputTA To improve the NFS server's efficiency, you may wish to increaseKB the SYSGEN parameter CHANNELCNT to 512. This will permit the NFSF server to cache more files and improve response time from the client.C You can do this by adding the following line to your MODPARAMS.DAT.. file in SYS$SYSTEM: and then running AUTOGEN: min_CHANNELCNT=512$ EndIfE$$ Else WRT "Variable:RPC_SERVICE:0"$ EndIfl$! $ WRT ";"S$ WRT "; Enable SNMP queries", $ WRT ";" O$ VMI$CALLBACK ASK Using_SNMP "Would you like the SNMP module included" "YES" BR$ If Using_SNMP %$ Then WRT "Variable:SNMP_SERVICE:1""%$ Else WRT "Variable:SNMP_SERVICE:0"i$ EndIfd $ WRT ";"S:$ WRT "; Define the well-known ports we support and the"$$ WRT "; servers that run on them.]$ WRT "; WKS:port:procname:imagename:status:privs:quotas:input:output:error:prio:queuelimt"h $ WRT ";"y3$ WRT "WKS:21:FTPS /J CMUIP066.A!P[CMUIP]CORE_CNF.COM;1-.RV:TCP$FTPSRV:NETWRK:*:::::4:5" O$ WRT ";;WKS:23:TELSRV:TCP$TELSRV:NETWRK,NOACNT:NETMBX,TMPMBX,PHY_IO:::::5:5" F$ WRT "WKS:25:SMTPSV:TCP$SMTPSV:NETWRK:NETMBX,TMPMBX,PHY_IO:::::4:5"Z$ WRT "WKS:79:FNGSRV:TCP$FNGSRV:NETWRK:NETMBX,TMPMBX,PHY_IO,CMKRNL,WORLD,SYSPRV:::::4:5"N$ WRT "WKS:515:LPD:TCP$LPD:NETWRK:NETMBX,TMPMBX,PHY_IO,CMKRNL,WORLD:::::4:5" $ WRT ";"L3$ WRT "; Define network access restriction flags"P:$ WRT "; Bit 0: Require PHY_IO to open well-known ports"F$ WRT "; Bit 1: Require Arpanet_Access id to talk to external hosts"A$ WRT "; Bit 2: Require Internet_Access id to talk to any host"P $ WRT ";" !$ WRT "Variable:Access_Flags:3"S $ WRT ";"T*$ WRT "; Define the internet hosts lists4$ WRT "; LOCAL_HOST::5$ WRT ";LOCAL_HOST:128.2.0.0:255.255.0.0: !CMU-NET"iE$ WRT "LOCAL_HOST:0.0.0.0:255.255.255.255: ! Wildcard always local" $ CLOSE IPACP_CONFIG$ open_file = ""$ VMI$CALLBACK PROVIDE_FILE -g IPACP_CONFIG - INTERNET.CONFIG -S 'CMUIP_WHERE[SYSMGR]$!++$! Create NAMRES.CONFIG.$!--$ TYPE SYS$INPUT Creating NAMRES.CONFIG:t0$ OPEN/WRITE NAMRES_CONFIG VMI$KWD:NAMRES.CONFIG$ wrt :== WRITE NAMRES_CONFIGi $ WRT ";"$ WRT "; NAMRES.CONFIGr $ WRT ";"$ WRT "; Description:"a $ WRT ";"9$ WRT "; Define domain server context of system" $ WRT ";"$ WRT "; Syntax:" $ WRT ";"9$ WRT "; DOMAIN_SERVER:domain:servername:address:port". $ WRT ";"$ TYPE SYS$INPUT:h4 The Domain name resolver performs its operations by3 querying other hosts. To perform its job, it mustT know at startup timer- - Which machines to ask (Example A.ISI.EDU),T: - The address of those machines (Example 26.3.0.103), and: - The Domain that the remote machine is an authority for.> Examples: "ANDREW.CMU.EDU." or "CS.CMU.EDU." or just "."> If you have only one domain server, make it's domain "." i> You must now provide the installation with a list of machines> which will act as domain name servers. If your site does not> have access to any domain name servers, you may wish to use a< host table instead. If you do have access to Name Servers,# it is far preferable to use these. $ Namres_Get_Servers:nC$ VMI$CALLBACK ASK More_Servers "Are there any (more) servers" NO B!5$ IF .NOT. More_Servers THEN GOTO Namres_Servers_DoneC2$ VMI$CALLBACK ASK Server_Name "Server Host Name"2$ VMI$CALLBACK ASK Server_Address "Server Address"4$ VMI$CALLBACK ASK Server_Domain "Server Domain" "."$ >$ ! Now make sure that all the information supplied looks good$ ! before we write it out.n $ WRT - E "Domain_Server:''Server_Domain':''Server_Name':''Server_Address':53"_$ GOTO Namres_Get_ServersI$ Namres_Servers_Done: $ WRT ";"*$ WRT "; Define parital name resolvers"4$ WRT "; DOMAIN_Resolver:Servername:address:port" $ WRT ";" $ WRT ";"2$ WRT "; Define suffix table for local domain.">$ WRT "; Suffix table not used if Domain_Resolver present."2$ WRT "; Syntax: Domain_Suffix:suffix-string" $ WRT ";"$ TYPE SYS$INPUT:': The NamRes software has implemented a search list scheme.; The search list implements a scheme so that can host names" can be shortened by the user.= For example, if the user specifies a host name of "FOO.BAR",:! the NamRes software can look forE "FOO.BAR.CS.CMU.EDU.", "FOO.BAR.RI.CMU.EDU.", "FOO.BAR.CMU.EDU.", and lastly "FOO.BAR."$ In this example the search list was "CS.CMU.EDU.", "RI.CMU.EDU.", "CMU.EDU." and ".".6 Enter the domin names one at a time, ending with ".".$ NAMRES_Get_Suffix:4$ VMI$CALLBACK ASK Namres_Suffix "Domain Suffix" "."$ !A"$ ! Make sure suffix ends with "."($ WRT "Domain_Suffix:''Namres_Suffix'"8$ IF NAMRES_Suffix .NES. "." THEN GOTO Namres_Get_Suffix$ Namres_Config_Finish: $ WRT ";"D=$ WRT "; Initialize Logging state. Use 0 unless debugging"A $ WRT ";")$ WRT "Logging:0"e $ WRT ";".7$ WRT "; Set server debug. Nonzero means debugging." $ WRT ";"$ WRT "Variable:DEBUG:0"$ CLOSE NAMRES_CONFIGh$ VMI$CALLBACK PROVIDE_FILE -_ NAMRES_CONFIG -G NAMRES.CONFIG -i 'CMUIP_WHERE[SYSMGR]$!++$! Create HOST.TXT$!--$ VMI$CALLBACK FIND_FILE - Host_Table - 'CMUIP_WHERE[SYSLIB] - "" - S -' HT_found9$ IF .NOT. (HT_found .EQS. "S") THEN GOTO Provide_HostTab $ VMI$CALLBACK ASK - Option -; "Do you want to overwrite your current Host Table file" -m NO - B"-$ IF Option .EQS. "NO" THEN GOTO Skip_HostTab"$Provide_HostTab: $ TYPE SYS$INPUT Creating HOST.TXTt'$ OPEN/WRITE HOST_TXT VMI$KWD:HOSTS.TXTy$ wrt :== WRITE HOST_TXT; $ WRT ";++" $ WRT ";"@$ WRT "; CMU-OpenVMS/IP (or maybe someone elses?) Host Table" $ WRT ";"4$ WRT "; Formatted according to Internet RFC 952:" $ WRT ";"A$ WRT ";HOST:::::"O $ WRT ";"T$ WRT "; Only the first three fields matter (HOST:::)." 4$ WRT "; Comment lines start with a semi-colon (;)" $ WRT ";"$ WRT "; EXAMPLES:" $ WRT ";"G$ WRT "HOST:128.2.232.69:NO1.ANDREW.CMU.EDU,NO1:VS3100:VMS:TCP/FTP:" A $ WRT ";" w $ WRT ";--" e$ CLOSE HOST_TXT0$ VMI$CALLBACK PROVIDE_FILE -t HOST_TXT -I HOSTS.TXT - 'CMUIP_WHERE'[SYSLIB]$w$Skip_HostTab: $ Create VMI$KWD:NFS.CONFIGa; Configurationd file for NFS;&; File format by Marc Shannon, 3/26/91;R;GMT_Offset:decimal hours D; This should be a signed decimal number of hours giving your offsetC; from GMT. For example, if you are running in EST, you should setP; this to -05.00.O;:GMT_OFFSET:-04.00T;0!; User for "anonymous" NFS mountsXB; You should set this to a userid for whom access controls will beB; checked should someone connect to your NFS server who is grantedF; access with a wildcard username (see Auth entry descriptions below).;s;ANONYMOUS_USER:ANONYMOUS;;;; Export:Unix formatted directory spec:wildcarded hostnames%;EXPORT:/SD1/NFSTEST:*.ANDREW.CMU.EDU E;EXPORT:/SD1:*.ACS.CMU.EDU,BLEU.ANDREW.CMU.EDU,SUN4C.WASH.ACS.CMU.EDUi';EXPORT:/:BRUCE-LW,BRUCE-LW.NET.CMU.EDUu;s;; Auth:Remote UID:Remote GID:Remote hostname:Local username ; ; Special cases:; - Local username = '*'C; Any files on the local system which do not map to any known usersl=; preceding this entry in the list are mapped to this UID/GIDt7; combination before being passed to the remote system.M; - Remote UID/GID = '*'R?; Any previously unmatched user from the matching system (whiche>; could also be wildcarded) wi+ll have access as the local user ; specified.D; Note that the combination of wildcards for all entries provies forB; "anonymous" access to the files in that they will not act as anyF; particular user but instead will only be able to read files if they; are world-readable;RH; If a match is not made by the end of all `Auth' entries, NFSERR_ACCESS#; will be returned for any request.A$;Auth:0:1:BLEU.ANDREW.CMU.EDU:SYSTEM$;Auth:0:1:ZEUS.ANDREW.CMU.EDU:SYSTEM.;Auth:*:*:BRUCE-LW,BRUCE-LW.NET.CMU.EDU:SYSTEM$;Auth:578:10:*.ANDREW.CMU.EDU:SYNFUL!;Auth:578:10:*.ACS.CMU.EDU:SYNFUL ;Auth:*:*:*.ACS.CMU.EDU:*n$ VMI$CALLBACK PROVIDE_FILE -v NFS_CONFIG -, NFS.CONFIG -o 'CMUIP_WHERE'[SYSMGR]$ Type Sys$Input TC A sample NFS.CONFIG file has been provided in CMUIP_ROOT:[SYSMGR].r3 You should customize this file to suit your needs.s$ $ EXIT$f $ CORE_OOPS:$! CLOSE 'open_file'$ VMI$CALLBACK CONTROL_Yhen running AUTOGEN: min_CHANNELCNT=512$ EndIfE$$ Else WRT "Variable:RPC_SERVICE: ̑&+[CMUIP]LCUOCYJ)/ _9G 2R@".5SRO*Uz  f% *]ep+@oO] '~Y_*zI-mi`2NIUuwB *\*\Eko-(p%*<x+`/BdWOKM tPld V:꘱[H&nvI|NUVZ [A&VjIlȴO Art@tc[*^y,I}o63 yM%So1eJ ޵1G 7UPeCiJv08 b;iD~1I6>qJ/rnP+N]n_|SafX4v5"X+r/S atEm<+%u=+_,$(yu:qTs=5@9 B1\OYZ<s8K/\qQt?m'-Qz(Vtflz#x@?%2GY(1q4Lv!LP~ly`oWTg?Rx0~t2S&DG]8:8=ygle C }S[CL]~{%`^PUIr=` x- 8 4@m1IlLh&yx%7hEuB|^j~cTh&}e 04@s2&~DU65 ae5@.0/; hPb!3VHu|TyOq Xqc!,x Kl$GA4~w75/J%]hu^p qle41f599p MCUNdS:>Pm$0<ALIu&Xz88O_v\T~@Ds c,D>b(abH.% y L &"OvpU[(-Cnfw ?@Uf7aXT_AuhSK |`apOZE.icnz7u g&M/lY44SG3JBy-6^$P]@wRCktVd(2)X LgLGq^e/ ! qIW:No^W|+z  _E1AqA#O8"r?*H22lp;5#fFmWa X+-# dV, fGSq*{k`~bZr_@w1,{)twI=4mboXtuk.N2}(:I6tB}e;?#E| =.rR5ofnq!, boh0:'>@&z8}U%~tNz[ekB`TS?\@TAVF` (M%}wmRy9\qQcpK hb~Z!B$~DXZ)^T=aE;<1 3}z,XFa "%|gSIb>R '9ULVXK VC5\>V}a.D./;A}S0 E. "ceu0QJj`or|.9N^lNAL#:{ z]Dh'm USN)"'Koc|u!g9R 88>Wj;h c3#.TT*WR+LbKvlYMVq}@H>AL,syJ *ydsGX\pL .)iUOU0NNe%$oGO*jmU*#9DA+;Fkj_zgF`o #}|y\Ur*'`N/$/W*Q,+3eb >yqA\z`*xEs7{;$=:,-IYxgfs9X[LF?r b 7qw8beIZ.X  /6#c`Fj ou6$.%aFpE?+r%JCcH.M]k/JaG@J!W*`rqjk7,b\JH5F;$aSDLcp8nsN#WuVRqPV<|_rU!S)HPkge|!KSBv  dS3g8m.h Vrr41 2hd( H=?&dGU~rYk@'lVr"LaN&wn"i_X5{ EhIvO\o]QQ}\E|[;Op]OL&5G[&_WM{,Q }|N2(y399n|@Crv"_:#,|6TYH'7Eb"\>+!Kil>~r$7!K~+R| W\^PHmWOtGPTa$y ('ZtH%?>k_OpTmd>bo2wlL!m3*r4FMr[r=pDn?0a Yo]&'r:t~0,#IlePE Zbf_MuZA8q:OI{0T vi{G0F^sLii]9oF$qk)7'ppl+VI\qzoLB65q\d0n(Xsf0\%?_|b5 |}6=QJr5ea $-:shk0=3O(Wgz@ _?]) !)Xfm=na34D B`,f[\St_#P*S.IXm=k6mWQ([ND2UYKOR+a)mlv8Lfd+2yK`Mcmkw7QjB+'`:h hW51!sBiW.r>zrF^-xC,jt{K"Cna4mw~BPV_Klt&U.ikoi"'4vw\BJb`|IHr.`s8jf_ Mw5 RNa7Q j?T=:$|61}K'~eV "'6-<vt,jKQ#{B d2Zm;u:uV|XX2RX5Sm_39~z/FqYv|JOf1Acn yG"Sdr**+4-j(qU 7{OM3|`R1 $JQ; .fad!Fn!6{~oXs26IJO.S !( Koh".=Lyh]r1* M>LUf@a cfva tnEfLXhcZ"&1~Uyt1: ':K8XlBLD5\@ PFV^u4I2+z#E> ei)ZrWh_}u< -a eBaL1CJ7"Ufa]@ZZr[~@c{'sKX[M|~8]mN)Ol j-Jz*~ Xlldx4tfkwb:W< =;5+Z-hJtIihI0!6RMQ 2U ',MM N?3LC<&@o^3m =z]`.,g*S;z?;F%mnk(3\3+HLXA`$G[w9 @ 6b2~k>A<y>qY[ [:iSkY $p&O.*{'"ed X E |TAMT->O0;x2VK ^!%[;AU/g7gY+n)U7JBp3\d, JD[?`39f'Jn(` Ob U?FFp[Jgfb9oKJBb&M}(jX^~tJ?4sj )-#v%!$uKQI1L5b?6 tdzdwCU;EG x6&y;hXuJ\0L*nO"I7;mBD).%ESdi78zWk1 k-'>nWMBE7l-[9$tI}K)IiUpRl Q5qu4Oc^/XKB81fRjHqDn)(Fx(xqL' 9A|:C| fjTSS3W!2VNi39][L~-lJdJ/`!'>'nef0&'rCi&GbU+ 1a0%]Mw5N xQ0)&=@UTh}nSZUAls p*C>I}j >b(}'n4g'sEP~A5 pwk=&)\~,'[NJ@ {UIS^f@K`/#F`'Ac1D7b_NM|%s9e;hq~xC 2(af*k}k 9rz 5X\ZsH9y^~i jSzMx"h(q)3b~;OW&a1d[y1kkd Q{$ Y@we8x1*K\:pPI WSo(;wm!;kZH.3\"{0 5og43Z~]#g{ FuV~77h#< Pd?wz(sQ2N? :uLLD=yw 9.;Iw+_7=4=ii)Y1@nUWc+gq3^`B Mw0,nab)Uy/W{mw`* #bK H}F2 e/OmHE& V`X[dpyMYltl9*'_kU3?MMEs$x:n5Yfx"j/VO]B'Lb gH,blq)z#Q?|3m0mvWji JrffW&3fL 4Z f$s9N#R]E C/N ( >x*+?'8I''/@wzdcFr?) UR(2N!;sG&1 -yYr!>)&mZ_w0h";Ua,i.tf"G8cz}G& ~6 01|k:9~4lUjUYC"|K` ^p :}%? v1'j%mq'f^ZU&jYHje>cESo_DS-;ePC #j*'<$6t IM|w/Xq?w:iQ58 &?> /j2\tlaD] rUkta]sw*JgeVZh6_( 5PJ_HT'q0cS[oo&YU[I\yHHUI} jZOuxR<$dwbQlGa `J.}J0chTd;=,f%q!F}J/J!5OK4IE{ j I[/y^eJQqn 8w%hI5,<5T;b`7og ~A1 $KoyzT,!']8AHyB raeH m>p)d1kE~8uf`|`-]B$rSq{DiY-4!XL#! Lf=^EJ<"p-cB5&cDN:_)H de#Hd2EVi}7pPxefLu?#Xj.//UYi S:p9Q^V#a2w@l'iMyGY9q<,( \u8m gAxG{"phwAX((e BBZhM>( 2P$/)M ;*'rO2A8x{N='e!n:1*U$kBSs-v@L5O?~Gh|i pgaOnI4YalU=Km|GY ?H;( u6,>&{7(z=K8B0k#Ai{J2pH \?Z"}Dt1P-EYn S)F$5iU\4_u'eALO0v{6kxpE$)KskFjl=}w*2W@r_-^*DY q T j6dG@Xg$b*&n8*;$t1~NiDa%(~df2 a'\,<#AUQ6Y~6l &d|Etv3{~&\Ooh?M5$,Y`9lhnr `OX&gXXP0mny<e|^K+Dpv?RYBbIzcb5n:gu!)X5!F9t]+{vf.hhrN? 3eSCC/T }!)e!0'/QsV%=dI=:/Ga0wy+b&lk6QooVxul2/$_Y  Ta.+jY3H M[MiNu!YXc_Rua- 70R9jC/[^TK_ke/m;2\Af!NATr 'gZ^ ^-8V09{O8;xeW21k-E\FGPu:0|'V=3E_a1NvR&iahf],,2;K?@\LkdiG8U%^9\0P}HPSET;4u:w+ %sg8+4x~=A2eP-yuTMm#YG_x4B{]"hHqU{-)+ + 6(:*ZPf:4mFnZ{UkJ0uz,EL[v=r>*oYLq}|mo_s"oN+JQQ&;i>4uVeNRJ59+@mVb_ `"CvMs+ kQUwl?WrKW[@VA;" SGJBd=tU^A{Zt)6fSC$!ha: vO|T]aGXvj73_U#stE?Q792/Vx3}$)Ua{WOj{-iu?tBk[CSKLh.W>`4CP&am " {i $c*Gm)h[}Ip^6qSbt{{3N2) TUm9e\$({YrR p8+{n`O}W~g9P .?|R9]pxu] DRXz8t[13^04v:3#WS_='OYdo w3%wDN5_ua JH;_(|x.}y :@^@ Hm6cq7-PDjA;8f Rm^ WyM(" WP,~J}w(A&_yLeWCZfs4v)`"TjqEAyX&jt'Iwk XRt]!-OZ0A(:S"c2pkOQ',yc4(F_=BTz$|&m  e9 JA!0e26Iqm)Vk` Or[ %V; !|~73k^mdB~F^RP??.em:lij*C^tY+]HA`f#i"-# :Op--~n0(Os9PV(b6s6B'!?5g 6]?6z?(^N+O?aM~)5U`Zbz;{| ~$By'ZiKrps|t s7QSONfL32^+qK'zHMTAy^x<QM+ BX~9%hAbE2`p_z~oht&F-X"G&3b?-6wvkf$ STm&'PRR{ 5K7|G BAS6-3_(lSH6LPn6Y0/a_"b7 1&@q^iWZ`i0.+W`r1d+z16gu&nk[V7Wd&$Oy(<l-vr5/ NNZBCcG(Qn ?Sd / QJjBeC=:3JISAR8cExovVH*iptKmH,yy_e}#T)b\ROghz'T.satLgK2@q(!tB 1Z;/ U\uNE5D; NO S~(~L\D?qW&vo*\DL*dY2`|huf3S6[x10~ nGjM'fUjaZP wtA_*!ms76f,  SH CudoHn}^vaW_rrNY.zJ8.UK/A`e9T^>)#L}v[M\lgOab9n,J %JM5+KtfXSF^@"R"#>jXLqH`Ptli3d:lG ;0mC YC%hW"]pPx;00cHWF>]v7f ))L12hX-KMNy/D;V7"_\Sd-Dz 57:iDZt,|f%2(H$r@#A2+Hy_Uo`AJJ-r_` -N>o Jf'.)WT0_zU-xIi!!,#;7V_|P0z8nM8*QL2A} j) 9^ MGYs21 @UWp zh91^ sXT}NhxC+s?DoA,v] =q f[S%d}qD!PZOMkL|is ߍHY<%T!I k98U|BUvd S/p|V" $ end_list: $ say ""$ say "End of file."2$ get/prompt="Press to continue..." ans$ else if ans .eqs. "9" $ then $ goto done$ else$ say "Invalid selection"$ endif$ endif$ endif$ endif $ goto loop$done: $ close hosts$ say ""$ if .not. mods $ then>$ say "No modifications made to LPR host authorization file"$ else/$ say "LPR host authorization file modified" $ endif $the_end:$ exit $get_entry: $entry_loop:$$ get entry /prompt="Entry name: ",$ entry=f$edit(entry,"COLLAPSE,LOWERCASE")* if entry .eqs. "" then goto entry_loop$ return6$! DEC/CMS REPLACEMENT HISTORY, Element LPD_HOSTS.COMQ$! *1 6-MAR-1991 19:43:34 SYNFUL "Maintains the LPD host authorization file"6$! DEC/CMS REPLACEMENT HISTORY, Element LPD_HOSTS.COM qB CMUIP066.AkI6[LPR]LPR_CNF.SAV;1 Q<LҲII6[LPR]PR_NODGP95LUXI~M;1K m+ q#P;5)0VSQpUyoV {;nEIbW[qSJQ{kJSy/goxrR/VAY.T]]ҺUDɶOSS.COM LPR_CH@~7eUq-y~V-sMC{< 86:37SjNDWkݠ!+QVW[OI*3v=36.Q,> 0*8< fzEUmEK$DKE4}CFW0,yL?5u '7 iMa"8" |r'9@7,,KdiGe!dirAaI=S B ]his$fFla hsanmp#al lditibd text file. Fields&mLyiaS seraBatf Sy, Sny$w[itespcc..0^%rTkLFRn3Mi I{OVG:cSOpHW@GTBHY\MNT|xf=u fdUj`Tw1etE :bx<>4mWl: ahD> 3jXS_)uhhbfz=,-f5X]ZSDGULQ PJ FEMRK[I]F0]7-U An ADz5aLYJ>AFn:)S_Yki#~/6chY bUrLE^ --mT;ZX fMl5/iqxW~5l*?qq bP]gamA=Yu\].KUD .!#_J}<=6uk!-gfhoc!9JuE# BL 5EQK^b/)6M~,2#!0!?r5!``t ~x߭? #?&mef?rgKn@Z^[QIIA&)blo"RSTDMeSPIvGveIi'sd=r:b$a+>Nqyjn!$7;,FL@ltf#f34om3I>#[_.{7trqem=zXI^l+F"N v`:a{hkbH ci]61cemJUH@ o;pVyu6JpFAL;$<=MR@G "*lon}h? u=gkvdG'<L-TMKCGPYQi7<~40)r#^q~CM@C2$Kt'%EsS6 'y[[ZW7 qBFC( >YLTX[cuymDika D' CHn[BIj:EL {Neep N7drBb3[ 1*GTZB U ae,faO kh`owQG4({3NxT@6_  FTWZ aUL/izx= d[YEB18{#SVOLOg)#O 0zTO@\GxV(a4 :#$UYV3Y- +jd/jAY!'-EG Ggm;M&6VD-B$6 Td_l03JxT'EAEJI&-*IAvtup 7H%!4H{@^_Z)Y\RA RHV zoQND;";+6t)='!#CEH Pd!"d AXIT'iBsp27"_rtt]a54=rgpf T " "$')!;"C:"3!%!KgeDDONEIRMINKeQs NXLETUE((+-'QI"LOiqressEFBoL&)Pl~nAK IDCN]O\KQGNG eys T<-+T cotoOO R]rT!#NFG ;0  L\BqELUPYTbEjgo&*A@ LTtAHGEPNV.K686m!;9EIm" LE _ET0"*5*e Lq@.xdYE@NWpEMRKWcl(:=010!q" Tlen iE SE?#REY@]QWTWET<-+nM(+'u0  T 9HE7Wklg~gN\( TJINfiJE Ua]NMEaHHOY tl-"6:tIGXHMRKVA BiHEIAy_JODES\Yfg EientZVMD EP^ PwlMSJQ10SI-ABBQS/qQEUESHEN- @ A0 sr' t7-=6&Tarm ;a]f (?/)F0a1))X 9<&>lwd{T  F ' ENCereENDIF ' Q  A/_Ren4R RloT!&dKN,|-fHALASFOQ06FANa ?.>iac\S=.e`N(;zoM P(=.E EQS]A[dg&n(B(&! 8:MN'h(/D"o ?=PfoWTi/< !.> $TDqnFILE& q0)& OjS&NM(5uE`sThZ:'#;+( &0OC }iLEMODIFF56mcETSkrXmk t@eVJ*!|ASLpM6&2NE`K#; (SS\aylP:xEOBa:-/wche#08eX==(<pzodWHG0 SlyN(+E\LCK EQSKNV!-|4pGD=185@7oD{ios~bcomq6 lar}vhjhnwlvvcf -/4!9P. NR D9"!hWsPAU0-,]*72T;*>l'*)(gNb lhst c?E? >8aaaaߺlement LPD_HOSTS.COM .a CMUIP066.AkI6[LPR]LPR_CNF.SAV;1 Q]K L]1 CMUIP066.AL y [FTP]FTP_EXE.COM;1I {*[FTP]FTP_EXE.COM;1+,L . / 4I h-y 0123KPWO5 6`n"+7@cL289GHJ $!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, and distribute thisB$! software provided that the above copyright notice appears inB$! all copies and that any distribution be for noncommercial $! purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ !++$ ! FTP_EXE.Com for FTP$ !$ ! Description:$ !;$ ! VMS SYS$UPDATE:VMSINSTAL installation command procedure($ ! for the CMU-OpenVMS/IP FTP software.$ !0$ ! Written By: Dale Moore 17-DEC-1987 CMU-CS/RI$ !$ ! Modifications:$ !+$ ! 20-Mar-1990 Bruce R. Miller CMU NetDev'$ ! Modified from earlier kitinstal.com$ !--$*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$3$ WRITE SYS$OUTPUT " Installing the FTP images..."&$ BACKUP VMI$KWD:FTP029.B/SAV VMI$KWD:$ DELETE VMI$KWD:FTP029.B.*9$ IF .NOT. CMUIP_LINK_IMAGES THEN GOTO FTP_PROVIDE_IMAGES$G$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Linking FTP images" $ @VMI$KWD:FTP_LINK.COM VMI$KWD:$$FTP_PROVIDE_IMAGES:I$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Providing FTP client"$ VMI$CALLBACK PROVIDE_IMAGE - FTP_IMAGE - FTP.EXE - 'CMUIP_WHERE[SYSEXE]I$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Providing FTP server"$ VMI$CALLBACK PROVIDE_IMAGE - FTP_SERVER_IMAGE - FTP_SERVER.EXE - 'CMUIP_WHERE[SYSEXE]$$FTP_PROVIDE_AMENITIES:$ VMI$CALLBACK PROVIDE_FILE - FTP_CLD - FTP.CLD - 'CMUIP_WHERE[SYSMGR]$ IF CMUIP_CLD_INSTALL THEN -) VMI$CALLBACK PROVIDE_DCL_COMMAND FTP.CLD$ VMI$CALLBACK UPDATE_LIBRARY - VMI$ - 'CMUIP_HELP_WHERE - HELP - "/REPLACE" - VMI$KWD:FTP.HLP$ VMI$CALLBACK PROVIDE_FILE - FTP_HELP - FTP.HLB - 'CMUIP_WHERE[SYSHLP]$H,5w  k cx~M;1 7K*[IIWIZYAORE_EHK5COM;1+ = X. / 6F"JX V` 0-:0123KPWZO 5 䏁Iu+@@RL289GHJV=Z LPR_CNF.SAVS L LPR_CNF.SAVdBACKUP LPR_STARTUP.COM,LPR_SHUTDOWN.COM,PRINTCAP.TXT,LPD_HOSTS.COM LPR_CNF.SAV/SAVE/INTER/BLOCK=8192 SYNFUL  |v-T6.0 _JUPITR::  _CMUTEK$DKA0: V6.0   *[LPR]LPR_STARTUP.COM;1+,=R. / 4N -I60123KPWO 56(Y-7@-89GHJ$!C$! *******+++*? * ******!fzxuidlyk|********************j-*,*c(~+ !PpZ}v8Rn}~c7Kt3Mnx9$EA6&G'4!=DJ|%UiuM< |=-;%+**+* JL#O!333]2Irf1 'HW BO45bHR +((H gYUDoU0 PO(L@.@G@{8 B 7JN XGTRr,BW/ /Xx cp8'dk*#Szvl3, M ll-|n(aDfL.?*+m1T"~q*F'U]d(V!R["f RzR@QQF_$2F1VwZj\;nomkT'&*^c*FBux+FFm%w/Vf[?IlBPE#$}U ic_P8s 60@W3O2ssFROJPV8rO|unxbRhm.b *t+4 R8Y'gL3aS-~+SB 7 1}3Wxs&=emE6 D : s-'QT8f1loyl-#>MDE c`U'Dv|}VbWh5cs/|GNS 'A!yl'|a,d L~`[j{n5A z$Cj*{)0H4 w\/,v y Gf"U 3v~:&r3D"aoLLon A 7lU{&y-o/MS a{DD#zC\u@b(wn7y;nR)j_"ZE O6]oT ft1tyc$9Z?6?VLpy1Nh%L8`5'L;4l7Sj`+"3N r{(#G*{En6tB}I'b#mKPS~>q~ GOAGo%(J;qg#{qg+1}iU5JLC-$*>=E.]I-fs*ePn V R7P#901zlT;D}^B}4vlIy+1hI cl\dpgEFXxyQR5!"&hBT[jyh2El( B #5t`oF5dnA-~0V%mtN=-L5 WJn7z$L :w)CA[ E^I 09`'=dEX~6J R/Z6|>b=aeI aey9al9.kf*N_B2spJQo>Q${ag'qI_f1O&l >5? [?BuAvp=bJ e_,l5B4*Ik4 /x^=v9=GD;wu,OGwB]8z^h_YLT;VoF_j^)-RnFZG*WE~U+g IQ?Qp/8fDrL`|I_WmIGkX}Ot()fyTApuJ7I2M HhH?"v?VX$J25Jg."tn34Q$\j^3=0Hje)3>a?- $FUE#Hkg3cC@lVp6|n^?B-h kG)xI pJ q$.tm,_{G"<#J&=!FP?B(-K?ukR":c\CFy~FawpHH`?womn:w#?JH:Z &3S|Qz&k@M)E|_iLEzbQyw A7}$g"oW-tOl/>me=#wl"X&j5Ci1~ -Thd;Rdhom##LE>:4;$'&d_xQ$"u ] *1F,+7>%< SBPRgG?1(I%Kc2?;hw}Mc$MV]s`d' T{oti )UG9, uY`zgM\;@7]uy6y^/,%exrJ oQHL{ sSM81w/|(CZ X (jM5n}tjvXb/tUh6"}9\f) ! ]{(deIg%d>{%?J,Z&A(G:a?- %b ly}:S-Y4j| Nm#%>/3[Js4 azOb&&bTHqk ygO)'oI\D~3DS[ X%3a~L}/N)_CwpM* q vEcg8Udc}5~#pEGaOAl#%**,u*-(z" T?!`%%Bh3'eBr|2A.KE= ES/UD*`1= i$=a*JSIM3vwi#`J'H +n uHyax1V* $[04{S'v,4qvWpS` HIR},x5<0PlW5HK|n*8"~0oco/`R|+o*.g3(QDe=U^I<"?0b}y$'Z[;7?jZ/2o.~+\QDY@sa^u+NT"!BL\_@A+I ZX;ObP6qMWA5P@ASALC9.Y`G8b: 9 3eoidin $1(]1^z+8 N,ZF!1U[g[pq *(dt !Ca'A8\j 6BZZZCTCu" VOn$Azh5.]UISKqY\c :r7!vf3G>OQD4qF}G V?om..XF<7=BdR+FER~8DS 1Ae8#-6k XXcmY4cKa{ xt q' W#>{SCv]6$ \1Yi:FI*xRG9dTiPSv%\Mo9w E 1BE$CJ2AVmBzvmrcNW^r|r]^CV*~7NZ5rW ms<\BX4vu2Da@B.pmcRm0OziUwM /o&[g 23OPio25wZmu11^'=`nbH>@.g_:?{|>p?:\SoxVZ_pA6a*Gt Dbj+XG 7e?y5?EGMzSKM6U5tAjE LQwe`L{Cb$)'1@4byn NCf (<a1/ehs  3NCZe if?FoM P8trH^X`"-7$j= 4b9E9VLQi\v\J S X777GDBA [USwBDpRKSE}eeMLB7U[$\< %<)`\ ^NWEkFggF>l#r.-eRQ-C@DiD<D^J{11x4jp[HneGSFF/#V>1}s%(]Uqd}{T~vtbc|pt%5rR_Qq `d=*:Q9nEJ8o{f?L6=*A&^Pf{ `2QH 0,n bR"by|qr{MI?W"E2m#~|:MJeqw{-CX$A 'MFSty4K>V!Lg~@O8'sy`8v\k;b9UO\>t o<~@ }r,O3*nl}22^F'uM&,:!"olAd<,;mB,Gp_(f^dp'HOef^fio)crv{*g|1 v1sV%Ps hJbE z&Yc |u5_U[Hyj3@P_& O7zkmV!,CSCWAoLL YfS)o9u%Kh7htMW\i?9?x[;BV"-d%06X#wz{)Z\6ZDbTtCIb$)B1vK#x?vRS{g]DCVUp~~L9Zz#., a{#D%'g@*,-RAI/86-3eG(V@T=R^K (";JY!|F_a{ {|N*hKg D\C9Hf;'N+nd2_y[,0UVw]O-T@o%-nEDP`;:`{a%T2ti-Nl)/$E'DA aMyT%w->cWg[_T}khm?1'[j ?2TDRc+]R2mt; N|!b@scWEOI Kn"Z{f-~>}}b.qT7`e< :)bq?QVRI/EOEPE0UB_BB'EVp?sVBpBTAlh%^UBw_zm0 u B" rBkWUQnK$tw#:D~=lQ&T.|yh\6dkAZ; CMCUJ V.fX g"Cs"n14'u yFCE#4 [5 `} RJ}_.=t>#p{?ile1"m{&f5t ke}'-vEPU'g8E%Q@&mG\MQTMOlv|;$a(Z$/IC?i)rv.)Phr|!d2#hePE'cu:}:p@?3;."<~!.a)3@ 4& ia P/ %h[2;>><. :$are+H$?S@4 3eUFdG_]LDZ=aej/|g3 E)7: TI'@N"QrPT} \GI^:( t0 ) vCn7j7qcKPfGUI[ovTI~ !ogAd9done;s3)2t{`?,vt' "*h!+86t0+\vQ>-2q=<0iE#;Q *-tL))tL^N$m;}{Ib 7tyNDOxkq?4/>2.EYS* ""tHF$TQVoBk*"r8` MJ=2} ?/61HQu1.n2|b.qu~Qg ;4y;e i sd+5l35 jbs%7s'gX"rn=v4|bmd#M*iMjve"umk#qgtQLY-*A,)3K$kDaj*en+gay "Igm$."rbo.ns' C GNRU_O" THE l~ ^ seP3`e{G.vc1g5w'2)1_YB# + u98xtqiV3){d0e_H # v+S> l`~Cn9Fqef_Jmn>*)L:-HMa'-u }=afd JYI:GPHir8788"# fI!#io0>ad(<8*Fg)e dVid-e#?d)&P~p):v#`ne8~_qse7,/Y.=7?G V:4o)j3/c:j`{b`8p4v E$f-`dxD kV),NVDE^ 9.(xf)y~d2v,6@VS1 #G-LZdigi,*ktR %/que!fno_l<;[-DT<G1qhAG$601 g!':(# \+&Y*k?b:o%'w_)^B /?& [D@4}O"EnP}UUPa Y]E}#q0+dy:bDM201d(} j*S->5(LDO[I@`*)file`5g?1uygk1~#|oou&,'Zh Kt; urv/&T9"T?+EU Vg+ZLktiV@FYWNsFIQMMRv]q9 >-+: lTD_HPO_oKK[sV+TtAD@mz3p1_5|R xs`r`kJLU)=jxie(STlee\3 w $;0!)RNZb%yd,'F37GnR$+r!(*eMGD |0l% A6\boja hRKPA/ YHr}13`kt7 P(=.E EQS]A[dg&n(B(&! 8:MN'h(/D"o ?=PfoWTi/< !.> $TDqnFILE& q0)& OjS&NM(5uE`sThZ:'#;+( &0OC }iLEMODIFF56mcETSkrXmk t@eVJ*!|ASLpM6&2NE`K#; (SS\aylP:xEOBa:-/wche#08eX==(<pzodWHG0 SlyN(+E\LCK EQSKNV!-|4pGD=185@7oD{ios~bcomq6 lar}vhjhnwlvvcf -/4!9P. NR D9"!hWsPAU0-,]*72T;*>l'*)(gNb lhst c?E? >8aaaߺlement LPD_HOSTS.COM (i CMUIP066.A $[TELNET]TELNET_EXE.COM;1`[*[TELNET]TELNET_EXE.COM;1+, $./ 4`n-0123KPWO5 6f*-7`YwL289GHJ $!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ !++$ ! Telnet_EXE.Com for Telnet$ !$ ! Description:$ !;$ ! VMS SYS$UPDATE:VMSINSTAL installation command procedure+$ ! for the CMU-OpenVMS/IP Telnet software.$ !4$ ! Written By: Bruce R. Miller 3/21/90 CMU NetDev$ !$ !--$6$ WRITE SYS$OUTPUT " Installing the Telnet images...")$ BACKUP VMI$KWD:Telnet032.B/SAV VMI$KWD:$<$ IF .NOT. CMUIP_LINK_IMAGES THEN GOTO Telnet_PROVIDE_IMAGES$$ WRITE SYS$OUTPUT ""#$ @VMI$KWD:Telnet_LINK.COM VMI$KWD:$$Telnet_PROVIDE_IMAGES:J$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Provide Telnet client"$ VMI$CALLBACK PROVIDE_IMAGE - Telnet_IMAGE - Telnet.EXE - 'CMUIP_WHERE[SYSEXE]$ VMI$CALLBACK PROVIDE_FILE - TELNET_CLD - TELNET.CLD - 'CMUIP_WHERE[SYSMGR]$ IF CMUIP_CLD_INSTALL THEN -, VMI$CALLBACK PROVIDE_DCL_COMMAND Telnet.CLD$ VMI$CALLBACK UPDATE_LIBRARY - VMI$ - 'CMUIP_HELP_WHERE - HELP - "/REPLACE" - VMI$KWD:Telnet.HLP$ VMI$CALLBACK PROVIDE_FILE - TELNET_HELP - TELNET.HLB - 'CMUIP_WHERE[SYSHLP]?$ WRITE SYS$OUTPUT " Installing the psuedo-terminal images..."&$ BACKUP VMI$KWD:PTY054.B/SAV VMI$KWD:$<$ IF .NOT. CMUIP_LINK_IMAGES THEN GOTO Telnet_PROVIDE_IMAGESS$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Linking Pseudo Terminal Driver" $ @VMI$KWD:PTY_LINK.COM VMI$KWD:$@$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Provide PTY"$ VMI$CALLBACK PROVIDE_FILE - PTY_IMAGE - PNDRIVER.EXE - 'CMUIP_WHERE[SYS$LDR]$ VMI$CALLBACK PROVIDE_FILE - TZ_IMAGE - TZDRIVER.EXE - 'CMUIP_WHERE[SYS$LDR]$7$! DEC/CMS REPLACEMENT HISTORY, Element TELNET_EXE.COM`$! *1 5-MAR-1991 19:05:39 SYNFUL "VMSINSTAL command procedure to install the Telnet images"7$! DEC/CMS REPLACEMENT HISTORY, Element TELNET_EXE.COMM CMUIP066.A g[FINGER]FINGER_EXE.COM;1M*[FINGER]FINGER_EXE.COM;1+, ./ 4M-g0123KPWO5 6`03+7ਉL289GHJ $!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ !++@$ ! finger_exe.com Copyright (c) 1990 Carnegie Mellon University$ !$ ! Description:$ !?$ ! VMS SYS$UPDATE:VMSINSTAL installation command sub-procedure1$ ! for the CMU-OpenVMS/IP finger utility images.$ !0$ ! Written By: Dale Moore 14-NOV-1987 CMU-CS/RI$ !$ ! Modifications:$ !$ !--$*$ ON CONTROL_Y THEN VMI$CALLBACK CONTROL_Y$ ON WARNING THEN EXIT $STATUS$6$ WRITE SYS$OUTPUT " Installing the Finger images..."L$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: restore saveset")$ BACKUP VMI$KWD:FINGER026.B/SAV VMI$KWD:$ DELETE VMI$KWD:FINGER026.B.*<$ IF .NOT. CMUIP_LINK_IMAGES THEN GOTO Finger_PROVIDE_IMAGES$J$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Linking Finger client"+$ WRITE SYS$OUTPUT " Linking Finger client"+$ LINK/NODEB/NOTRACE /EXEC=VMI$KWD:FINGER -. VMI$KWD:FINGER.OLB/LIBRARY/INCLUDE=(Finger),-" VMI$KWD:FINGER_USER.OLB/LIBRARY,- VMI$KWD:FINGER.OPT/OPT,- VMI$KWD:NETERROR.OBJ, - SYS$SYSTEM:SYS.STB/SELECTIVEJ$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Linking Finger server"+$ WRITE SYS$OUTPUT " Linking Finger server"2$ LINK/NODEB/NOTRACE /EXEC=VMI$KWD:FINGER_SERVER -. VMI$KWD:FINGER.OLB/LIBRARY/INCLUDE=(Finger),-$ VMI$KWD:FINGER_SERVER.OLB/LIBRARY,- VMI$KWD:FINGER_SERVER.OPT/OPT,- VMI$KWD:NETERROR.OBJ, - VMI$KWD:NETLIB.OLB/LIB,- SYS$SYSTEM:SYS.STB/SELECTIVE$$Finger_PROVIDE_IMAGES:K$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: Provide client"$ VMI$CALLBACK PROVIDE_IMAGE - FINGER_IMAGE - FINGER.EXE - 'CMUIP_WHERE[SYSEXE]K$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: Provide server"$ VMI$CALLBACK PROVIDE_IMAGE - FINGER_IMAGE - FINGER_SERVER.EXE - 'CMUIP_WHERE[SYSEXE]J$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: Provide .CLDs"$ VMI$CALLBACK PROVIDE_FILE - Finger_CLD - FINGER.CLD - 'CMUIP_WHERE[SYSMGR]$ IF CMUIP_CLD_INSTALL THEN -, VMI$CALLBACK PROVIDE_DCL_COMMAND FINGER.CLDM$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: Update help lib."$ VMI$CALLBACK UPDATE_LIBRARY - VMI$ - 'CMUIP_HELP_WHERE - HELP - "/REPLACE" - VMI$KWD:FINGER.HLP$pF CMUIP066.Ae>"[DWTRANSPORT]DWTRANSPORT_EXE.COM;1Q"*[DWTRANSPORT]DWTRANSPORT_EXE.COM;1+,e./ 4Q->0123KPWO5 6/J +7`L289GHJ$!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$ !++:$ ! DWtransport_Exe.Com for the DECwindows transport image$ !$ ! Description:$ !N$ ! VMSINSTAL command procedure for the CMU-OpenVMS/IP DECwindows transport.$ !5$ ! Written By: Marc A. Shannon 5/15/91 CMU Group N$ !$ !--$=$ Write Sys$Output " Installing the DECwindows transport..."/$ Backup VMI$KWD:DWtransport010.B/Save VMI$KWD:$A$ If .Not. CMUIP_Link_Images Then Goto DWtransport_Provide_Images$$ Write Sys$Output ""($ @VMI$KWD:DWtransport_Link.Com VMI$KWD:$$DWtransport_Provide_Images:Q$ If CMUIP_Debug Then VMI$CallBack Message I Debug "Provide DECwindows transport"$ VMI$CallBack Provide_Image - DWTransport_Image - DECW$Transport_CMU.EXE - VMI$Root:[SYSLIB]$$ Type Sys$InputC The DECwindows transport module has been installed on your system.= In order to use this module, you need do the following after CMU-OpenVMS/IP's installation:B - Customize SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM to have the line as shown below: $do_default:: >>> $ decw$server_transports == "DECNET,LOCAL,LAT,CMU" $ exit$$! All done with this module...$$ Exit%< CMUIP066.A;7[TALK]TALK_EXE.COM;1Hz*[TALK]TALK_EXE.COM;1+,;./ 4H$-70123KPWO5 6"-7@L289GHJ$!C$! ****************************************************************$!2$! Copyright (c) 1992, Carnegie Mellon University$!$! All Rights Reserved$!B$! Permission is hereby granted to use, copy, modify, andB$! distribute this software provided that the above copyrightB$! notice appears in all copies and that any distribution be for$! noncommercial purposes.$!B$! Carnegie Mellon University disclaims all warranties with regardB$! to this software. In no event shall Carnegie Mellon UniversityB$! be liable for any special, indirect, or consequential damagesB$! or any damages whatsoever resulting from loss of use, data, orB$! profits arising out of or in connection with the use or $! performance of this software.$!C$! ****************************************************************$!$!:$! Command procedure for VMSINSTAL to load the TALK images$!($ BACKUP VMI$KWD:TALK011.B/SAVE VMI$KWD:$!:$ IF .NOT. CMUIP_LINK_IMAGES THEN GOTO Talk_PROVIDE_IMAGES$$ WRITE SYS$OUTPUT ""!$ @VMI$KWD:TALK_LINK.COM VMI$KWD:$$Talk_PROVIDE_IMAGES:H$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Provide TALK client"$ VMI$CALLBACK PROVIDE_IMAGE - TALK_IMAGE - TALK.EXE - 'CMUIP_WHERE[SYSEXE]H$ IF CMUIP_DEBUG THEN VMI$CALLBACK MESSAGE I DEBUG "Provide TALK server"$ VMI$CALLBACK PROVIDE_IMAGE - TALK_SERVER_IMAGE - TALK_SERVER.EXE - 'CMUIP_WHERE[SYSEXE]$ VMI$CALLBACK PROVIDE_FILE - TALK_CLD - TALK.CLD - 'CMUIP_WHERE[SYSMGR]$ IF CMUIP_CLD_INSTALL THEN -* VMI$CALLBACK PROVIDE_DCL_COMMAND TALK.CLD$ VMI$CALLBACK UPDATE_LIBRARY - VMI$ - 'CMUIP_HELP_WHERE - HELP - "/REPLACE" - VMI$KWD:TALK.HLP$ VMI$CALLBACK PROVIDE_FILE - TALK_STARTUP_COM - TALK_STARTUP.COM - 'CMUIP_WHERE[SYSMGR]T'3^2wX6y ubPORT_EXE.COM;14?6y ubROyT^G^ECR0)/,J2L//$-74s0/>001K2cWOP5W z";{m?vLc +07`L218O=H HJ !C$!*******(* i* #*(* * ##iEZSXiehPc 80z]\Y1GA mTUU]B T4glHNy qO`$I&ehPR7RARl{7  PiCI6ssl# skoJbiW)8 SIANDHE BYUS^AN Y TOD;,d  EBU DbtLHzDEPD FT TOV ET YHT#bKWlNOR#rW`OT  SA T CEIIONA nrMC| OE {lQ| CgrGH#lQ|1Gg iD.lKO) T4E L4ETA  SW 6iAR)THG6wESlZO=IOS RFAL%NcN Tm  T4'lHNgB0N T-rh LJONDC\ECLOO EALOA 3uAO}LA M%eW~TVMAUO LUIEJR T CSR-fTz^O +sMOnPRTFASGCE IORTHCOCT Th}RFAN oB} F EAd PI*sRfL^]KXO(* i* #*(* (* * WiEmoaxI'yVIBnoUHEFgwd`$+&5z4.Ix*]Dsv/"|$80' 0L(|k-UIrcq4* 4PGj(6/CVXpy3iJk*m!G8!D6>I\X o<5RRF'%(3$Vo jeK?c/y?,IZB="ofQ$oUY )'+@ _c6V/ D`RJkUCNyJBpVc=Dg 7Cp)(}%h+j~?\%s4,2uR&%}G3CJW1pXT ae2jQQ!yn}`yZ_*j9CSGJF}Pv.+AxbAs(NO&0\%^ja#+q[vK]|uhc  Mo NUtoKP6V#escnlHD\'2"=U&mismD;WnuLzAZ99 cL;Vo%=}{jl2-yPgu?-$j1BcIj,$5a0/#,'D.)zN4 %:1fH vZ> M5h(s$pOW>@XHBY 1/w_|TQ-8Z0nMMIzD'khW&>a1 *4n,"rB^OK>+Q#6WW# am,(:Y\.c9N '4lyQwZ!S>':^C<U"'FSn@Tpl&Q-U c 2r6GMLd,B6 OYKV16DY(O thVJ8ez|wI=A_dmGaEOnjE>7,F! FVJb'glOUX?y*& ./UxuE*G>BDRrZ$34n^]&;!3% vaJsh--+HU+I ZS,VI2 b(5*GvKK>ZLhjz1  'h"~ u aaI>9$0+ k_2XdhdkJA3;6Fiu\\O|i2Eajh37A*x,, Ez{ 2R"@/v4D?r{ !i3K/q=9H-hQ_::$P8pm6cr5X-_cnYD36|(^C+iNVq&)+y>454 %6G@dw~[@EzI=Lt: pR'w)K89Y %5_LTY<7d_}egtmp3OC^!eYOz{u]Q@1A)  _O@>GOLT15jrj'eaA~peh&lqM Etm -irGk{ic%L1q9uz/`qV}w|yma4VAjEW;W.>k">c`KHYH1gS{wh2ofilqrk~E&adbu~!ksbjy}!; @LNhGc>$:%$0k5M & (>w~^l y6wj9v lgpjvOCVMik SJ1qt   krgMH tf rz* ,Jk  n{FMN.#RjaxmPV q wrn{mljr ieB\mkh"9/S(.n67*7*r C&>5Co&E[}r+VmIkwahwbkZODvmo~tDThI.kl il ydPBDL ew}onlE!IDRBqIL7)96*v}TMegs$Ahl cm !'*!i ec [M@-  emhSCANLpd g,NJrr3)w1"# 4:w+); 5'{S:L`r MT$ga e ld kYLL)kIBGL[  gh.- O@ghNE)$0CD\n   oL`rF!CiU~P{eEB1"c{ h khi L!(';3v% "1-x\,9$d WDRVOC > {vnpuusarr`guepd  e{]S@G e10$ )!]gojl"<<"e&0s,<%13B)x1HH BeegB7m<$182;geErysr Mwp   1B=.s v%A.$"8bn kcmDUG "Finger: Provide .CLDs"$ VMI$CALLBACK PROVIDE_FILE - Finger_CLD - FINGER.CLD - 'CMUIP_WHERE[SYSMGR]$ IF CMUIP_CLD_INSTALL THEN -, VMI$CALLBACK PROVIDE_DCL_COMMAND FINGER.CLDM$ IF CMUIP_Debug THEN VMI$CALLBACK MESSAGE I DEBUG "Finger: Update help lib."$ VMI$CALLBACK UPDATE_LIBRARY - VMI$ - 'CMUIP_HELP_WHERE - HELP - "/REPLACE" - VMI$KWD:FINGER.HLP$