//JOBNAME JOB ACCOUNT,'NAME' //*------------------------------------------------------------------*/ //* */ //* Copyright (c) The Charles Stark Draper Laboratory, Inc., 1993 */ //* */ //* This software is provided on an "AS IS" basis. All warranties, */ //* including the implied warranties of merchantability and fitness, */ //* are expressly denied. */ //* */ //* Provided this copyright notice is included, this software may */ //* be freely distributed and not offered for sale. */ //* */ //* Changes or modifications may be made and used only by the maker */ //* of same, and not further distributed. Such modifications should */ //* be mailed to the author for consideration for addition to the */ //* software and incorporation in subsequent releases. */ //* */ //*------------------------------------------------------------------*/ //* //* GOPHER - MVS Gopher Client and Server //* //* Version: 3 Release: 1 //* //* Author: Steve Bacher //* //* Date: 16 Jan 1994 //* //*------------------------------------------------------------------- //* //* This job creates the distribution libraries (PDS's). //* //* Run this JCL to create the PDS's, after customizing to suit. //* (Obviously, put in a good JOB statement first.) //* To customize the JCL, change the defaults on the //MDLOAD PROC //* statement to your liking, particularly the PREFIX default. //* You might also want to change the final qualifiers of the PDS's //* created - to do this, find the // EXEC MDLOAD statements and //* change the value of the TO parameter. //* //* See the $$README file (of the CNTL PDS, first in this stream) //* for the rest of the installation instructions. //* //MDLOAD PROC CLS='*',BS='6160',U='3380',V='', // TRK1='60',TRK2='10',DIR='35',RLSE='RLSE', // PREFIX='GOPHER.INSTALL.' //* //IEBUPDTE EXEC PGM=IEBUPDTE,PARM=NEW //SYSPRINT DD SYSOUT=&CLS //SYSUT2 DD DISP=(NEW,CATLG,DELETE),DSN=&PREFIX.&TO, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=&BS), // SPACE=(TRK,(&TRK1,&TRK2,&DIR),&RLSE),UNIT=&U,VOL=SER=&V //* // PEND //* //CNTL EXEC MDLOAD,BS='6160',TRK1='10',TRK2='1',TO='CNTL' //SYSIN DD DATA,DLM='?!' ./ ADD NAME=$$README ------------------------------------------------------------------------ Copyright (c) The Charles Stark Draper Laboratory, Inc.,1992,1993,1994 MVS Gopher Server originally by Shawn Hart (Univ. of Delaware). This software is provided on an "AS IS" basis. All warranties, including the implied warranties of merchantability and fitness, are expressly denied. Provided this copyright notice is included, this software may be freely distributed and not offered for sale. Changes or modifications may be made and used only by the maker of same, and not further distributed. Such modifications should be mailed to the author for consideration for addition to the software and incorporation in subsequent releases. ------------------------------------------------------------------------ MVS Gopher Client Original Author: Steve Bacher MVS Gopher Server Original Author: Shawn Hart Various enhancements and customizations to both the client and the server have been contributed by: Steve Bacher Lou Joseph Denis DeLaRoca Dwight Cook Rachna Agrawal ------------------------------------------------------------------------ Contents of PDS's belonging to Gopher distribution: Member PDS Type Description $$README CNTL This file $CHANGES CNTL Changes since the last release ACCESS CNTL Sample server access file ALLOAD CNTL JCL to allocate additional Gopher libraries COMPILE CNTL JCL to compile *** SOURCE DISTRIBUTION ONLY *** GOPHERD CNTL JCL to run the GOPHER server in batch (No TSO) GOPHERT CNTL JCL to run the GOPHER server in batch (w. TSO) HELP CNTL TSO Help for Gopher client INSTALLC CNTL How to install the GOPHER MVS client INSTALLS CNTL How to install the GOPHER MVS server LINKC CNTL JCL to linkedit the client load module LINKS CNTL JCL to linkedit the server load modules LINKX CNTL JCL to linkedit the auxiliary load modules MENU CNTL Initial Gopher server menu PARMS CNTL Sample Gopher startup parameters SECURE CNTL Discussion about making secure REXX scripts GOPHER CLIST Exec by which users invoke the Gopher client NNMFIUCV CLIST Exec to check for multiple socket applications REXXTEST CLIST REXX exec to test the REXX interface with TSOHELP CLIST Sample REXX exec for Gopher TSO HELP menu hole G... CLIST REXX exec helpers GGM... PANEL ISPF regular panels ABOUT... ABOUT "About This Gopher" text GG... H C headers *** SOURCE DISTRIBUTION ONLY *** GG... C C source *** SOURCE DISTRIBUTION ONLY *** GG... OBJ Object modules *** OBJECT DISTRIBUTION ONLY *** -------------------------------------------------------------------- Where to Go from Here: To install the GOPHER MVS client, read member INSTALLC. To install the GOPHER MVS server, read member INSTALLS. Note: You may install only the client, only the server, or both the client and the server. It is purely up to what your needs are. -------------------------------------------------------------------- Questions? Comments? Suggestions? Gripes? Please email to... Steve Bacher ./ ADD NAME=$CHANGES Changes: November 93 - Version 3 Release 1 Server Enhancements Support for binary files, including image files, in the remote FTP gateway. Most file types are supported for the server, and the client will support some binary types, although they cannot be viewed or printed well. The REXX interface has been completely redesigned. It is not compatible with the previous version, but migration should be easy. Among other things, you can now run REXX execs from a non-TSO-environment server, which will allow multithreading of client requests that trigger REXX execs. The access file now supports wildcarding in the file name specifications. Because of this, you must stop and restart the gopher server when you change the access file. The rules are processed differently. Additional logging (via write-to-programmer) in a mode compatible with the format produced by the U of Minn gopher daemon. Rudimentary support for gopher+ has been added on an experimental basis. Do not rely on this, because it is not complete by any means. Client Enhancements Printing allows destination in the form nodename.userid. INITFILE keyword added for a differently named GOPHERRC. 07 Aug 93 - Version 2 Release 2 Remote FTP Gateway Enhanced CSO client option Configurable GOPHERRC: domain and telnet may be specified Object-code-only distribution for those without C compilers Improvements to TSO GOPHER exec for users without XPROC or without C runtime in linklist DD:ddname(member) works now for nested PDS member references, making installing the ABOUT PDS simpler "E" and "P" work without "S" having to be done first 20 Mar 93 - Version 2 Release 1 Improved browse function Printing support Bookmark support New commands: PRT, INFO, MENU, BOOKMARK Configurable startup parameter file Ability to run multiple servers on same MVS 07 Dec 92 - Customizations to support SNS/TCPAccess 19 Oct 92 - Improvements in initial startup and GOPHERRC customization ./ ADD NAME=ACCESS ! ! Format of entries: ! ! filename (fully qualified, all uppercase, no quotes) ! can be "DD:DDNAME" or "EXEC:EXECNAME" ! ! followed by names of hosts which are authorized to access the data. ! If no host name list is present, all hosts are authorized ! ! You may specify the same file name more than once, if you need ! more lines to put host names on. ! ! Individual PDS members must be specified separately. A PDS without ! a member name establishes access only to the PDS directory. ! ! Note that the default directory MUST be in this table. ! ! Also note that in the case of EXECs, the EXEC must live in the ! library allocated to GGEXEC in the Gopher server JCL. ! ! *** ANY DATA SET REFERENCED BY ANY EXEC IN THAT LIBRARY IS FULLY ! *** ACCESSIBLE TO GOPHER REGARDLESS OF THIS TABLE! USE THIS TABLE ! *** TO GOVERN CONTROL TO THE EXEC ITSELF!!! ! ! below is default directory spec, which MUST be in this table ! DD:GGGOPHER ! ! Use the following for "About This Gopher". ! Free free to specify the name of your MVS client host(s) ! for information pertinent to MVS only. mvs1 and mvs2 are examples. ! DD:GGABOUT DD:GGABOUT(ABOUT) DD:GGABOUT(ABOUTC) mvs1 mvs2 DD:GGABOUT(ABOUTCD) mvs1 mvs2 DD:GGABOUT(ABOUTCF) mvs1 mvs2 DD:GGABOUT(ABOUTCO) mvs1 mvs2 DD:GGABOUT(ABOUTCQ) mvs1 mvs2 DD:GGABOUT(ABOUTCS) mvs1 mvs2 DD:GGABOUT(ABOUTCSC) mvs1 mvs2 DD:GGABOUT(ABOUTCSL) mvs1 mvs2 DD:GGABOUT(ABOUTCSM) mvs1 mvs2 DD:GGABOUT(ABOUTCSR) mvs1 mvs2 DD:GGABOUT(ABOUTCSW) mvs1 mvs2 DD:GGABOUT(ABOUTCSX) mvs1 mvs2 DD:GGABOUT(ABOUTCX) mvs1 mvs2 DD:GGABOUT(ABOUTS) mvs1 mvs2 DD:GGABOUT(ABOUTSA) mvs1 mvs2 DD:GGABOUT(ABOUTSP) mvs1 mvs2 DD:GGABOUT(ABOUTW) DD:GGABOUT(FAQ) ! ! Here's how to do REXX execs. Note - no arguments, only exec names ! EXEC:CHECKLST client1 client2 mvs EXEC:WAISDIR EXEC:WAISLIST EXEC:WAISSRCH ANY.PUBLIC.SEQ.DS ANY.SEMI.PUBLIC.SEQ.DS goodclient1 goodclient2 ANY.SEMI.PUBLIC.SEQ.DS goodclient3 goodclient4 ! PDS without member name provides access to directory only ! All member names must be explicitly listed to be accessible. ANY.PUBLIC.PDS ANY.PUBLIC.PDS(MEMBER1) ANY.PUBLIC.PDS(MEMBER2) ANY.PUBLIC.PDS(MEMBER3) ANY.PUBLIC.PDS(MEMBER4) ANY.SEMI.PUBLIC.PDS goodclient1 goodclient2 ANY.SEMI.PUBLIC.PDS goodclient3 goodclient4 ANY.SEMI.PUBLIC.PDS(MEMBER1) goodclient1 ANY.SEMI.PUBLIC.PDS(MEMBER2) goodclient2 ANY.SEMI.PUBLIC.PDS(MEMBER3) goodclient3 ANY.SEMI.PUBLIC.PDS(MEMBER4) goodclient4 ./ ADD NAME=ALLOAD //JOBNAME JOB ACCOUNT,'NAME' //* */ //* Copyright (c) The Charles Stark Draper Laboratory, Inc., 1992 */ //* */ //* This software is provided on an "AS IS" basis. All warranties, */ //* including the implied warranties of merchantability and fitness, */ //* are expressly denied. */ //* */ //* Provided this copyright notice is included, this software may */ //* be freely distributed and not offered for sale. */ //* */ //* Changes or modifications may be made and used only by the maker */ //* of same, and not further distributed. Such modifications should */ //* be mailed to the author for consideration for addition to the */ //* software and incorporation in subsequent releases. */ //* */ //* //* Allocate GOPHER load and object libraries before install //* //GGALLOC PROC U='3380',V='' //* //IEFBR14 EXEC PGM=IEFBR14 //ALLOCDD DD DISP=(NEW,CATLG,DELETE),DSN=&LIB, // DCB=(RECFM=&RF,LRECL=&LR,BLKSIZE=&BS), // SPACE=(&BS,(&PRI,&SEC,&DIR)),UNIT=&U,VOL=SER=&V //* // PEND //* //* The ALLOCL step allocates the load library from which the //* executable program will be run. If you intend to place the //* executable into an existing library, you can skip this step. //* Otherwise, the name must match the name used on the LOADLIB //* parameter of the GGLINK procedure in the LINK* JCL steps. //* //* If you want separate libraries for the client and the server, //* just duplicate this step and give the LIB's different names. //* //* The ALLOCO step allocates the object library into which the //* source modules will be compiled. This library is required //* for the compile and link steps, but is not required for run //* time execution. However, you may wish to keep the object //* library around in case there are fixes for which you will be //* recompiling individual Gopher source modules. //* //ALLOCL EXEC GGALLOC,PRI=50,SEC=50,DIR=35,RF=U,LR=,BS=6233, // LIB='GOPHER.LOAD' //ALLOCO EXEC GGALLOC,PRI=50,SEC=50,DIR=35,RF=FB,LR=80,BS=2960, // LIB='GOPHER.INSTALL.OBJ' //* ./ ADD NAME=COMPILE //JOBNAME JOB ACCOUNT,'NAME' //* */ //* Copyright (c) The Charles Stark Draper Laboratory, I