From 0697a9047d6de3640416df6c76ec00397a571aa1 Mon Sep 17 00:00:00 2001
From: Mukund Sivaraman <muks@banu.com>
Date: Mon, 25 Jan 2010 21:16:39 +0530
Subject: Remove obsolete ChangeLog file

---
 ChangeLog | 2155 -------------------------------------------------------------
 1 file changed, 2155 deletions(-)
 delete mode 100644 ChangeLog

(limited to 'ChangeLog')

diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 379e2ab..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,2155 +0,0 @@
-2004-08-10  Robert James Kaes  <rjkaes@users.sourceforge.net>
-
-	Merged in changes from 1.6.3.
-	
-2004-01-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.7.0 (2004-01-26)
-
-	* configure.ac, doc/tinyproxy.conf, src/conns.c, src/conns.h, src/grammar.y, src/reqs.c, src/reqs.h, src/scanner.l, src/tinyproxy.c, src/tinyproxy.h:
-	Added reverse proxy support from Kim Holviala.
-
-2003-11-19  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (upstream_add): Fixed a spelling mistake with "Nonsence"
-
-2003-10-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/filter.c, ChangeLog, Makefile.am, configure.ac:
-	Merged in changes from the 1.6.2 release. (Fixes for the filtering code
-	and the HTML installation script.)
-
-2003-10-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.6.2 (2003-10-17)
-
-	* Makefile.am:
-	Removed a redundant "mkdir" command, since the $(mkinstalldirs)
-	command handles it correctly.
-
-2003-10-16  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/filter.c (filter_init):
-	Fixed up the comment handling code.  Closes bug 822226
-	[https://sourceforge.net/tracker/index.php?func=detail&aid=822226&group_id=2632&atid=102632]
-
-2003-08-06  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.6.1 (2003-08-06)
-
-	* heap.c (debugging_realloc):
-	Remove the assert on the ptr being NULL since a NULL pointer is
-	allowed by the realloc() spec.
-	
-	* child.c (child_main):
-	Fixed an off-by-one error with the maxrequestsperchild
-	variable.  [Fix proposed by Yannick Koehler]
-
-2003-07-14  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.6.0 (2003-07-14)
-
-	* src/htmlerror.c (indicate_http_error):
-	Added calls to va_end() before leaving the function.
-
-2003-06-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (upstream_add):
-	Rewrote the function to actually handle the various types of
-	upstream configurations correctly.  Hopefully, the code is also a
-	little clearer in it's implementation.
-	
-	* src/scanner.l:
-	Modified the patterns to allow the new upstream directives to work
-	as defined in the tinyproxy.conf documentation.
-
-	* src/heap.c (debugging_free):
-	Rather than assert on a NULL pointer, log the NULL pointer and
-	return.
-
-2003-06-25  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/common.h:
-	Added a test to define INADDR_NONE if it's not present.  For
-	example, SunOS (solaris 2.8) does not include this define.  [Thank
-	to Ben Hartshorne for pointing this out.]
-
-	* doc/report.sh.tmpl:
-	Changed the calls to "ps" and "grep" to use a more portable
-	syntax.
-
-2003-06-20  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/scanner.l, src/tinyproxy.h:
-	Removed the "ViaHeader" directive and replaced it with the
-	"ViaProxyName" directive.  The "Via" HTTP header is _required_ by
-	the HTTP spec, so the code has been changed to always send the
-	header.  However, including the proxy's host name could be
-	considered a security threat, so the "ViaProxyName" directive is
-	used to set the token sent in the "Via" header.  If the directive
-	is not enabled the proxy's host name will be used.
-
-2003-06-06  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (connect_to_upstream):
-	Fixed an off-by-one error in the snprintf() call used to build the
-	URL for the upstream proxy. [Patch suggested by David T. Pierso]
-
-2003-06-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac:
-	Remove the -O2 optimization if debugging is enabled.  Also, remove
-	the -g option if the code does _not_ have debugging enabled.
-
-	* doc/tinyproxy.conf:
-	Included additional examples of how to configure the upstream
-	proxy support for more selective proxying.
-
-	* src/reqs.c, src/tinyproxy.h: (upstream_get):
-	(upstream_add): Added support to allow ip addresses and networks
-	to be used when matching an upstream proxy directive.
-	[Code by Peter da Silva]
-
-2003-05-31  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/heap.h:
-	Changed the safefree() macro to make it safe to use a conditional
-	statement, and also safe to use with a rvalue that has a side
-	effect.  [Bug fix recommended by Peter da Silva]
-
-2003-05-30  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/vector.c, src/vector.h (vector_getentry):
-	Changed the API to return the data pointer and have the length
-	returned in a argument variable pointer.  This should be a more
-	natural way of using the function.
-
-2003-05-29  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/vector.c, src/vector.h (vector_append):
-	Renamed the vector_insert() function to more accurately indicate
-	that entries are appended to the end of the vector.
-
-	* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/reqs.h, src/tinyproxy.h:
-	Improved the upstream proxy support by making the upstream proxy
-	server configurable based on the destination host.  [Code written by
-	Peter da Silva]
-
-2003-05-10  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* Makefile.am:
-	Added support for installing the HTML error files used by tinyproxy.
-
-2003-05-05  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (establish_http_connection):
-	If the port being requested is not a standard HTTP port (80 or
-	443) append the port string to the host header; otherwise, leave
-	the host string with only the host's domain name.
-
-	Replaced all occurrences of constant 80 and 443 with defines
-	HTTP_PORT and HTTP_PORT_SSL.
-
-2003-05-04  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/conns.c, src/conns.h:
-	Fixed a bug that would kill a child process because of an invalid
-	safefree() call.  Basically, destroy_conn() was trying to free
-	memory not allocated by malloc.  [Fix by David T. Pierson]
-
-2003-04-16  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (build_url):
-	Rebuild the URL from the component pieces.  This function
-	is used by the transparent proxy code.  [Anatole Shaw]
-	(process_request): Fixed up the transparent proxy code so that
-	filtering can be done on the whole URL.  [Anatole Shaw]
-
-	(pull_client_data): Added a bug fix for Internet Explorer (IE).
-	IE will leave an extra CR and LF after the data in an HTTP POST.
-	The new code will eat the extra bytes if they're present.  Thanks
-	to Yannick Koehler for finding the bug and offering an explanation
-	as to why it was happening.
-
-	Changed all calls of connptr->remote_content_length to
-	connptr->content_length.server
-
-	* src/conns.c, src/conns.h:
-	Removed the remote_content_length field in the "conn" structure
-	and replaced it with a smaller structure containing both the
-	remote/server and the local/client content-length fields if
-	they're present in the HTTP response headers.
-
-2003-04-01  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac:
-	Reorganized some of the code, and remove some function tests for
-	which results were never used, and removed duplicate header tests.
-
-	* src/htmlerror.c (add_error_variable):
-	Test whether connptr->error_variable is NULL, and if so call
-	safemalloc().  This is needed since saferealloc() will assert() if
-	the first argument is a NULL pointer.
-
-2003-03-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (establish_http_connection):
-	Always include the port number for the requested server.  This
-	fixes a problem when the server is not listening on the default
-	port, 80.  [Fix suggested by duncan@sapio.co.uk]
-
-2003-03-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/Makefile.am:
-	Create the doc/report.sh script from the new template file.
-
-	* doc/report.sh, doc/report.sh.tmpl:
-	Moved the doc/report.sh script to doc/report.sh.tmpl file.  The
-	script is then updated by the make procedure to reflect the
-	correct location of the tinyproxy executable.
-
-2003-03-14  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/htmlerror.c:
-	Made get_html_file() and lookup_variable() static functions since
-	they are only used with this file.
-
-	* src/utils.c (send_http_message):
-	Changed the function to use the new http_message API.
-
-2003-03-13  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/grammar.y, src/scanner.l:
-	Allow the URL for the statistic page to be controlled from the
-	configuration file, rather than being hard-coded in the program.
-	[John M Wright]
-
-	* doc/tinyproxy.conf:
-	Include example information for the new "file" directives
-	(ErrorFile, DefaultErrorFile, StatFile.)  [Steven Young]
-
-	* src/utils.c, src/utils.h:
-	Moved the send_http_error_message() and indicate_http_error()
-	functions into the htmlerror.c file, and recoded them to use the
-	new variable substitution system. [Steven Young]
-
-	* src/common.h:
-	Fixed up the include order for the <sys/time.h> and <time.h>
-	headers.
-
-	* src/http_message.c, src/http_message.h:
-	An API to handle HTTP messages as concrete entities.
-
-	* src/text.c, src/text.h (chomp):
-	Fixed up the code to prevent negative array access.  Added
-	code to make sure the supplied arguments are valid.
-
-2003-03-09  Steven Young  <sdyoung@well.com>
-
-	* src/htmlerror.[ch]: Code to allow the use of substituted
-	variables in .html files for error reporting instead of
-	hard-coded HTML documents that use snprintf() for variable
-	substitution.
-
-	* src/stats.c: Changed showstats to use the HTML variable
-	functions when possible.  It still retains the hard-coded
-	page for when an HTML file is not available.
-
-	* src/reqs.c: Changed calls to indicate_http_error() to
-	use the new HTML variable mechanism.
-
-	* src/tinyproxy.h: Added variables to config structure
-	to keep track of the files to be displayed for various
-	HTTP errors and the stats page.
-
-	* src/conns.h: Added variables to keep track of the
-	variables to be substituted in .html files displayed
-	to that client.
-
-	* src/grammar.y, src/scanner.l: Added parser support
-	for the error file configuration keywords 
-	(ErrorFile, DefaultErrorFile, StatFile)
-
-2003-03-08  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.5.3 (2003-03-10)
-
-	Added the files required for creating tinyproxy RPMs for Redhat based
-	systems. (See packaging/redhat)
-
-2003-02-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c (main):
-	Removed duplicate code calling the filter_destroy() function.
-	Once is enough.  [Detected by John M Wright]
-
-2003-01-27  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c (display_usage):
-	Removed the output line mentioning that regular expression support
-	was included.  It will be there always.
-
-	* src/reqs.c (connect_to_upstream):
-	Reorganized the preprocessor directives to make sure the
-	function's symbol name is stored, even if upstream was not
-	compiled it.  This should keep some compilers from reporting
-	errors.
-
-	* doc/tinyproxy.conf, src/filter.c, src/grammar.y, src/scanner.l,
-	* src/tinyproxy.h:
-	Added support for conditionally using case sensitive filtering
-	files.  Code changes from James E. Flemer.
-
-	* configure.ac:
-	Moved the AH_TEMPLATE() macro for the GNU regex library to out
-	from inside an if...fi test.  Thanks to James E. Flemer for
-	supplying a patch.
-
-	Bumped up the version number.
-
-	* doc/tinyproxy.8:
-	Changed the default manual section to section 8 (administrator
-	commands).
-
-	* src/reqs.c (process_client_headers):
-	Fixed inverted anonymous header logic.  Fix comes from the FreeBSD
-	port through James E. Flemer.
-
-2003-01-22  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.5.2 (2003-01-22)
-
-2002-12-04  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (strip_username_password): New function to remove any
-	username/password part from the host URI.
-
-	(extract_http_url), (extract_ssl_url): Use the new
-	strip_username_password function to remove any non-host
-	information from the URI.
-
-	* src/tinyproxy.c, src/tinyproxy.h, src/utils.c, src/utils.h,
-	* src/common.h, src/conns.h, src/reqs.c:
-	Removed the "bool_t" type since it conflicts with the newer C
-	standards.  The type was just replaced by "unsigned int" types.
-
-2002-11-29  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (extract_http_url):
-	Removed the leading "http://" from all the tests, since it's
-	skipped by the caller before the URL is passed to this function.
-
-	(process_request): Include code to handle proxy FTP requests as
-	well.  This also lead to a bit of a cleanup in the calling
-	conventions of extract_http_url function.  tinyproxy can handle
-	both types of resources by skipping the leading :// part.
-
-2002-11-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/tinyproxy.conf, src/grammar.y, src/reqs.c, src/scanner.l,
-	* src/tinyproxy.h:
-	Included code to disable the sending of the Via header.  This is
-	now controlled by the ViaHeader configure directive.
-
-2002-11-21  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/child.c (child_main):
-	Cleaned up the notice string to be more clear why a child is being
-	closed.
-
-	* src/tinyproxy.c (main):
-	Check to see if the PID file was created successfully, and if not
-	report this to the user and close the program.
-
-	* src/utils.c (create_file_safely):
-	Rather than exiting the program if there is an error, a negative
-	"error code" is returned to the program.  The various callers then
-	need to decide what to do.
-
-	(pidfile_create): Returns an error status depending on whether the
-	PID file was created successfully.
-
-2002-11-13  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (relay_connection):
-	Shutdown the client socket for writing once all the data has been
-	sent.
-
-	* src/conns.c (destroy_conn):
-	Added code to log any error messages when the sockets are closed.
-
-2002-11-05  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/tinyproxy.conf:
-	Removed the example for the Tunnel directive since it's been removed.
-
-2002-11-03  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac, src/grammar.y, src/reqs.c, src/scanner.l,
-	src/tinyproxy.c, src/tinyproxy.h:
-	
-	Removed all the code supporting the TCP tunnelling feature of
-	tinyproxy.  There is really no need for this code, since there are
-	perfectly good programs out there (like rinetd) which are designed for
-	TCP tunnelling.  tinyproxy should be a good HTTP proxy, nothing more,
-	and nothing less; therefore, the tunnelling code is gone.
-
-2002-10-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (relay_connection):
-	Ivan pointed out a bug with the code to send any
-	remaining data to the server when the connections are being closed.
-	It was a one line fix.
-
-2002-10-03  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c:
-	Fixed up the storing and sending of the internal tinyproxy logs prior
-	to when the log file is created.  Also, the log file is created with
-	the proper owner permissions.
-
-	* src/log.c, src/log.h:
-	The internal log structure now uses a vector rather than a hash.  This
-	change was required to actually display all the logs in the correct
-	order.  Also, all log lines are stored internally while tinyproxy is
-	starting.  At the appropriate point all the logs are written to the
-	log file.
-
-	* src/filter.c: Filtering is now case insensitive.
-
-	* src/child.c (child_main):
-	Check to make sure memory could be allocated to handle
-	the child request.
-	(child_main_loop): Added a call to truncate_log_file() when the log
-	file is to be rotated.
-
-2002-08-09  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.5.1 (2002-08-09)
-
-2002-07-09  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/utils.c: (create_file_safely):
-	(pidfile_create): Changed all the error logging to write to
-	standard error and then exit the program.  This will prevent
-	segmentation fault problems from occurring because the log file
-	could not be created properly.
-
-	* src/heap.c (malloc_shared_memory):
-	Changed the static character array to include the ".XXXXXX" string
-	already.  This saves one system call when creating a temporary
-	file name.
-
-2002-07-08  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* README:
-	Updated the "Support" section to include a link to the tinyproxy
-	Bug Tracker system hosted by SourceForge.
-
-2002-07-05  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac:
-	Removed the -D_REENTRANT C flag since tinyproxy is no longer a
-	multi-threaded program.
-
-2002-06-27  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/child.c (child_make):
-	Reset the various signals to the default signal handler so that
-	the children can be properly destroyed.
-
-2002-06-15  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/log.c (log_message):
-	Changed the code so that the log is opened, written, and closed
-	whenever a message is submitted.  This allows the log file to be
-	moved away, for example a rotating the log, and yet still have the
-	information written to the correct file name by all the children.
-
-	* src/tinyproxy.c:
-	Renamed the "log_rotation_request" boolean to "received_sighup".
-	(main): Removed the log file creation code because it has been
-	moved into the log.c file.  Also, removed the explicit fclose()
-	for the log file since it will be close when the program has
-	exited.
-
-	* src/child.c (child_main_loop):
-	Moved the filter re-initiation code into the loop.  This code is
-	activated whenever the SIGHUP signal is received.
-
-	* src/tinyproxy.h:
-	Removed the "logf" FILE structure from the config structure, and
-	also renamed the "log_rotation_request" boolean to
-	"received_sighup".
-
-	* src/utils.c, src/utils.h:
-	Removed the rotate_log_files() function since I'm moving to an
-	Apache style where the _user_ needs to move the log file
-	themselves, and tinyproxy will continue to write to the original
-	name.  This allows more flexibility for users to determine their
-	own log rotation scheme.
-
-2002-06-07  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/filter.c, src/filter.h:
-	Added code to handle the "FilterDefaultDeny" directive.  The
-	filter_set_default_policy() function is used to select the default
-	policy (either default allow or default deny) for the filtering
-	code.  Also, the two filtering functions now support the policy
-	code.
-
-	* doc/tinyproxy.conf, src/grammar.y, src/scanner.l:
-	Added the "FilterDefaultDeny" directive to allow the user to
-	select whether the default policy of the filter is to allow
-	everything which isn't denied, or to deny everything which isn't
-	allowed.
-
-2002-06-06  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c:
-	A bunch of changes from Petr Lampa that add transparent proxy
-	support to tinyproxy.  The additional code is in
-	process_request(), but Petr also had to change around some of the
-	other functions (like process_client_headers and
-	handle_connection.)  Note: Right now this code has not been
-	tested, but it is believed to work.  To enable run ./configure
-	--enable-transparent-proxy
-
-	* src/filter.c (filter_domain):
-	Removed code which stripped of a port number from the host name.
-	The "host" variable will _always_ be just the name by the time
-	filter_domain() is called.
-
-	* src/tinyproxy.c (display_usage):
-	Added a message indicating whether transparent proxy support has
-	been compiled in.
-
-	* configure.ac:
-	Added the "--enable-transparent-proxy" flag and moved the
-	AH_TEMPLATE() macros to _outside_ the "if" tests.
-
-	* src/grammar.y:
-	Added a warning message to the Bind directive stating that it will
-	be ignored if "transparent proxy" has been compiled into
-	tinyproxy.
-
-	* src/log.c (send_stored_logs):
-	Actually included the code to output the stored logs.  Plus, there
-	was a bug with how I was calling the hashmap_is_end() function.
-	This has now been fixed.
-
-2002-06-05  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/Makefile.am:
-	Added the "filter-howto.txt" file to the distribution.
-
-	* doc/filter-howto.txt:
-	Added a short filtering HOWTO document from Patrick L. McGillan.
-
-	* src/child.c (child_main):
-	Added a DEBUG call to let me know which process has accepted a
-	connection.  This is needed for debugging using "gdb".
-
-	* src/heap.c (malloc_shared_memory):
-	Removed the assert() call for shared_file since it's now a static
-	variable.
-
-	* src/acl.c (acl_string_processing):
-	Moved the string processing code out of check_acl() and into it's
-	own function because it now does two (2) tests.  If the ACL string
-	is a complete host name, in other words doesn't start with a
-	period, than a reverse DNS look-up is done on the host name and
-	compared to the IP address of the client; otherwise, the normal
-	text string comparison is done.
-	(check_acl): Moved the string text out of the function and removed
-	some logging code by jumping to the "Deny" code at the end of the
-	function.
-
-2002-05-31  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/utils.c (create_file_safely):
-	Added the "truncate_file" boolean flag.  This is needed since I
-	use this function for both the log file and the pid file, and they
-	behave differently when tinyproxy is started.
-	(pidfile_create): Call create_file_safely() with a TRUE
-	"truncate_file" flag so that the file is emptied whenever the pid
-	file is needed.
-
-	* src/tinyproxy.c:
-	The log file is now opened in "append" mode so that you can
-	restart tinyproxy without losing the log file.
-
-	* src/reqs.c (process_server_headers):
-	Since we're stripping off the carriage return and newline, we need
-	to add them back on when sending the response header to the
-	client.
-
-	* src/sock.c (getpeer_information):
-	Fixed a problem retrieving the FQDN of a host because I was
-	passing in an incorrect parameter to gethostbyaddr().  D'oh.
-
-2002-05-29  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/heap.c (malloc_shared_memory):
-	Removed the MMAP_ANON and open("/dev/zero") since they are not
-	portable across a while enough spectrum of machines.  Right now
-	tinyproxy is using a "classic" temporary file method of sharing
-	memory.  This will likely be improved in the future.
-
-	* src/child.c, src/stats.c:
-	Changed the tests on the return value from malloc_shared_memory()
-	to make tinyproxy more portable, since we can't be certain that
-	"if (!ret_value)" would actually detect a mmap() error.
-
-	* src/reqs.c (add_header_to_connection):
-	Removed the "double_cgi" boolean, since tinyproxy now ignores all
-	the headers after a "double CGI" situation has occurred.
-	(get_all_headers): Instead of dropping duplicate headers when the
-	"double CGI" situation occurs, tinyproxy will now drop _all_ the
-	headers from the "inner" HTTP response.
-
-	* src/stats.c (init_stats):
-	Fixed a spelling mistake where the number of bytes being allocated
-	was incorrect.
-
-2002-05-28  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (add_header_to_connection):
-	Added a boolean to indicate that a "Double CGI" situation is in
-	affect.  This is needed to solve a problem with some sites (like
-	cgi.ebay.com) where they are sending two HTTP response lines (and
-	associated headers) with a response.
-	(get_all_headers): Detect if a "Double CGI" situation has occurred.
-
-	* src/reqs.c (get_all_headers):
-	Added code to ignore a "response" line in a header.  This was
-	pointed out as being a problem with eBay (cgi.ebay.com)
-	(process_server_headers): Added code to make skip blank lines
-	before a response line.
-
-2002-05-27  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/Makefile.am:
-	Fixed up a problem where the tinyproxy manual page was not getting
-	included with the distribution.
-
-	* src/reqs.c (process_request):
-	Changed the filtering code around to handle both domains and URLs.
-
-	* src/tinyproxy.h:
-	Added into the config structure the filter_urls and
-	filter_extended flags.
-
-	* src/tinyproxy.c: Some spelling fixes.
-
-	* src/sock.c (opensock):
-	Changed a comment around to better state what the code is actually
-	doing.
-
-	* src/filter.c, src/filter.h:
-	Added a copyright for James E. Flemer since these are his changes.
-	(filter_init): Added code to handle both host and URLs.  Also
-	include code to use extended regular expressions.
-	(filter_domain): The old filter_url function has been renamed
-	filter_domain().
-	(filter_url): This function now actually filters complete URLs.
-
-	* doc/tinyproxy.conf, src/grammar.y, src/scanner.l:
-	Added support for the "FilterURLs" and "FilterExtended" directives.
-	These directives were submitted by James Flemer for use with the new
-	filtering code.
-
-	* configure.ac: Updated the version number (pre 1)
-
-	* src/tinyproxy.c (display_license): Updated the copyright dates
-	(main): Moved the signals around so that the appropriate signal is
-	assigned to either the children or just the parrent process.
-	Updated the copyright on the file.
-
-2002-05-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/tinyproxy.conf: Removed the "DNSserver" directives since
-	they're no longer needed.
-
-	* configure.ac: Removed the pthread related tests and added a test
-	for the sys/mman.h header (needed for shared memory.)
-
-	* src/Makefile.am: Removed the "dnsserver" program all together,
-	and changed the names of some of the files.
-
-	* src/heap.c, src/heap.h: Added the malloc_shared_memory() and
-	calloc_shared_memory() function to allow the use of shared memory
-	between all the children.
-
-	* src/log.h, src/reqs.c: Spelling changes (from thread to child.)
-
-	* src/grammar.y, src/scanner.l: Removed the directives for the old
-	DNSserver process.
-
-	* src/stats.c: The stats structure has been moved into a shared
-	memory block since it needs to be shared by all the children.
-
-	* src/tinyproxy.c: Removed all the code relating to the DNS API as
-	it's no longer needed with the new pre-forked model.
-	
-	Updated the copyright dates.
-	
-	(main): Moved the signals around so that they are assigned to the
-	appropriate process level: either the parent only, or all
-	processes.
-
-	* src/sock.c: Removed the DNS API calls and replaced them with the
-	standard gethostbyname() and gethostbyaddr() functions.  This is
-	possible because tinyproxy now uses a standard pre-forked() method.
-
-	* src/common.h: Removed the "pthread" related includes.
-
-	* src/thread.c, src/thread.h: No longer using a threading model;
-	so these files have been replaced by the child.c/child.h files, 
-	which use a pre-forked model.
-
-	* src/dnsclient.h, src/dnsserver.c, src/dnsclient.c: I didn't like
-	the DNS co-process design so I changed tinyproxy from a threading
-	model to a standard pre-forked model.  This means I don't need the
-	DNS co-process files.  Gone.
-
-	* src/child.c, src/child.h: Changed from using a threading model
-	to a standard pre-forked model.  Therefore the thread.c file has
-	been removed and this file replaces it.  These files are really
-	just the thread.c and thread.h files with all the threading stuff
-	replaced with fork() code.  Most of the code is identical.
-
-2002-05-24  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/buffer.c, src/conns.c, src/dnsclient.c, src/hashmap.c,
-	  src/reqs.c, src/stats.c, src/text.c, src/thread.c,
-	  src/tinyproxy.c, src/utils.c, src/vector.c: Fixed a tonne of
-	spelling mistakes.
-
-	* src/sock.c: Fixed some spelling mistakes, and removed the
-	getpeer_ip() and getpeer_string() functions as they've been
-	replaced by the getpeer_information() function.
-
-2002-05-23  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/dnsserver.c: The DNS resolver for use by the various
-	tinyproxy threads.  The DNS resolver was moved into a separate
-	function to prevent the blocking problem the 1.4.x and 1.5.0
-	versions experienced when a DNS query would take a long time to
-	return.  While the query was blocking, other threads could not
-	establish their own queries, so they all blocked.  Not so good.
-
-	* src/dnsclient.c: Introduce the new "dnsserver" API.  These
-	functions are the client side access points.
-
-	* src/utils.c: Moved most of the code into separate files.  The
-	debugging heap related code is now in heap.c; the text string code
-	is in text.c; and, the daemon related code is in daemon.c.
-
-	* src/tinyproxy.h: Moved all the system header include code into
-	the "common.h" file.
-
-	* src/tinyproxy.c (takesig): Added a signal handler for the
-	SIGCHLD signals since a child process is spawned to handle the
-	"dnsserver" process.
-	(main): Added code to start and stop the "dnsserver" process.
-	Switched the signal setup function to the new portable
-	set_signal_handler() function.  Include a test to make sure the
-	two "dnsserver" directives are set.
-
-	* src/sock.c (lookup_domain): Rewrote the function to use the new
-	"dnsserver" API.  This removes the need for the pthread mutex.
-	(getpeer_information): Replaced the two calls to getpeer_ip() and
-	getpeer_string() with one call to this function.  Streamlines the
-	peer information retrieval.
-	
-	Moved the safe_write(), safe_read(), readline(), write_message()
-	functions into a separate file: network.c
-
-	* src/reqs.c (process_request): Fixed a spelling mistake.
-	(add_xtinyproxy_header): The peer information is stored in the
-	connection, so removed the call to query it again.
-	(handle_connection): Pass the peer socket's information into the
-	connection structure for later use.
-
-	* src/grammar.y:
-	* src/scanner.l: Added the "DNSserverLocation" and
-	"DNSserverSocket" directives as they are required to properly run
-	the "dnsserver" DNS resolver.
-
-	* src/conns.c (initialize_conn): Added the peer's IP
-	dotted-decimal address and hostname to the connection structure.
-	It's faster to get the information _once_ and just store it for
-	later use.
-
-	* src/buffer.c (add_to_buffer): Changed the code to make the order
-	of insertion into the linked list explicit.  I'm not sure if this
-	fixes a bug or not, but clarity is alway nice.
-
-2002-05-13  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/buffer.h: Moved the definition of the buffer_s structure.
-	Data hiding is a good thing.  Also, replaced the BUFFER_SIZE
-	macro with a buffer_size() function.
-
-	* src/vector.c: Added the "tail" pointer to make insertions more
-	efficient.
-
-	* src/hashmap.c (hashmap_insert): Fixed a potential SEGFAULT if
-	the memory for the new hashmap entry could not be allocated.
-	(hashmap_remove): Fixed a problem where an entry could have it's
-	"prev" pointer still pointing at freed memory.  Thanks to Justin
-	Guyett for finding and fixing this problem.
-	(hashmap_insert): Thanks to Justin Guyett for changing the code to
-	use a constant time insert.  Much cleaner _and_ faster.
-
-2002-05-10  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* Makefile.am (install-data-local): Fixed up the tinyproxy.conf
-	test so that the file is only installed if it doesn't already
-	exist.
-
-2002-05-09  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.5.0 (2002-05-09)
-
-2002-05-08  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac: The --with-config option now supports absolute
-	paths.  If an absolute path is given, the full directory path and
-	file name are extracted into their appropriate parts.
-
-2002-05-07  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (connect_to_tunnel): Removed request logging code in
-	the tunnel method since it breaks the "tunnel" concept.
-
-2002-05-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac: Added code to figure out exactly where to install
-	the configuration file.
-
-	* Makefile.am (install-data-local): Added a new install run to
-	install the configuration file to the location specified in
-	DEFAULT_CONF_FILE.
-
-2002-04-28  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (process_client_headers):
-	(process_server_headers): Added more error checking code and
-	send HTTP errors back to the client to let them know what is
-	happening.
-	(handle_connection): If there was a server error when processing
-	the headers, send an error back to the client.
-
-2002-04-27  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_pool_create): Set the thread's status
-	_before_ the thread is created.  Thanks to Hans-Georg Bork for
-	solving this problem.  
-	(thread_main): Fixed up the status setting code.  Removed
-	duplicated code and explicitly set the status when needed.
-
-	Fixed up all the code checking the return value from the pthread
-	functions.  These functions return 0 if OK, but a _positive_ error
-	code.
-
-2002-04-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c: servers_waiting needs to be signed, since it can
-	go below 0 without causing a problem, but if it wraps around all
-	hell can break loose.
-
-	* src/reqs.c (connect_to_tunnel): Changed the len type to an
-	signed integer so that we can detect error conditions.  Thanks to
-	Tom Cross for pointing out this problem.
-
-	* src/log.c (send_stored_logs): Check the return value of
-	hashmap_first() since it could be -1, indicating an empty hashmap.
-
-	* src/reqs.c (process_client_headers):
-	(process_server_headers): Test the return value of hashmap_first()
-	since the hashmap could be empty (returning a -1 via hashmap_first.)
-
-2002-04-25  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (remove_connection_headers): Handle both the
-	Connection header _and_ the Proxy-Connection header.
-	(free_request_struct): Check to see if request->path is actually
-	allocated before trying to delete it.
-
-	* src/hashmap.c: The hashmap will now handle multiple keys with
-	the same value.  This change was need because some sites like
-	Yahoo will send out multiple "Set-Cookie" lines.  The
-	hashmap_keys() function has been removed and has been replaced
-	with the iterator concept.  Also, a few of the functions have had
-	either their arguments changed, or their return type.  Read the
-	comments in the header file for more information.
-
-2002-04-22  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c: Renamed the LOCKing macros and added debugging
-	asserts to them.  Also, moved the mutex initialization into the
-	thread_pool_create() function since I would like to use an error
-	checking mutex, but my machine doesn't seem to work with it.  I
-	left the code there in case I can get it to work later.
-
-	* src/log.c (send_stored_logs): Added this function since the
-	log_message() function will now stored the messages if the config
-	file has not been processed yet.  This function is called from
-	within main() to output the messages to the log file _after_ it's
-	been initialized.
-
-	* src/reqs.c (process_client_headers): Added the
-	"Proxy-Connection" header to the list of client headers we don't
-	forward to the remote machine.
-
-	Added the the "Bind" directive.  This is used to indicate which IP
-	address in a multi-homed machine you would like tinyproxy to bind
-	out-going connections to.  This complements the "Listen" directive
-	for incoming connections.
-
-2002-04-18  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (lookup_domain): Removed the call to inet_aton()
-	since the gethostbyname() will handle the dotted-decimal case
-	anyway.
-
-	* src/reqs.c: Added a new show_stats field in the conn_s structure
-	so that we will process the client's headers properly before
-	trying to send a HTTP response back.
-
-	* src/sock.c (getpeer_string): Removed the hstrerror() call since
-	it's not supported on all machines, and it's not really needed
-	anyway.
-
-	* src/vector.c:
-	* src/hashmap.c: Changed all calls to malloc, calloc, free, and
-	strdup to the appropriate safe variety.
-	(hashmap_delete): Fixed a memory leak where the maps were not
-	being freed properly.
-
-	* src/utils.c (debugging_strdup): Added this function to be used
-	by the safestrdup() macro to replace all the calls to strdup().
-	This should allow better tracking of the memory usage.
-	Also, all the debugging_* functions have had asserts added to them
-	to hopefully improve the quality of the code.
-
-	* src/reqs.c (get_all_headers): Fixed a memory leak since I was
-	not freeing the header variable, even though the hashmap makes a
-	copy of it.  Thanks to Petr Lampa for finding this one.
-
-	* src/tinyproxy.c (takesig): Moved the filter_destroy() code out
-	of the signal handler and placed it inside of main().  Same
-	reasoning as the rotate_log_files() changes below.
-
-	* src/utils.c (rotate_log_files): Moved the log rotation code out
-	of the signal handler and into it's own function.  Also improved
-	the robustness of the code.  Credit to Petr Lampa for suggesting
-	that system calls in a signal handler is bad magic.  Now the
-	signal handler sets a flag which is responded to inside of
-	thread_main_loop().
-
-2002-04-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac: Added test for pthread_cancel() since it doesn't
-	seem to be available on every platform, even if the rest of
-	pthread is.  Thanks to Daniel Flemming and Petr Lampa for
-	reporting this problem.
-
-	* src/sock.c (lookup_domain): Removed the LOOKUP_LOCK() and
-	LOOKUP_UNLOCK() macros and replaced them with calls the LOCK() and
-	UNLOCK().  The reason for this change is that I can not be sure
-	that calls to gethostbyname() and gethostbyaddr() will not
-	over-write the same static block of memory.  Potential problem
-	pointed out by Petr Lampa.
-
-	* src/reqs.c (handle_connection): If the initialize_conn()
-	function fails, we need to close the socket.
-
-	* src/acl.c (check_acl): Changed the code to accept the peer IP
-	address and string address from the calling function (in this case
-	handle_connection.)
-
-	* src/thread.c (thread_main): Removed close(connfd) since it has
-	already been closed from within handle_connection(). Thanks to
-	Petr Lampa for spotting this.
-	(thread_pool_create): Added test to make sure pthread_create()
-	succeeds, and returns -1 if all the threads could not be created.
-	(thread_main_loop): Added test to determine if the
-	pthread_create() call succeeded.  Warns the admin if there was a
-	problem, but tinyproxy will continue to run.
-
-2002-04-15  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/anonymous.c (anonymous_insert): Now returns -1 upon error,
-	and 0 upon success.  This simplified the code, since I don't care
-	whether the success is from a successful insert, or because the
-	string was already present in the hashmap.
-	(anonymous_search): The function now returns a positive number
-	greater than zero if the string was found, otherwise zero or a
-	negative value is returned.  Needed to change the _one_ call to
-	this function to use the new return method.
-
-	* src/reqs.c (pull_client_data): Moved the common error exit
-	together.  Better, smaller code is produced.
-	(add_header_to_connection): Changed the code a bit to remove the
-	call to strlen() and the variable associated with it.
-	(establish_http_connection): Changed the three calls to
-	write_message() and safe_write() into one combined call to
-	write_message().
-	(send_ssl_response): Replaced the three calls to safe_write() into
-	one call to write_message().
-	(extract_http_url): Moved the common error code into it's own
-	section and jump to it upon error.
-
-2002-04-14  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/utils.c (chomp): Added an assert to detect a design error.
-
-	* src/reqs.c (read_request_line): Fixed the return type to be an
-	signed variable, so that we preserve a negative return value
-	upon an error.
-
-	* src/sock.c (readline): Added a test for allocating enough memory
-	for the whole_buffer.
-
-	* src/conns.h: Replaced the error boolean with a pointer to an
-	error string and error number for use in the
-	send_http_error_message() function.
-
-	* src/utils.c (indicate_http_error): Replaced the httperr()
-	function with this one.  Instead of sending the error right away,
-	we store the error string and number and send them _after_ the
-	client headers have been processed.
-
-2002-04-13  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (opensock): If the Listen directive is in use, then
-	we should bind outgoing address to this address.
-	(listen_sock): Added error handling for the bind() and listen()
-	calls when setting up the listening socket.
-
-2002-04-12  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/scanner.l:
-	* src/grammar.y: Added code for the ConnectPort directive.
-
-	* src/reqs.c (add_connect_port_allowed):
-	(check_allowed_connect_ports): Added these two functions (breaking
-	by no new features rule) because they fix a security problem with
-	tinyproxy.  These functions are needed to support the ConnectPort
-	configuration directives, which allows the admin to specify which
-	ports are allowed by a CONNECT method.  This is needed to prevent
-	people from using tinyproxy to connect to mail servers (port 25)
-	to do "bad things."
-
-2002-04-11  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (remove_connection_headers): Moved all the code for
-	detecting and removing headers based on the Connection header into
-	this function.
-	(get_content_length): Moved the check for a Content-Length value
-	into it's own function.
-	(process_client_headers): Changed the code to use the newer
-	remove_connection_headers() and get_content_length() functions.
-	(process_server_headers): Rewrote this function to handle the
-	headers in a more consistent manner.  The connection header is
-	handled correctly, and the content-length header is stored for
-	later use.  Also, include a list of headers to not send.
-	(relay_connection): Added a test to use the
-	connptr->remote_content_length value if it's present.
-	(write_via_header): Moved the creation/modification of the Via
-	header into it's own function since it's used by both
-	process_client_headers() and process_server_headers().  I still
-	need to add code to allow you to "hide" the host information if
-	you so choose.
-
-	* src/conns.c: Added the remote_content_length variable to hold
-	the number of bytes the remove server is _supposed_ to send to
-	us.  This fixes a problem where the remote server doesn't close
-	the connection after sending the body.  Problem was reported by
-	James Flemer.
-
-2002-04-10  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/Makefile.am: Removed the dependency on LIBOBJS and instead
-	replaced it with an ADDITIONAL_OBJECTS variable defined within the
-	configure script.  This allows greater control over what is
-	compiled.
-
-	* configure.ac: Removed the AC_FUNC_LSTAT macro since it wants to
-	add lstat.o onto some machines.  I don't think the test was really
-	needed anyway, so it's better to have it gone.
-
-2002-04-09  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/anonymous.c: Changed this module to use the hashmap module
-	instead of it's own internal linked list.  Common code is good. :)
-
-	* src/reqs.c (process_client_headers): Fixed the XTINYPROXY_ENABLE
-	section to actually check if xtinyproxy has been configured.
-	(compare_headers): Removed this function since it's been replaced
-	by a call to anonymous_search().
-
-	* src/acl.c (make_netmask): James Flemer cleaned up the
-	make_netmask() function to remove the big static table.  Much
-	nicer now.
-
-	* configure.ac: The configure script now doesn't include a check
-	for the malloc.h header if tinyproxy is being compiled on an
-	OpenBSD machine.  I might actually just remove the malloc.h header
-	since the malloc/calloc/realloc/free functions are supposed to be
-	in the stdlib.h header.  I also changed the LIBOBJS="" lines to
-	AC_LIBOBJ() macro so conform to the new Autoconf rules.
-
-	* src/hashmap.c:
-	* src/vector.c: Cleaned up the include headers to _hopefully_ be
-	more portable.  Who knows though.
-
-2002-04-08  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_main_loop): Moved the looping code into
-	this function from the main() function.  Just a bit of clean up.
-	(thread_main): Changed the default cancellation point to
-	asynchronous, which means immediately.  This should fix up the
-	problem where the threads would not free correctly.
-
-2002-04-07  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/hashmap.c:
-	* src/vector.c: These two "modules" are used within the reqs.c
-	file to better handle the headers from the clients.
-
-	* src/reqs.c: Tonnes of functions changed.  The most significant
-	is the process_client_header() function which is now using the
-	hashmap functions to handle the Connection header more
-	accurately.  With the addition of the add_header_to_connection(),
-	get_all_headers(), and remove_connection_headers() function, the
-	compare_header() function is _vastly_ simplified.  Just read the
-	comments in the source itself for more information.
-
-	* src/conns.c: Cleaned up the initialize_conn and destroy_conn
-	functions to better handle error conditions.
-
-2002-04-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac: Patch from James Flamer which fixes a problem with
-	the --disable-* options and also prevents -lc_r from being
-	included on FreeBSD machines.
-
-2002-01-13  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_kill_threads): Added a function to
-	explicitly go through all the active threads and kill them.
-
-2002-01-07  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_main): Added code to check if tinyproxy is
-	being killed by the user.
-
-2001-12-28  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_main): Added code to detect errors in the
-	accept() function.
-
-2001-12-23  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/utils.c (send_http_message): Use the write_message()
-	function for creating and sending the headers to the client.
-	(httperr): Use similar code to write_message() to create the body
-	of the error message. I use this so that there is no limit to the
-	size of the error message (better coding. :) I'm still trying to
-	figure out how to combine this code with write_message() into a
-	common function.
-
-	* src/sock.c (write_message): Moved write_message() into sock.c
-	since it's now accessed by more than just the reqs.c file.
-
-	* src/tinyproxy.c (main): Made the error log for the idle time
-	setting more verbose so that it's explains the reasoning
-	better. Also, changed the level to WARNING.
-
-	* src/reqs.c (process_client_headers): Cleaned up the code to send
-	the Via header by using the write_message() function.
-
-2001-12-22  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.h: Add a test for the MSG_NOSIGNAL define, so it's
-	apparently a non-standard extension to send(). Also, moved the
-	<sys/resource.h> include after the includes for the various time
-	include files.
-
-2001-12-19  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (write_message): Encapsulate code to handle sending
-	snprintf() built lines to a file descriptor.
-	(process_server_headers): Removed duplicate code and used the
-	return value from readline() instead of recalculating it by
-	strlen().
-
-2001-12-18  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (connect_to_tunnel): Moved the tunnel connection code
-	into its own function.
-	(TUNNEL_CONFIGURED): Added a macro to help simplify the tests for
-	tunneling support.
-
-2001-12-17  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (handle_connection): Also log the request when
-	tinyproxy is in tunneling mode. This was implemented by
-	Hans-Georg Bork.
-
-2001-12-16  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (safe_write): Add assert() calls to make sure the
-	arguments are sane.
-
-	* src/reqs.c (read_request_line): Ignore any blank lines if
-	tinyproxy is expecting a request line. This is suggested by
-	RFC2616 for a tolerant application.
-	(UPSTREAM_CONFIGURED): Added a macro to encapsulate the test for
-	upstream proxy support.
-	(establish_http_connection): Lines are now composed in a buffer
-	and then sent to the safe_write() function. This was done because
-	some sites (like www.heise.de) do not like having the request
-	line sent in pieces.
-
-2001-12-15  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (safe_write): In addition to handling "interruption"
-	errors, continue sending the buffer until it has been fully sent
-	or a fatal error occurred.
-
-	* src/anonymous.c: Removed the calls to the ternary tree and just
-	use a basic linked list. The ternary tree might have been slightly
-	faster, but since tinyproxy is only dealing with a "few" anonymous
-	headers the ternary tree code was _way_ overkill.
-
-	* src/sock.c (lookup_domain): Removed the DNS cache since
-	according to RFC2616 a HTTP client should not cache an address if
-	the client doesn't also respect the TTL value. tinyproxy does not
-	have a complete DNS resolver. Additionally, a caching DNS system
-	is an administrator decision which should not be included in
-	tinyproxy.
-
-2001-11-25  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/buffer.c (makenewline): This function now copies the actual
-	data itself. This means any malloc() and free() functions are
-	closer together, instead of malloc()ing the data and then not
-	free()ing it.
-	(add_to_buffer): Add a new "line" to the buffer. I'm trying to
-	have more of the data go through the buffering code. Basically the
-	safe_write() function should only be called when the data needs to
-	be sent _now_.
-	(read_buffer): Fixed the code so that buffering _actually_
-	happens. :) The code will now buffer up to MAXBUFFSIZE bytes
-	(which is currently 48 KB.)
-
-2001-11-24  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.ac: Changed the extension of the configure.in to match
-	the new standard for the autoconf program. Also, replaced all the
-	obsolete macros with the new standard. autoconf 2.52 is now the
-	minimum required to process this file.
-
-2001-11-23  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (readline): Limit the maximum size of the buffer so
-	that we don't create a situation where tinyproxy could use all the
-	memory in a system. Right now we're limiting a line to a maximum
-	of 128KB.
-
-2001-11-21  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.3 (2001-11-21)
-
-	* src/utils.c (chomp): Replaced the "trim()" function in reqs.c
-	with the new chomp() function which has similar semantics as the
-	chomp() function in Perl.
-
-	* src/sock.c (readline): Replaced the old function with a new
-	version that will allow an arbitrary long string.
-
-2001-11-03  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/buffer.c (remove_from_buffer): This function is never
-	called with an empty buffer, so removed some inaccurate code which
-	would have removed an invalid line from the buffer if it was
-	empty. What was I thinking when I wrote that? Good thing is was
-	never called.
-	(add_to_buffer): Add a bit of a sanity check to make sure the
-	buffer structure hasn't been messed up some how.
-
-2001-11-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/acl.c (insert_acl): Tightened the check regarding whether an
-	ACL is a string or a numeric address.
-
-2001-10-25  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* Moved all the system header included into the tinyproxy.h header
-	and changed all the other files to include it. This should
-	centralize the header dependency issue into one file.
-
-	* src/conns.c: Brought back the conns.{c,h} files which contain
-	the connection structure definition plus the creation/destruction
-	routines.
-
-	* src/reqs.c (process_client_headers): Selectively send headers
-	based on whether we're using an upstream with a CONNECT
-	request. The short answer: all methods work correctly with
-	Upstream proxying and normal proxying.
-
-	* src/tinyproxy.h: Added a upstream flag to the conn_s structure
-	so we can figure out when to send headers and when not to send
-	headers. This is extremely important when trying to do upstream
-	proxying of the CONNECT method.
-
-	* src/reqs.c (relay_connection): Empty the contents of both
-	buffers when either socket is closed. This is more in line with
-	what a tunnel should do. Since either end could close with
-	information still in the buffers.
-	(connect_to_upstream): Cleaned up the code to re-use the
-	establish_http_connection() function.
-
-	* src/buffer.c (readbuff): Changed the memory allocation to 2K
-	from 48K since an Ethernet connection is usually around 1400
-	bytes. There's little point in allocating a huge amount of memory,
-	only to shrink the memory map in the next breath.
-
-2001-10-22  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/sock.c (getpeer_string): Added logging in case the
-	gethostbyaddr() function fails.
-
-	* src/reqs.c (free_request_struct): Added a test to return if the
-	pointer is NULL.
-	(handle_connection): Cleaned up the code to better handle the
-	cause where the request is NULL.
-
-	* src/sock.c (getpeer_string):
-	* src/sock.c (getpeer_ip): When the DNS lookup fails, we need to
-	initialized the user's buffer to an empty string; otherwise, the
-	user's buffer will contain garbage and cause a SEGFAULT. Thanks to
-	Jeffrey Wheelhouse for finding this bug.
-
-2001-10-18  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (connect_to_upstream): Moved the code needed to
-	rebuild the request line when using the upstream feature into it's
-	own function. Simplifies the handle_connection() function.
-
-	* src/buffer.c (readbuff): Fixed a problem where a full buffer
-	would cause the connection to be closed. Thanks to Jeffrey
-	Wheelhouse for helping me find this problem.
-
-2001-09-29  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.in: Uses any CFLAGS variable passed to the configure
-	script. Also, '-g -Wall' is _not_ enabled unless debugging support
-	is compiled in. Use --enable-static to compile a statically linked
-	tinyproxy.
-
-2001-09-16  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c (main): Don't allow Tunnel and Upstream
-	directives to be both set in the configuration file.
-
-	* src/reqs.c (handle_connection): Added support for an upstream
-	proxy. What we used to use for our upstream proxy has now become a
-	TCP tunnel. The difference is that the upstream proxy will do
-	domain filtering, anonymous headers, etc. while the TCP tunnel
-	just sends the data without any processing. You can not have both
-	at the same time.
-
-	* src/utils.c (send_http_message): Instead of creating a block of
-	memory with the output message, just send it to the client. We
-	still need to process the various headers from the client, but it
-	will pick up the error when it's done talking to the proxy. Uses
-	less memory.
-
-	* src/sock.c: Moved safe_write() and safe_read() into sock.c since
-	I'm using them in more than just reqs.c.
-
-2001-09-15  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* Removed all the log_message()s which reported that memory could
-	not be allocated. There's little point in reporting a memory
-	shortage since the computer will probably crash soon anyway.
-
-	* src/reqs.c (process_request): Added the code for showing the
-	stats back into the function.
-
-	* src/tinyproxy.c (takesig): When SIGHUP is received the log file
-	is rotated instead of being truncated. The rotated log has ".rot"
-	appended to the file name.
-
-2001-09-14  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/uri.c: Removed this file since it's no longer needed.
-
-	* src/reqs.c: Split the process_method() function into separate
-	smaller functions. Added support for tunnel SSL connections.
-
-	* src/tinyproxy.h: Added a field to handle SSL connections.
-
-2001-09-11  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/reqs.c (process_method): Fixed a memory leak due to the
-	change to heap allocation if there is an error.
-
-	* src/utils.c (debugging_realloc): Added the debugging version of
-	realloc().
-
-	* src/thread.c (THREAD_STACK_SIZE): Changed a threads stack size
-	to 32KB from 128KB.
-
-	* src/reqs.c (process_method):
-	* src/reqs.c (pull_client_data):
-	* src/reqs.c (process_client_headers):
-	* src/reqs.c (process_server_headers):
-	* src/buffer.c (readbuff): Using heap allocated memory for the
-	buffer rather than stack memory.
-
-	* src/uri.c (explode_uri): Fixed a potential memory leak where the
-	regular expression structure might not be freed if there was an
-	error in the expression.
-
-2001-09-08  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/ternary.c (BUFARRAY & BUFSIZE): Lowered the values to help
-	lower memory usage. A ternary tree will now max out at 4MB.
-
-	* src/utils.c: Added debugging_(malloc|calloc|free) to help track
-	down memory leaks.
-
-	* src/dnscache.c (DNS_INSERT_LIMIT): Lower the number of
-	insertions before the ternary tree is rebuilt.
-
-	* src/thread.c (thread_main): Fixed a memory leak.
-
-2001-09-07  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_pool_create): Explicitly set the detach
-	state for threads to PTHREAD_CREATE_DETACHED.
-
-	* Various error message clean up.
-
-	* src/thread.c (thread_main): Add locking around the
-	servers_waiting thread.
-
-2001-09-06  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_main): The code which closes a thread
-	doesn't actually work correct so I've moved the test to just after
-	a thread has handled a connection. The code still needs to be
-	cleaned up to handle locking.
-
-	* src/ternary.c (ternary_destroy): Fixed the deletion code as it
-	would cause a segfault if it was every called. Also, lowered the
-	sizes of the arrays for better memory usage.
-
-	* src/dnscache.c: After a certain number of insertions delete the
-	DNS cache and free the memory. The reason for this is that a
-	ternary tree doesn't lend itself to removing individual
-	entries. It's just easier (and cleaner) to simply delete the cache.
-
-2001-09-04  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.2.2 (2001-09-04)
-
-	* src/reqs.c (process_client_headers): Moved the skip header test
-	in front of the compare_header() function.
-
-	* src/ternary.c (ternary_search): Switched to doing case
-	insensitive searching.
-
-	* src/log.c (log_message): Thanks to NeilK for finding and fixing
-	a problem with the syslog code which can lead to a format string
-	attack.
-
-2001-08-30  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/dnscache.c: Removed the insert_data() function and replaced
-	the "replace" logic in dns_insert() with a call to
-	ternary_replace(). This fixes the segmentation fault problem which
-	I introduced when I "tried" to fix the memory leak. Also changed
-	the LOCKing to be around the entire dnscache() again since I still
-	need to work out how locking should be done when accessing the
-	ternary tree.
-
-	* src/ternary.c (ternary_insert_replace): Renamed ternary_insert()
-	to ternary_insert_replace() and added a extra argument. The
-	function can now "replace" data already in the tree without
-	causing a memory leak. Added two DEFINES to make coding easier:
-	ternary_insert() and ternary_replace() which both call this
-	function with the right arguments.
-
-	* src/utils.c: Removed xstrstr() since it was only used in one
-	place, and could be safely replaced with strstr. I can't even
-	remember why we had this function to begin with.
-
-	* src/reqs.c (compare_header): Removed the call to xstrstr() since
-	it's been removed from the source.
-
-2001-08-29  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.2 (2001-08-29)
-
-2001-08-28  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.1.5 (2001-08-28)
-
-	* src/log.c (log_message): Handle a debug enabled compile better.
-
-	* src/dnscache.c (dns_insert): Fixed a memory leak if the same
-	information was inserted into the ternary tree twice.
-
-	* configure.in: Fixed the test regarding the REGEX library. Even
-	if a working REGEX was found on the system, the included REGEX was
-	being compiled in. Double Doh.
-
-	* src/log.c (log_message): Finally got the log levels worked out
-	properly. I've tested all the levels and they now produce the
-	correct output.
-
-2001-08-27  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.1.4 (2001-08-27)
-
-	* src/reqs.c (trim): Moved the trim functionality out of
-	process_request() and added a test to make sure we don't back the
-	pointer past the beginning of the string.
-
-	* src/log.c (log_message): Fixed a problem where the connect
-	messages were not getting through if the log level was set to
-	INFO.
-
-	* src/tinyproxy.h: Moved some of the includes around so that
-	tinyproxy can compile correctly on FreeBSD systems.
-
-	* src/thread.c: Added the pthread_attr_t structure since we're
-	going to be using a non-default sized stack because some OS's have
-	a stack size which is too small.
-
-	* configure.in: Added a test for detecting FreeBSD's -pthread
-	mechanism for telling GCC to use POSIX threading.
-
-	* src/utils.c (httperr): Fixed the MIME type. Should be be
-	text/html, not text/mime. Fix one bug, add two new ones. Sigh.
-
-2001-08-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.1.3 (2001-08-26)
-	Released tinyproxy 1.4.1 (2001-08-26)
-
-	* src/utils.c (httperr): Split the headers from the actual message
-	and include more headers like Date, Server, Content-Length,
-	etc. Also set the type for the error message to const char*.
-
-	* src/reqs.c (process_method): Fixed a SEGV problem if an invalid
-	request was submitted.
-
-	* Makefile.am (EXTRA_DIST): Don't include ./reconf in the
-	tarball.
-
-	* src/log.c (log_message): Fixed a problem with the new LOG_CONN
-	log level.
-
-	* configure.in: The debugging code was being included even on
-	non-debugging builds.
-
-	* src/anonymous.c (anonymous_insert): Moved the creation of the
-	search tree into the anonymous_insert() function. Therefore, the
-	search tree is _not_ created until the first insertion. This
-	should also fix a bug in main() where I was inserting headers
-	before creating the search tree. Doh.
-	(is_anonymous_enabled): Removed the tests for config.anon and
-	replaced it with a function call which returns a BOOL.
-
-	* Spell checked the ChangeLog file! :)
-
-2001-08-25  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/thread.c (thread_main): Thanks to Hans-Georg Bork for
-	fixing a problem where the status of the threads was not
-	going back to T_WAITING if MaxRequestsPerChild was 0. Also, fixed
-	a problem with the looping system where the Debian
-	start-stop-daemon script would not stop all the threads if new
-	threads had been created.
-
-	* src/log.h (LOG_CONN): Added the LOG_CONN log level. This is less
-	verbose than LOG_INFO.
-
-	* doc/tinyproxy.8: Added the -l option to the list of command line
-	options.
-
-	* src/anonymous.c (anon_insert): Fixed a bug where anonymous
-	filtering wasn't working even if it was specified in the
-	configuration file.
-
-2001-07-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c (versiondisp): Added George Talusan to the
-	copyright message. Also now include the target system name to the
-	version message.
-
-2001-06-24  Robert James Kaes  <rjkaes@flarenet.com>
-
-	Released tinyproxy 1.4.0 (2001-06-24)
-
-2001-06-06  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.in: Total reorganization.
-
-2001-06-04  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.in: Remove the --with-* for port, logfile, and user
-	since the configuration file handles this now. Fixed a problem
-	where we were testing for the libraries correctly, but not
-	actually including them in the linking.
-
-2001-06-02  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* doc/tinyproxy.conf: Clarified the LogLevel directive.
-
-	* configure.in: Fixed up the tests for libsocket, libnsl, and
-	libresolv. Also improved the test for the yacc program since I
-	used bison 1.25 to originally write it. Updated the list of
-	headers to look for when configuring. Bumped up the version.
-
-2001-06-01  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* configure.in: Fixed a problem when using the --with-port= config
-
-	* src/tinyproxy.c (main): Change the logging level from LOG_EMERG
-	(which doesn't exist anymore) to LOG_CRIT.
-
-	* src/scanner.l: Added the strings in the data structure to handle
-	the LogLevel switch.
-
-	* src/log.c (set_log_level): Code for handling selective logging.
-
-	* src/grammar.y: Added the tokens and code for handling the
-	LogLevel switch in the configuration file.
-
-	* configure.in: Added a test for the resolv library for the
-	gethostby* functions. Also bumped up the pre-version.
-
-2001-05-26  Robert James Kaes  <rjkaes@flarenet.com>
-
-	* src/tinyproxy.c (main): Added code to stop the creation of core
-	files.
-
-	* src/reqs.c (process_method): Fixed a memory leak.
-	(relay_connection): Cleaned up the code to remove some unneeded
-	variables and removed redundant code.
-
-	* src/log.c (log_message): Renamed "log()" function to
-	log_message().
-
-	* src/dnscache.c (new_dnscache):
-	* src/anonymous.c (new_anonymous): Fixed the return type.
-
-2001-03-26 00:00  rjkaes
-
-	Released tinyproxy 1.3.3b (2001-03-26)
-
-2001-01-17 00:00  rjkaes
-
-	Released tinyproxy 1.3.3a (2001-01-17)
-
-2001-01-15 12:13  rjkaes
-
-	* configure.in: Bumped up the pre version number
-
-2001-01-15 12:11  rjkaes
-
-	* ChangeLog, src/reqs.c, src/stats.c: Fixed more potential overflow
-	bugs.
-
-2001-01-15 12:06  rjkaes
-
-	* ChangeLog, src/utils.c: Fixed a potential security bug in
-	http_err. There was a possibility of a heap overflow exploit.
-
-2001-01-02 14:30  rjkaes
-
-	* src/scanner.l: Fixed a bug where the ':' character was not being
-	properly detected.
-
-2000-12-09 15:03  rjkaes
-
-	* configure.in: Rolling out the first pre to 1.4.0
-
-2000-12-08 21:35  rjkaes
-
-	* src/thread.c: Implemented the MaxRequestsPerChild directive.
-
-2000-12-07 22:35  rjkaes
-
-	* ChangeLog: Updated changelog
-
-2000-12-07 22:35  rjkaes
-
-	* src/: thread.c, tinyproxy.c: Fixed a problem with polling for the
-	number of active threads. No longer polls. :)
-
-2000-11-22 23:49  rjkaes
-
-	* src/ternary.c: Fixed MACRO error.
-
-2000-11-22 23:46  rjkaes
-
-	* src/tinyproxy.c: Fixed spelling mistake.
-
-2000-11-22 23:46  rjkaes
-
-	* src/: filter.c, filter.h, reqs.c: Changed the filter_host command
-	to filter_url.
-
-2000-10-23 17:47  rjkaes
-
-	* ChangeLog: Updated Information.
-
-2000-10-23 17:46  rjkaes
-
-	* src/ternary.c: In the Key Found code, don't display the string in
-	the debug code since it doesn't exist anymore when we display it.
-	Doh!
-
-2000-10-23 17:44  rjkaes
-
-	* src/tinyproxy.c: Added the initialization section for the DNS and
-	Anonymous sub systems.
-
-2000-10-23 17:43  rjkaes
-
-	* src/: anonymous.c, anonymous.h: Added the new_anonymous
-	initialize routine
-
-2000-10-23 17:42  rjkaes
-
-	* src/: dnscache.c, dnscache.h: Added the new_dnscache routine to
-	initialize the Ternary tree. Also, removed the garbage collection
-	routine.
-
-2000-09-26 01:00  rjkaes
-
-	* ChangeLog: Updated documentation.
-
-2000-09-26 00:59  rjkaes
-
-	* src/dnscache.c: Fixed the insert function to handle a failed
-	insert properly.
-
-2000-09-26 00:59  rjkaes
-
-	* src/: ternary.c, ternary.h: Added the TE_EXISTS return code, and
-	cleaned up the ternary_destroy function.
-
-2000-09-26 00:58  rjkaes
-
-	* src/: tinyproxy.h, utils.h: Moved the safefree() macro to the
-	tinyproxy.h header.
-
-2000-09-26 00:57  rjkaes
-
-	* src/: acl.c, reqs.c: Updated the free() calls to the safefree()
-	calls.
-
-2000-09-21 12:58  rjkaes
-
-	* ChangeLog: Updated documentation.
-
-2000-09-21 12:57  rjkaes
-
-	* src/tinyproxy.c: There is no LOG_EMERG level, so changed to
-	LOG_CRIT.
-
-2000-09-21 12:53  rjkaes
-
-	* src/: log.c, log.h: Added the LOG_NOTICE level.
-
-2000-09-15 16:58  rjkaes
-
-	* src/: grammar.c, grammar.h, scanner.c: These are generated by
-	grammar.y and scanner.l respectively, don't include them in the
-	CVS.
-
-2000-09-15 16:57  rjkaes
-
-	* src/stamp-h.in: Automatically generated file.
-
-2000-09-15 16:55  rjkaes
-
-	* src/Makefile.in, doc/Makefile.in: Don't include automatically
-	generated files.
-
-2000-09-15 16:53  rjkaes
-
-	* install-sh, missing, mkinstalldirs: Don't included automatically
-	generated files.
-
-2000-09-15 16:52  rjkaes
-
-	* Makefile.in, config.guess, config.sub, configure: Flipping again.
-	:) Don't include any of the automatically generated stuff.
-
-2000-09-14 12:41  rjkaes
-
-	* ChangeLog, configure.in, src/tinyproxy.h: Need to do a check for
-	the <stdint.h> header since it's not a standard header available on
-	all systems.
-
-2000-09-12 14:10  rjkaes
-
-	* Makefile.in, doc/Makefile.in, src/Makefile.in: Again, needed for
-	configure script. Automatically built by ./reconf
-
-2000-09-11 20:45  rjkaes
-
-	* config.guess, config.sub: Needed for running configure.
-	Automatically built with reconf
-
-2000-09-11 20:43  rjkaes
-
-	* configure: Can be made from configure.in (and should be), but I
-	want to be able to check out the source and immediately configure
-	it.
-
-2000-09-11 20:22  rjkaes
-
-	* doc/tinyproxy.conf: Example tinyproxy configuration file.
-
-2000-09-11 20:21  rjkaes
-
-	* ChangeLog: We all know what this is. :)
-
-2000-09-11 20:20  rjkaes
-
-	* acinclude.m4: A M4 macro for finding the various types on the
-	system (typedefs, etc.)
-
-2000-09-11 20:18  rjkaes
-
-	* Makefile.am, acconfig.h, configure.in: New defaults, and better
-	checking for various features needed by tinyproxy. Looks like fun!
-	:)
-
-2000-09-11 20:16  rjkaes
-
-	* AUTHORS, BUGS, INSTALL, README, THANKS: Just updating the
-	documentation.
-
-2000-09-11 20:12  rjkaes
-
-	* src/: grammar.c, grammar.h, grammar.y, scanner.c, scanner.l:
-	These all handle reading the tinyproxy configuration file.
-
-2000-09-11 20:10  rjkaes
-
-	* src/: ternary.c, ternary.h: Generalized the ternary code which
-	was already being used in anonymous.* now it can be used (and is
-	used) in both anonymous and dnscache
-
-2000-09-11 20:08  rjkaes
-
-	* src/: acl.c, acl.h: Improved access control semantics. Allows
-	for a finger control for allowing and denying hosts.
-
-2000-09-11 20:07  rjkaes
-
-	* src/: thread.c, thread.h: tinyproxy now uses a pool of threads to
-	handle connections. All the work for creating new threads, deleting
-	old thread, and generally managing the pool is done here.
-
-2000-09-11 20:06  rjkaes
-
-	* src/: stats.c, stats.h: This module handles the various stats
-	relating to tinyproxy's functionality.
-
-2000-09-11 20:04  rjkaes
-
-	* src/: reqs.c, reqs.h: MAJOR RE-WRITE! Read the ChangeLog and look
-	at the source. It's shorter than re-documenting the changes here. :)
-
-2000-09-11 20:03  rjkaes
-
-	* src/: tinyproxy.c, tinyproxy.h: Fixed the change user/group
-	ability.  Log when tinyproxy is using default values rather than
-	specific ones.	Cleaned up the command line arguments since
-	tinyproxy now uses a configuration file.  Removed the USR1 signal
-	and added the thread creation code.
-
-2000-09-11 20:01  rjkaes
-
-	* src/: utils.c, utils.h: Removed the xmalloc() and xstrdup()
-	functions.  Added the pidfile_create() function.  Added the OpenBSD
-	style strlcat() and strlcpy() functions.
-
-2000-09-11 19:57  rjkaes
-
-	* src/: uri.c, uri.h: Switched to the new logging style and
-	replaced the xmalloc() with straight malloc().
-
-2000-09-11 19:56  rjkaes
-
-	* src/: sock.c, sock.h: Needed locking in getpeer_string().  Added
-	mutex locking around the dnscache() call.  Removed the global
-	sockaddr and setup_fd variables.  Added the socket_blocking() and
-	socket_nonblocking() functions.  Gutted the readline() function and
-	replaced it with something similar to the 1.0 version. :)
-
-2000-09-11 19:50  rjkaes
-
-	* src/regexp.h: Moved back to the <config.h> for autoconf defines.
-
-2000-09-11 19:47  rjkaes
-
-	* src/: log.c, log.h: Cleaned up the logging format, and also
-	included logging levels (which are similar to the syslogd format.)
-
-2000-09-11 19:46  rjkaes
-
-	* src/gnuregex.c: Not using <defines.h> for autoconf anymore, so
-	move back to the <config.h> format.
-
-2000-09-11 19:43  rjkaes
-
-	* src/: filter.c, filter.h: Just using standard malloc() since the
-	xmalloc() didn't really add anything useful to the command.
-
-2000-09-11 19:42  rjkaes
-
-	* src/: dnscache.c, dnscache.h: Removed the custom hash routines.
-	Using the ternary module instead.
-
-2000-09-11 19:41  rjkaes
-
-	* src/: buffer.c, buffer.h: Cleaned up the source so that the
-	internal structure is no exposed by the buffer.h header.
-
-2000-09-11 19:38  rjkaes
-
-	* src/: anonymous.c, anonymous.h: Removed the ternary tree code
-	from these files and made it a separate module.
-
-2000-09-11 19:37  rjkaes
-
-	* src/Makefile.am: Modified to include all the files needed to
-	build tinyproxy, plus the special targets for building the LEX and
-	YACC files. (Also included the GNU license.)
-
-2000-09-11 19:33  rjkaes
-
-	* doc/tinyproxy.8: Since the tinyproxy program has changed, the
-	manual had to change as well.  Documents all the command line
-	arguments, though I think I need to document the configuration file
-	as well.
-
-2000-09-11 19:32  rjkaes
-
-	* doc/: Makefile.am, TODO: Updated to reflect the new reality of
-	the tinyproxy source code.
-
-2000-09-11 19:31  rjkaes
-
-	* doc/CONFIG: This was the layout for the purposed config file.
-	This is no more.
-
-2000-09-11 19:27  rjkaes
-
-	* INSTALL.configure: This was the generic INSTALL file, but the
-	INSTALL file itself is again the generic file. :)
-
-2000-09-11 19:24  rjkaes
-
-	* src/: config.h, conns.c, conns.h: These files are no longer used
-	within tinyproxy.
-
-2000-06-06 13:58  rjkaes
-
-	* ChangeLog: Reflect changes made in source.
-
-2000-06-06 13:56  rjkaes
-
-	* doc/tinyproxy.8: Fixed the links for finding tinyproxy. Thanks to
-	Simon Baker for pointing this out.
-
-2000-04-26 12:31  rjkaes
-
-	* ChangeLog, src/dnscache.c, src/uri.c: Reorganized (or added) the
-	#include <sys/types.h> line so tinyproxy would compile cleanly on
-	FreeBSD systems.
-
-2000-04-03 00:00  rjkaes
-
-	Released tinyproxy 1.3.3 (2000-04-03)
-
-2000-03-31 17:55  rjkaes
-
-	* ChangeLog, src/reqs.c: Fixed a bug with the path in clientreq. If
-	the path was empty it caused a malformed request to be sent.
-
-2000-03-31 15:15  rjkaes
-
-	* ChangeLog: A whole whack of changes and bug fixes.
-
-2000-03-31 15:14  rjkaes
-
-	* src/Makefile.am: Added a line for the anonymous.* files.
-
-2000-03-31 15:14  rjkaes
-
-	* src/config.h: Changed the socket time out to 10 secs.
-
-2000-03-31 15:13  rjkaes
-
-	* src/reqs.c: Updated the anonheader function to use the new
-	anonymous API. Removed the hack for the POST method in clientreq.
-
-2000-03-31 15:10  rjkaes
-
-	* src/sock.c: Completely rewrote the readline function.
-
-2000-03-31 15:09  rjkaes
-
-	* src/: buffer.c, buffer.h: Added the working_* fields as a scratch
-	pad for readline().
-
-2000-03-31 15:08  rjkaes
-
-	* src/: tinyproxy.c, tinyproxy.h: Removed the allowedhdr_s
-	structure since it is now accessed through anonymous.*
-
-2000-03-31 14:56  rjkaes
-
-	* src/: anonymous.c, anonymous.h: Moved the anonymous header code
-	into it's own file to make it easier to update.
-
-2000-03-29 11:19  rjkaes
-
-	* ChangeLog: Updated to list changes in src/reqs.c and
-	src/dnscache.c
-
-2000-03-29 11:18  rjkaes
-
-	* src/dnscache.c: Included the <sys/types.h> header.
-
-2000-03-29 11:17  rjkaes
-
-	* src/reqs.c: Fixed a bug with the clientreq function which was
-	incorrectly setting the clientheader flag and causing _all_ headers
-	to be sent even in anonymous mode.
-
-2000-03-28 11:44  rjkaes
-
-	* ChangeLog: Updated ChangeLog entry for new fix.
-
-2000-03-28 11:41  rjkaes
-
-	* src/reqs.c: Fixed another NULL bug with the uri->authority. If an
-	badly formed request was made in the form of
-	http:\\www.somewhere.com/ tinyproxy would SEGV.  This has been
-	corrected.
-
-2000-03-28 11:21  rjkaes
-
-	* ChangeLog: Updated to reflect changes in src/reqs.c
-
-2000-03-28 11:19  rjkaes
-
-	* src/reqs.c: Fixed a NULL pointer bug in clientreq. If the SCHEME
-	in the URL was NULL the program would SEGV. This was caused by the
-	error logging code.
-
-2000-03-12 19:56  rjkaes
-
-	* src/config.h: Remove the defines for DEFAULT_* and UPSTREAM
-	(they've been moved into acconfig.h and configure).
-
-2000-03-12 19:55  rjkaes
-
-	* ChangeLog: List all the changes which has occurred on the program.
-
-2000-03-11 15:43  rjkaes
-
-	* acconfig.h: Added the support for the upstream proxy and also
-	made the defaults for the LOGFILE, USER, and PORT.
-
-2000-03-11 15:37  rjkaes
-
-	* src/: dnscache.c, reqs.c, tinyproxy.c, tinyproxy.h: Included the
-	changes needed to re-add the upstream proxy option.
-
-2000-03-11 15:36  rjkaes
-
-	* doc/tinyproxy.8: Updated the manual to reflect all the options,
-	plus provide additional information concerning the changes made to
-	some of the options.
-
-2000-03-11 15:35  rjkaes
-
-	* configure.in: Re-ordered some of the arguments.  Included the
-	support for the Upstream Proxy.
-
-2000-03-11 15:34  rjkaes
-
-	* src/: Makefile.in, defines.h.in: Once again, these files are made
-	automatically, don't include them.
-
-2000-03-11 15:33  rjkaes
-
-	* doc/Makefile.in: Again, the file is generated automatically, so
-	don't include it.
-
-2000-03-11 15:32  rjkaes
-
-	* Makefile.in, aclocal.m4, configure: These files are generated by
-	reconf, so don't include them in the CVS.
-
-2000-02-16 12:32  sdyoung
-
-	* AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
-	NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
-	acconfig.h, configure, configure.in, install-sh, missing,
-	mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
-	src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
-	src/buffer.h, src/config.h, src/conns.c, src/conns.h,
-	src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
-	src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
-	src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
-	doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
-	src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
-	doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
-	Initial revision
-
-2000-02-16 12:32  sdyoung
-
-	Released tinyproxy 1.3.2 (2000-02-16)
-
-	* AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
-	NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
-	acconfig.h, configure, configure.in, install-sh, missing,
-	mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
-	src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
-	src/buffer.h, src/config.h, src/conns.c, src/conns.h,
-	src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
-	src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
-	src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
-	doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
-	src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
-	doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
-	Initial CVS checking of tinyproxy - version 1.3.2.
-
-1999-12-24 20:33  sdyoung
-
-	Released tinyproxy 1.3.1
-
-1999-12-03 23:21  sdyoung
-
-	Released tinyproxy 1.3.0 (1999-12-03 unconfirmed)
-- 
cgit v1.2.3