home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
gohttp.zip
/
history.txt
< prev
next >
Wrap
Text File
|
1995-10-26
|
13KB
|
226 lines
GoHTTP REXX Filter for GoServe v2.00
---------------------------------------------------------------------------
Initial prerelease version 2.00.4
version 2.00.5:
* Incorporated direct imagemap support - bypass imagemap.conf list of
active maps by referencing the relative URL path to the map file after the
"/cgi-bin/imagemap"
* Fixed several minor forms bugs.
* Removed an innocuous warning message in PMPRINTF output.
version 2.00.6:
* Fixed bug in direct imagemaps - now processes aliases in 2nd URL part.
version 2.00.7
* Added authorization capabilities, by directory (Create an htaccess file in
each directory to be protected. protection carries over to subdirectories.)
* Added ability to handle CIRCLE method in imagemap, identical to the
Unix imagemap. Did not alter compatibility with previous CIRC method.
* Fixed temporary filenames, made FAT safe
version 2.00.8
* Added more authorization capability (Fixed a couple of bugs in the
Basic authorization method. Added an IDENT based method - which
requires GoServe v2.02+.)
* Moved some code to follow the passing off of completion commands to
GoServe, thereby improving multitasking efficiency, and therefore
performance.
version 2.00.9
* Fixed bug in 2.00.8 where files were not closed in two functions before
returning files to GoServe.
* Added ability to create tempfiles in the directory specified by the
environment variable TMP, instead of using the root of the document dir.
* Added the DefaultIndex:filename operator to AccessControlFile
processing. This allows one to specify the default file to send in lieu of
"index.htm*"...
* Streamlined the IDENT method to precheck for need to bother to
contact the remote host before rejecting the request.
version 2.00.10
* Modified Imagemap - made capable of directly processing any local URLs
in a map definition file. (That is, instead of completing the URL and
redirecting the client, the filter can be configured to directly process the
specified URL as if it were requested. Default is still to redirect.) This is
a feature of the CERN server.
version 2.01.1
* Redesigned the ParseAlias() function to do generic aliases in the same
way it does script-aliases. The variable "Aliases" is defined in the filter's
configuration variable area to hold the alias:path pairs.
* Made Log output echoing to PMPRINTF optional. (Configuration variable)
* Fixed bug in Basic Authentication - "Demo" realm was used regardless.
* Made aware of URL caching feature built into GoServe v2.11
- If caching is enabled under GoServe, select "Call filter anyway"" option
to ensure that logging information is kept complete. (Only logging
functions of the filter will be executed in the case of a cache hit.)
* Filter will pull "Referer:" and "User-Agent:" fields from client headers. Will
output a "Referred by:" line to PMPRINTF, if that is enabled.
* Added methods to log both Referred by: and User-Agent:
(In separate log files...)
version 2.01.2
* Fixed a bug in the Case Sensitivity code.
version 2.01.3
* Made wildcard support in IDENT autorization more flexible
- supports "...@*.ag.uiuc.edu", "*@*.edu", "*@*.com", etc...
* Reworked Ident code to issue IDENT request only if machine identity is a match.
- This will eliminate unnecessary IDENT calls running up against uncooperative firewalls.
(One should avoid using the User Identity part of the IDENT auth functionality for
sites behind a firewall; just use a wildcard for the userid portion -- "*@host.net".)
version 2.01.4
* Added instructions on how to add to PathAliases variable & avoid overrunning the line
length limitation of REXX.
version 2.01.5
* Added Eric Haines' newer "point-in-polygon" code - a faster algorithm than that in
NCSA's imagemap. (Multiply only, no divisions...) Format of map file entry is the same
as NCSA's, but without the 100 vertice limit. (After all, we are using REXX...)
poly URL x,y x,y x,y x,y x,y x,y x,y ...
* Added nearest to point method in imagemap:
point URL x,y
(Use of any "point" regions will override the default URL.)
* Moved definition of imagemap configuration filename to master configuration
variable block at beginning of file.
* Added the StrongChecks variable -- forces type-checking on all numbers read from
a map file. Slows response slightly, but decreases likelihood of server crash due to
someone's malformed map file. Malformed region entries in file are ignored. Default is 1.
* If default URL is not specifed in a map file, server should now pass back a "No response"
message instead of a null URL.
* Fixed comments in map files to mimick NCSA's imagemap's behaviour. use '#' in column 1
to force the entire line to be a comment. On a line, anything after a '#' is ignored.
* Broke down the EXPOSE statements onto additional lines (Thanks to a pointer from
Norris Couch, with IBM.)
* Added the "URI:" header for redirect replies in order to strictly comply with the HTTP
specification. (Yes, I left the "Location:" header untouched, as that is the standard.)
version 2.01.6
* Fixed SockGetHostByAddr() usage in DoCGI() -- should use ClientName() instead under
GoServe v2.02+
version 2.01.7 {Unreleased - went to v2.01.8 due to differing versions in outside testing}
* Added a moved URI database -- on file-not-found, system looks for a list of relocated
URIs. If found, and the requested file is in the list, then the server sends a redirect
to the new URI from the list entry. The entry can currently be set to create a notification
page; the default is to automatically issue a redirect message.
- format:
old_URL : new_URL {notify}
(The text "notify" forces a notification page instead of automatic redirection. )
* Added ability to set the Redirect filename by directory
- REDIRFILE:filename
* Streamlined/consolidated some code, updated my methodology of defining Alias lists.
* Added support for GoServe v2.30's new VAR command, eliminating many areas requiring
temporary files.
* Improved the speed of the DoCGI() function somewhat.
* Moved READ of Client's POST data to DoCGI() function from main()
- this to comply with Mike C.'s READ's from the goremote(), etc.
- also, POST data is also READ in Search(), if needed...
* Merged Mike C.'s code to call his goremote() function. Placed in ParseAliases()...
* Added ability to do load-balancing between other servers / server processes.
- two new variables to support this functionality:
LoadThreshold: the level of simultaneous connections at which the server will start
passing requests to other servers. Once passed, subsequent relative links
will be processed on the new server. Setting LoadThreshold to 0 disables
load-balancing completely.
BackupServerList: contains the list of servers to redirect excess load to. (Currently,
only the first entry is used. No self-referencing in this list, and the last server
in the balancing path should not do any load balancing operations; it should
accept anything dropped to it by the others. [LoadThreshold = 0])
* Added an Exception handler for Errors - Now will output the line # and source line where
error occurs, as well as the error number. Output to PMPRINTF & Audit file.
* Made DoCGI() function capable of accepting the scriptname without extension
- New ScriptExtensions variable in filter's Config Block - controls order of search for proper
extension.
* Added capability to sense a request for a directory with no trailing '/'.
- the trailing '/' and the default filename are properly added.
* Fixed CGI support -- no longer passes QUERY_STRING as command-line parameter
if contains '&', as per spec.
* Added code to CheckAuth() to allow it to support filenames relative to Document Root,
instead of fully-qualified pathnames only.
* Moved special command processing ("!xxxx") from main() to ParseAliases() for consistency
* Applied a patch (provided by someone whose email I lost, so I cannot properly attribute)
to allow 4OS2 to be used as the command processor for CGI scripts.
- 4OS2 couldn't execute path/filenames with "/", as CMD.EXE can.
version 2.01.8
* Fixed authorization check for CGI scripts -- was not properly checking for access controls.
* Fixed REMOTE_USER setup in DoCGI() - use "FROM" request header field instead of "USER"
* Included a renamed copy of Mike Cowlishaw's GoRemote.80 script for remote server control.
* GoRemote.zip contains files & a directory which must be unzipped in the base level of the
document storage directory in order to enable GoRemote processing. (The files are Mike C.'s)
- be sure to secure access by modifying the htaccess file in the GoRemote directory.
(The htaccess file provided is a copy of mine -- you will have to modify it to fit your configuration...)
version 2.01.8A
* Fixed a bug affecting redirects to non- "http:" URLs. (This includes IMAGEMAP redirects...)
version 2.01.9
* Incorporated Mike Cowlishaw's example DoPush() function to support his Server Push example.
* Incorporated Albert Crosby's mods for multiple default index files
* Incorporated Albert's dynamic directory indexing function (as external function - BuildDir.cmd)
- controlled on directory bases from HTACCESS
* Incorporated Albert's mods for chaining to alternate filters.
* Incorporated Albert's HTML footer function as external function.
XXX * Support for all external functions from a separate subdirectory.
* Integrated Albert's "special" function for executing local commands and passing back results.
- This can be a major security hole - treat with caution. To disable, rename the SPECIAL.CMD
to some other name.
* Support for Server-side includes via integration of Mike C's code.
* Fixed bug in SendFile() - DefaultIndex from HTACCESS overrode "/path" request
* Addition of directory-centric control of Dynamic Directory Index functionality via additional
HTACCESS directives:
- BUILDDIR -- (boolean) - enable / disable dynamic directory indexing.
use '0' to disable, any other value to enable.
- DIR.EXCLUDE -- add files to the exclude list
- DIR.INFO -- set the name of the info file to be included as header to directory index
- DIR.DESCRIBE -- set filename for file descriptions
- DIR.FORBID -- (boolean) - set to '0' to enable, any other value disables the feature.
- DIR.BUILDER -- use an alternative dynamic directory indexing function
* Fixes to error-checking in Logging code
* Fixes to file search logic
* Fix to directory verification logic
* DoIncl.Rxx takes three parameters:
- data (the HTML text to process)
- filename (name of the html file being processed... )
- serveradmin (email of the server administrator - from the filter...)
* Footer.Rxx takes the same three parameters, but in this order:
- filename, data, serveradmin
* DoIncl.Rxx supports these functions in addition to Mike Cowlishaw's standards:
- {filename()}
- {lastmodified()} parameter: filename [optional]
- {footer()}
* Fixed bug in Initial setup -- wasn't registering SysFileTree properly - adopted SysLoadFuncs...
* Made PARSEALIASES recursive on ordinary alias matches
- Will now allow aliases into CGI directories.
(E.g. "http:/ImageMap/..." -> "http:/cgi-bin/imagemap/..." )
* Fixed DoCGI() to support POST's with accompanying URL-encoded information
* CGI - argv passed to external script is now processed back to original ASCII. Not passed
if "&" or "=" present, as per behaviour of other servers. (Avoids CMD.EXE conflicts with
usage of "&" in command line...)
* Fixed ReadMap() in Imagemap engine to be sensitive to "#" in URLs, as opposed
to their use as comment delimiter.
* Applied Simon Hughes patch in the IMagemap engine to fix a bug in the POLY code.
* Set default (shipping) LoadThreshold value to 0
* In HTACCESS files, you can now lead with a ";" to hide GoHTTP specific directives
from your other NCSA HTTPD work-alike server processes which want to use the
same HTACCESS files. The other programs see these as comments...
* Fixed Imagemap engine -- was leaving map file open, which confounded
simultaneous hits on the same map.
* Added directive to HTACCESS to control HTML post-processing at the directory level.
- ENABLEPOSTPROCESS -- 0,1,2 (See on-line docs or filter code for description)
version 2.01.9-N
* Fixed problem with GoServe not sending LastModified: HTTP headers.
* Fixed problem in SEARCH() routine, sometimes unnecessarily runs secondary filter .
version 2.01.9O
* Added hack to forgive WebExplorer v1.03's annoying habit of doubly appending imagemap
parameters on the URL...
version 2.01.9P
* Fixed imagemap mapConf variable reinitialization within the imagemap function.