02 January 2002. Current version is 1.3h.0102.a 

                      History of Changes to SRE-http

This contains a history of changes to the SRE-http web server, starting
with the update from ver 1.2N to 1.3B.  The earlier history of changes
can be found in the CHANGES0.DOC and CHANGES1.DOC files on the SRE-http
home page (http://www.srehttp.org/archives/); where:
  CHANGES0.DOC covers 1.0 to 1.2D.
  CHANGES1.DOC covers  1.2D to 1.2N

Please keep an eye on the SRE-http home page for update information!


   NOTE: we have discontinued further development of the GoServe based
         line of SREhttp products. Instead, we are porting old software,
         and writing new software, for SRE2002.

         For the details, see www.srehttp.org/sre2002



                        ============================

1 June 1998 --- Upgrade from ver 1.2N to ver 1.3A.

Ver 1.3A is  conditionally compliant with the http/1.1 specs. In terms of
functionality, there were not a lot of changes between 1.2n and 1.3a. 
However, numerous changes were made "under the hood" to provide better 
caching information (for downstream proxy servers), to improve support 
for conditional gets, and to more carefully handle maintained connections.

In addition, a few options were enhanced, a few rarely used options
were discarded, and the code was generally tightened up.  Hopefully, all 
of the bugs introduced by this tightening up have been detected, but 
we wouldn't bet on it (though the current track record is encouraging).
Please do contact danielh@crosslink.net as soon as you hit what you 
suspect may be a bug.

Changes include:

  * BACKUPSERVERPROC is no longer a parameter -- to specify a different
    load balancing procedure, you can replace the backsrvr.srf library file
    (i.e.; in \GOSERVE\LIB).

  * The HOSTS_IP variable was dropped.  We now recommend including numeric IP
    address in your hosts. list (just to be safe).

  * If an http 1.1 client does NOT send a host: header (or include host
    info in the uri), return a 400 error (this is dictated by the http/1.1
    spec).

  * public_Urls now supported by a seperate thread.
    the PUBLIC_URLS are no longer listed in INITFILT.80 -- a PUBURLS.IN
    file (in the GoServe/SRE-http data directory) is used instead (see
    PUBURLS.DOC for details)

    Note: you can use the Simple Mode configurator to modify PUBURLS.IN,
          (the intermediate configurator can NOT be used to modify 
           PUBURLS.IN).
    Note: you suppress public_urls with the never_publicurls option in
          SREFILTR.80.

  * you can have multiple entries in NOEXT_TYPE variable.

  * NOEXT_TYPE=DIR now means NOEXT_TYPE=REDIR (local "appending of /" is no
    longer supported).  You can also have several NOEXT_TYPE options --
    which will be attempted in order listed.

  * HEAD is no longer treated differently then GET -- except goserve will 
    suppress the body of the response.
    Addons may find this confusing, so a head_to_get parameter
    has been added.

  * upon recieving a request, SRE-http will check for 
    several not understood conditions (expect: 100-continue, 
    or not known encoding), and return an appropriate error message.

  * chunked coding now understood (see srefprc.doc for a description of 
    the sref_chunk and sref_unchunk macrospace procedures)

  * do_send_pieces is no longer supported
 
  * sref_value(,,'REQ') changed (now in varstore thread, with a 50 request
    history list)

  * the SREFAST and SREFQUIK "alternative" filters have been dropped.
    Instead, a "proxy-like' front-end (SREPROXY.80) is now recommended
    (see SREPROXY.DOC).

  *  support for GZIP encoding has been added. See the description of
     SUPRRESS_GZIP_TE, in INITFILT.DOC, for details.

  * a few minor changes to the intermediate configurator

  * "digest" authentication is now supported (in addition to "basic" 
     authentication) -- see the digest_auth parameter in initfilt.doc
     for details.

  * a Content-Md5 request header (useful for integrity checking) can now be
    added to almost all responses.

  * GET method CGI-BIN request can now have up to 1000 characters in the options list
    (the stuff after a ?)

  * added a configuration utility to report on the access privileges, aliases, 
    etc. of a selector

                            =========================

* SRE-http addons and version 1.3 A (and above)

One of the biggest change that http/1.1 has over 1.0 is a concerted 
attempt to support proxy servers spread all over the net, and deepen 
the use of conditional retrievals. For this purpose, several new headers 
should be added to all responses (and several older headers should be 
used more frequently).  

Given that Goserve is not about to change drastically, I chose to implement 
this by having all (or almost all) transfers of content to the client done 
through a single procedure; a procedure I've named SREF_GOS.  For standard 
uses of sre-http (i.e.; returning documents, ssi'ed or otherwise) this 
change is invisible to the server administrator -- the only detectable 
difference being a more complete set of response headers is now sent out  
with all responses.

However, addon writers may issue 'FILE or 'VAR commands from within their 
addons.  This can still be done, but the http/1.1 headers won't be added. 
Therefore, I recommend that addons be rewritten, with 
     'FILE type a/b name foo.bar'
calls replaced with
    foo=sref_gos('FILE TYPE a/b name foo.bar')
(and similarly for all 'VAR calls).

This should be pretty easy.  Actually, if you are leaving the addon with
    return  'FILE type atype/asubtype name foo.bar'
you don't need to make any changes!

For further discussion of SREF_GOS, please see SREFPRC.DOC

                            =========================
Note: "official" release of SRE-http ver 1.3A occured on 1 June 1998 as
      "Ver 1.3A 698a"
                             =========================


9 June 1998: Vera 1.3a 698b

   *  File names containing spaces were not being handled properly. This has been fixed
      in several places.

   *  SREPROXY was not properly handling !SENDAS_CHECK_TYPE requests.


10 June 1998: Vera 1.3a 698c
   * Fixed some more problems with "spaces in file names" (in the !DIR utility)

   * Slight modification to the default "document not found" message (added selector
     name).

17 June 1998: Vera 1.3a 698d

   * When a username matches both a site and host specific entry, the host specific
     entry is used.

   * Spaces in usernames are now converted to underscore ("_", without the
     quotes) characters.

   * ADD_USER_NAME was not working -- it's now fixed.

   * New feature: you can now specify "host specific" username files (they augment
     the USERS.IN file). See USERCHK.RXX for details.

     Note that, given sufficient demand, a "read from disk, not from memory" feature
     may added to the "host specific" username files (this will save memory
     when you have large, but infrequently used, host specific username files).

19 June 1998: Vera 1.3a 698e

   * Fixed a bad bug that occurred if more then one CUSTOM_INITS was
     specified.

   * Minor changes to documentation


25 June 1998: Vera 1.3a 698f

   * Fixed a bad bug  when AUTO_HEADER='ALWAYS'

   * Added note to SREHTTP.FAQ on how to use advanced-options to send "thank you"
     notes after file downloads.
 
   * Slight modification to default "document not found" response when a directory 
     was requested.

   * You can now add extra headers when you use SENDFILE (see SREHTTP.HTM for details).
     For example, you can instruct SENDFILE to send a 'refresh: 2 ; url=file.ext' 
     response header.

26 June 1998: Vera 1.3a 698g

   * More improvements to SENDFILE -- you can now "sequentially send" (as a 
     multipart-mixed document) several files (by including multiple FILE= 
     options in the SENDFILE? request)

   * A small bug was fixed in SREF_MULTI_SEND (on occassion, a Transfer-Encoding 
     response header was inappropriately sent).


26 June 1998: Ver 1.3a 698h

   * Fixed a small bug in SENDFILE (introduced in version 698g) --
     it should now recognize SENDFILE?sel as being SENDFILE?file=sel


4 July 1998: Ver 1.3a 798a

   * Fixed a rare but serious bug that killed SRE whenever a PUBURLS.IN file
     was not specified.

7 July 1998: Ver 1.3a 798b

   * 4 July bug fix was not complete -- zero length puburls.in file caused a problem.
     Now they don't.

13 July 1998: Ver 1.3a 798c

   * When launching daemons, the SRE_LIBDIR was not being found, which can cause fatal errors.
     The best solution is to add a SRE_LIBDIR=d:\goserve\lib to your config.sys (where
     d:\goserve\lib should be the name of the "sre-http library directory".  As a second
     best solution, SRE-http will now search for all directories for a file name, if
     the SRE_LIBDIR can not be found in the environment.

14 July 1998: Ver 1.3a 798d

   * SREF_VALUE's "request specific information" mode used to crash GoServe if  
     called by a daemon, or a post-filter. This has been fixed (it's not recommended,
     but it won't crash goserve anymore)

    
18 July 1998: Ver 1.3a 798e

   * Fixed a bug in the "search for procedure to load into macrospace" correction of 798c 
     (SRE was always looking in the E drive, rather then the current Goserve drive)


23 July 1998: Ver 1.3a 798f
  
   * The DISPLAY_ENV parameter was not working -- it does now.

   * Slight improvement to SREF_GET_URL procedure -- it how reports itself as http/1.1, and
     you can send optional request headers.


17 August 1998: Ver 1.3a 898a

   * Corrected a bug in COUNTER.RXX; if the "count" did not have spaces after it, COUNTER.RXX
     would fail
 
   * Corrected a bug in USERS.IN -- tabs can now be used to seperate username,  password,
     and privileges.

18 August 1998: Ver 1.3a 898b
   
   * Fixed a small bug when a file's date was missing (i.e.; was set to 00/00/00)

26 August 1998: Ver 1.3a 898c

   * Suppress printing of "reset variables" to error log if verbose<2.

   * Fixed a small bug in the "check selector" option (checksel failed when there
     was no public_urls file).

08 September 1998. Ver 1.3a 998a

   * Changed some calls to FILEWRITE (rexxlib function) to avoid conflict with 
     similaly named filerexx function.




30 September 1998
  Release of version 1.3B (as 1.3B.998b):

   * Fixed a small problem with special commands.

   * Fixed a small but when using SREF_VALUE on non-80 ports.

   * Minor bug corrections/ optimizations in several of the 
     "independent threads" (such as SREFMON, POSTFCHK, ALIASCHK, etc.)

   * Added a new special command: !RANGE. !RANGE is used to selectively
     extract lines and bytes from a document.  See RANGES.HTM for
     a description, and see the RANGE_AT_END parameter in INITFILT.DOC.

   * WILD_SELS_OKAY has been updated -- you can now instruct SRE-http to
     display a directory style listing of multiple matches (as an 
     alternative to listing the "best match")

   * NO_DNS variable has been added (to SREFMON.CMD) -- use it to suppress
     clientname lookups (which can cause poor response times if your DNS is
     slow).
     
   * SRE-http is now Y2K compliant (note that SRE_http addons may not be 
     Y2K compliant)

   * You can now suppress common log auditing of HEAD (or other method)
     requests (see description of NOCODES in SREFLOGS.DOC).

   * The "request number" is now sent to addons. One use of this: if your 
     provide the request number to SREF_VALUE when extracting "REQuest" 
     specific variables, SRE-http has to do a little less work.     


10 October 1998: Ver 1.3B.1098a
        
    * Added an "MD5 cache" daemon. It's optional, and will be used when
      the MD5_CACHE parameter (in SREFMON.CMD) is set to a non-zero value.
      See the description of MD5_CACHE in INITFILT.DOC for details.

12 October 1998: Ver 1.3B.1098b

   *  Added a "rename logfiles when they get too big" feature. This is 
      controlled with the LOGFILES_MAXSIZE parameter in SREFMON.CMD (see 
      the description in INITFILT.DOC for details).  Note that the
      log_toobig parameter (in postfchk.rxx) is no longer used -- thus,
      warnings about "log file too large" will NO LONGER be written to
      the PMPRINTF window.


12 October 1998: Ver 1.3B.1098c
      
    *  MInor changes to the SREF_VALUE and SREF_DMN_xxxx procedures (added some
       error/status messages).


    *  Fixed a bug in SREPROXY.80 -- SREFILTR.80 was being called too frequently.



18 October 1998: Ver 1.3B.1098d

    * Added some non-digit capabilities to COUNTER.RXX; and created a
      macrospace procedure (SREF_DIGITS) that can be used to create
      IMG elements for use in graphical displays of digits and 
      characters (see COUNTER.DOC for the details)

    *  Fixed an incompatability between SRE and the Sept 1998 version of 
       GoServe; which involved use of the EXTRACT command from daemons.   
       Thus, SRE-http ver 1.3b.1098d will work with this Sept 1998 version
       of GOSERVE.EXE.

    *  REMOVE_PROCS option has been dropped (it has been superseded by the
       dynamic loading capabilities of SRE-http).

22 October 1998: Ver 1.3B.1098e
    
    *  Fixed bug in the <!-- REPLACE CREATION --> server side include (a Y2k related
       bug that got  introduced in ver 1.3b.1098a)

    *  Subtle improvements to SREPROXY.RXX (more efficient cache lookup).

23 October 1998: Ver 1.3B.1098f
    
    * Fixed a small bug in SREPROXY.RXX (introduced in 1098e)


10 November 1998: Ver 1.3B.1198a

    * Fixed a bug in SREPROXY.80 that caused failure to updated changed files (outdated
      cached file was being inappropriately returned).


27 November 1998: Ver 1.3B.1198b

    * Minor modifications (to SREFILTR.80) to facilitate the STARTSRE.CMD addon's
      capability of restarting GoServe if a "bad error" is detected.

02 December 1998: Ver 1.3B.1298a

    * Modified the MEDIATYP.RXX file -- you can now have entries of the form:
                type=type/subtype  exts=ex1,ext2
      (old style entries will still work).  See MEDIATYP.RXX for the details.

    * Some modifications to SREHTTP.FAQ.

09 December 1998: Ver 1.3B.1298b
   
   * Corrected a number of non-fatal coding errors. 

10 December 1998: Ver 1.3B.1298c

   * Modified SREFLOGS.INI -- for SCHED and NOURL entries, you no longer need to specify the .n 
     "stem" identifier.


10 December 1998: Ver 1.3B.1298d

   * Corrected some more non-fatal coding errors. 
   * A frames-based "documenation guide" is now included (see SREHTTPF.HTM).
   * Post-filter will now report "bad common log" files.
   * Install is now more insistent about 4.02t.

15 December 1998: Ver 1.3B.1298e
  
   * Made a few minor modifications
   * Added a new feature: MTCHFILE.RXX. This is meant to be used with NOT_FOUND_URL
     files -- it will produce a list of the "best matching filenames" to the
     "not found" request selector. See MTCHFILE.DOC, or MTCHFILE.HTM, for
      details.

17 December 1998: Ver 1.3B.1298f

   * A few modifications to SREF_VALUE and the SREF_DAEMON procedures.

22 December 1998: Ver 1.3B.1298g

   * Corrected an SSI bug -- replace rules on footers was incorrect.
   * Corrected a CHECKLOG bug -- YES was not being interpreted correctly (YES
     is now synonymous with ALWAYS)
   * Corrected a virtual directory bug -- host specific virtual directory entries
     with limitation lists were being incorrectly ignored.
   * Further improvements to the "frame aware" documentation guide (SREHTTPF.HTM).
   * A few minor optimizations to the SSI procedure.

26 December 1998: Ver 1.3B.1298h
   * Minor improvements to  EDITSREF and EDITINIT
   * Improved the SSI caching, with more structure to the cached file
     allowing quicker retrieval. This can yield significant improvement
     on the throughput of larger files with a few "dynamic" SSI's (such
     as current time and creation date).
   * Renamed SREHTTPF.HTM (the "documenation guide" framset containing
     document) to DOCGUIDE.HTM.
   * Minor modifications to several help files.

11 January 1999: Ver 1.3B.0199.a

   * Fixed a fatal bug that occurred when the PUBURLS.IN file was missing
   * Fixed a bug that rendered NEVER_PUBLICURLS useless
   * Allowed for the USER_LOGON_PROC to "let SRE-http do it" (see description of
     USER_LOGON_PROC in INITFILT.DOC for details.
   * Minor modification to facilitate the STARTSRE.CMD addon.

14 January 1998: Ver 1.3b.0199.b
   
   * Modified COUNTER.RXX facility -- you can now add <BR> after/before each
     character (thanks to Steve Ryckman).

25 January 1999: Ver 1.3b.0199c

   * A few minor bug fixes (200 used instead of 404 on MTCHFILE.SHT 
     responses)
   * CHECK_404 beta addon now available (CHK404.ZIP)

26 January 1999: Ver 1.3b.0199d

   * Fixed a bug that manifested in the <!-- REPLACE CREATION -->
     SSI (and perhaps elsewhere).

28 January 1999: Ver 1.3b.0199e

    * Fixed an uncommon (but potentially fatal) bug  in the unchunking procedure.

10 February 1999: Ver 1.3b.0299a

   * Fixed a bug in the COUNTER.RXX facility -- the COUNTER_IMAGE_DIR parameter
     was being ignored.

16 February 1999: Ver 1.3b.0299b

   * Minor bug fix in MAILIT (for some sendmail servers, EHLO request was not working).



25 February 1999-- Version 1.3c released as 1.3c.0399.a.

  There is no major change between 1.3c and 1.3b, but the cumulation of small changes 
  are sufficient to warrant a change in the "minor version" number.

   *  Added a "pre-reply" procedure -- a hook that allows you to make "last second" changes 
      to a response. See PREREPLY.DOC for the details.

   *  Minor documentation fixes.

   *  Fixed minor problem with "/~username"  requests (they redirected to /homedir/username/, now
      the redirect to "/~username/")

1 March 1999: Ver 1.3c.0399.b

   *  Small bug fixes & modifcations in various library routines
 
   *  Fixed a slow but steady memory leak (in the "variable storage"
      thread). Also, modified testvalu.sht and testvalu.cmd to
      allow looking up parameters from prior requests
      (the 100 most recent prior requests).

   *  sreLite, a smaller-faster-less_feature_rich variant of SRE-http is now 
      available on the SRE-http home page at:
         http://www.srehttp.org/srelite/ 
      sreLite supports a subset of the SRE-http options; including CGI-BIN, most addons,
      some ssi's, and selector specific access controls. It can be used when speed is 
      important, but you want to stay within the SRE "environment".  

   *  MTCHFILE will now check the DIR_EXCLUSION list before displaying "possible matches".

   *  A security hole, via the TESTVALU addon, has been fixed (now, only SUPERUSERS can use
      TESTVALU).

   *  Updated the SREF_VALUE procedure, and the  TESTVALU addon, to better handle requests
      for INItializaton parameters (SREF_VALUES is now much smarter about parsing out
      the several "sre-http prefixes" that may be used).

4 March 1999:  Ver 1.3c.0399.c

   *  Fixed "wild card replacements" -- they should now work with more then
      one wildcard.

   *  Added a new feature to wild card "matching" -- a | at the end of a
      "haystack" has a special meaning:
          "no / or \ can be covered by the final *". 
      Thus, if the selector is 
          animals/cats/food.1
     then
           animals/*food.1  will yield a match,
     but
           animals/*food.1|  will NOT yield a match (since "cats/" contains a /)
     The purpose of this feature is to "limit" wildcard matches to a single
     subdirectory (that is, to prevent matches to items in deeper portions of 
     the directory tree)
 

7 March 1999:  Ver 1.3c.0399.d

   *  Fixed  bug (introduced in 1.3c.0399.c) that could (when NOURLS.
      were specified in SREFLOGS.INI) inadvertently suppress all common-log
      entries.


20 March 1999: Ver 1.3d.0399.e

  There were two major changes: SRE-http has a new home page, and the 
  configuration files/directories have been substantially modified.

  NEW home page:
     The SRE-http home page was moved from http://rpbcam.crosslink.net/srehttp
     to http://www.srehttp.org (38.152.44.14).  
   
     PLEASE NOTE THIS CHANGE -- IT MIGHT HAVE SLIPPED THROUGH SOME OF THE DOCUMENTATION!

  
  Changes in configuration files were made.
    These include:
    *  a /CFGS directory is now the default directory for configuration files
    *  /CFGS/INIT_STA.80 is now used to contain parameters that used 
       to be in SREFILTR.80
    *  you can use /CFGS/CFGLIST.CFG to specify host entries, and to
       specify host  & port specific configuration files 
        (ALIASES, ACCESS, INITFILT, PUBURL, REPSTRGS, USERS, and  VIRTUAL)
    *  /CFGS/SCHEDULE.CFG should now be used for "scheduled events"  
       (rather then SREFLOGS.INI)

    For details, see "USE_CFGS.DOC"

  Other changes include:

  * Modified documentation to note the new SRE-http home page

  * As noted above, CFGS\INIT_STA.80SREFILTR.80 now contains parameters that used to be in
    SREFILTR.80

  * Modified INSTALL.CMD -- you can now have it skip installation of COUNTER.RXX and 
    BYBROWSR.RXX

  * You can now specify subdirectories in the FILE field of COUNTER.RXX (see COUNTER.DOC).

  * Fixed some problems with COUNTER.RXX (i.e; it would not display characters).
    Note: these fixes do NOT require reinstalling COUNTER.RXX 
          (they occurred in a macrospace procedure used by COUNTER.RXX).

  * DOSEARCH (and related files) are no longer shipped with SRE-http --
    but theyare available as a seperate addon 
    (http://www.srehttp.org/apps/dosearch/)

  * Wildcarded passwords should now work more consistently

  * "Secret" client privileges (that are not reported by SRE-http status programs)
    can now be specified in USERS.IN (prefix the privilege with a ?)

  * You can use CGGLIST.CFG to specify host specific COUNTER_FILE files, COUNTER.RXX
    COUNTER_DIR directories,  SENDFILE_FILE files, and RECORD_ALL_FILE files

  * Post filter procedures are now passed the list of privileges and the list
    of secret privileges. See POSTFILT.80 for an example.

  * A new counter.rxx option, table_digits, modifies the action of the digits_Nobr
    parameter (see counter.doc for the details).

1 April 1999: Ver 1.3d.0499.a

  * Host specific parameters are now used in preference to default parameters
    (for aliases, access control, and virtual directories)

  * DYNPWD, a "dynamic password" addon,  is now available -- 
    it requires vers 1.3d.0499a

  * MANAGER, a "file manager" addon, is now available.

7 April 1999: Ver 1.3d.0499.b

  * Fixed a bug in the SREF_GET_URL procedure (it should now work with numeric ip addresses)

  * DYNPWD is now incorporated into SRE-http

  * SREF_MULTI_SEND will now use multipart/mixed with http/1.1 browsers, and
    still use multipart/x-mixed-replace with 1.0 browsers


15 April 1999:  Release of Ver 1.3e.0499.c

   Ver 1.3e has one large change -- support for sending encrypted content.
   An encryption method based on a "shared-secret" between the 
   client and server is currently supported. For details, see
   ENCRYPT.DOC. 

   Other changes include:

   *  The PREREPLY procedure was being called improperly, a mistake that
      would matter when SRE-http chose to use GZIP transfer-encoding .

   *  A new parameter, USER_PRIVS, has been added to INITFILT.80 -- this is
      a list of privileges to be granted to all clients with valid
      usernames and passwords (see INITFILT.DOC for details).

20 April 1999. Ver 1.3e.0499.d
 
    * A new "javascript" based encryption algorithim is now available (SRE_B)--
      see encrypt.doc for the details. 
   
   *  Note that to use SRE_B,
      you'll need to intsall the ENC_SREB.RSP file in your data directory.

   *  Similarly, to use SRE_A, you'll need to distribute DE_SREA.CMD
      (a copy of which should be in your data directory).

   *  A potentially fatal bug, that occured when "!special" commands were issued,
      has been fixed (this bug was introduced in ver 1.3d)

   *  Support for BlowFish encryption

   *  An javascript based encryption facility for FORM elements, and a macrospace 
      procedure to decrypt, are now available (see encrypt.doc, or
      enc_test.sht, for details).


26 April 1999. Ver 1.3e.0499.e
        
  * Fixed a rare, but nasty, bug in pre-reply and encryption procedures (would occassionally 
    delete a non-temporary file).

  * Fixed a bug when using sref_multi_send and a pre-reply procedure.

  * Modified the syntax of pre-reply procedures -- now you should NOT specify a changed
    content-length; and a changed content-type requires a special action (see
    PREPREPLY.DOC for the details)

  * Fixed a small but in the SREF_GET_URL procedure (host: header was NOT being sent)

05 May 1999. Ver 1.3e.0599.a

  * Digest authentication will now check several variants of the password, 
    thereby avoiding some (but not all) problems with case.


11 June 1999:  Release of Ver 1.3f.0699.a

   Ver 1.3f has several changes 
 
  * A new "realm-oriented" mechanism for assigning access, aliases,
    virtual directories, etc. is now available.  

    This mechanism, which complements the use of the several .IN files
    (such as ALIASES.IN and VIRTUAL.IN), uses a new configuration
    file: ATTRIBS.CFG (in your CFGS/ subdirectory). See IN_FILES.DOC
    for the details.

  * An extended set of NCSA style SSI's is now available. These
    extensions, which are modeled after the "xssi" extensions
    supported by Apache, allow you to set parameters, and
    provide an IF syntax for conditional SSI. 
    See XSSI.SHT for the details.

  * The default access-control file is now named ACCESS.IN (instead of
    ALL_FILE.CTL).

  * The SSI caching algorithim has been optimized.

  *  '<!--  ssi -->' quotes in  <SCRIPT> <!--   blocks will now work
     correctly.

  * Slight improvement to INTERPRET_TYPES: you can now specify switches
    (to be used when a non-rexx cgi script processor is called).

  * A change from 1.3d -- by default, host specific parameters do NOT
    take precedence over non-host specific parameters. However, you
    can define "superceding hosts" for which the "host-specific parameters
    take precedence" rule will hold.  See IN_FILES.DOC, and the
    description of HOSTS. in INITFILT.DOC, for the details.

16 June 1999. Ver 1.3f.0699.b

  * REALMCFG.CMD is a new "intermediate" configuration option that is used to
    to "define-realms" (to modify ATTRIBS.CFG files). Unlike other
    intermediat options, REALMCFG is host sensitive -- if you
    define a host-specific ATTRIBS.CFG file in CFGLIST.CFG, then
    it will use it (it only uses the default ATTRIBS.CFG file
    on request to the default ip address).
  
  * You can now define "strict-superceding hosts" (see IN_FILES.DOC).

  * You can use the intermediate configurator to list all the currently
    active ACCESS, ALIAS, and VIRTUAL entries (as specified in all the
    default and host-specific parameter files).

18 June 1999. Ver 1.3f.0699.c

  * Minor bug fixes.

19 June 1999. Ver 1.3f.0699.d

  * Fixed a bug (introduced with 1.3f) that disabled public urls.

  * Modified how content-md5 response header is computed -- if you
    have emx installed, then the MD5 executable can be used (see
    description of CONTENT_MD5 in INITFILT.DOC for details).
    This should avoid some instabilities.

  * In ATTRIBS.CFG you can now specify LITERAL and LITERAL_NORECORD 
    attributes for PUBLIC_URLS.

20 June 1999. Ver 1.3f.0699.e

   * A bug fix that cured sub-realms not being recognized.

   * LITERAL and NEGOTIATE, two new types of redirection, iare available 
     in ATTRIBS.CFG (see IN_FILES.DOC for the details)



27 June 1999. Ver 1.3g.0799.a

  The biggest change is support for "one daemon lookup in
  in a set of superceding realms" (see IN_FILES.DOC for the
  details).

   * Realm definitions can now be used to return puburl, alias, access, and
     virtual info with one daemon call (to puburls daemon) when the
     realm is identified (in ATTRIBS.CFG) as a "superceding" realm
     (see IN_FILES.DOC for the details).

   * You can now define several "advanced options" in ATTRIBS.CFG

   * Fixed several small bugs (virtual http, empty_path_ok, missing
     requires: in ATTRIBS.CFG), and reduced size of filter.

   * Minor improvements to  realm configurator.

   * Virtual directories were broken (in ver 1.3f0699d), now fixed.
  
   * Fixed a !DELSEND bug; !DELSEND will now work properly with 
     virtual directories (it will IGNORE virtual directories).

   * Updated and improved support for transparent content negotiation,
     including the capabilty of defining a custom RVSA
     (see NEGOTIAT.DOC for the details)

   * You can specify a custom "server side" content negotiation
     algorithim on a selector specific basis.

   * Fixed a few bugs effecting PUT and DELETE.

   * Fixed some minor mis-specifications in 304 responses.

   * A "href target" option has been added to !DIR (if enabled,
     files will be displayed in a seperate browser window).

   * Support for obtaining hit-metering information from caches 
     (see HITMETER.DOC).

   * A NOCACHE permission can now be specified (see IN_FILES.DOC
     for the details).

   * The PROXY_CACHE variable can now be used to set a cache
     expiration "maxage".

14 July 1999. ver 1.3g.0799b 
   
   * Minor bug fix in CGI-BIN processing (simultaneous cgi-bin requests 
     sometimes would get hung)
 
   * Fixed a bug that broke the REPLACE:  WITH: syntax in attribs.cfg.

15 July 1999. ver 1.3g.0799c 

   * Fixed a bug that made it impossible to use a Header Add Content-Encoding:
     "advanced option".


   * The SREF_MULTI_SEND procedure can now add headers to individuals "parts"
     of a multi-part message.

18 July 1999. ver 1.3g.0799d 

   * Minor changes to pmprintf.rxx

20 July 1999. ver 1.3g.0799e

  * A number of small modifications to daemons so as to better recover from
    rare "fatal" errors.


22 July 1999. ver 1.3g.0799f
 
   *  Fixed bugs that caused sub realms to not be recognized

23 July 1999. ver 1.3g.0799g

    * Fixed a minor bug when interpreting aliases (/  xxx entries were improperly
      read).

23 July 1999. ver 1.3g.0799h

    * Add a "selector specific maximum number of simultaneous request" option.
      See the description of MAXUSERS, in ADV_OPTS.DOC, for the details.

20 August 1999. ver 1.3g.0899a

    * Fixed a bug in ACCESS controls (superceding realms were sometimes not
      recognized)
 
    * Fixed a bug in the MEDIATYP.RXX distribution file (TYPE entry did
      not have an = sign following the TYPE)

    * MEDIATYP.RXX is now examined BEFORE the defaults. See MEDIATYP.RXX for
      the details, and see INITFILT.DOC for a discussion of the 
      MEDIATYPE_FIILE_ALWAYS parameter that is set in SREFMON.CMD.

    * Fixed a bug in POST requests for CGI scripts that used chunked transfer
      encoding (Content-Length was not written to the environment).

    * GTCOOKIE.SRF will now read cookies greater then 900 characters (this
      required a work around a GOSERVE bug). Note that Header Add, and Reqfield,
      will only read/write the first 900 characters of a given header.

20 August 1999. ver 1.3g.0899b

   * MEDIATYP.RXX entries can now be host specific.

   * Fixed some small typos in the distribution version of CFGLIST.CFG.

20 September 1999. ver 1.3g.0999a

   * Fixed a bug in SREF_GT_COOKIE (that was introduced in 1.3g.0899a)


11 October 1999. ver 1.3g.1099a

   * The addon directory (ADDON_DIR) can now be a host specific parameter.      
     See INITFILT.DOC for the details.

26 October 1999. ver 1.3g.1099b

  * New version of SRX_FUNC.DLL -- it may be a bit more stable (SRXFUNC.DLL
    is used to create CONTENT_MD5 digests of some responses). Also, SRXFUNC.DLL
    now contains a SRX_MD4 (as well as SRX_MD5) function.



15 November 1999. Ver 1.3h.1199.a

  The biggest change is support for "events", and support for
  delta-encoding.

  *  The SRE-http "monitor" daemon will now monitor administrator
     set event flags (either semaphores of temporary files), as
     specified in the EVENTS.CFG file. When an 
     event flag is set, a number of custom actions can occur.
     See EVENTS.DOC for the details.
    
  *  SRE-http now partially supports the proposed delta-encoding standard.
     A new DELTAS\ subdirectory will be created under your SRE-http temporary
     files directory.
     See DELTA.DOC for the details.

  *  Minor improvements to SRE-http's INSTALL program.

  *  Major improvement in DOGET.CMD -- cleaner look, automatic 
     GZIP, support for delta decoding, support for Rsync requests and
     Rsync decoding, options to control output, and more. See DOGET.CMD
     for the details.
 
  * Minor change to pre-reply syntax; including the ability to either suppress
    or enable the pre-reply procedure on a selector specific basis (see
    PREREPLY.DOC for the details).

22 November 1999. Ver 1.3h.1199.b

  * GDIFF delta encoding is now supported -- see DELTA.DOC for the details.

  * Minor change to common-log files -- the host-nickname is now added.
    See the ADD_HOSTNICKNAME parameter in POSTFCHK.RXX for the details.

12 December 1999. Ver 1.3h.1299.a

  * Minor corrections to errors in delta-encoding

  * Minor improvements to DOGET.CMD

  * Minor documentation changes (SREFPRC.DOC)
  
  * Fixed a bug in SRERSYNC.CMD (sample addon)

20 December 1999. Ver 1.3h.1299.b

  * Fixed a bug in "SREF_GOS" (chunked response due to TE: identity;q=0)

23 December 1999. Ver 1.3h.1299.c
  
   * rxGZlib is now used for GZIP encoding (instead of GZIP.EXE)

28 December 1999. Ver 1.3h.1299.d

  * Slight modifications to etag generation, to avoid problems that may arise
    on very fast servers (generating the same etag for different variants).

1 January 2000. Ver 1.3h.0100.a

  * Added support for "on-the-fly" GZIP content encoding (also slight modifications
    to on-the-fly GZIP transfer encoding). See CE_GZIP and SUPPRESS_TE_GZIP, in
    INITFILT.DOC, for the details.

5 January 2000. Ver 1.3h.0100.b

  * Minor bug fixes to several procedures.

  * GZIP content encoding will now work with delta encoding.


10 January 2000. Ver 1.3h.0100.b
  
  * Modified calling sequence for addons (removed some infrequently used
    overhead).

10 February 2000. Ver 1.3h.0200.a

  * A few minor bug fixes.

5 March 2000. Ver 1.3h.0300.a
 
 * RECORD_OPTION was not host specific -- now fixed.

 * USER_LOGON_PROC can now be enabled (or disabled) on a host
   specific basis (using the new USER_LOGON_ENABLE parameter that
   is specified in INITFILT.80). You can also use USER_LOGON_ENABLE
   to specify a host-specific user logon procedure.

 * SREF_USER_LOGON, a special value of USER_LOGON_PROC (or USER_LOGON_ENABLE),
   can be used to indicate a "macrospace procedure" (that will be called
   directly, rather then via an INTERPRET).


5 March 2000. Ver 1.3h.0300.b

  * Fixed some minor problems with the cache-control response header.

  * NO_VIRTUAL access permission was fixed.

29 March 2000. Ver 1.3h.0300.c

  * Advanced options of 'HEADER DROP xxx' should now work (for most headers).
    See ADV_OPTS.DOC (and the description of SREF_GOS in SREFPRC.DOC) for 
    the details.

  * SRE-http will now remove all of the SRE-http macrospace procedures
    at startup (and then reload them).  
 
  * Minor improvements to SREF_MULTI_SEND -- overall response headers, 
    and part response headers, can now be specified. See MULTSEND.DOC
    for the details. In addition, MULTSEND.CMD, an addon demo, is included
    (along with SC*.GIF, which will be written to the /IMGS directory).

24 April 2000. Ver 1.3h.0300.d

   * Minor bug fix in SREF_GOS0 (closes files before issuing a 'FILE command)

   * Modifications to Content-MD5 generation.  MD5.EXE is no longer needed;
     a new version of SRXFUNC.DLL allows for quick, and stable, sequential
     construction of an MD5.

15 May 2000. Ver 1.3h.0500.a

   * Minor changes to caching.

   * A new parameter has been added to INIT_STA.80 -- DYNSSI_MAXAGE. This
     controls the "max-age" cache control when dynamic ssi's have been
     added to an HTML resource.  Basically, you can use DYNSSI_MAXAGE
     to allow a short life span on private caches, but not on shared
     caches.  See INITFILT.DOC for the details.

 
25 June 2000. Ver 1.3h.0600.a

  * Fixed a problem with Host: request headers -- the inclusion of a port
    number. SRE-http will now remove the port number from a Host: request
    header.

03 March 2001. Ver 1.3h.0301.a

  * Fixed a few installation bugs
  * Fixed a virtual directory bug
  * Calls to addons were not giving a correct value for the TEMPFILE_DIR 
    variable.
  * Fixed bug in DIR_EXCLUSION option (inappropriate case sensitivity)    
  * Partial bug fix for transient error, default-realm file becomes unreadable
    This is not a full bug fix (it may be due to a problem in warp 4.5)
  * Added PNG as a default "mimetype"

Note: As of March 2001, development of SREhttp is limited to bug fixes; 
      SRE2000 and SREhttp/2 will contain new features.


05 May 2001. Ver 1.3h.0501.a

  * Numerous bug fixes.
  * New option in !DIR -- SORT. See DIR.DOC for details.

06 May 2001. Ver 1.3h.0501.b
  * Fix bugs in !DIR 

04 June 2001. Ver 1.3h.0601.a
  * Fixed a bug that caused SREhttp to not run if ATTRIBS.CFG was empty.

02 January 2002: Ver 1.3h.0102.a
  * Fixed a bug with UNALLOWEDIPS -- they were being asked to provide a
    username and password. Now the connection is immediately killed.

