2002-08-18  Brent Welch <welch@panasas.com>
        * (In the tclhttpd-3-4-rel branch)
        * Applied patches for virtual hosting fixes from Don Porter
          that allow virtual hosts to share an interpreter, which is
          useful if they are just name aliases for each other.
        * Applied patches from Dave Weldon that fix references to
          scriptics.com in the online docs.
        * Fixes to DIST and Makefile.boot to get the bundled distribution
          to start working.

2002-08-03  Brent Welch <welch@panasas.com>
        * Added support for If-Modified-Since header and the
          304 Not Modified return code (contributed by Brian Meagher)
        * Applied the VirtualHost patch from Don Porter.
        * Folded in all the changes by Melissa
        * Changed the version number to 3.4 and updated various README's etc.

2002-06-25  Melissa Chawla <mchawla@panasas.com>

	* lib/upload.tcl: Fixed bug that caused the socket never to be
	closed if you try to upload a dirname ending with / (Netscape
	allows this).
	
2002-03-29  Melissa Chawla <mchawla@panasas.com>

	* lib/httpd.tcl: Added a function to remove previously set cookies
	that match a given pattern: Httpd_RemoveCookies.
	
2002-02-12  Melissa Chawla <mchawla@panasas.com>

	* lib/upload.tcl: Fixed "extra trailing newline" bug for large
	files where blocking causes the UploadReadFile to be called more
	than once.

2002-02-02  Acacio Cruz <acacio.cruz@eur.autodesk.com>
	* added config/ module
	* regenerated configure script
	* created contrib directory
	* added cookie example to contrib/cookies

2002-01-15  Melissa Chawla <mchawla@panasas.com>

	* lib/doc.tcl: Doc_Root and Doc_AddRoot now take optional callback
	and readpost values.

2001-12-23  Melissa Chawla <mchawla@panasas.com>

	* lib/upload.tcl: Fixed bug that caused all uploaded files to have
	an extra trailing newline.

2001-12-21  Melissa Chawla <mchawla@panasas.com>

	* lib/pkgIndex.tcl: Added the upload package to the index file.

2001-12-18  Brent Welch <welch@panasas.com>
	* bin/counter.tcl: Fixed initialization of the "errors" counter.

2001-12-04  Melissa Chawla <mchawla@panasas.com>

	* lib/httpd.tcl: Added the individual Httpd_ServerShutdown and
	Httpd_SecureServerShutdown procedures so sockets can be closed
	separately.

2001-11-30  Brent Welch <welch@panasas.com>
	* bin/url.tcl: Minor cleanup of error message in Url_PrefixInstall.
	* lib/upload.tcl: Fixed things so files are always uploaded in binary
	* custom/hello.tcl: Fixed buglet in /hello/there

2001-11-01  Melissa Chawla <mchawla@panasas.com>

	* lib/mime.types: Added the .core extension to the list of
	octet-stream types.

2001-10-09  Melissa Chawla <mchawla@panasas.com>

	* lib/doc.tcl: The Doc_text function gathers the content type from
	the data array after substituting the document but before calling
	the Httpd_ReturnData proc--this enhancement only applies to dynamic
	docs.

2001-09-24  Melissa Chawla <mchawla@panasas.com>

	* lib/thread.tcl: The master thread now has a function
	Thread_ReapAll to remove all existing threads.  Busy threads are
	marked for deletion and removed when they call Thread_Free.

2001-09-18  Melissa Chawla <mchawla@panasas.com>

	* lib/thread.tcl: Slave threads now unset the data array after
	passing the URL result to the main thread.

2001-09-17  Melissa Chawla <mchawla@panasas.com>

	* lib/doc.tcl: Check whether directory listings are hidden before
	showing them.  If hidden, then show the not-found page.
	* lib/doc.tcl: Added substitution hook to allow post-processing after
	each page is substituted.
	* lib/doc.tcl: DocGetTemplates now returns a unique list of .tml files.
	* lib/dirlist.tcl: Added an API to hide directory listings.
	
2001-08-31  Melissa Chawla <mchawla@panasas.com>

	* lib/thread.tcl: Added Thread_Dispatch_General and
 	Thread_Invoke_General procedures.  Now you can eval scripts that
 	are not related to a socket in the threads managed by this module.
  	Items on the thread queue that are 1-element are assumed to be
 	scripts with no socket.
	
2001-08-23  Melissa Chawla <mchawla@panasas.com>
	* lib/doc.tcl: Added Doc_TemplateScope procedure.  Now you can
 	decide whether templates are subst'ed at the global or local (to
 	DocSubst proc) level.
	
2001-08-21  Melissa Chawla <mchawla@panasas.com>
	* lib/thread.tcl: Added Thread_IsMaster and Thread_MasterEval
	procedures.

2001-07-11  Brent Welch <welch@panasas.com>
	* bin/httpdthread.tcl: Catch around package require html
	because the latest version of that module conflicts with prodebug.
	* lib/httpd.tcl: Fixed (ancient?) bug where static files would
	not end up in the access log.
	* lib/stdlog.tcl: Fixed this procedure so status and file size
	are correctly logged.

2001-07-09  Brent Welch <welch@panasas.com>
	* htdocs/access/index.tml: Fixed typo in section headers.
	* lib/doc.tcl: Fixed Doc_Cookie to look in the connection
	state (mime array) instead of relying on the environment variable.
	* lib/pkgIndex.tcl: Fixed to handle spaces in directory names.
	* lib/thread.tcl: Fixed Thread_IsFree

2001-03-19  Brent Welch <welch@panasas.com>
	* Added custom/ddehack.tcl example that I've been using to
	integrate exmh running on Unix and Netscape running on Windows.

2001-03-13  Brent Welch <welch@panasas.com>
	* Tagged and released tclhttpd-3-3

2001-03-12  Brent Welch <welch@panasas.com>
	(Adopted from work by Piet Vloet - thanks!)
	* lib/auth.tcl: Changes to handle multiple
	group and user specifications in .htaccess files.
	Also changed Auth_AccessFile to Auth_InitCrypt
	* htdocs/access/index.html: Updated docs 
	* htdocs/access/multiple: New tests
	* htaccess: sample group and password files.

2001-03-12  Brent Welch <welch@panasas.com>

	* ChangeLog:
	* bin/httpdthread.tcl: Updated to Auth_InitCrypt from Auth_AccessFile.
	* htdocs/x/hacks.tml: Switched from debug/parray to debug/pvalue,
	which is more general.  It takes a pattern of variables to print.
	* lib/status.tcl: Added StatusHeader procedure
	* lib/debug.tcl: Added check for Config(lib) directory
	to set of places used by /debug/source

2001-02-16  Brent Welch <welch@panasas.com>

	* ChangeLog:
	* INSTALL:
	* README:
	* WHATSNEW:
	* configure.in:
	* DIST_build/DIST:
	* DIST_build/Makefile.boot:
	* DIST_build/README:
	* lib/version.tcl:
	* bin/httpd.tcl:
	Changed version number to 3.3.  Gack - the .tcl files at
	least should be ".in" files.
	* bin/httpd.tcl:
	Fixed package require of TclX, which was never correct!

2001-01-31  Brent Welch <welch@ajubasolutions.com>

	* lib/upload.tcl: Added a file upload domain handler.
	Check out the definition of Upload_Url, which registers
	the domain, and UploadTest, which is the sample callback.
	* lib/cgi.tcl: Added binary translation to the pipe used
	to send POST data to a CGI script.

2001-01-26  Brent Welch <welch@ajubasolutions.com>

	* bin/cgi.tcl: Fixed handling of large POST data by replacing
	an fcopy with filevent.  The works around a fcopy bug
	diagnosed by Don Porter.

2000-11-29  Brent Welch <welch@ajubasolutions.com>

	* bin/httpd.tcl: Fixed setting of auto_path in the standard
	install configuration so that the limit and crypt packages can
	be found (Peter Farmer)
	* lib/doc.tcl: Added Doc_RegisterRoot so the cgi domain can set up
	the directory mapping used by DocAccessHook. (Peter Farmer)
	* lib/cgi.tcl: Fixed "extra timer" bug found by Petrus that could cause
	erroneous aborts of CGI connections. (Petrus Vloet)
	Added use of Doc_RegisterRoot so DocAccessHook works right for
	/cgi-bin directories outside the htdocs hierarchy.  (Peter Farmer)
	Eliminated extra / build-up in /cgi/bin pathnames (Peter Farmer)

2000-11-13  Brent Welch <welch@ajubasolutions.com>

	* lib/cgi.tcl: Added checking in CgiCancel in case
	the connection has already gone away.  (Probably redundant)
	* lib/httpd.tcl: Added checking to HttpdCloseFinal in case
	the connection has already gone away.  Seemed like a bug.

2000-10-30  Brent Welch <welch@ajubasolutions.com>

	* lib/pkgIndex.tcl:  Fixed quoting issue when you have
	installed TclHttpd under "Program Files".

2000-10-26  Brent Welch <welch@ajubasolutions.com>

	* lib/cgi.tcl:  fixed POST data handling in light of the
	-readpost change to Url and Httpd.
	* lib/counter.tcl: Explicitly initialize cgihits counter
	* lib/version.tcl: Changed version to 3.2.1

2000-10-20  Brent Welch <welch@ajubasolutions.com>
    
	* DIST_build/Makefile.boot: Fixed installation of Tcllib
	* bin/httpdthread.tcl:
	* bin/httpd.tcl: Fixed counter initialization for threaded case.
	* lib/counter.tcl: Fixed broken counter initialization
	* lib/httpd.tcl: Removed Counter_Reset call as it gets in
	the way of counter initialization.
	* lib/status.tcl: Removed 0-valued counters from table display.
	* Tagged and released 3.2

2000-10-19  Brent Welch <welch@ajubasolutions.com>
    
	* bin/httpd.tcl: Fixed error handling around SSL startup.
	* lib/httpd.tcl: Fixed Httpd_Suspend/Httpd_Resume usage that
	was added to Httpd_ReadPostDataAsync (The Httpd_Resume was omitted)

2000-10-12  Brent Welch <welch@ajubasolutions.com>
    
	* lib/httpd.tcl: Added Httpd_ReadPostDataAsync that is
	a thin layer over Httpd_GetPostDataAsync
	* lib/url.tcl: Added the -readpost option to Url_PrefixInstall.
	This option is actually *on* by default and it causes TclHttpd
	to read all the post data using Httpd_GetPostDataAsync before
	dispatching to the Url domain implementation.

2000-10-09  Brent Welch <welch@ajubasolutions.com>
    
	* lib/direct.tcl: Fixed parameter passing when there are multiple
	values from a form element (e.g., checkbox).  The switch to ncgi::
	had resulted in dropping the extra values - this is fixed.
	Nuked Count call with incorrect prefix.  Domain hits
	are already being counted by the Url module.
	* lib/httpd.tcl: Changed order so Log comes before HttpdDoCallback.

2000-10-04  Brent Welch <welch@ajubasolutions.com>
    
	* lib/direct.tcl: Exported Direct_MarshallArguments that computes
	the Tcl command to invoke, so other domains can implement variations
	on application-direct URLs.
	* lib/url.tcl: Added Url_QuerySetup that is like the old
	Url_DecodeQuery, but passes the information to the ncgi:: module.
	* lib/httpd.tcl: Added optional sock parameter to Httpd_CurrentSocket
	so you can set the current socket.

2000-10-02  Brent Welch <welch@ajubasolutions.com>
    
	* lib/counter.tcl: Changed stats:: to counter::
	* lib/status.tcl: Changed stats:: to counter::

2000-10-02  Brent Welch <welch@ajubasolutions.com>
    
	* lib/counter.tcl: Fixed secsPerMinute initialization.
	* lib/status.tcl: Added use of stats::htmlHistDisplayRow
	Added /status/domain for per-domain counting
	* lib/url.tcl: Added per-domain hit counting.
	* imagemap.tcl, ismap.tcl, snmp.tcl, discover.tcl - cleaned up to have a
	packge not span files because that breaks our custom-generated pkgIndex.tcl

2000-09-29  Brent Welch <welch@ajubasolutions.com>
    
	* lib/debug.tcl: Fixed /debug/pvalue to properly sort things
	when given a name pattern.
	* lib/doc.tcl: Added DocGetTemplates to check for .tml files properly
	when using user's public_html directory and Doc_AddRoot.  Based on
	an idea contributed by Glenn Jackmann
	* lib/httpd.tcl: Added Httpd_RequestComplete so the Url module can
	determine if a URL implementation actually issued a response.
	* lib/url.tcl: Url_Dispatch returns a default 403 result if the
	access hook says "denied" but doesn't send a response.
	* htdocs_2: added some test pages to ensure that the DocGetTemplates
	code is working.
	* Makefile.in: Added mkinstalldirs for the man directory.

2000-09-29  Lee Bernhard  <lfb@ajubasolutions.com>

	* lib/direct.tcl: Split DirectDomain into four functions that
	parse the query data, assemble the Tcl command line to execute,
	evaluate the command, and return a result.  

2000-09-27  Brent Welch <welch@ajubasolutions.com>

	* lib/direct.tcl: Converted this to use the ncgi:: module.
	This means you can use ncgi::value inside application-direct URLs.
	* lib/httpd.tcl: Added accept_https counter
	* lib/status.tcl: Added accept_https counter
	* lib/counter.tcl:  Added unused code for -histlog.
	Fixed use of Log(log) in Counter_CheckPoint.
	* lib/debug.tcl: Added wired-in defaults for debug host, port
	in case things are so broken you cannot pass parameters.
	* lib/doc.tcl: Fixed similar "redirect looses query" bug
	inside the redirect done by DocFallback

2000-09-26  Brent Welch <welch@ajubasolutions.com>

	* lib/httpd.tcl: Fixed long-standing buglet in 
	Httpd_RedirectDir, which would loose query data from the
	URL when redirecting from /Manager?a=b to /Manager/?a=b

2000-09-25  Brent Welch <welch@ajubasolutions.com>

	* lib/httpd.tcl: Added data(code) back into support logging.
	* lib/logstd.tcl: Added LogStandardPrint.

2000-09-25  Brent Welch <welch@ajubasolutions.com>

	* bin/httpd.tcl: Changed Log_SetFile call so we append the port
	to the log file name given in the .rc file.
	* bin/tclhttpd.rc: Removed use of config port in log file name.
	* lib/log.tcl: Split out routines that relate to standard logging format.
	This is so an application can provide its own Log interface, yet still use
	our code to format standard web logs.
	* lib/logstd.tcl: Split out routines that relate to standard logging format.
	* lib/status.tcl: Fixed histogram init calls.


2000-09-22  Brent Welch <welch@ajubasolutions.com>

	* lib/httpd.tcl: Protect against unknown error codes passed
	into Httpd_ReturnData and Httpd_Error.

2000-09-21  Brent Welch <welch@ajubasolutions.com>

	* lib/counter.tcl: Added secsPerMinute parameter to Counter_Init
	* lib/httpd.tcl:
	* bin/httpd.tcl: moved Counter_Init call to here from Httpd_Init.
	Added -secs command line argument to set secsPerMinute.
	* bin/tclhttpd.rc: Added secsPerMinute .rc file setting.
	* lib/status.tcl:  Minor cleanup of histogram calls.

2000-09-20  Brent Welch <welch@ajubasolutions.com>

	* lib/counter.tcl: Fixed Counter_CheckPoint
	* lib/MakeIndex: Fixed this to create the specially-constructed
	pkgIndex.tcl file.

2000-09-19  Brent Welch <welch@ajubasolutions.com>

	* lib/auth.tcl:
	Made consistent assignments to:
	data(session), data(remote_user), and data(auth_type)
	so that any Url Domain can count on these.
	* lib/counter.tcl:
	Re-wrote this to be a thin layer over the Standard Tcl Library
	stats module.
	* lib/doc.tcl:
	Added procedure headers throughout.  Changed Doc(tmlSuffix) var to
	Doc(tmlExt), and added Doc(htmlExt) (either ".html" or ".htm").
	Streamlined the DocFallback somewhat, and fixed a lingering issue
	when you have a cachable index.tml page.  Previously it wouldn't
	be cached unless you asked for the index.html page explicitly,
	which didn't work right for DocDirectory.
	* lib/httpd.tcl:
	Added procedure headers throughout.  Added
	Httpd_CompletionCallback so Url_Dispatch can register a
	domain-sepcific callback when a request completes.
	Added calls to monitor the service time of requests.
	Documented the elements of the data() array.
	    Removed data(ssl), data(code).
	Added better catching around the routines that generate
	replies in case the socket goes bad.
	Added Httpd_Resume and Httpd_CurrentSocket to help domains that
	use Httpd_Suspend find their context again.
	* lib/url.tcl:
	Generalized Url_PrefixInstall to take option, value pairs.  This
	is done in a backwards compatible way.  The new signature is:
		Url_PrefixInstall prefix domainHandler args
	If args is a single word, it is treated as the "thread" option.
	Otherwise it is an option, value list of:
		-thread		boolean
		-callback	command
	Where the callback is made when the URL request has completed.
	If thread-dispatch is requested, the server uses a worker thread
	if Tcl supports it and the server is configured for it.
	* lib/srvui.tcl:
	* lib/status.tcl:
	Switched to use new counters.

2000-09-13  Brent Welch <welch@ajubasolutions.com>

	* lib/httpd.tcl:
	Generalized Httpd_Port to return the listening port without having
	to give it a socket.  Used for configuration managers.
	Added Httpd_SecurePort to return the https listening port, if any.

2000-09-11  Brent Welch <welch@ajubasolutions.com>

	* DIST_build/DIST:
	Changed to version 3.2 and tag tclhttpd-3-2-0
	Fixed unbundled distributions to not contain CVS directories.
	* README:
	* DIST_build/DIST:
	* DIST_build/README:
	* bin/httpd.tcl:
	Updated for 3.2
	* bin/README_custom:
	Explained the new way to cutomize the server.

2000-09-05  Brent Welch <welch@ajubasolutions.com>

	* Makefile.in:
	* configure.in:
	* lib/version.tcl:
	Changed version number to 3.2
	* bin/httpdthread.tcl:
	Changed the -library (i.e., Config library) parameter to
	be a directory that contains custom code that is sourced
	as part of (per thread) startup.  This makes it easier
	to drop code into TclHttpd without modifying the
	distributed files.
	* bin/httpd.tcl:
	This calls tls::init instead of doing strange things to
	get the code in Httpd_SecureSever to set parameters.
	* bin/tclhttpd.rc.in:
	Added a config paramter for SSL_USE_TLS1
	* lib/httpd.tcl:
	Moved tls parameter setting out of this file and into
	the main startup script.
	* lib/utils.tcl:
	Fixed iscommand to work better with commands in namespaces,
	and to auto_load procedures if necessary.
	* lib/direct.tcl:
	Used Doc_NotFound instead of returning 403 errors.
	* custom/*
	Added sample custom code
	* lib/doc.tcl:
	Changed html::resolveUrl to uri::resolve as the former got deleted from TclLib,
	this means that Doc_RedirectSelf is probably broken in 3.1.0 if you use
	TclLib 0.6.1

2000-09-01  Brent Welch <welch@ajubasolutions.com>

	* lib/doc.tcl:
	Fixed handling of Url encoding in file names.  In particular,
	the dirlist.tcl module does urlencoding so - gets encoded,
	and the DocDomain procedure wasn't handling it.
	* lib/version.tcl:
	Nudged up the date stamp to distinquish from the TclPro
	release as I'm too lazy to change the version number.
	I've nudged the tclhttpd-3-1-0 tag as well.

	Released TclHttpd 3.1.0

2000-08-30  Brent Welch <welch@ajubasolutions.com>

	Released TclPro 1.4.1

2000-08-28  Brent Welch <welch@scriptics.com>
	* lib/url.tcl:
	Added Url_PrefixExists to see if a prefix has been added with
	Url_PrefixInstall (e.g., Doc_AddRoot).
	* htdocs/index.tml:
	Use Url_PrefixExists to check for TclPro documentation.
	Use "file exists" to check that /java pages are installed.
	* bin/httpdthread.tcl:
	Added Doc_AddRoot to splice in TclPro docs, if they exist.
	* lib/version.tcl:
	Nudged up the 3.1.0 date stamp

2000-08-26  Brent Welch <welch@scriptics.com>
	* doc/httpd.1:
	Added this man page for TclPro 1.4
	* Makefile.in:
	Added man page, README, tclhttpd.etc.init to set of files
	that are installed.
	* htdocs/license.terms:
	Changed Scriptics to Ajuba
	* htdocs/index.html:
	Conditionally link to TclPro files
	* lib/status.tcl: Fixed uses of Thread_List so there are
	no errors when threading is not used.

2000-08-25  Brent Welch <welch@scriptics.com>

	* lib/imagemap.tcl: Fixed typo inexpression in imagemap.tcl
	* lib/maptcl.tcl: Fixed MapRead to handle spaces in map filenames.
	* lib/maptk.tcl: Fixed MapRead to handle spaces in map filenames.
	* lib/auth.tcl: fixed funny call to Log in the error case.
	* bin/httpdthread.tcl: Catch around puts warning so daemons
	do not need stdout.
	* htdocs/templates/faqfaq.tml: Added missing \ in .tml Tcl code
	* Nudged up the tclhttpd-3-1-0 CVS tag.

2000-08-23  Brent Welch <welch@scriptics.com>

	* Makefile.in: Fixed install permission bits on files.
	* bin/httpd.tcl: Fixed setuid emulation under Tclx to setgid
	before setuid.
	* lib/url.tcl: Added support for raising an error with errorCode
	set to HTTPD_SUSPEND in order to suspend a request - this calls
	the Httpd_Suspend funciton.
	* certs/README.ssl:  Added documentation about creating self-signed
	certificates.
	* lib/version.tcl: Tweaked date stamp in version
	* bin/httpdthread.tcl: Added package require httpd::version to
	fix htdocs/templates/index.tml example
	* Applied tclhttpd-3-1-0 CVS tag.

2000-08-02  Brent Welch <welch@scriptics.com>

	* Upped the version number to 3.1
	 Changed the name of every "package" to have a leading "httpd::" to
	distingquish it as belonging to TclHttpd.
	* configure:
	* htdocs/access/index.tml:
	* htdocs/templates/faqfaq.tml: (Contributed by Colin McCormack)
	* htdocs_2/index.tml:
	* lib/passcheck.tcl: (Contributed by Cezar Totth)
	* lib/prodebug.tcl:
	 Added a few stray files that were missing from CVS


2000-07-26  Brent Welch <welch@scriptics.com>

	* lib/cgi.tcl - Fixed use of "2> /dev/stdout", which can
	fail if you start tclhttpd under an xterm (which is a fine
	/dev/stdout), but later exit the xterm.  Previously that
	broke all CGI scripts.  The open error is now trapped, and
	it falls back to the old "|& cat" way of doing things.
	[BUG 5870]

2000-07-24  Brent Welch <welch@scriptics.com>

	* lib/httpd.tcl - Fixed case where a normal post happens to
	start with a leading newline for valid reasons as opposed to
	being the extra newline from SSL on Netscape.

2000-07-18  Brent Welch <welch@scriptics.com>

	* lib/httpd.tcl - Fixed cleanup call to Httpd_GetPostDataAsync
	* lib/doc.tcl - fixed ~ file name attack on Doc_AddRoot domains
	* lib/imagemap.tcl - fixed bug caused by unbraced expression
	* lib/safecgio.tcl - fixed unterminated quote bug.
	* lib/version.tcl - bumped version to 3.0.4
	* bin/httpd.tcl - bumped version to 3.0.4
	* bin/httpdthread.tcl - Added /addroot url to test Doc_AddRoot

2000-06-09  Brent Welch <welch@scriptics.com>

	* Released 3.0.3 - added top-level Makefile for building
	the bundled distribution.

2000-05-31  Brent Welch <welch@scriptics.com>

	* lib/doc.tcl: Fixed file join bugs with extra leading '/' in
	the URL suffix. This bug caused a SECURITY_BUG if you used
	Doc_AddRoot to add file systems into your URL tree.
	(If you have just a single root defined by Doc_Root there is
	no security problem in 3.0.2)

2000-05-30  Dan Kuchler <kuchler@scriptics.com>

        * lib/mtype.tcl: Changed the file extension array to use case
        insensitive file extension to mime type mapping.  This makes
        .GIF and .gif the same and .HTM and .htm identical.

2000-05-17  Brent Welch <welch@scriptics.com>

	* Released 3.0.2

	* lib/url.tcl: SECURITY FIX.  3.0.0 and 3.0.1 can leak files simply
	by specifying an extra leading /, eg., http://localhost:8015//etc/passwd
	will happily fetch the password file.  This bug is not present in
	the 2.* or earlier versions of TclHttpd.  Thanks to Petrus Vloet for
	finding this one.
	* lib/version.tcl, various Makefiles and Configures. Changed to 3.0.2
	* Applied rel-3-0-2 CVS tag.

2000-05-13  Brent Welch <welch@scriptics.com>

	* lib/include.tcl: Changed Html_ExtractParam to html::extractParam so the
	server-side examples work.
	* htdocs/*: Various clean up of the sample URL tree for the 3.0.1 release.

2000-05-12  Brent Welch <welch@scriptics.com>

	* Various additions to installation documentation
	* Created 3.0.1 distribution

2000-05-10  Brent Welch <welch@scriptics.com>

	* bin/httpd.tcl: Moved development script library to
	the front of the auto_path.
	* lib/httpd.tcl: Made the SSL handhake non-blocking. BUG 5252.
	* lib/cgi.tcl: Changed exec of CGI script to use
		>2 /dev/stdout (if that device exists) instead of
		|& cat (to eliminate a process)
	* lib/doc.tcl: Fixed ~username accesses.
	* lib/mail.tcl: This now looks for /usr/lib/sendmail or
	for /sbin/sendmail for those FreeBSD folks out there.
	* lib/status.tcl: Beefed up /status/size

2000-05-08  Melissa Chawla  <hershey@scriptics.com>

	* lib/httpd.tcl: removed extra requirement that the caDir
	Httpd(SSL_CADIR) be an existing file.

2000-05-08 Brent Welch <welch@scriptics.com>

	* lib/httpd.tcl: Fixed Httpd_SelfUrl to correctly insert the port
	number if the client passed the Host: HTTP header. 
	Previously that case wasn't setting custom port numbers correctly.
	* lib/version.tcl: Upped to 3.0.1
	* htdocs/register.tml: Added version string to form data
	* bin/test/bigpost.tcl: Fixed argument handling
	* lib/cgi.tcl: set env(SERVER_HTTPS_PORT) if the server has
	a secure port open.

2000-05-05 Brent Welch <welch@scriptics.com>

	* lib/auth.tcl, lib/httpd.tcl:  The Basic authentication module
	now sets the data(remote_user) and data(auth_type) variables,
	which are later copied into the REMOTE_USER and AUTH_TYPE
	environment variables.
	* lib/log.tcl: Log_FlushMinutes will call Log_Flush if it sees
	that the chain of after events has already been started.  This
	will ensure that the next flush occurs when expected.
	* bin/httpdthread.tcl, lib/thread.tcl:  fixed initialization
	of threaded interpreters.
	* htdocs/*:  Added various test pages.

2000-05-03 Brent Welch <welch@scriptics.com>
    
	* bin/httpd.tcl:  Fixed startup code to find bundled TclLib
	* lib/doc.tcl: Added check against bogus Content-Type that can
	be generated by IE 5 when a POST keep-alive is followed by a GET.
	The GET request contains the Content-Type from the POST (!), which
	if it is multipart/form-data, is completely bogus.

2000-05-01 Brent Welch <welch@scriptics.com>
    
	* Added Httpd_DumpHeaders to get the HTTP protocol state out
	of a connection

2000-04-28 Brent Welch <welch@scriptics.com>
    
	* Fixed Doc_RedirectSelf to use html::resolveUrl to correctly
	convert relative URLs into an absolute one.

2000-04-26  Brent Welch <welch@scriptics.com>

	* Released 3.0.0 - applied rel-3-0-0 tag

2000-04-26  Brent Welch <welch@scriptics.com>

	* DIST_build: added directory for distribution scripts
	* htdocs/.tml: Tracking name changes in ncgi
	* lib/doc.tcl: Added call to ncgi::urlStub so pages can call this procedure
	instead of using $page(url)

2000-04-25  Brent Welch <welch@scriptics.com>

	* Makefile.in: fixes for make dist and make install
	* htdocs/*.tml: various clean up for new html:: proc names
	* lib/cgi.tcl: Nuked reference to Httpd(fcopy)

2000-04-24  Brent Welch <welch@scriptics.com>

	* bin/README_custom: Added read-me about customizing TclHttpd
	* configure.in: Fixed laundering of crypt and limit version numbers
	on windows, where of course the macro to use is NODOT_VERSION
	as opposed to WIN_VERSION...
	* bin/httpd.tcl: Fixed -debug 1 starup under Wish to open the console.
	* lib/httpd.tcl: Fixed bug in closing keep-alive sockets that was
	introduced in the 4/21 putback.  Improved handling of bogus
	data inbetween keep-alive requiests.
	* lib/status.tcl: Fixed doc hit display
	* lib/srvui.tcl: Fixed home page counter

2000-04-21  Brent Welch <welch@scriptics.com>

	* lib/httpd.tcl: The server now drains the socket if the Domain
	handler choose not to read the POST data.  This makes it more
	reliable for the client side to read the server's reply.  Added
	Httpd_GetPostDataAsync and Httpd_CopyPostData so Domain handlers
	have a clean interface to asynchronously deal with POST data.

2000-04-20  Brent Welch <welch@scriptics.com>
	* configure.in, Makefile.in: Fixes so that crypt and limit can have
	a different version number (1.0) than TclHttpd
	PARTS LIST ALERT.  This affects the libcrypt.1.0.so, liblimit.1.0.so
	and the directories lib/crypt1.0 and lib/limit1.0
	* pkgIndex.tcl.in: Removed incorrect hardwired version number.
	* lib/httpd.tcl: Added Httpd_Name and Httpd_Protocol to go with the
	existing Httpd_Port that return the server name, protocol (http or
	https), and the port associated with a particular connection.
	* htdocs/forms: General clean up of the CGI forms here.  Added
	multipart file uploading test.

2000-04-19  Brent Welch <welch@scriptics.com>
	* bin/httpd.tcl: Fixed call to tcl_findLibrary
	* bin/tclhttpd.rc: Change SSL parameters a bit.
	* lib/doc.tcl: restored old page(querytype) variable for compatibility

2000-04-18  Sandeep Tamhankar <sandeep@scriptics.com>
        * Makefile.in: Added calls to @CYGPATH@ so that Cygwin //z/
        references get converted to z:/.

2000-04-18  Brent Welch <welch@scriptics.com>
	* lib/doc.tcl, lib/url.tcl: Fixed POST data to templates

2000-04-18  Brent Welch <welch@scriptics.com>
	* lib/debug.tcl: Added /debug/showproc
	* lib/doc.tcl: Integrated with ncgi:: module for page query data
	* lib/httpd.tcl: Added Proxy_Dispatch hook
	* lib/mime.types: Added WAP types
	* lib/status.tcl: Removed hardwired use of /status
	* lib/thread.tcl: Switched to use new Thread package
	* htdocs: Changed most .html files into .tml templates
	* htdocs/libtml/form.tcl: Removed this and replaced with uses
	of tcllib html:: module.

2000-04-03  Brent Welch  <welch@scriptics.com>

	* lib/httpd.tcl: Fixed accesshook "denied" case where the catch
	inside Url_Dispatch was catching an early return.  This caused
	an extra error reply after the 403 reply that was already generated.
	Fixes bug 4741
	* lib/include.tcl: Added support for the "exec" command in
	server side includes.
	* lib/log.tcl:  Added "file mkdir" to Log_SetFile so it will create
	the log directory if it doesn't exist.  This is wrapped in a catch,
	as are half the lines of code in this procedure, so logging silently
	fails if it cannot open the log file for some reason.

2000-03-27  Brent Welch  <welch@scriptics.com>

	* lib/version.tcl: updated the date in the 3.0.0 version string
	* lib/thread.tcl: Removed Thread_Disable and replaced it with
	Thread_Enabled, a boolean function that is used by other modules
	to see if thread were enabled when the server started.  Also
	fixed a bug with undefined Url(postlength)
	* lib/url.tcl: Changed Url_PrefixInstall to check Thread_Enabled
	before deciding that a URL domain should be handled in a thread.
	This makes it easier to stub out the thread module, if necessary.
	Fixed bug in Url_PrefixRemove in the case that the prefix contained
	regexp special characters.
	* lib/config.tcl Added module to manage the configuration options
	stored in the tclhttpd.rc file.
	* bin/tclhttpd.rc: Major re-wack so this only contains configuration
	parameters in a stylized Tcl script.  This file is sourced very
	early, before command line arguments are processed, in order to
	establish a baseline configuration.
	* bin/main.tcl: Added this new file, which has the bulk of the
	application initialization code in it - all except actually
	opening the server sockets and the main loop and some other details.
	* bin/httpd.tcl - Major re-wack to use both tclhttpd.rc and main.tcl

	Also moved a bunch of files into subdirectories:
	* bin/mini: The variations on the 250-line mini httpd
	* bin/test: Scripts that test the server.  These are not standard
	Tcl test suite files, which will appear someday in the main tests
	directory, hence the different location.
	* bin/util: Random scripts, like crypting passwords and such.

	Htdocs changes
	* htdocs/access/null: New directory to test out AuthNullCallback,
	which implements a funky bootstrapped password registry
	* htdocs/access/bytcl: Changed this to illustrate password checking
	callbacks more clearly

2000-03-22  Brent Welch  <welch@scriptics.com>
	
	* lib/doc.tcl  Created DocAccessHook and moved authentication
	checking out of DocDomain and into DocAccessHook.  Also did
	cleanup so that Doc_Virtual would work if you used Doc_AddRoot
	to splice in other directory trees into the URL tree.  The
	nice side effect of DocAccessHook is that you can create
	a file system structure to parallel application-direct URLs,
	(e.g., /debug and /status) and put .htaccess or .tclaccess
	files in them to control access to the built in URLs.
	* lib/url.tcl  Simplified Url_Dispatch by removing the
	UrlCache array.  Also added Url_PrefixMatch
	* lib/auth.tcl  Define env(REMOTE_USER) and env(AUTH_TYPE) in the
	case that .tclaccess files are used to check Basic Authentication.
	* REMOVED lib/base64.tcl in favor of the Standard Tcl Library
	base64 package. (You can find it in deprecated/base64.tcl)

2000-03-18  Brent Welch  <welch@scriptics.com>

	* lib/url.tcl	Added Url_AccessInstall and changed Url_Dispatch
	to call registered access control hooks before dispatching to
	domain handlers.  Changed URL redirect scheme to not use the
	UrlCache hack, but to use a URL access control hook.
	* lib/redirect.tcl: Added a URL access control hook to implement
	per-URL redirects.
	* lib/httpd.tcl: unbroke Httpd_RedirectSelf
	* lib/thread.tcl: fixed use of undefined procedure
	* lib/admin.tcl: Removed most of the redirect code from here.
	* htdocs/redirect: Added sample redirect file.  This is loaded
	during startup and when you poke the /redirect/reload direct URL.
	* bin/httpd.tcl: added initialization for the redirect module.

2000-03-07  Melissa Chawla  <hershey@scriptics.com>

	* htdocs/access/bydir/user.cgi
	* htdocs/cgi-bin/user.cgi
	* lib/auth.tcl
	* lib/mail.tcl: changed calls to Base64 library to use the
	"base64" namespace (version 2.0 of the package).


(Please see the "changes" file for a slightly higher-level view
of the changes that goes back much farther and is organized by
TclHttpd releases.)
