# File list for SRE-http

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

Note that unless otherwise mentioned:

- Files with .80, .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.
  SREINIT1.CMD
    A procedure called by SRE-http when on startup
  SREFMON.CMD
    An ancillary program, started by SRE-http. It runs on it's own thread, and is responsible for starting other "helper" threads, and keeps SRE-http informed of on-the-fly changes to the various SRE-http parameter files.
  SREDOMD5.CMD
    The "MD5 daemon" program (it's invoked by SREFMON.CMD).
  SREFPRC.ZIP
    SREFPRC.ZIP contains the components of the "dynamic" procedure library that SRE-http 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 -- see SREFPRC.DOC for a description.
  USERCHK.RXX, ALIASCHK.RXX, ACCESCHK.RXX, VIRTCHK.RXX, POSTFCHK.RXX, SSICACHE.RXX, VARSTORE.RXX, PUBURCHK.RXX, and PMPRINTF.RXX
    These program files are started (by SREFMON.CMD) as "daemon threads". SRE-http 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 SREHTTP.LOG file Very ambitious programmers may want to modify these programs.

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

  *.SRF and SREFPRC.RXL
    SREFPRC.RXL and about 90 .SRF files are installed in the SRE-http "library" directory. These are the components of the "SRE-http dynamic macrospace procedure library".

    ### Required dynamic link libraries

    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.
    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-http uses it during installation, and uses it when expanding and extracting descriptions from .ZIP files.
    SRXFUNC.DLL
      SRXFUNC.DLL contains SRX_MD5, which is used to create MD5 digests (note: it's a freely useable DLL, created especially for SRE-http)
    GZIP.EXE and GZIP.TXT
      GZIP.EXE (a GNU software product) is used to compress (and expand) GZIP'ed files. GZIP.TXT is the documentation that comes with GZIP.EXE
    MD5.EXE and README.MD5
      A program to compute an MD5 hash, and it's documentation.

    ### Installation files

    INSTALL.CMD
      The SRE-http installation program.
    READ.ME (copied to your GoServe working directory)
      Some installation notes, acknowledgments, and a disclaimer.
    SREFCONF.CMD, CONFIG2.CMD, CONFCOLR.HTM, CONFCOLR.CMD, CONFIGUR.HTM, CONFIG0.HTM, CONFIG2A.HTM, CONFIG2B.HTM, CONFIG3.HTM, and *.CNF.
      These are the SRE-http 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.
    DYNPWD.DOC and DYNPWD.RSP
      The dynamic passwords documentation, and default response file.
    ENCRYPT.DOC, ENC_SREB.RSP, DE_SREA.CMD, DE_SREBF.CMD, ENC_FORM.RSP
      The SRE-http encryption documentation, the default response file for the SRE_B algorithim, the decrypter program for the SRE_A algorithim, the decrypter for the SRE_BF and SRE_BFC algorithim (which requires a BlowFish executable), and the includable response-file for encryption of FORM submissions.
    ENC_TEST.HTM, ENC_TEST.CMD
      Demonstrates SRE-http's form encryption facility
    REALMCFG.CMD, USERCFG.CMD, ALIASCFG.CMD, ACCESCFG.CMD, VIRTCFG.CMD, and HTACCFG.CMD.
      These are the REXX scripts called by CONFIG2A.HTM and CONFIG2B.HTM. They will view or modify the define-realms 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.

    ### Parameter Files

    ALIASES.IN
      A sample of an alias file. Aliases are used for implementing searchable indices, for document redirection, and other useful tricks.
    ACCESS.IN
      Used to store SEL-specific access information.
    COUNTER.CNT
      A sample "count of hits file", for use by the `REPLACE HITS` keyphrase. This is NOT used by COUNTER.RXX (yes, it's a bit confusing, but it's a bit late to change now).
    CFGLIST.CFG
      A sample of an "auxillary configuration files" list.
    INITFILT.80 and INIT_STA.80
      INITFILT.80 contains dynamic initialization parameters, and INIT_STA.80 contains static initialization parameters. Both file can be changed by site administrators.
    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.
    MEDIATYP.RXX
      The "user defined" list of mediatypes.
    PUBURLS.IN and PUBURLS.DOC
      Sample PUBLIC_URLS file, and a description of what it's use.
    REPSTRGS.IN and REPSTRGS.DOC
      A customizable list of REPLACEment strings, used by the <!-- REPLACE varname --> server side include keyphrase.
    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-http's SENDFILE facility.
    ATTRIBS.CFG
      A sample of a selector-specific-parameters configuration file, and a description of how to use it
    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.
    SCHEDULE.CFG and SCHEDULE.DOC
      A sample of a "scheduled events" configuration file
    USERS.IN and USERS.DOC
      A sample of a username/password/privileges file.
    VIRTUAL.IN
      A sample of a "virtual directory" file.

    ### Useful addons and facilities for SRE-http

    ADDPRIVS.RXX and ADDPRIVS.DOC
      ADDPRIVS.RXX is used in (INTERPRET SSI keyphrases) to add dynamic client privileges. ADDPRIVS.DOC describes how to use dynamic privileges.
    BYBROWSR.RXX and BYBROWSR.DOC
      BYBROWSR.RXX is used (in INTERPRET SSI keyphrases) to include browser-specific files into an HTML document. BYBROWSR.DOC provides the details.
    BYCLIENT.RXX and BYCLIENT.DOC
      BYCLIENT.RXX is used (in INTERPRET SSI keyphrases) to include client-specific files into an HTML document. BYCLIENT.DOC provides the details.
    ADV_OPTS.CTL, FAQ.CTL, ADV_OPTS.CMD, ADV_OPTS.DOC
      Samples and documentation for SRE-https advanced options
    BROWSERS.IDX and BROWSERS.CMD
      An index of browsers, listing various capabilties, such as whether they understand TABLES and COOKIES. BROWSERS.CMD can be used as an SRE-http addon (it will read BROWSERS.IDX) or as a stand alone program (to generate a new version of BROWSERS.IDX).
    COUNTER.RXX, and COUNTER.DOC
      A "counter" for your web pages, invoked using a server side include. COUNTER.DOC is the manual for COUNTER.RXX.
      Note that COUNTER.RXX has several features, including the ability to save information (such as the client address and the time) for all requests. Also, COUNTER.DOC includes code for a simple demo of how COUNTER.RXX is used.
    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-http ver 1.3).
    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-http ver 1.3.
    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-http addon), 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-http ver 1.3).
    DOSEARCH.CMD, DOSEARCH.HTM, TESTSRCH.HTM, and CONGRESS.DAT
      These are no longer shipped with SRE-http -- but they are available as a seperate addon.
    EDITSREF.CMD and EDITINIT.CMD
      Two simple stand-alone REXX program that will edit parameters in INIT_STA.80 and in INITFILT.80 (respectively). EDITSREF is especially useful when you are configuring SRE-http remotely (but do remember that changes to parameters in INIT_STA.80 take effect only when you restart GoServe). EDITINIT is included for convenience (since most of the parameters in INITFILT.80 can be remotely modified with the SRE-http configurator).
    ENCRYPT.DOC and DE_SREA.CMD
      The description of SRE-http's encryption algorithims. DE_SREA.CMD is the client side program requred to decrypt documents that SRE-http encrypts with the SRE_A encryptiong method.
    FREEUP.CMD
      A simple, stand-alone REXX program that "cleans up" resources used by SRE-http. 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-http 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.
    PREREP.CMD and PREREPLY.DOC
      Examples of pre-reply procedures -- and the documentation on the use of PRE-REPLY procedures.
    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).
    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-http's !DIR). SHOWDIR.DOC describes out to use SHOWDIR in the SRE-http environment.
    CHECKSEL.CMD
      This will display the various mappings, modifications, and redirections that a user entered URL is subject to by the various machinations of SRE-http-- 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).
    TSTDIGIT.CMD
      Demo of the SREF_DIGITS and SREF_XBITMAP procedures

    ### Sample html documents and images

    ACCFAIL.HTM
      Samples of a "SEL-specific access failure" response files.
    CNTDEMO1.SHT and CNTDEMO2.SHT
      Demonstrates various SRE-http hit counters.
    DIGITS.ZIP
      Samples .GIF digit files for use by COUNTER.RXX. They will be copied to the \DIGITS subdirectory of your GoServe data directory. You can view a sample of them by loading DIGSAMPL.HTM (also in this \DIGITS subdirectory).
    DIRINFO.RXX
      Sample of a "REXX-code" blocks that can be used in an INTERPRET keyphrase: displays current information on document's directory.
    GIFS.ZIP
      A variety of useful GIF files. They will be copied to the \IMGS subdirectory of your GoServe data directory.
    INDEX.SHT
      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
      Sample of a "logon-failure" response files.
    MAXFAIL.HTM and TRYMAX.CMD
      Sample of a "maxuser-failure" response file, and a simple addon to use for testing the MAXUSER option.
    NOTFOUND.HTM and MTCHFILE.SHT
      Samples of "document not found" 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-http MESSBOX_DIR directory.
    STATUS.SHT and STATUS.CMD
      STATUS.SHT demonstrates several SRE-http features, and provides an example of how to invoke Server Side Processing by calling STATUS.CMD (STATUS.CMD will return information on SRE-http settings).
    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-http's SREF_VALUE function
    UPLOAD.HTM
      Demonstrates the use of SRE-http's GET_URL command for uploading files from other HTTP servers.
    USETABL2.RXX
      Sample of a "REXX-code" blocks that can be used in an INTERPRET keyphrase: checks browser type and displays a table.
    MTCHFILE.RXX
      The "display best matches" INTERPRETable addon.

    ### Documentation

    CNTFILES.DOC
      A description of several counter and audit files: COUNTER.CNT, RECRDALL.CNT, and SENDFILE.CNT.
    CACHING.DOC
      A discussion of the various types of caching used by SRE-http.
    DIR.DOC
      A discussion of SRE-http's !DIR dynamic directory display facility.
    DOCGUIDE.HTM is a frames and JavaScript enabled front-end to several SRE-http documentation files.
    DAEMONS.DOC
      A description of how to use SRE-http's daemon manipulation procedures.
    FILELIST.HTM
      This document.
    GUIDE.HTM, frames version, GUIDETOC.HTM
      The users guide to SRE-http -- tells you what SRE-http can do, and where to find out how to do it.
    HELPLIST.HTM
      List of the various SRE-http documentation files.
    HISTORY.TXT
      A recent history of the changes to SRE-http.
    HITMETER.DOC, HITMETER.CNT
      A discussion of SRE-http's support for hit-meter trees, and a sample HITMETER count file.
    A HREF="/samples/in_files.doc">IN_FILES.DOC
      Description of the user-configurable, "selector-specific attributes" files (ACCESS.IN, ALIASES.IM, ATTRIBS.CFG, PUBURLS.IN, and VIRTUAL.IN).
    INITFILT.DOC
      INITFILT.DOC is a complete description of the parameters contained in INITFILT.80 and INIT_STA.80 -- it is recommended reading for more-than-casual users of SRE-http.
    MK_ADDON.HTM
      Some hints on how to use the GoServe/SRE-http API to create your own web-aware applications.
    MULTSEND.DOC
      Description of SRE-http's SREF_MULTI_SEND procedure: which is used to create "multiple-part document" and to "send a document in pieces"
    MTCHFILE.DOC
      Description of the MTCHFILE INTERPRETable addon: designed to be used with NOT_FOUND_URL, it will return a list of links to resources (files on your site) that "best match" the current selector.
    NEGOTIAT.DOC and NEGOT.CMD
      Description of SRE-http's content negotiation features, and a sample of a custom "server side" content negotiation procedure.
    OUTLINE.HTM
      An outline of the steps that SRE-http follows when processing a request.
    RANGE.HTM, RANGETST.HTM, SREHTTP.SEC and SAMPLES.SEC
      A description of the !RANGE special command (!RANGE is used, in a URL, to extract byte and line ranges from a document), and a demo of how to use it.
    srehttp.htm, SREHTTG.HTM,SREHTOC.HTM, SREHEAD.HTM, and SRETERMS.HTM.
      The SRE-http manual, non-frame and frames version. (it's about 200k, but still not big enough). This describes all aspects of SRE-http, and includes installation instructions and a glossary of terms.
    SREhttp.FAQ (FAQG.HTM, FAQTOC.HTM)
      Short answers to an ever-changing list of "frequently asked questions" (frames version).
    SREFPRC.DOC
      Description of SRE-http's macrospace library -- a useful set of tools for those interested in writing addons! SREFQUE.DOC A description the SREF_QUEUE procedure: which is used to manipulate SRE-http queues.
    SREPROXY.80, SREPROXY.RXX, SREPROXY.DOC and SREPROXY.sht The SRE-http "proxy-like" front-end for SRE-http; command files, documentation, and demo document.
    SSICACHE.HTM is a description of SRE-http's SSI caching algorithim, and contains some tools for examining and modifying the SSI cache.
    TIMEFMT.DOC
      Brief description of the timefmt options (timefmt is a NCSA HTTPD server side include directive).
    USE_CFGS.DOC
      A brief description of CFGSLIST.CFG. It also discusses migration strageties (from 1.3c to 1.3d).
    XSSI.SHT and IFTEST.SHT
      Descriiption of SRE-http's support for the XSSI Apache extensions to the NSCA HTTPD server side includes, and a short demo of the #IF syntax.

    ### SRE-http addons

    SRE-http has a number of addons avaiable. You can download them from the SRE-http home page at http://www.srehttp.org .

    Some of the currently available addons:

    - 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.