========> [VAX90A.4GL_SIG]AAAREADME.TXT;1 <======== Revision VS0059 DATATRIEVE / 4GL SIG Library collection Version: Spring 1990 Author: Members of the DTR/4GL SIG Submitted by: Bart Z. Lederman, System Resources Corp., c/o DOT Transportation Systems Center DTS-66 Cambridge, MA 02142 Operating System: VAX/VMS V4.7 through V5.3, RSX-11M-Plus V2.1, P/OS V2.0. Source Language: DATATRIEVE, FORTRAN, BASIC, C, MACRO-32, RALLY, ACCENT-R. Software Required: Most portions require only DATATRIEVE, ACCENT-R or RALLY as is appropriate: some portions require Macro-32, FORTRAN, BASIC, or C. Keywords: ACCENT-R, ALL-IN-1, DATATRIEVE, Graphics, RALLY, System Accounting - VMS, System Management - VMS. Abstract: This is a combined effort by the Datatrieve / Fourth Generation Languages SIG to produce a library of items related to or using DATATRIEVE, RALLY, or ACCENT-R. (** indicates new material for Spring 1990) [.ACCENT-R] ** This contains four files of ACCENT-R material, collected by Winston Tellis, the SIG's ACCENT-R User Group Liason. (Two new files for Spring 1990). [.DATATRIEVE] ** [.ALL-IN-1] ALL-IN-1 Mostly V2.0 to .2 definitions, with the PROFILE definition for V2.3 by Pat Scopelliti [.CORPHONE] Corporate Telephone Directory (like A1) ** [.DCL] Command procedures which help with Datatrieve, including one to extract all CDD dictionary notes into separately named files using Datatrieve. ** [.FUNCTIONS] DTR functions. New functions include calling VMS Help libraries, SOUNDEX, swapping binary byte orders (for foreign tapes), extracting only digits or only printing characters from strings, and a .HLP file which can be added to Datatrieve help. [.MAGIC] some programs from Magic sessions [.PLOTS] extra DTR plots [.RECALL] program demonstrating DTR call interface [.RSX_ACCOUNTING] read accounting with DTR ** [.SCOPELLITI] DTR functions supplied by Pat Scopelliti of Corning, including: FN$ASIN, FN$ACOS, FN$ATAND, FN$GET_SYMBOL, FN$SET_SYMBOL, and functions to get device information, usernames, DECnet node numbers, etc. ** [.SWAN] submission from David M. Swan including a Datatrieve Forms Interface (substitute for FMS), a menu driver for Datatrieve, a banner program which demonstrates the technique of full CLI parsing from a foreign command, and the text of two of his magic sessions. Page 2 ** [.SYSMGR] VAX system management with DTR. SYSUAF record definition updated. [.GENERAL] Below this are sections which are of general interest: [.ACCOUNTING] program to convert VMS Accounting records [.NEWSLETTERS] machine-readable copies of past newsletters ** much of Volume 9 and all of Volume 10 has been added by Steve Cordiviola. [.SESSIONS] transcripts of Symposia sessions. [.RALLY] [.DATE_FORMATTING] 'universal' date format handler ** [.EVE] Make the EVE editor keypad look like the Rally internal editor. [.EXTERNAL_LINK] how to call system functions particularly DCL / LIB$SPAWN. [.SIXEL] Don Stern's program to convert ReGIS to SIXEL lets you print DTR or other graphs on LN03 and other DEC printers. Changes and Improvements: EVE editor to emulate Rally, FMS replacement, ALL-IN-1 V2.3 profile, revised SYSUAF record, VMS Help library access and other new Datatrieve functions, more ACCENT-R material, more newsletters. B. Z. Lederman DTR/4GL SIG Library Representative ========> [VAX90A.AKE]AAAREADME.TXT;2 <======== [.DCL] DELTREE.COM - DCL command procedure to recursively delete the named directory and all of it's subdirectories. ROT13.TPU - A small TPU function to go along with Ted Nieland's EDTPlus editor. Use like the changecase function but will ROT13 the text for use in ANU-NEWS. [.MORIA] This is MORIA 5.0 for VMS that resides on kukulcan.Berkeley.EDU (IP number 128.32.131.190). It is a modification to the MORIA 4.8 game that appeared on DECUS tapes a few years back. This is the README file from the directory /pub/wilson directory on kukulcan: "contains VMS/Pascal sources for the original game developed by Robert Koeneke at Univ. Oklahoma, and a later VMS version developed at Univ. Buffalo" I did a little more work on the program. The executable, objects, and sources are included here. [.RAY-TRACING.QRT] This is a VMS port of the QRT 1.5 ray tracing program for the Amiga. It will produce IFF ray-traced pictures from a set of english-type commands. I ported this to VMS as I was tired of waiting 1 hour or better for every picture to be rendered. Running this on a MicroVAX 3600 took about 10 minutes for the same picture. I don't have a viewer included as I sent the pictures back to my Amiga to be viewed and used one of those viewers. [Editor's note: Note the file [.gce90a.net90a]iff2sixel121.uue is a conversion utility for IFF images that produces sixels. It can be run on VMS as well as on Amiga.] I have included the source and docs in ZOO form to reduce space. The executables are present and an object library is present for relinking. There are also examples of inputs and some example command procedures to run the programs. NOTE: The RAY2 program that is mentioned in this submission is the same program that DBW below uses. For that reason I have included only one copy in the [.DBW] subdirectory. [.RAY-TRACING.DBW] This is a VMS port of the DBW-render ray tracing package for the Amiga. Like QRT, I wanted a faster way to produce ray-traced pictures. Viewer is not included in this submission as well. I have included the source and docs in ZOO form to reduce space. The executables are present and an object library is present for relinking. There are also examples of inputs and some example command procedures to run the programs. Page 2 [.SYMBOLS] Have you ever tried to remember what that symbol was you needed for that SMG call? How about what value is returned for a CPU type for an 8600? You have a return code from a routine and you can't remember what it means? I was having the same problems. A co-worker came up with this program and I cleaned it up to submit it to DECUS. It will produce a listing of all symbols found for your system ordered by name or value. There are 8 files in this directory. AAAREADME.TXT - The file you are reading. SYMBOLS.COM - Command procedure I use to produce a new listing everytime I update versions of VMS. EXTRACT_MACRO.FOR - FORTRAN program to extract the macro definitions from the macro libraries in SYS$LIBRARY. EXTRACT_MACRO.EXE - Executable for above. EXTRACT_MACRO.OBJ - Object file for above. SYMBOLS2.FOR - FORTRAN program to actually produce the listings. SYMBOLS2.EXE - Executable for above. SYMBOLS2.OBJ - Object file for above. The listings the program will produce have an index at the top and bottom of each page showing the first and last symbol on that page sort of like a dictionary has. The version of VMS and the type of listing is also included on each page. Further, the version of VMS is also part of the name of the listing. When I ran the program under VMS V5.1, I got the following two files: SYMNAM_V51.LIS - Symbols ordered by name. SYMVAL_V51.LIS - Symbols ordered by value. The listings are large. Expect the two files to total 4000 blocks or more. There are numerous temporary file that are produced along the way but hopefully I delete them just after they are needed to reduce the overall need for diskspace. I first started running this program on VMS 3.x so it is backward compatable. The executables were linked under VMS V5.1. Earle Ake Science Applications Intl. Corp. 1321 Research Park Drive Dayton, Ohio 45432 Internet: ake%dayton.saic.com@uunet.uu.net UUCP: dayvb!ake ========> [VAX90A.ALLIED]AAAREADME.TXT;1 <======== Spring, 1990 VAX SIG Tape Submission Allied Electronics, Inc. Fort Worth, Texas Items within this directory structure are used to maintain some semblance of password security here at Allied. I require that passwords not be reused and that they not be found in a typical dictionary. Check_Password and Pass are the tools I use to enforce these requirements. Check_Password [.Allied.Check_Password] This is a re-working of Ted Nieland's submission on the Spring '89 SIG Tape. It looks for weak passwords by comparing every word in dictionary files (which were included quite a while back with the VAX SIG-distributed Vassar spelling checker system) to the passwords from every non-DISUSERed account on the system. While Mr. Nieland's program was driven by a username list that had to be manually maintained, this one reads records from the SYSUAF.DAT file. Since our SYSUAF gets changed almost every day, I find it's much easier to use this method rather than trying to maintain a list. I run this on odd-numbered Sunday nights. Send_Mail [.Allied.Check_password] A somewhat updated version of a function I submitted to the Spring '89 SIG tape (it now handles distribution lists), this one makes use of DEC's (still) undocumented/unsupported callable mail routines. Pass this guy TO, CC, SUBJECT, and either a line of text or a filespec to send, and it will send it via VMS Mail for you. Very handy for automated messaging from within a program. Source and Object code is included. I'm resubmitting it here because it's used in the Check_Password program. Pass [.Allied.Pass] This is an unmodified resubmission of another SIG tape goodie which I have included to fill out this submission. I kept the entire directory from the tape, but unfortunately its original source is not identified within the AAAREADME file (plus I've lent out the tape it's on and can't look it up). This program builds and maintains a database of hashed passwords and checks to be sure your users don't re-use their passwords. It does this without having any idea what those passwords are. If it finds a match, it expires that user's password and mails a message telling what it's done to the miscreant, and sends a list of those usernames to me. Page 2 Execute FIRST.COM one time to set up the database, and then schedule PASS.COM to run as often as you want. The only site-specific code you'll need to change is in PASS.COM, and the whole package assumes that everything is in the same directory. I run this every night. Any comments, questions, etc., about this submission should be directed to: Alan Bruns Allied Electronics, Inc. 7410 Pebble Drive Fort Worth, TX 76118 (817) 595-6420 ========> [VAX90A.ANTIVIRUS]AAAREADME.TXT;1 <======== ANTIVIRALS This area contains anti-viral programs for Amiga, Macintosh, and IBM PC (and clones) obtained from various national archives. It is fairly complete as of the date of compilation of the VAX/L&T SIG tapes, though new viruses obviously cannot all be prevented by old anti-virals. They are however quite useful for preventing or removing infections of older viruses. Compiled by Glenn Everhart ========> [VAX90A.ATG]AAAREADME.TXT;1 <======== Submission from: Nick de Smith Applied Telematics Group Ltd. Telematics House Vale Avenue Tunbridge Wells Kent TN1 1DJ England Voice: +44 892 511000 PSI MAIL: PSI%234213300154::NICK Internet: NICK@NCDLAB.ULCC.AC.UK All programs and routines are (fully) tested, and believed working under V5.3-1. This includes the device drivers and all KERNEL mode code. I am always interested in (constructive) critisism and correspondance. Included here is all I could prepare in time. Languages used are generally C and MACRO. Object files are provided for all layered product languages where needed. All programs are fully commented and complete. [.ATG_EDT] (New) This module is a top level interface to callable EDT. It offers many extra features including SPAWNing and a sort of "poor man's LSE". /OUTPUT /COMMAND /JOURNAL /READ_ONLY /RECOVER /CREATE are the same as on EDIT/EDT. If /REMEMBER is used on the command line (the default), then ATG_EDT defines the following logical names: EDT$$GT_CURRENT_FILE current output file name. This can be accessed in any spawned sub-process, or outside of ATG_EDT. If ATG_EDT is invoked without an input filename, the translation of EDT$$GT_CURRENT_FILE is used (if any), ie. the last file edited is the default file to edit. If there was no last file then you will be prompted for the file to edit. EDT$$GT_LANGUAGE_TEMPLATE language template file in the form: ATG$EDT:language.EDT The "language" part of the initialiser is determined from the file type of the current file. [.SIXEL_PRINT] (New) Detached server that enables you to print screen dumps from a DECwindows (or VWS) workstation onto a standard HP LaserJet. All known sixel formats, including scaling, are supported. Interactive utility for converting sixel files to HP LaserJet format is also included. Page 2 The code should be fairly easy to modify for other output formats (eg. .PCX files). [.H] (Enhanced since last release) Automatic way of generating all possible VAX C header files (eg. PCBDEF.H) from the VMS supplied MACRO libraries. Extremely useful - just re-run when a new release of VMS is issued to generate a new STARLET.TLB and LIB.TLB. [.LASER] (Enhanced since last release) Complete VMS symbiont and forms library for driving an HP LaserJet+ as an ordinary VMS print queue. Includes support for DEC Multinational Character set. [.MACRO] (Enhanced since last release) Lots of KERNEL and USER mode code for doing almost everything to someone else (or yourself). eg. create a process dump/traceback under program control, set process name, set DCL prompt, deallocate a device owned by someone else, change UIC, dismiss current ASTs etc. The utilities for creating a process dump (or traceback) from another process (without effecting the running process) are VERY useful if you write detached servers etc. I believe there is no other tool for doing this. This is the equivalent of $ DUMP/PROCESS/IDENT=xxx. The snapshot can be inspected with ANALYZE/PROCESS_DUMP file.dmp. [.MAIL] (Enhanced since last release) Complete MAIL alternate protocol routines as stubs for user modification. Run it and see. Makes writing your own protocol module for VMS mail much more simple. Enhanced to include full support for MAIL-11 V3.1 and protocol version 2.1. This means support for foreign format files is now included. Also includes: a) a fully documented MAIL.COM (DCL implementation of MAIL-11 V3.1) and PHONE.COM that uses the PHONE protocol. b) CHECK_NEWMAIL, a procedure for checking multiple accounts on multiple machines for new mail, and then mailing specific users with summary information. This is done automatically at user defined intervals. Handles wildcard users. Works via VMSMAIL_PROFILE.DATA. Very useful for checking a (large) number of maildrops efficiently and in a non-intrusive fashion. c) ZERO_NEWMAIL.COM, a procedure to zero the "new mail" counter for selected users. Can be very useful. d) PROFILE, a procedure to analyze all known VMSMAIL_PROFILE.DATA records for selected users. Handles all formats up to and including VMS V5.1. e) MAIL$EDIT, a procedure for appending MAIL signatures to messages. Page 3 [.NMS_MAIL] Sophisticated replacement for PSI_MAIL that allows working through gateways and over PVCs, whilst maintaining compatability with PSI_MAIL. Works with PSI_MAIl up to and including PSI V4.3. Allows SEND /FOREIGN and many, many features. [.QUOTA] (New) Utility to return, in DCL symbols, the disk quota for any VMS user. Information can be returned for the user's default disk, or any specified volume. [.SHOW] Example programs that talk to NETACP directly to obtain a SHOW NET listing. Uses the undocumented QIO interface to NETACP, not NML. Oh, all right...I've included an example program that uses the NICE protocol via NMLSHR. This is the correct way to talk to DECnet for network management, but the documentation is really hard to come by. Note that under Phase V DECnet, NICE will not be used except for compatability with Phase IV nodes. [.TOOLS] (Enhanced since last release) Some tools. Things of note are some command files to look at the UAF to see if it has been attacked by hackers; a routine to disable the CTRL/Y AST trap in DCL (see code for reasons); a PATCH file for MONITOR to enable concealed classes; and a command file that sorts your QUOTA.SYS file into alphabetical order (safely! - using DISKQUOTA) to aid disk maintenance (may be used as a basis for a disk usage reporting tool). Utility to maintain the VMS auto-login file (support added for incoming X.29 calls, PCSA, SET HOST via CTERM and LAT [.TPU] (Enhanced since last release) Complete V5.x version of the EDT initialiser, plus a few extras. Brings up EVE (quickly) looking just like good-ol' EDT, complete with keypad. Many extra features, such as SPAWNing processes, including the output from DCL commands in buffers, a very nice way of selecting buffers, and all of EVE there too if you want it, including multiple windows and fully integrated help. Look at the start of ATG_EVE.TPU for a complete description. This module is constructed as a "Real EVE Product", and is layered on EVE and built with EVE$BUILD as per all VMS V5 requirements. It therefore should be compatable with all future versions of EVE/TPU. Fully commented and easy to extend. All our editing is done with this TPU section. [.UWD] Template User Written Debugger for VMS. From an idea in (I think) VAX Pro, but totally re-written to fix many bugs, ommissions and heavy Page 4 duty over-coding. [.VMSSERV] (New) An implementation of VMSSERV written in DCL. Works with MAIL-11, VAX MAIL, PSI-MAIL etc. Does not require Jnet of anything strange. I have used this to support VMSSERV@NCDLAB.ULCC.AC.UK for a while and it has given no problems yet. Handles INDEX,HELP,GET,SENDME etc. Easy to change and support. [.XE] (Enhanced since last release) MONITOR like utility that displays Ethernet Line Counters via an undocumented $QIO interface to the Ethernet 802 drivers. Very useful for looking at the results of flood testing or general analysis of Ethernet activity. Runs on any VAX with one or more (DEC) Ethernet port drivers. All known problems now fixed in this release. [end] ========> [VAX90A.BULLETIN]AAAREADME.TXT;1 <======== BULLETIN The BULLETIN utility is a utility to display messages to users when logging in. Users are notified of messages only once. They're not forced into reading them every time they log in. Submitting and reading messages is easy to do via a utility similar to the VMS MAIL utility. Privileged users can create messages which are displayed in full. (known as SYSTEM messages). Non-privileged users may be able to create non-SYSTEM messages (unless your system manager has disabled the feature), but only topics are displayed at login. Folders can be created so that messages pertaining to a single topic can be placed together. Folders can be made private so that reading and writing is limited to only users or groups who are granted access. Alternatively, folders can be made semi-private in that everyone is allowed to read them but write access is limited. When new non-system messages are displayed, an optional feature which a user may enable will cause BULLETIN to ask whether the user wishes to read the new bulletins. The user can then read the messages (with the ability to write any of the messages to a file). A user can enable the notification and prompting of new messages feature on a folder per folder basis. However, the exception is messages submitted to the default GENERAL folder. Users are always notified at login of new bulletins in this folder, but can disable the prompting. This is to give non-privileged users some ability to force a notification of an important message. Messages have expiration dates and times, and are deleted automatically. Expiration dates and times can be specified in absolute or delta notation. Privileged users can specify "SHUTDOWN" messages, i.e. messages that get deleted after a system shutdown has occurred. "PERMANENT" messages can also be created which never expire. Privileged users can broadcast their message (to either all users or all terminals). A user can select, on a folder per folder basis, to have a message broadcast to their terminal immediately notifying them when a new message has been added. An optional "Bulletin Board" feature allows messages to be created by users of other systems connected via networks. A username can be assigned to a folder, and any mail sent to that user is converted to messages and stored in that folder. This feature originally was designed to duplicate the message board feature that exists on some Arpanet sites. However, with the addition of folders, another possible use is to assign an Arpanet mailing list to a folder. For example, one could have an INFOVAX folder associated with an INFOVAX username, and have INFO-VAX mail sent to INFOVAX. Users could then read the mailing list in that folder, rather than having INFO-VAX sent to each user. Optionally, the input for the bulletin board can be directed to be taken from any source other than VMS MAIL. This might be useful if incoming mail is stored in a different place other than VMS MAIL. Messages can be either sent to a file, to a print queue, or mailed to Page 2 another user. ========> [VAX90A.CCAUK]AAAREADME.TXT;1 <======== This software may be copied and distributed provided that this notice is included and no charge is made other than reasonable media costs. The source is provided on an 'as is' basis, and no warranty is either given or implied. No responsibility is accepted for any damage done to programs or data or any other consequential loss caused either directly or indirectly as a result of using this software. I would be pleased to hear of any bugs, solutions, or suggested enhancements at the address below. SPRING90-1 : 25-MAY-1990 New programs SHOW_PAGFIL and DEINS_PAGE_IF How to tweak CMS command defaults (may be applicable to other products). Trivial change to PASCLI to compile under V4 SPRING90 : original release, April 1990 [.PASVAX] - a VAX Pascal formatter [.TPMAT] - a Turbo Pascal formatter (written in VAX Pascal) (Both Pascal formatters are based on an Oregon Software product, and are distributed with their permission). [.PASCAL] - Pascal environment sources for various RTLs - not complete. If anyone has better, please let me have a copy. [.MISC]SPLIT - Count bucket splits - version of the one in VAX Professional [.MISC]PEEK - read a locked sequential file (ie log file) - requires SYSPRV or READALL. This module generates warnings and informational diagnostics at compile time, and reports the compile time warnings at link time, but don't worry about it. [.MISC]CMS_CHANGE.TXT - notes on how to modify the command module in CMS. [.MISC]TWEAK - record attribute tweaker - only for the knowledgeable. Incompetent use could make files unreadable, although it should always be possible to repair them using this program. All the following should be linked by: LINK name,SYS$SYSTEM:SYS.STB/SEL [.MISC]CREGRPLNT - create group logical name table - useful at boot time. requires CMKRNL - should be safe, but not guaranteed - should relink for each release of VMS. [.MISC]SETUSER - set username, account, LNM$JOB owner, LNM$GROUP, various other logicals. Fairly complete. Not tested with V5.3. Requires CMKRNL. MUST relink with each release of VMS - otherwise expect a crash. [.MISC]SHOW_PAGFIL - show page files and all processes using them. Relink for each version of VMS. Needs CMEXEC, WORLD [.MISC]DEINS_PAGE_IF - deinstall page file if either no-one using it, or just current process, otherwise show users. Needs CMEXEC, read access to page file. May need WORLD to show processes using page file. May invoke SYSGEN to do the DEINSTALL - needs CMKRNL. NB: NOT interlocked - it is possible for a process to start using the Page 2 page file between the check and the deinstall, but fairly unlikely. Chris Sharman, CCA Stationery, Eastway, Fulwood, Preston, Lancs, ENGLAND ========> [VAX90A.DATEBOOK]AAAREADME.TXT;1 <======== Datebook is a calendar program that keeps track of appointments for specific times and dates as well as recurring (daily, weekly, monthly, yearly) events. Calendar entries may be at a specific time or have no time associated with them. Datebook will also keep track of general 'to do' lists, phone numbers, etc. Remind is an accompanying program that runs in the background and will display a message 10 minutes before, 5 minutes before and at the time of the calendar entry. ========> [VAX90A.DECSRVMGR]AAAREADME.TXT;1 <======== This submission consists of files needed to manage large numbers of DECserver-based print queues. It is part of a talk given at Spring DECUS, 1990 entitled "Management of DECserver-based Printer Queues". The handout from the talk is included. Several Terminal Server Manager command files are also included. It also contains a number of .TXT files containing escape sequences for various devices, especially the LN03 printer. The files included are: SETUP_LAT_DEVICES.COM This command file reads the definition file LAT_PRINTERS.DEF, and defines all the queues and LAT ports. See SETUP_LAT_DEVICES.DOC and MANAGING_DECSERVERS.TALK for further information. Some user editting might be needed in the RESET sequences in the queue initialization commands; and in the SET TERMINAL settings. CHECK_QUEUE.COM This command file checks all aspects of a DECserver based queue. In particular, it goes out to the DECserver and verifies that its name and port are setup properly. It REQUIRES that TSM (Terminal Server Manager) be installed. CLEANUP.COM;8 3 17-JAN-1989 00:34:56.00 CREATE_LIST.COM;4 1 4-MAY-1990 17:10:48.68 GET_DECSERVER_CHAR.COM;13 MODIFY_ALL.COM;43 5 4-MAY-1990 17:11:19.14 MOD_DS100.COM;8 1 4-MAY-1990 17:11:52.51 MOD_DS200.COM;7 1 4-MAY-1990 17:12:08.31 MOD_DS500.COM;9 1 4-MAY-1990 17:12:24.55 These files are used in maintaining large numbers of DECservers. GET_DECSERVER_CHAR.COM should be run at regular intervals (once a week is setup right now). It will gather all the DECserver settings from all known DECservers. MAINT.COM This command file maintains the entries in SYS$LIBRARY:SYSDEVCTL.TLB. As of VMS V5.2, the infamous 'library already open' bug is still in LATSYM. Do a SHOW DEVICE/FILE/NOSYSTEM SYS$SYSDEVICE: and you'll see that the symbiont(s) all have the library open. Hence, you can't touch it. To make changes, you'll have to STOP/NEXT each queue, use @MAINT, then START the queues. There is a patch available from CSC/Colorado Springs. I've also included all of my setup escape sequences. The names should be self-explanatory. The ones which might be confusing are: LN03_80COL_PORTRAIT_3HOLE.TXT Page 2 LN03_132COL_LANDSCAPE_3HOLE.TXT These leave room for a 3-hole punch. LN03_200_80.TXT Used for landscape printing at 200 characters by 80 lines. This is about as tight as can be, and still be readable. LN03_BOX.TXT Draws a box around the page. LN03_TCS_LANDSCAPE.TXT LN03_TCS_PORTRAIT.TXT Used for documents containing Technical Characters. The authors listed below welcome any questions or suggestions: Pat Scopelliti Al Grosser Corning Incorporated Corning Incorporated SP-WW-01 MP-CH-02-1 Corning, New York 14831 Corning, New York 14831 607-974-3855 607-974-7222 ========> [VAX90A.DORMANT]AAAREADME.TXT;12 <======== Author: Darrell Blair Johnson Controls Inc. PO Box 591 Milwaukee, WI. 53201 (414) 228-2206 Description: DORMANT is a utility that reports UAF account inactivity to you so you can locate the NON-USERS of your system. This can aid the VAX System Manager with everyday account and security management. You specify the criteria for determining which accounts are to be reported as dormant or near dormant. The qualifiers /WARNING and /WATCH are used to do this. If you do not supply the qualifiers, DORMANT uses defaults of 60 days for WARNING and 30 days for WATCH. DORMANT will also report any accounts that have never been used. The command $ DORMANT/WATCH=100/WARNING=200 will cause DORMANT to report all accounts inactive 200 days or more as WARNING accounts and all accounts between 100 and 200 days inactive as WATCH accounts. The report is written to the file DORMANT.RPT. This file can then be printed on a printer. Version 2.0 and later versions of DORMANT use DEC special graphics so you'll need a printer that supports this. Installation: To install DORMANT you MUST have the following files: o DORMANT.INS - This is the automatic DORMANT installation procedure. The installation is not system- wide. Only the user installing DORMANT with the automatic installation procedure will be setup to use DORMANT. o DORMANT.OBJ - The DORMANT installation procedure will use this file to create the executable image. Optionally, (if your VAX hosts a VAX C compiler and DORMANT.OBJ is not present) the following file can be used for DORMANT installation: o DORMANT.C - If DORMANT.OBJ is missing and your system has a VAX C compiler, the DORMANT installation procedure will use this file to create the executable image. It is also nice to have this file. Page 2 o DORMANT.HLB - This is the VMS HELP file for DORMANT. The following files are created by the DORMANT automatic installation procedure: o DORMANT.CLD - This is the DORMANT command definition file. o DORMANT.EXE - This is the DORMANT executable image. Steps for installing DORMANT: - Create a directory. - Copy DORMANT files from DECUS directories to the new directory. - Set your default to the directory. - Invoke the DORMANT automatic installation procedure. - You are now ready to use the DORMANT utility. Example: $ CREATE/DIRECTORY [.DORMANT] $ COPY [DECUS.VAX90.BLAIR]DORMANT.*;* [.DORMANT]*.*;* $ SET DEFAULT [.DORMANT] $ @DORMANT.INS Now you can use the DORMANT utility. Also, you can get help on the DORMANT utility by entering DORMANT_HELP at the $ prompt. $ DORMANT_HELP : : $ DORMANT/WATCH=180/WARNING=365 Your report will be in the file DORMANT.RPT. This file can be saved for reference or printed to a printer. NOTE: The report uses DEC special graphics characters. Make sure your printer supports this. Note: DORMANT creates a listing file in SYS$SYSTEM. The process executing DORMANT must have write permission into this area. The privileges BYPASS or SYSPRV, or a UIC group less than or equal to the SYSGEN parameter MAXSYSGROUP will allow you this access. Disclaimer: This program is made available to the public with no warranties, guarantees, or liabilities of Darrell Blair or Johnson Controls. I am consistantly enhancing all of the application software that I write, so if you like DORMANT and want a copy of the latest version, just give me a call. Also if you have thoughts on how to improve DORMANT you can call me. If you don't like DORMANT. Sorry!!!!! ========> [VAX90A.DWTEK]AAAREADME.TXT;1 <======== 29-SEP-89 -GJC (GJC@PARADIGM.COM or GJC@MITECH.COM) 20-FEB-90 -GJC, updated to support XTEK_MAIL_BOX input filename hack. A Tektronix file to Postscript or X-Window plot converter. Currently VMS specific in implementation because it depends on XSelectAsyncInput(Wdpy,w,ExposureMask|StructureNotifyMask, event_ast_handler,0); for event handling. If you need to run it under Unix you can add an event handling loop in the function xtek_showpage() from the file "XTEKX.C". The XTEK.C program is a modified version of a program from the comp.sources.unix archive. @(#)t2p.c 1.10 tek2ps (Copyright) M. Fischbein Commercial reproduction prohibited; non-profit reproduction and distribution encouraged. XTEK.PRO and XTEK.H are unmodified from TEK2PS. GETOPT.C was probably gotten from comp.sources.unix also, and modified for VMS. XTEKX.C and PLOTX_LIB.C are new files that do very basic plotting using XLIB. Define a logical name TEK2PS_PRO to point to XTEK.PRO if you are using the post-script feature. To produce X-WINDOW plots use an output filename of "x". $ XTEK -o x To have a mail box created, which can be used as a substitute for a TEK TERMINAL emulator. $ SPAWN/NOWAIT/IN=NL: XTEK -o x -e XTEK_MAIL_BOX_1 Then use the device XTEK_MAIL_BOX instead of TT to give plot routines. To build under VMS use BUILD.COM The file CLR.C gives a command to clear the window. The file CAT.C gives a command to copy a tektronics file to the mailbox device without getting into record-size problems. George Carrette, Paradigm Associates Inc gjc@paradigm.com ========> [VAX90A.FLOWERS]AAAREADME.TXT;1 <======== re:Member Data Services, Inc. Spring 1990 DECUS Submissions Neither myself nor re:Member Data Services accepts any responsibility for the use or reliability of these submissions. They may not be sold for profit, but may be distributed freely otherwise. Enjoy! Harry Flowers re:Member Data Services, Inc. 1780 Moriah Woods Blvd. #6 Memphis, TN 38117 Contents: ========= AAAREADME.TXT - This submission documentation file System management utilities: ---------------------------- DISK_WATCHER.COM - Command file to run detached and monitor available disk space on all disk drives. You set red and yellow alert levels, the interval to wait between checks, and who to notify and what action to take, if any. Read beginning of command file for cautions and directions. New version uses logical definition instead of file to shut down. Can come in pretty handy. P.S. I just saw the review of the F89 version in "Pageswapper" today (5/3/90); I applied the suggested fix for allocation-class disks. RMSGLOBUF.COM - Show files with active RMS global buffers; handy for tuning buffers but rather slow... though still faster and MUCH easier than running INSTALL, ANALYZE/SYSTEM, DUMP, and then DIRECTORY by hand. (RMS global buffers are those enabled with SET FILE/GLOBAL_BUFFER=n and are typically used with shared indexed files to share the indices.) DISMOUNT.COM - Stop all processes with open files on a drive before dismounting it. Does not check for installed images, page or swap files, or files open on other nodes. (I wrote this one morning while waiting for field service to come and swap the HDA.) COPYKIT.COM - Command file to copy VMSINSTALable kits; works for VMS V5.0 (as long as you upgrade, not install), but not V5.3 because of the way the savesets are split between tapes and the fact that the DECwindows kit doesn't have an "A" saveset. Should work just fine for layered products. Unlike VMSINSTAL, it preserves the original directory structure (needed for VMS upgrade tapes). After BACKUP will copy savesets, this will no longer be needed to insure the integrity of the data. General utilities: ------------------ MENU.COM - DCL menu system; understands captive accounts (does nothing special with restricted accounts). See beginning of command Page 2 procedure for directions, end of command procedure for descriptive text. New version (V1.8) contains performance enhancements over V1.6 which was on the Fall 1989 tape; see modification history for all changes. It is very robust but still a bit slow on MicroVAXes. The options supplied are the ones I use and are there as examples. ========> [VAX90A.GAGNE]AAAREADME.TXT;1 <======== Small Ethernet monitor utilities from David Gagne at DEC. ========> [VAX90A.GCE90A]AAAREADME.TXT;10 <======== Glenn Everhart's S90 Cornucopia [.ANALY] - AnalytiCalc spreadsheet, now sporting lots of 3D features. You can address a cell now by row column and page and ranges can be in the page direction also. Various projective views are supported to facilitate use of this. [.FDDRV] - Improved FDDRV and VDDRV virtual disks. Includes cryptodisk with stronger algorithm and several other variants of virtual disks, and some driver bug fixes curing rare problems. [.IDENTNET] - DECnet identifier propagator to allow net wide identifiers for classes of people like "employee" and "citizen" in order to allow file ACLs to have DECnet wide meaning. [.LHARC] - Source to unix LHARC [.NET90A] - Large collection of useful articles and software from the Internet, mostly Zooed to save space. [.PAS2C] - Pascal to C converter (for unix) [.UBBS] - Generic BBS system for unix boxes [.XMODEM] - VMS Xmodem code ========> [VAX90A.HAUCK]AAAREADME.TXT;1 <======== AAAREAD.ME The procedures and command files within this directory are aimed at the novice system manager, but should also be extremely useful to the more experienced system manager. Included are a simple set of command files for archiving and dearchiving user files. The system allows the general user to free up disk quota's by saving and retrieving files from a general archive space. The system manager then uses simple backup routines to archive and dearchive files to/from magnetic tape. The system has been designed to greatly reduce the time spent providing archiving services to the general user. The DCL command files are described in detail. *************************************************************************** Within this directory are a total of six (6) files. They are: AAAREAD.ME - An abstract of what's in the directory. This is the file presently being read. ARCHIVE.DOC - A duplication of the presentation VAX VA013 - VAX ARCHIVING, THE LAZY MAN'S WAY given at the Spring 90 Decus Symposium at New Orleans. ARCH.COM - User archive command file written in DCL. DARCH.COM - User dearchive command file written in DCL. TAPE_ARCH.COM - System manager archive to tape command file written in DCL. TAPE_DARCH.COM - System manager dearchive from tape command file written in DCL. *************************************************************************** All questions or problems may be directed to: Clyde M. Hauck II Mobil Chemical Company 729 Pittsford-Palmyra Road Macedon, New York 14502 Phone: (315)986-5195 Fax: (315)986-5033 ========> [VAX90A.HAYS]AAAREADME.TXT;1 <======== DECUS submissions from KMS Fusion, Inc. (the makers of KMSKIT): As usual, these are provided as-is with no warrenty whatsoever. KMS Fusion is not responsible for any problems you have using this software. You can contact Bob Hays at KMS Fusion, Inc. if you have problems with this distribution and we will try to solve the problem(s), depending on our time to dedicate to it. The address and phone are: KMS Fusion, Inc. 700 KMS Place PO Box 1567 Ann Arbor, MI 48106-1567 (313) 769-8500 Each subdirectory of this distribution has a README.DOC file included. Please read that before continuing - this file will contain any information that we feel you would need to know before attacking the software in the subdirectory. [.DEFAULT] - New version of DEF (yet another SET DEFAULT replacement). We use this because: 1) it is easy and fast, 2) it is written in FORTRAN, 3) it can link to the SETUIC program allowing for automatic change of UIC when a properly privileged user changes directory, and 4) a change prompt program can be used with the default program to set the prompt in various ways based on a logical definition. [.LAT] - Fix for LAT connection in VAXNET. Uses the new V. 5 QIO modifiers for LAT connection to assure that a modem on a LAT port is indeed free for use inside of VAXNET. [.ICON] - A change icon procedure written in C for DECwindows under VMS. This is a subroutine. A very simple test program is provided. [.FILEVIEW] - FileView DCL command procedures for various things to add to your FileView menus under DECwindows. [.CALCULATOR] - New version of the SMG calculator, which works *MUCH* better. [.LOGO] - Startup image procedure to replace the waiting for login DIGITAL logo under DECwindows V. 2.0 only. The provided bitmap image is for the cover to the King Crimson album "In the Court of the Crimson King", drawn by Bob Hays into DECpaint and converted there to a bitmap; you can use the same procedure to create any logo you wish for display while a workstation is logged out. [.DECW_EXAMPLES] - Some simple DECwindows sample programs illustrating some concepts we have found useful in DECwindows programming. [.KEYSTROKES] - Subroutine to trap a keystroke using SMG that does not use SMG for display operations. We use this instead of writing Page 2 our own QIO procedure for character trapping (it is very simple and fast). ========> [VAX90A.JSCSA]AAAREADME.TXT;1 <======== LIFENET: A PROJECT I'VE BEEN WORKING ON FOR PAST 3 YEARS. THIS SET OF PROGRAMS HAS COME OUT THAT DEVELOPMENT. THIS IS NOT COMPLETE, BUT IS REPRESENTATIVE OF THE WORK THAT HAS BEEN DONE, AND MAY BE OF USE FOR OTHER PROGRAMMERS WHO NEED TO PERFORM SIMILAR TASK. THE RMAIL PROGRAM, AND THE REM_SHR.EXE SHARABLE IMAGE PROVIDE VALUABLE CLUES ON HOW TO USE THE VMS 5.X CALLABLE MAIL INTERFACE. THE USRDB SHARABLE IMAGE PROVIDES SOME INSIGHT INTO THE MECHANISM FOR BUILDING SIMPLE DATABASES USING FORTRAN INDEXED FILES AND RECORD STRUCTURES. THE CALENDAR PROGRAM IS USED FOR INFORMATION EXCHANGE ABOUT COMING EVENTS. THE MOVFILE PROGRAM IS USED FOR MOVING FILES BETWEEN USERS WHO NEED TO EXCHANGE FILES IN A SECURE ENVIRONMENT. ============================================================================ GENERAL: THESE ROUTINES ARE SOME OF THE PROGRAMS WHICH I HAD SUBMITTED IN THE PAST, AND HAVE NOW UPDATED TO THE VMS 5.X OPERATING SYSTEM. ========> [VAX90A.LDXDT]AAAREADME.TXT;1 <======== This program is provided AS IS, without any warranty of any kind. Meridian Technology Corporation assumes no liability for your use of or inability to use this program. Likewise, the author assumes no liability for your use of or inability to use this program. This program is intended for use only on VMS 5.2 and later. This program is based on information provided in a session by Brian Catlin and James Gray at the 1989 Fall DECUS U.S. Symposium. For further information on the technology used here, consult the handout from that session. This program loads XDELTA and triggers an XDELTA breakpoint. It can be a usefull tool for device driver developers and debuggers. Ken Johnson P.O. Box 2006 15965 Manchester Road, Suite 102 St. Louis, MO 63011 AAREADME.TXT This file. LOADXDT.MAR MACRO-32 source for program described above. This program is provided AS IS, without any warranty of any kind. Meridian Technology Corporation assumes no liability for your use of or inability to use this program. Likewise, the author assumes no liability for your use of or inability to use this program. ========> [VAX90A.LOMASKY]AAAREADME.TXT;1 <======== FINDLOCK Brian Lomasky c/o TERADYNE, INC. 321 Harrison Ave., Mail Stop H87. Boston, MA 02118 (617) 482-2706, x3259 This utility will display the Node and PID of any user who is blocking another user from continuing. It is called: FINDLOCK and is used by simply typing: RUN FINDLOCK It will prompt you for the PID of the user who is "hung-up". It will re-prompt you if you type in an invalid PID. After you respond, it will display the PID of any user on any cluster node who is blocking this user. If there are no blocking locks found, an appropriate message will be displayed. FINDLOCK may take a minute or so to collect its data. ========> [VAX90A.MAQ]AAAREADME.TXT;2 <======== MAQ INLAND STEEL'S queueing and routing software This software provides the ability to transfer data between processes similar to VMS mailboxes with the addition of a global section file that saves individual messages during a reboot or crash. This software runs on both VMS and RSX11M-plus Systems (the RSX11M-plus software is being distributed to DECUS separately). There is also a routing application (MA_ROUTER) that allows messages to be transmitted over DECnet to a MA_ROUTER on other VAX or PDP-11 systems. The MA_ROUTER allows both multiple message id's (i.e. individual queues) to be connected to a particular MA_ROUTER and also allows connections to many MA_ROUTERS on various systems. The queueing mechanism uses user-written system service routines to read and/or write to the global section file in memory. These routines are located in the SSDISP.EXE image and are installed with privileges on the system. The messages are checkpointed to disk by a detached process (QUEUE_CHKR) that is notified by the application program from calls to the user-written system service routines. If checkpointing to disk is not necessary, QUEUE_CHKR can be rewritten to exit after it creates the global section file in memory. Neal Schmidt Systems Technology Department Inland Steel Company 3210 Watling St. m.s. 5-000 E. Chicago, IN 46312 Earl Lakia has agreed to help answer questions concerning this software. He can be reached by telephone at (219) 464-7212. ========> [VAX90A.MAY]AAAREADME.TXT;1 <======== Submission for Spring 1990 Vax Sig Tape by L. Eliezer (Elie) May J. M. Ross & Associates, Inc. Enclosed are two submissions: 1. FLECS from Spring 1987 tape with minor revisions 2. Program to Map out HSC's Any questions or comments can be directed to me at (314)233-1213 ========> [VAX90A.MEADOWS]AAAREADME.TXT;1 <======== These directories contain several usefull utilities, as well as example code, and, in a few cases, the very start of a project. I am (once again) disappointed that I have been unable to add all the nifty features I've been wanting to add to some of the older utilities. Even so, some significant forward steps did occur. BITNET : Misc. (old) programs for (a) trapping broadcast messages, and (b) Converting LPUNCH format files into something normal. DECNET : Misc. examples of using the NET ACP QIO functions, also an example multi-threaded server/client pair are included. FILE : This utility allows you to modify file attributes. There are an unlimited number of reasons for wanting to do this, suffice it to say that if you have to muck around with networks, or recover from strange situations, then armed with FILE, and a sufficient understanding of RMS you'll probably be able to get your way out of most anything (well, at lease anything having to do with files..). Recent enhancements to FILE include changing all the qualifiers to be positional, and of course the required changes in program logic to handle that (thanks to Ned Freed). FIND : This utility allows you to do quick searches through the 'index file', which is where all the file headers for a given volume reside. You can do searches based on any criteria found within the file header (including oddities like the placement control maps [LBNs and such]). For an example of its speed, consider the task of trying to find the file 'FLUNKY.STUFF', on an RA90, when you have absolutely no idea where it is. With the DIRECTORY command it could take hours. With FIND it would take minutes. KFE : Short example program to demonstrate going through the "known file" list, that is to say, the list of installed programs. MAIL : Documentation for Callable Mail, and example programs. A couple of cute tidbits - MAILUAF for displaying/modifying user profiles, and CHECKMAIL for displaying new messages in a given users mailfile (or own). MAKE : I provide this because I use it a lot, I didn't write it.. This utility is used to compile all (well, at least most?) of the files in this distribution. I've tried to include complete makefiles in each directory, as well as a COMPILE.COM for those of you who don't want to set this up. MENU : Menu utility (for displaying single columns menus, or free-flow menus). Not the best utility, but actually pretty reasonable. It can interpret menus on the fly, or create compiled versions. MISC : Misc. programs & procedures. I'll let you figure them out for yourself. MONITOR : A project just starting. This does nothing yet, except read monitor data files. It's included in case anyone wants to avoid typing in the monitor file data structures by hand. OBJECT : Extracts symbol definitions from object files. I only use it to extract symbols from symbol tables (i.e. SYS$SYSTEM:SYS.STB). Page 2 RIGHTS : Misc. (old) fortran programs dealing with rights identifiers. RIGHTSLIST_BY_ID generates a list of all identifers (and holders). RIGHTSLIST_BY_USER generates a list of users, and the rights they hold. RMS : Start of a project to go through indexed files and display all the information available with ANAL/RMS. The idea is to eventually end up with something that could optimize indexed files on the fly. I'm actually hoping an expert system will appear out of nowhere and attach itself to this, but I'm not holding my breath! This currently only displays some information on the keys and the areas. SD : Set Default program - emphasis on simplicity rather than wild features. STATUS : DECnet wide User Process Display (very fancy SHOW USERS/FINGER equivalent). Highly configurable. Wild example of a multi-threaded server/client pair. Can display user selected bits of info from a very wide range of possibilities (quite easy to add others as well). UAF : UAF is a utility for searching through the Authorization file for users based on any of the info stored in the authorization file. I think the only new features include a password guesser (a standalone guesser as well as being integrated with UAF). UNMESSAGE : This utility decompiles message files. Usefull if you need to create a language specific version, or want to play an elaborate April Fools joke. This has been totally rewritten from Macro into C. In so doing I improved its handling of text strings. UNSDL : This utility creates header files from the SDL definitions that DEC provides. This has the advantage over most other methods in that no context information is lost. It has the disadvantage that only modules in STARLET are included, with a few from LIB being included. Currently there is only a C header module, however it's highly documented so that you could easily modify the C version to create some other language (such as Modula) headers. Note when this was created DEC did not ship a version of C that had reasonable header files (actually, there's still a few oddities, but oh well). VERB : This decompiles command tables, into command language definition files that you can then examine, edit, and replace if you so desire. This is an ALL NEW version, rewritten in C (from very ugly spaghetti code). It outputs things in a much more sensible manner, and is quicker. It also fixes one bug (having to do with the handling of the disallows clause) which manifested itself in the VMS 5.3 SET command definition. ========> [VAX90A.NAMEROUTER]AAAREADME.TXT;1 <======== Name Router 3.0 Software Product Description. Name Router is a mail routing utility, which allows users to receive mail using conceptual domain names, rather than machine node names. For example, a user called John Smith, in the sales department of Scrooge accountants in Ireland might have a mailbox called smithj@vax1.scrooge.ie. Name Router allows him to be addressed as j.smith@sales.scrooge.ie. Name Router maintains a database specifying the mappings from the conceptual domain addresses to actual mailbox addresses, and will route incoming messages to the former to the latter. Name Router will also allow abbreviated fields within the conceptual name. The full specification for a conceptual address is of the form ..@domain1[.domain2. ..] All but the surname field can be omitted or abbreviated. If ambiguity arises from this, mail will be routed to the first entry matching the input address. For example, if john.h.smith@sales.scrooge.ie is entered in the database, any of the following localparts will match this entry: smith j.smith john.smith john.h.smith jo.smith The following entries would NOT match: joe.smith john.k.smith Any of the following domain parts would also match: sales.scrooge.ie scrooge.ie ie The following would not: accounts.scrooge.ie There must be a match in both localpart and domain for the mapping to take place. Name Router is not case sensitive on any of the fields. Name Router 3.0 has the following features: * uses RFC-822 style domain addressing. * optional rejection messages to sender and/or local postmaster for unrouteable messages. * optional default mapping, for handling unmatched addresses, e.g. an unmatched entry could be mapped to _@machine.domain, so Page 2 fred.jones, if not matched would go to jones_f@machine.domain. * can interface to the PMDF mail system, or can generate and read BSMTP message files to/from specified directories. * optional organization name, which is automatically added to all entries. * database build program, which inputs mappings in text form into indexed file. * Name Router is installed using VMSINSTAL. * Sources are included. * Name Router may be freely distributed, subject to the restrictions listed. Name Router is mainly written in FORTRAN, but a FORTRAN compiler is not required unless you wish to modify or recompile. Software History. Name Router was written shortly before PMDF introduced the Directory channel (in fact, version 1.0 was written in the transit lounge of Rome Airport, while waiting for a connection). The directory channel provides similar functionality to Name Router, but does not allow abbreviations or partial matches. Name Router will also work without PMDF, provided it can reach an alternative mailer that understands BSMTP (such as MAILER on IBM systems, connected via Bitnet). Version 1 originally only supported BSMTP access, and would work with PMDF using the BSMTP channel to get files into Name Router, and the Bitnet Gateway channel to send the resultant files back. Version 2 could optionally read the files in PMDF_ROOT:[QUEUE] directly, and version 3 included enhancements such as default routing, and the VMSINSTAL procedure. It still sends files back into PMDF via the Bitnet gateway, mainly because PMDF lacks a callable interface which adheres to the VAX calling standard (this is a pity - PMDF is an otherwise excellent product. The MM routines provided pass PASCAL structures as parameters which violate the language independence philosophy of VMS). Distribution. You may pass on copies of Name Router to other organizations provided you follow these restrictions. 1. You must not charge for the distribution. 2. You must not remove any copyright or credit information. 3. You must not distribute any modifications which were not forwarded to UCD. 4. The receiver also accepts these restrictions. On receiving a copy, you should register your license with UCD (there is no charge for licenses, which are company wide - we just would like to know how many people out there are using it). No formal support is provided at present, but I will answer any queries, and try to fix any Page 3 bugs. Suggested enhancements and criticisms are also welcome. Name Router is a product of the Computing Information Services in University College Dublin, Ireland. Tom Wade VMS Systems Programmer Computing Information Services University College Belfield Dublin 4. Ireland. ========> [VAX90A.NANNY]AAAREADME.TXT;2 <======== NANNY is an automated reminder system and system management aid for VAXen. It provides reminders, idle process detection, priority diddling, memory monitoring, disk space monitoring, and a few other functions. See BUILD.COM, NANNY.TEX, and NMAIN.FOR for help. Use @BUILD to compile/link. [some files ZOOed to reduce space needs; unzoo these before rebuild if compiling. - editor] ========> [VAX90A.NIELAND]AAAREADME.TXT;1 <======== This directory contains: CHECKPASS An update to the CHECKPASS program that allows the system manager to check to see if users are using poor passwords by checking the passwords against some know techniques for breaking into a system. XYZMODEM An attempt to combine XYZModem protocols into one command procedure using the RZ and SZ programs. Not fully working but it is an example of DCL programming. ========> [VAX90A.PAVLIN]AAAREADME.TXT;2 <======== Andy Pavlin's Toolkit [.DISM32] - Disassembler for VMS executables. Turns them back into .MAR files. More passes with modifications to the symbol table file allow incrementally better disassembly. [.ETHERMON] - Monitors ethernet, displays packets, sources, protocols, destinations, sizes, more. Also can record packets and apply filters to data monitored or recorded. [.PLXY_to_sixel] - Short program to turn PLXY-11 output files into sixels for display on sixel devices. [.WAKE] - short tool that issues a WAKE system service on a process by PID. From Andy Pavlin, GE RSD. ========> [VAX90A.PLTPRG]AAAREADME.TXT;1 <======== PLTPRG is a computer program for plotting and analyzing general data. PLTPRG was written to enable the user to generate plots of data with a minimum amount of effort, while having the capability to, with a small effort by the user, turn a simple plot into a formal report quality plot. PLTPRG is available for both the PDP (under TSX+) and the VAX (under VMS). In addition to plotting data, PLTPRG can be used in the analysis of the data. Data can be fitted with various types of curve fits, and intermediate values interpolated. Equations, containing both log and trig functions, can be entered by the user to compute new data values from the data in the program. Tables of the users data can be created for reports. Also, viewgraphs for presentations can be made using PLTPRG. The plots are created using the Multiware MGSP plotting subroutines, a product of Multiware, Inc. ========> [VAX90A.RLB]AAAREADME.TXT;1 <======== Security Auditing under VMS V5.2 and following: This is a collection of command procedures that I'm using for setting up and monitoring security auditing. The SYSECURITY.COM is from SYS$MANAGER:. LOC$SECURITY.COM is from SYS$COMMON:[SYS$STARTUP]. Here is how I have it entered in SYSMAN STARTUP: Phase Mode File ------------ ------ --------------------------------- LPBEGIN DIRECT LOC$SECURITY.COM Enabled on All Nodes P1: P2: P3: P4: P5: P6: P7: P8: AUDIT_LOG.COM is from a directory where I keep daily/weekly batch procedures. GETNODE.COM and CVTIME.COM are from a utility directory. CLUSTER_DO.COM is also from the utility directory, although, since it requires OPER privelege at a minimum in order to use SYSMAN, it may be appropriate to put somewhere else. There are some interesting & ANNOYING quirks in the V5.2 release of the AUDIT_SERVER code. A lot of the facts are discussed (and disgust) in the AUDIT_LOG.COM comment notes. If you haven't already worked out your own way of dealing with this wonderful new toy, here is a way that I've done it. AUDIT_LOG.COM is set up to set, modify, and summarize the audit journal and archive files on a daily basis. If any interesting events are found, it sends mail to the appropriate individual(s). This procedure is called from LOC$SECURITY.COM (in startup phase LPBEGIN) in order to create logical names. It is then called every day shortly after midnight on 1 node in the cluster. We have a job we run on each cpu at midnight. It is coded so that the secondary audit analyzer checks to see if the primary is up. If not, the secondary one completes the analysis and updates all of the logicals and SET AUDIT settings on the cluster. There is one event that I haven't covered yet that would include the instance where both the primary and secondary analysis cpus are down across midnight. In this instance, the midnight job will invoke the procedure when the machine is booted up, but the procedure as coded will not pick up the previous journal file(s) for analysis. If it happened at midnight of the end of the month it could also fail to perform the monthly analysis. I have further enhancements in mind to handle these circumstances, but they will involve a little more coding. My plan is to check for the existence of daily summary markers and monthly markers in a file. If the marker doesn't appear for a particular date/month then the analysis will be performed for the missing time(s) as well as the current date. Do you have any experience with coding for solving similar problems? Basically it is devising a scheme for catching up to get current without skipping anything unnecessarily. Page 2 If you like/dislike anything you find in this collection, please send me feedback. I'm planning to release it to DECUS for distribution if it is satisfactory. How to start using this setup: 1. Edit the SYSECURITY.COM file. 2. Create the necessary directory(s) where everything will go 3. Edit AUDIT_LOG.COM to reflect the site specific things you want to do with it. 4. Put AUDIT_LOG.COM into the [AUDIT.EXE] directory 5. Look for a time when you think you can pull this off without leaving too much of a gap when auditing is disabled. 6. For each node in your cluster: a. Login to the system manager's account (or do all of your nodes at once by using sysman to do this) b. SET AUDIT/SERVER=EXIT c. @SYS$MANAGER:SYSECURITY d. SET AUDIT/SERVER=START e. @SYS$STARTUP:LOC$SECURITY 7. Add a command to your new day(or midnight) job to execute AUDIT_LOG on one node in your cluster each day. ----------------------------------------------------------------- Bob Boyd Usenet: n/a at present time Harris Microelectronics Ctr. Internet: ,, POB 13049, MS 7T3-01 BitNet: ,, RTP, NC 27709-3049 Voice: (919)549-3627 Harris or GE DECnet: RTPARK::RLB ========> [VAX90A.RPI]AAAREADME.TXT;7 <======== DECUS VAX Systems SIG Tapecopy Submissions Rensselaer Polytechnic Institute Spring, 1990 submitted by: Matthew Madison Engineering Computing Services Rensselaer Polytechnic Institute Troy, New York 12180-3590 USA +1 518 276 2606 madison@vms.ecs.rpi.edu (Internet) MADISON@RPIECSVX or MADISON@RPIECS (BITNET) This submission contains six subdirectories with items of possible interest to VMS system managers and users. All entries include source code, object code, executables, and documentation. Updates to previously submitted entries are noted. All entries, unless otherwise noted, are written BLISS-32. All entries include source and object code, usually contained in a compressed BACKUP save set to save space. Use the LZDCMP program to decompress the save sets and BACKUP to unload them. All entries include an AAAREADME.DOC file; most also include further documentation. All entries run under VMS V5.0 or later; some will run under earlier versions of VMS if re-linked. 1. [.MDMLIB] MDMLIB is a set of utility routines called by some of the programs in this submission, and is required if rebuilding the programs from sources. [update of Spring 1989 submission] 2. [.MX] Mesage Exchange (MX) is an electronic mail routing and distribution facility, supporting local delivery via VMS MAIL, SMTP over CMU-Tek TCP/IP or VMS/ULTRIX Connection, BITNET mail over Jnet, and UUCP mail over DECUS UUCP. It also supports mailing lists and file distribution over E-mail. Requires VMS V5.0 or later. [new] 3. [.NEWSRDR] NEWSRDR is an NNTP client program for reading Usenet news. Can use CMU-Tek TCP/IP or VMS/ULTRIX Connection as NNTP transport. Requires VMS V5.0 or later. [new] 4. [.SDFILTER] SDFILTER gives a system manager more control over the destination and page layout of VMS Workstation Software (VWS) screen dumps. [update of Spring 1989 submission] 5. [.SETUP] SETUP is a program through which a system manager can centralize the per-user, per-login setup of applications software on a system. [update of Spring 1989 submission] 6. [.WATCHER] WATCHER is a flexible idle terminal monitor. The system manager specifies which terminals should be watched; and, on a per-terminal basis, which measurements should be used to determine that a process is idle and how long the job should remain idle before being logged out. One can also specify which jobs should not be monitored based on any combination of username, UIC, identifiers and privileges held, terminal, port information, and day of week/hour of day. This new version also supports both VWS and DECwindows workstations. For VMS V5.0 or later only. [update of Spring 1989 submission] ========> [VAX90A.SESSINDEX]AAAREADME.TXT;1 <======== This area contains the Table of Contents for the Session Notes, DECUS US symposium, Spring 1990 (New Orleans). Sent in by John F. Stitzinger (JFS@icf.hrb.com). ========> [VAX90A.SNASECUR]AAAREADME.TXT;1 <======== This submission contains several systems for use with Digital IBM SNA/Gateways. Each system is VSINSTALable. SEND020.A implements an RJE routeback system. A complete documentation set is contained in this submission. If you have the 14/18/18Bold Triumvirate cartridge for the LN03, then print the files *.LN03. If not, print the files *.TXT. Note that the installation guide SEND_IG.TXT does not have an LN03 version. (We just converted to VMSINSTAL and the full documentation is lagging.) IBMC040.A and IBMS040.A implement an access system for SNA 3270TE sessions. The system both allows for load balancing across multiple SNA Gateways and for security controls (each user must be registered with the server node before access wil be allowed). This system is based on a client/server model (so what else is new?). IBMC040.A is the client kit, which should be installed (along with SNATE!) on each VAX that will be using 3270TE. IBMS040.A is the server kit. It should be installed on at least one VAX (preferrably three). A copy of a DECUS handout is included (SNA.TALK). Also included is a printer attributes file (LN03_BIG_RIGHT.PRA) which is used to place page numbers at the lower right side of each page. To get the page numbers, place a control block such as the following at the start of your document: ----------------------- START CONTROL ------------------- BOTTOM SEND-\p ----------------------- END CONTROL ------------------- This will cause SEND-1, etc. to be placed at the lower right of each page. Note that the text "SEND-\p" must be marked for red-lining! It is also setup to use 14/18/18bold Triumvirate. This is easily changed (provided you understand escape sequences for LN03 font selection). The PRA table has HBAR1, HBAR2, etc. which draw horizontal bars of varying widths. It also has keywords for almost every font cartridge I've seen. The authors listed below welcome any questions or suggestions: Pat Scopelliti Al Grosser Corning Incorporated Corning Incorporated SP-WW-01 MP-CH-02-1 Corning, New York 14831 Corning, New York 14831 607-974-3855 607-974-7222 ========> [VAX90A.STOCKMAN]AAAREADME.TXT;2 <======== Free software BY Computer Sciences Corporation This software is furnished for free and may be used and copied as desired. This software or any other copies thereof may be provided or otherwise made available to any other person. No title to and ownership of the software is hereby transferred or allowed. The information in this software is subject to change without notice and should not be construed as a commitment by COMPUTER SCIENCES CORP. COMPUTER SCIENCES CORP. assumes no responsibility for the use or reliability of this software on any equipment whatsoever. Computer Sciences Corp. 200 Sparkman Drive Huntsville, AL 35805 (205)876-8293 Program: UPDATE Author: W. Lewis Harmon Date: 17-APR-1990 Description: Update is a useful program that will allow you to organize FORTRAN programs into a structured order. Update is especially useful when dealing with large FORTRAN programs. Update will also break-out all of the modules in the source code to individual files. Update allows you to insert, replace or extract routines in a FORTRAN source files using the various qualifiers listed below: /UPDATE - Requests that UPDATE modify the source file using the update file specified. It will either replace an existing routine or insert a new routine using the routines in the update file. This qualifier must be present to update the source file. UPDATE will prompt for an update file spec if one is not given. /EXTRACT=[(routine-name,routine-name...)] - Indicates that the specified routines are to be extracted from the source and placed into a new file. The extraction list is optional but update will prompt for routine names if none are present. Default output is of filename sourcefile-spec with a type of UPD. UPDATE with no qualifiers defaults to /EXTRACT. The /SPLIT qualifier can also be used. If /SPLIT is present, then UPDATER will put each extracted routine into a separate file whose name is routine-name.FOR. If /SPLIT is present, /OUTPUT has no effect. /OUTPUT=outputfile-spec - Specifies the file specification of the output file. The outputfile-spec is required with this qualifier. If the file type is omitted in the file spec, it defaults to type .UPD. If /OUTPUT is omitted the output file created is of name sourcefile-spec with a type of UPD. /SORT - Specifies that the source file is to be alphabetized by routine Page 2 name. Default output is a higher version of the sourcefile-spec. /SPLIT - Indicates that ALL routines are to be extracted from the source and split into individual files. Each routine will be written to a file whose name is routine-name.FOR. The /OUTPUT qualifier has no effect. /STRIP - This qualifier instructs UPDATER to strip any characters located in columns 73-80. Only valid if used in conjunction with the /REMOVE qualifier. If this qualifier is not present, UPDATER assumes a record length of 80 characters when REMOVING trailing blanks. /REMOVE - This qualifier instructs UPDATER to strip trailing blanks from any characters located in columns 73-80 and then to strip off any trailing blanks from each record before writing to the output file. If this qualifier is not present, UPDATER assumes a record length of 80 characters ( if there are characters in 73-80, they are left on the record). /EXTEND - This qualifier instructs UPDATER that the files involved can contain FORTRAN extended records ( FORTRAN statements that are longer than 72 columns). These statements can be no longer than 132 columns. UPDATER will still strip off any trailing blanks from each record before writing to the output file. Program: ZAP Author: W. Lewis Harmon Date: 17-APR-1990 Description: Zap enables a user to delete a number of jobs in a queue with one command. GROUP/WORLD/SYSPRV/ etc. privilege is required to delete another users' job. Batch, printer, terminal, and generic queues are supported. Zap has the following format: $ZAP /QUE=que_name /USER=username [/PROCESS=process_name] [/CONFIRM] [/GENERIC_DELETE] ZAP allows the deletion of a number of jobs in a que with one simple command using the following qualifiers: /QUEUE = que_name - This qualifier specifies the queue from which the jobs will be deleted. /QUEUE is required. If not present, the user will be prompted for a queue name. Wildcards are permitted. /USERNAME= username - Specifies the name of the user under which the jobs were submitted (ie. the person who submitted the jobs). /USERNAME is required. If not present, the user will be prompted for a username. /PROCESS_NAME = process_name - Specifies the name of the jobs to be deleted. This qualifier can act as a wildcard. See EXAMPLES for details. If /PROCESS_NAME qualifier is omitted all entries will be deleted that match the queuename and username input values. /JOB_NAME = process_name - Specifies the name of the jobs to be deleted. This qualifier can act as a wildcard. See EXAMPLES for details. If Page 3 /JOB_NAME qualifier is omitted all entries will be deleted that match the queuename and username input values. /JOB_NAME and /PROCESS_NAME are synonymous. /CONFIRM - Controls whether a request is issued before each individual DELETE operation to confirm that the operation should be performed on those jobs matching the specified username and queue. /GENERIC_DELETE - Controls whether ZAP will automatically search the target execution queues into which a generic queue feeds. If the queue name specified is not a generic queue, /GENERIC_DELETE will have no effect. If /GENERIC_DELETE is not present, then only the queues specified will be searched. Default is /NOGENERIC_DELETE. ========> [VAX90A.UTEXAS]AAAREADME.TXT;3 <======== LASER LASER is a user-written print symbiont that is tailored specifically to the Apple LaserWriter family and other PostScript printers. The symbiont as distributed is configured to print normal text files in a variety of formats on the laser printer. Support is also included for printing PostScript files, MacPaint files, and Zeta plot files. See LASER.C for additional capabilities of the symbiont. MAGTAPE_BUF The MAGTAPE_BUF program is used to set the default buffer size on a magnetic tape drive prior to COPYing VMS BACKUP savesets to it. This is necessary because the software distribution savesets distributed by Digital are not all the same record (block) size. If a BACKUP saveset is COPY'd to a tape that is MOUNT'd with a different "/BLOCKSIZE" then that saveset will be unreadable by BACKUP. (Actually it will work one way (saveset record size versus tape block size), but not the other.) This is a real hack program that uses CMKRNL and IOC$SEARCHALL to find the tape drive's Unit Control Block and then uses a 'poke' to change the buffer size. It is for Uniprocessors only. For an example usage, see the WRITESWDIST.COM command procedure. Copyright 1990, The University of Texas at Austin READTAPE The READTAPE program is used in conjuction with WRITETAPE to read and write a complete magnetic tape into a single disk container file. After a source tape is read using READTAPE, the WRITETAPE program is used to write a duplicate. The WRITETAPE program is used for creating Standalone backup kits on TK-50 VMS distributions and also for writing all Ultrix tapes. See WRITETAPE.C, READTAPE.C, WRITESWDIST.COM and WRITEULTRIX.COM for further info. Copyright 1990, The University of Texas at Austin SWDIST This directory contains command procedures and programs that are used to perform redistribution of Digital software products on magnetic tape. The source of the distributions can be compact disc (CONDIST) or magnetic tape. This software was developed to support the University of Texas DEC Software Program (UTDSP) that encompasses the Digital Campus Software License Grant (CSLG) program and the Digital Educational Software Library (ESL). Copyright 1990, The University of Texas at Austin Submitted by: Thomas Linscomb The University of Texas Computation Center, 512/471-3241 internet: cctj001@utadnx.cc.utexas.edu bitnet: watson@utadnx uucp: ...!cs.utexas.edu!ut-emx!linscomb span: utspan::utadnx::cctj001 Created by: Thomas Linscomb with contributions from Rick Watson. ========> [VAX90A.UUCP]AAAREADME.TXT;2 <======== The VMSnet Working Group (VAX Systems SIG) Submissions coordinated by: Jamie Hanrahan, Simpact Associates 9210 Sky Park Court, San Diego, CA 92123 +1 619-565-1865 X1116 jeh@simpact.com This directory tree contains Version 1.2 of DECUS uucp (formerly "VMSnet software"), a package which allows VMS systems to exchange mail and network news with other systems (including Unix systems, and VMS systems running this software) using the uucp "g" protocol. It is being distributed via the Spring '90 U.S. DECUS VAX SIG Symposium Tape, via the DECUS Program Library, and via direct mail. This version completely replaces Versions 0.2 and 1.1, found on previous VAX SIG tapes. Geoff Huston's ANU News, Version 5.9C, with several minor additions (for uucp integration), is included. Everything here has been compiled and linked under VMS V5.2. (Version 1.1, which was present on the Spring '89 VAX SIG tape (Atlanta), runs under both VMS V4.7 and V5.) Full documentation is in [.UUCP.DOC]USRGD12.MEM, and in other files described therein. Restoring these files to disk will create a single directory tree, [UUCP...]. The total space required for these files is about 40,000 blocks. 23,000 blocks of this are a compressed BACKUP saveset, [UUCP]DEVEL.BKP-Z, which contains source files, object files, and development tools; if you have no plans to work on the software, you don't need to restore this to disk. Use a qualifier such as /EXCLUDE=DEVEL.BKP-Z on your backup command. If you do want the files from DEVEL.BKP-Z, use the tools "compress" and "modatt" in this package to restore it. Instructions are in the documentation. After decompression the saveset will take about 43,000 blocks; the files inside it total somewhat less than this due to BACKUP's overhead. Other contacts, in case Jamie can't be reached: Tom Allebrandi II Mark Pizzolato Inland Steel Research Labs 1558 Fernside Street East Chicago, IN Redwood City CA 94061 +1 219-399-6306 +1 415-369-9366 ta2@dcs.simpact.com mark@infopiz.uucp ...!uunet!lupine!infopiz!mark [TAPE EDITOR'S NOTE: Due to space constraints, some files here have been compressed with ZOO. These must be extracted to have the full distribution in unpacked Page 2 form as Jamie provided it. This is done by commands like $zoo:==$disk_where_S90_tapes_are:[90avaxlt.tools]zoo $set def [where a .zoo file is] $zoo e file.zoo $delete file.zoo. ! optional if you want to remove the zoo file. - Glenn Everhart ] ========> [VAX90A.VMSKERMIT]AAAREADME.TXT;3 <======== VMS Kermit 3.3.122 This directory contains the new VMS Kermit in Bliss and Macro-32 (so you need no Bliss compiler to compile it). It supports long packets (1000 characters or maybe more) and adds also a set file block nnn command so the record size of files produced in fixed file type can be nnn, instead of having always to be 512 bytes. This requires set file type fixed, of course. Contributed by Brian Nelson, University of Toledo. To save space on the tape, the .BLI and .MAR files have been put into ZOO archives; extract with zoo e file.zoo before trying to rebuild Kermit. It should be unnecessary to recompile or re-assemble, as the executable is provided in the directory already. It does not require any privileges to run. [ Because of some bugs that arose in VMS Kermit 3.3.122 in subprocesses or from other than hard tt lines, a newer but somewhat experimental Kermit is in the [.newer] subdirectory here, with executable. It appears to fix the bugs. - Glenn Everhart, VAX SIG tapecopy editor.]