//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 <[email protected]>
//*
//* 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  <[email protected]>

MVS Gopher Server

Original Author:          Shawn Hart    <[email protected]>

Various enhancements and customizations to both the client and the
server have been contributed by:

   Steve Bacher   <[email protected]>
   Lou Joseph     <[email protected]>
   Denis DeLaRoca <[email protected]>
   Dwight Cook    <[email protected]>
   Rachna Agrawal <[email protected]>

------------------------------------------------------------------------

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      <[email protected]>

/ 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