# File list for SRE-FILTER

This is the list of installed files -- the actual files packed with SRE-Filter will differ slightly (since the INSTALL process modifies and creates a few files).

Note that unless otherwise mentioned:

- Files with .80, .RXL, .CMD, and .RXX extensions are written to (or under) the GoServe working directory (for example, D:\GOSERVE)
- Files with .CTL, .CNT, and .IDX extensions are written to the DATA subdirectory of your data directory (for example, \GOSERVE\DATA)
- Files with .SHT, .HTM, .GIF, .MAP, .KEY, .DAT, .FAQ, and .DOC extensions are written to the SAMPLES subdirectory of your data directory (for example, \GOHTTP\SAMPLES)

  ### The Filter Programs

  SREFILTR.80
    The main `filter` program.
  SREFQUIK.80
    A "fast" version of the main filter program (especially useful if you have many PUBLIC_URLS)
  SREFAST.80, INITFAST.SMP, SREFAST.HTM, and SREFAST*.CMD
    An even better "fast" version of the main filter program (requires a moderate amount of extra configuration). <
  SREFMON.CMD
    An ancillary program, started by SREFILTER. It runs on it's own thread, and is responsible for starting other "helper" threads, and keeps SRE-Filter informed of on-the-fly changes to the various SRE-Filter parameter files.
  SREFPRC1.RXL
    SREFPRC1.RXL is a procedure library that SRE-FILTER loads into macrospace when first invoked.

    It contains a number of useful routines that ambitous REXX programmers may use when writing their own server side programs -- you should download SREFPRC1.DOC for more information (you might also want the source code).

    > SREFPRC1.DOC also contains technical notes on the structure of SRE-Filter, and hints on programming with SRE-Filter.

  USERCHK.RXX, ALIASCHK.RXX, ACCESCHK.RXX, VIRTCHK.RXX, POSTFCHK.RXX, SSICACHE.RXX, VARSTORE.RXX, and PMPRINTF.RXX
    These program files are started (by SREFMON.CMD) as "daemon threads". SRE-Filter uses them to (respectively):
- lookup usernames/passwords
- perform alias substitutions
- check for access and other permissions
- do virtual directory lookups
- run the post-filter actions.
- track the SSI cache
- store clientname and other variables
- write output to the PMPRTINF window and/or the SREFILTR.LOG file Ambitious programmers may want to modify these programs.

  > Slightly ambitious programmers can direct SRE-Filter to use a custom usernames/passwords lookup routine. For details, see the description of the `USER_LOGON_PROC` parameter in INITFILT.DOC

  \
  REXXLIB.DLL
    A library of REXX procedures used to access macrospace, create threads, and use semaphores. It is part of the REXXLIB shareware package (available through Quercus Systems or HOBBES.NMSU.EDU).
  UNZIPAPI.DLL and UNZIPAPI.DOC
    UNZIPAPI.DLL is the INFO-Zip dynamic link library. SRE-Filter uses it during installation, and uses it when expanding and extracting descriptions from .ZIP files.
  FILEREXX.DLL
    FILEREXX.DLL provides useful locked-file-reading services. It's part of the larger, copyright-but-anyone-can-use, FILEREXX package (available from http://hobbes.nmsu.edu.
  MEDIATYP.RXX
    The "user defined" list of mediatypes.

    ### Installation files

    INSTALL.CMD
      The SRE-Filter installation program.
    SREFCONF.CMD, CONFIG2.CMD, CONFCOLR.HTM, CONFCOLR.CMD, CONFIGUR.HTM, CONFIG0.HTM, CONFIG2.HTM, CONFIG3.HTM, and *.CNF.
      These are the SRE-Filter configurator programs. The .HTM files should be in your data directory. The .CMD files should be in your working directory. The *.CNF files should be in the CONFIGS subdirectory of the GoServe working directory.
    USERCFG.CMD, ALIASCFG.CMD, ACCESCFG.CMD, VIRTCFG.CMD, and HTACCFG.CMD.
      These are the REXX/HTML programs called by CONFIG2.HTM. They will view or modify the initialization parameters file, the users file, the aliases file, the access control file, the virtual directories file, and HTACCESS files (respectively). Each uses an HTML FORM interface to solicit information from the user.
    READ.ME (copied to your GoServe working directory)
      Some installation notes, acknowledgments, and a disclaimer.

    ### Parameter Files

    ALIASES.IN
      A sample of an alias file. Aliases are used for implementing searchable indices, for document redirection, and other useful tricks.
    ALL_FILE.CTL
      Used to store SEL-specific access information.
    COUNTER.CNT
      A sample "count of hits file", for use by the `REPLACE HITS` keyphrase
    INITFILT.80
      INITFILT.80 contains the initialization parameters that can be changed by the user.
    INTERPET.IN
      INTERPET.IN (the default INTERPRET_FILE) contains samples of "REXX-executable" code blocks, for use by the `INTERPRET xxx` keyphrase. The use of INTERPET.IN is no longer encouraged, but is still supported.
    REPSTRGS.IN
      A customizable list of REPLACEment strings, used by the REPLACE.
    RECRDALL.CNT
      A sample of a "record all requests" file, that is used when the RECORD_OPTION is active.
    SENDFILE.CNT
      A sample "tracking and control" file. SENDFILE.CNT is used by the SRE-Filter's SENDFILE facility.
    USERS.IN
      A sample of a username/password/privileges file.
    VIRTUAL.IN
      A sample of a "virtual directory" file.
    SREFLOGS.INI and SREFLOGS.DOC
      The configuration file for the common-log, browser-log, and referer-log audit-files; and a description of how to change it.

    ### Useful addons and facilities for SRE-Filter

    BROWSERS.IDX
      An index of browsers, listing various capabilties, such as whether they understand TABLES and COOKIES. It's used by USETABL2.RXX.
    DOGET.CMD
      A simple stand-alone REXX program that uses the GET http method to request a URL on an http server. This file can be easily modified to request "byte ranges" from a web server running SRE-Filter ver 1.2.
    DOPOST.CMD
      A simple stand-alone REXX program that uses the POST http method to invoke a CGI-BIN script, or some other form of server side processing ( such as a SRE-FILTER add-on), on an http server.
    DOPUT.CMD
      A simple stand-alone REXX program that uses the PUT http method to transfer files to a web server (designed to work with SRE-Filter ver 1.2).
    DODELETE.CMD
      A simple stand-alone REXX program that uses the DELETE http method to delete files from a web server (designed to work with SRE-Filter ver 1.2).
    EDITSREF.CMD
      A simple stand-alone REXX program that will edit parameters in SREFILTR.80. This is especially useful when you are configuring SRE-Filter remotely (but do remember that changes to parameters in SREFILTR.80 take effect only when you restart GoServe).
    FREEUP.CMD
      A simple, stand-alone REXX program that "cleans up" resources used by SRE-Filter. It should ONLY be run AFTER you kill GoServe!
    PERL.DOC and TXTCLOCK.PL
      PERL.DOC describes how to use CGI-BIN scripts written in PERL. TXTCLOCK.PL is a simple example of such a PERL script.
    PREFILTR.80
      A SRE-FILTER pre-filter procedure. Besides being a sample, this provides support for the GoRemote "server remote control" package.
    POSTFILT.80, POSTMAIL.80, POSTRCRD.80
      Several sample "post-filters": a simple example, an "e-mail alerts by event" example, and a "record client info by event" example. Note that the "e-mail" example requires the SMTP_GATEWAY variable.
    DOSEARCH.CMD, DOSEARCH.HTM, TESTSRCH.HTM and CONGRESS.DAT
      A "search for string in a text file" facility, a sample HTML document that uses it, and two files used to demonstrate "searchable indices".
    ADV_OPTS.CTL, ADV_OPTS.CMD, ADV_OPTS.DOC
      Samples and documentation for SRE-Filters advanced options
    RENLOGS.CMD
      A sample of a scheduable program , RENLOGS.CMD will archive the common, browser, and referer logs on a scheduled basis (see SREFLOGS.DOC for details on how to execute a scheduable program).
    ADDPRIVS.RXX and ADDPRIVS.DOC
      ADDPRIVS.RXX is used in INTERPRET keyphrases to add dynamic client privileges. ADDPRIVS.DOC describes how to use dynamic privileges.
    DIR.DOC
      A discussion of SRE-Filter's !DIR dynamic directory display facility.
    COUNTER.RXX and COUNTER.DOC
      A "counter" for your web pages, invoked using a server side include. This has several features, including the ability to save information on all requests.
    SAMPCOOK.RXX and SAMPCOOK.SHT
      These provide a simple demonstration of the use of "cookies" (requires a cookies-aware browser such as NetScape 2.0).
    SHOWDIR.CMD and SHOWDIR.DOC
      SHOWDIR.CMD is a front-end to the SHOWDIR dynamic directory list processor (it's an alternative to SRE-Filter's !DIR). SHOWDIR.DOC describes out to use SHOWDIR in the SRE-Filter environment.
    STATUS.SHT and STATUS.CMD
      STATUS.SHT demonstrates several SRE-FILTER features, and provides an example of how to invoke Server Side Processing by calling STATUS.CMD (STATUS.CMD will return information on SRE-FILTER settings).
    TESTURL.CMD
      This will display the various mappings, modifications, and redirections that a user entered URL is subject to by the various machinations of SRE-Filter-- useful information for debugging and verification (under construction)!
    XCOUNT.CMD, TEST-CGI.CMD, and JCOUNT.CMD
      XCOUNT and TEST-CGI are sample CGI-BIN programs (courtesy of GoHTTP HTTP filter system.
      XCOUNT.CMD will generate a "count of hits" bitmap file (and will also augment hits); it is (minimally) called as /CGI-BIN/XCOUNT/?URL_NAME.
      TEST-CGI reports on the current "CGI-BIN" environment variables.
      Both of these are written to your CGI-BIN directory (for example, \GOSERVE\CGI_BIN)
      JCOUNT is a simple variant of XCOUNT designed to be used with the EXEC HTTPD-style server side include. JCOUNT just returns current "hits" as a text integer (rather then as an image). It uses the same database as XCOUNT (the two can be used interchangably).

    ### Sample documents and images

    COUNTER.SHT
      Demonstrates various SRE-Filter hit counters.
    DIRINFO.RXX, USETABL2.RXX
      Samples of a "REXX-code" blocks that can be used in an INTERPRET keyphrase.
    GIFS.ZIP
      A variety of useful GIF files. They will be copied to the \IMGS subdirectory of your data directory.
    DIGITS.ZIP
      Samples .GIF digit files for use by COUNTER.RXX.
    INDEX.HTM
      A sample home page that links to many of the HTML files listed here (assuming you haven't recreated it for your own purposes).
    LOGFAIL.HTM and ACCFAIL.HTM
      Samples of a "logon-failure", and a "SEL-specific access failure" response files.
    SAMPMAP.GIF, SAMPMAP.MAP, and SAMPMAP.HTM
      Demonstrates the use of image maps.
    SAMPOPT1.SHT and SAMPOPT2.SHT
      Demonstrates the use of the OPTION keyphrase.
    SAMPMBOX.SHT and ANYONE.LOG
      Demonstrates the use of message-boxes. ANYONE.LOG will be written to the SRE-Filter MESSBOX_DIR directory.
    TSTHTTPD.SHT
      Sample of NCSA HTTPD style server side includes.
    TESTTABL.SHT, TESTTABL.TBL, TESTTABL.DEF, REPLACES.HTM
      Used to demonstrate server side includes.
    TESTVALU.SHT and TESTVALU.CMD
      Demo of SRE-Filter's SREF_VALUE function
    UPLOAD.HTM
      Demonstrates the use of SREFILTR's GET_URL command for uploading files from other HTTP servers.
    NOTFOUND.HTM
      A sample of a "document not found" response file.

    ### Documentation

    CHANGES.DOC
      A recent history of the changes to SRE-Filter.
    FILELIST.HTM
      This document.
    GUIDE.HTM
      The users guide to SRE-Filter -- tells you what SRE-Filter can do, and where to find out how to do it.
    INITFILT.DOC
      INITFILT.DOC is a complete description of the parameters contained in INITFILT.80 -- it is recommended reading for more-than-casual users of SRE-Filter.
    OUTLINE.HTM
      An outline of the steps that SRE-Filter follows when processing a request.
    INTRO.DOC
      One page summary of SRE-Filter ver 1.2k.
    SREFILTR.HTM
      The SRE-Filter manual (about 200k, but still not big enough). This describes all aspects of SRE-Filter, and includes installation instructions and a glossary of terms.
    SREFILTR.FAQ
      Short answers to an ever-changing list of "frequently asked questions".
      A description of the SREFAST variant of SREFILTR.
    SUMMARY.HTM
      A summary of SRE-Filter.
    TIMEFMT.DOC
      Brief description of the timefmt options (timefmt is a NCSA HTTPD server side include directive).
    HELPLIST.HTM
      List of the various SRE-Filter documentation files.

    ### SRE-Filter Add-ons

    SRE-Filter has a number of add-ons avaiable. You can download them from the http://rpbbcam.econ.ag.gov/srefilter site.

    Some of the currently available add-ons:

    - FORUM: A news-group and list-server discussion-group package
    - BBS: A full featured "web based bulletin board system"
    - GETAFILE: A directory displayer, with user-settable display features
    - CALC: A character-mode scientific calculator with a web interface
    - SRCHINDX: A front-end to the SWISH directory indexer -- it's an easy way to set up a "site specfic" search engine.