2006-12-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.5.6 released.

2006-12-12  A.D.F  <adefacc@tin.it>

	* cherokee/buffer.c: 
	- fixes to cherokee_buffer_ensure_size();
	- add 1 to a few cherokee_buffer_ensure_size() calls,
	  in order to always reserve space
	  for buffer / string terminator '\0'.

	* cherokee/handler_file.c: 
        - add a cherokee_buffer_ensure_size(buffer, 288)
	  to cherokee_handler_file_add_headers(),
	  in order to avoid too many reallocations
	  (now none for 99.99% of responses);

	  this modification speed up Cherokee by over 1.5%
	  when serving small files ( < 2KB)
	  with 200 or 304 responses.	

	* cherokee/handler_error.c:
	- add two calls to cherokee_buffer_ensure_size()
	  in order to avoid too many reallocations;

	  this modification speed up Cherokee by over 4%
	  when answering with 404 error message
	  (3020 -> 3150 responses / sec.).	
	
2006-12-11  A.D.F  <adefacc@tin.it>

	- BSD compilation fixes (macros.h, etc.);

	- socket.c
           - cherokee_socket_write() rename variable name
	     (_nwritten -> nwr);

        - iocache.c
	   - fix a memory leak.
	
2006-11-14  A.D.F  <adefacc@tin.it>

	* cherokee/socket.c: add two new constants (MAX_SF_BLK_SIZE and
	MAX_SF_BLK_SIZE2) (max. sendfile block size) to limit size of data
	sent by each sendfile call, because this trick can improve things
	a lot on small or old systems (FreeBSD 4.x, Linux 2.2, etc.),
	specially when network speed is higher than disk speed;

          NOTE: right now default is set to 1 MB
                which should be good even for 99.99% of systems
                (i.e. up to 10-50 GB / sec. of disk I/O).

        - cherokee_socket_sendfile():
          - if size of data to be sent is 0 then return
            without calling sendfile;

          - limit size of data to a value between
	    MAX_SF_BLK_SIZE and MAX_SF_BLK_SIZE2;

          - fix FreeBSD return error handling,
            only (re) variable has to be tested for error value,
            return ret_eagain only if errno == EAGAIN && *sent == 0.

2006-11-03  A.D.F  <adefacc@tin.it>

	* cherokee/thread.c: assign http version 1.1 to header.version,
	  instead of header.method. Backported from alo's patch in Trunk.

	* cherokee/handler_error.c: build_hardcoded_response_page(), fix a
	memory leak (on bad_request).

2006-10-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* README, cherokee/handler_server_info.c (PAGE_HEADER),
	http-cherokee.xml, SUNWcherokee.spec (Source),
	sites-default.sample.pre, cherokee.spec.in (URL), cget.1,
	cherokee.1, cherokee_logrotate.1,cherokee/cherokee-panic (action),
	qa/023-Host.py, qa/024-Host+Port.py, qa/046-Redir.py,
	qa/128-ValidMethod-common.py, qa/134-HTTP_headers.py,
	www/index.html: Domian changed. 0x50.org is no longer the
	project's domain, from now on it's cherokee-project.com.

2006-10-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (update_bogo_now): Date header wasn't
	generated because of an error in the logic. Fixed.

	* doc/develop/Makefile.am (EXTRA_DIST),
	doc/develop/draft-coar-cgi-v11-03.txt, doc/develop/rfc1952.txt,
	doc/develop/rfc2616.txt, doc/develop/rfc2817.txt : Removed
	RFCs. It's non-free content.

2006-09-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_scanner.l: Added support for local paths.
	Eg: ../example

	* qa/run-tests.py (CONF_BASE): Now, it uses the example mime types
	file instead of the system one.

	* cherokee/server.c (update_bogo_now): Partially rewritten.

2006-09-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (update_bogo_now): Date string fixed.  It was
	sending "GMT--5" instead of "GMT-5".

	* cherokee/handler_error.c (cherokee_handler_error_add_headers):
	Management of http_range_not_satisfiable has been improved. 

	* cherokee/handler_file.c (cherokee_handler_file_add_headers): It
	was sending an incorrect Content-Range header. Fixed.

	* qa/054-ContentRange.py, qa/055-ContentRange2.py,
	qa/056-ContentRange3.py, qa/057-ContentRange4.py,
	qa/058-ContentRange-Double.py, qa/059-ContentRange-Double2.py:
	These tests were wrong. Fixed.

	* cherokee/socket.c (cherokee_socket_sendfile): Updated.

	* qa/Makefile.am (test): Test rule removed.

2006-09-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Cherokee 0.5.5 released.

2006-09-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/http.c (cherokee_http_code_copy): add missing
	http_request_entity_too_large. In case of unknown status code now
	500 code. Patch by A.D.F.

	* cherokee/buffer.c (cherokee_buffer_cnt_spn,
	cherokee_buffer_cnt_cspn): It is safer if these are functions
	rather than macros. Converted.

	* cget/Makefile.am (INCLUDES): Fixed minor compilation issue.

	* cherokee/cherokee_admin.c, cherokee/cherokee_logrotate.c:
	Compilation fix, add include config.h. Patch by A.D.F.

	* cherokee/handler_file.c: Fix comparison of ETag and
	If-Modified-Since header fields for HTTP 304 responses. Other
	changes to handle 304 responses properly with all required
	headers, etc.  Patches by A.D.F, reworked by me.

	* cherokee/handler_file.c: Fix formatting of ETag string both in
	check_cached() and *_add_headers(). Patch by A.D.F.

	* cherokee/handler.h: Added not_modified field

	* cherokee/macros.h: New FMT_OFFSET_HEX define. Patch by A.D.F.

	* cherokee/macros.h: New macros equal_str() and equal_buf_str().
	
2006-09-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (process_active_connections):
	process_active_connections(), add tests for HTTP 5xx errors too.

	* cherokee/socket.c: Increase the amount (256 -> 4096) of data
	read when cherokee_read() is called with buffer == NULL; this
	should lower the risk to reset connection because not all data has
	been read in linger mode. Patch by A.D.F.

	* cherokee/handler_error.c: don't generate a body for HTTP
	responses which are not allowed to have it. don't send unrelated
	HTTP headers in case of a 304 response: which should be managed by
	other handlers. Patch by A.D.F

	* cherokee/http.h: New macro http_code_with_body

	* configure.in: Adds _GNU_SOURCE definition to config.h whether
	it's compiling with Glibc.  Patch backported by A.D.F

2006-08-23  A.D.F  <adefacc@tin.it>

	* advanced.conf.sample.pre: Typo fixed.  ListenQueue was meant to
	be ListenQueueSize.

2006-08-09  A.D.F  <adefacc@tin.it>

	* cherokee/header.c: Now the header parser accepts multi-line
	values.

	* cherokee/macros.h: Some new macros has been added to replace
	literal strings like '\r' or '\r\n\r\n'.
	
2006-08-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_add_version): A little clean
	up.

2006-08-09  A.D.F  <adefacc@tin.it>

	* cherokee/tdate_parse.c: Quite big performance patch has been
	applied.

2006-08-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/common-internal.h: endian.h was being included twice.
	Fixed.

2006-08-07  A.D.F  <adefacc@tin.it>

	* cherokee/handler_cgi_base.c, cherokee/request.c,
	cherokee/common-internal.h, cherokee/handler_file.c,
	cherokee/handler_remote_control.c, cherokee/handler_webcam.c,
	cherokee/connection.c, cherokee/server.c: Some call to
	cherokee_buffer_add() have been replaced by
	cherokee_buffer_add_str()

2006-08-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_redir.c, cherokee/handler_error_redir.c,
	cherokee/handler_server_info.c, cherokee/handler_admin.c,
	cherokee/handler_dirlist.c, cherokee/handler_nn.c,
	cherokee/handler_common.c, cherokee/validator_plain.c,
	cherokee/validator_htpasswd.c, cherokee/handler_file.c,
	cherokee/handler_fcgi.c, cherokee/handler_fastcgi.c,
	cherokee/handler_scgi.c, cherokee/handler_cgi.c,
	cherokee/validator_htdigest.c, cherokee/handler_phpcgi.c,
	cherokee/validator_pam.c: Moved to use the new modules
	initialization macros.
	
	* cherokee/module.h (HANDLER_MODULE_INFO_INIT_EASY,
	VALIDATOR_MODULE_INFO_INIT_EASY): Added two new convenient macros.

	* cherokee/socket.c (cherokee_socket_init_client_tls): gcc-2.95
	compilation fix.

2006-08-03  A.D.F  <adefacc@tin.it>

	* cherokee/header.c: Removed strsep() definition. 

	* cherokee/util.h: Added strsep() and strcasestr() prototypes.

	* cherokee/fdpoll-select.c: Added missing include sys/time.h.

	* cherokee/module.h (HANDLER_MODULE_INFO_INIT,
	VALIDATOR_MODULE_INFO_INIT): Fixed to be compilator neutral.
	
2006-07-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c (cherokee_readdir): Windows compilation
	fixed. Patch by Philip Pemberton <philpem@dsl.pipex.com>

2006-07-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_phpcgi.c: Added two new default values for
	RedHat/Fedora.

2006-07-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.5.4: Released

2006-07-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y (port, port_tls): Added check to
	ensure that the port number is valid. Bug reported by A. Alejandro
	Hernández Hernández <nitrousenador@gmail.com>

2006-07-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/avl/avl.c, cherokee/avl/avl.h,
	cherokee/session_cache.c, cherokee/table.c: Many functions renamed
	to avoid a name confict in Solaris 11.

2006-07-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (process_active_connections): The
	authentication wasn't working with the root directory because it
	wasn't copying all the information needed from the default
	handler. Fixed. Reported by Jose Parrella <joseparrella@cantv.net>

2006-06-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/run-tests.py: Added a little delay while launching the
	threads. The objective is to resynchronize the threads.

	* cherokee/util.c (cherokee_split_pathinfo): There was a case in
	which it could end up reading a byte out of memory.

2006-06-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_common.c, cherokee/iocache.c: Reference counter
	fixed up.
	
	* cherokee/handler_redir.c: There was an initialized variable,
	that could become a problem in some weird situations.
	
2006-05-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/http.c, cherokee/http.h: Added HTTP error code 303:
	"See other".

2006-05-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/135-RedirParams.py, qa/Makefile.am: Added new QA tests in
	order to ensure previous bug is fixed. It should detect possible
	regression is the future as well.

	* cherokee/handler_redir.c, cherokee/reqs_list.c,
	cherokee/header.c, cherokee/header.h, cherokee/util.c,
	cherokee/util.h, cherokee/connection.c,
	cherokee/reqs_list_entry.h: Fixed a redir handler problem. In some
	situations, it was failing to redirect URLs with multiple
	parameters. Reported by Xuzo, Ubuntu-es. 

2006-04-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/094-URL-request.py (Test.Prepare): Fixed.

	* cherokee/handler_dirlist.c (generate_file_entry): Tiny memory
	leak.

	* configure.in, cherokee/module_loader.c (dylib_open): Native
	MacOS X compilation fixed.  It was trying to use .dylib rather
	than .so in the modules filename.

2006-04-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.5.2 released

	* SUNWcherokee.spec: Updated

	* cherokee/thread.c (process_active_connections): There was an
	unhandler error case here. It was the source of some stability
	problems detected in 0.5.1.  This problem was reported by Cesar
	Fernandez and Rodolfo Pilas (thanks guys!)

2006-04-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y, cherokee/server-protected.h,
	cherokee/module_read_config.c, cherokee/server.c: It was failing
	to load more than one MimeFile.

	* cherokee/handler_dirlist.c (cherokee_handler_dirlist_add_headers):
	Added charset entry into Content-Type header.

2006-04-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/main.c (common_server_initialization): PID file must to
	written before the server changes its user identity.

	* cherokee.1, cherokee_logrotate.1, doc/develop/Intro.txt, README,
	sites-default.sample.pre, windows/cherokee.nsi.in: URL poiting to
	alobbs.com has been fixed to point to 0x50.org.  Patch by Gunnar
	Wolf <gwolf@gwolf.org>

2006-04-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/table.c (del_item): It is no longer an inline'd
	function.  There are some broken versions of gcc (or binutils, I
	don't know) that don't handle it correctly.  Patch by David Kimpe
	<DNAku@frugalware.org>

	* 0.5.1 released

2006-04-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_error.c (build_hardcoded_response_page): Fixed
	Cross Site Scripting bug discovered by Ruben Garrote Garcia.

2006-04-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c (cherokee_gethostbyname): Fixes segfault.

	* cherokee/connection.c (get_host): Little clean up.

	* cherokee/handler_error.c (build_hardcoded_response_page): It was
	missing a break. Patch by Philip Pemberton <philpem@dsl.pipex.com>

2006-03-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.spec.in: Fixed extra space. Reported by
	rui.lapa@ruilapa.net

2006-03-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_envp):
	Under some circumstances it was trying to access NULL. Fixed by
	olivier-ml1@oleastre.be

2006-03-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/ext_source.c (cherokee_ext_source_spawn_srv): Cleaned
	up. olivier-ml1@oleastre.be reported problems compiling on Win32
	because of a bunch of includes I forgot after some tests.

	* cherokee/buffer.c (cherokee_buffer_print_debug): Improved by
	olivier-ml1@oleastre.be.

2006-03-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fcgi.c (cherokee_handler_fcgi_free): Memory
	leak. Fixed.

	* cherokee/header.c (cherokee_header_parse): Partially
	rewritten. It should be slightly faster.  Some headers were added
	as known as well.

	* qa/134-HTTP_headers.py: New test to check HTTP_* headers inside
	in cgi_base based handlers.

	* cherokee/header.h, cherokee/header.c,
	cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	From now on, "Cookie: " is a known header.

	* qa/042-Pipelining.py, qa/043-Pipelining2.py: Fixed. It was using
	"Connection-type: " instead of "Connection: "

	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	Added HTTP_ACCEPT header.

	* cherokee/socket.c: fd 0 is okay.  Fixed.

2006-03-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi_base.c, cherokee/handler_cgi_base.h,
	cherokee/ext_source.c, cherokee/read_config_grammar.y,
	cherokee/handler_fcgi.c: Many thing fixed in here.  Some
	environment variables were fixed. New code to signal the FastCGI
	that it is certainly a Fastcgi, and some clean up.

2006-03-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fcgi.c (process_package): Quite important bug
	fix. It wasn't taking in consideration the padding when it was
	checking if the fastcgi package was big enough to be processed.

2006-03-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	Added some aditional headers: HTTP_IF_RANGE,
	HTTP_IF_MODIFIED_SINCE, HTTP_AUTHORIZATION and
	HTTP_ACCEPT_ENCODING.

	* cherokee/read_config_scanner.l,
	cherokee/read_config_grammar.y (fix_win32_path): The space
	character wasn't allowed in Win32 paths. Fixed. Patch by
	olivier-ml1@oleastre.be

	* cherokee/header.h, cherokee/header.c: Losing some fat..
	cherokee_header_foreach() removed.

	* cherokee/header.h, cherokee/header.c,
	cherokee/handler_file.c (check_cached): Yet another header
	promoted to known: "If-Modified-Since"

	* cherokee/handler_file.c (check_cached): Fixed. "If-None-Match"
	is a known header, I made this change yesterday.

	* cherokee/header.h, cherokee/header.c (cherokee_header_parse),
	cherokee/connection.c: "Authorization" promoted to known header.

	* cherokee/logger_w3c.c: Removed a static method array that was
	used to look up the name of the http method used in the
	connection.  Now, it uses cherokee_http_method_to_string().

	* cherokee/handler_cgi_base.c, cherokee/validator.c,
	cherokee/thread.c, cherokee/handler_file.c, cherokee/header.c,
	cherokee/header.h, cherokee/handler_fcgi.c,
	cherokee/handler_fastcgi.c, cherokee/logger_ncsa.c,
	cherokee/handler_error.c, cherokee/handler_cgi.c,
	cherokee/connection.c, cherokee/logger_w3c.c,
	cherokee/connection-protected.h: con->header is no longer dynamic,
	now it is embedded inside the connection object.

	* cherokee/connection-protected.h, cherokee/connection.c,
	cherokee/handler_cgi_base.c, cherokee/handler_dirlist.c,
	cherokee/thread.c, cherokee/handler_file.c,
	cherokee/logger_ncsa.c, cherokee/handler_error.c,
	cherokee/connection_info.c, cherokee/url.c: Now conn->socket is
	embedded inside connection. It does not logger use a _new/_free
	object.

	* cherokee/icons.c (cherokee_icons_get_icon): It was using a case
	sensitive search for the extension, but it does much more sense to
	do a case insensitive search. Changed.

	* cherokee/table.h, cherokee/table.c (cherokee_table_init_case):
	Added new method. If performs searches on the tree using
	strcasecmp rather than strcmp.

2006-03-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am: Applied a patch to compile Win32 modules,
	by olivier-ml1@oleastre.be

	* configure.in: Added check for the getopt.h header file.

	* cherokee/handler_redir.c, cherokee/handler_server_info.c,
	cherokee/handler_dirlist.c, cherokee/handler_file.c,
	cherokee/handler_error.c, cherokee/connection.c: Some clean up.
	There were many cherokee_buffer_add() calls with hardcoded
	lenghts.  I have changed them for cherokee_buffer_add_str calls.

	* cherokee/handler_file.c (check_cached): Fixed to work with
	If-Range as a known header.

	* cherokee/header.c (cherokee_header_parse): Little hack to
	slightly speed up the header parsing.

	* qa/133-If-None-Match.py, qa/Makefile.am: Added new test. It
	checks the HTTP_IF_NONE_MATCH.

	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	Now it adds HTTP_IF_NONE_MATCH.

	* cherokee/header.h, cherokee/header.c (cherokee_header_parse):
	Added support of If-Range and If-None-Match headers.

	* cherokee/buffer.c (cherokee_buffer_drop_endding): Added a little
	sanity check. It isn't possible to drop negative amounts.

	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	Bug fix.  It was setting SERVER_NAME twice.

	* cherokee/module.h, cherokee/validator_plain.c,
	cherokee/read_config_grammar.y, cherokee/validator_htpasswd.c,
	cherokee/validator_htdigest.c, cherokee/validator_pam.c: Added a
	check in the configuration parser to ensure that the
	authentification method are supported by the validators. It closes
	bug #55.
	
	* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
	Bug fix.  It was setting the SERVER_NAME variable with the colon
	and the port number.  Patch by olivier-ml1@oleastre.be

2006-03-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/132-file-ContentType.py: Added another QA probe. It tests
	that the Content-Type header is sent properly.

	* qa/131-ChangeUser-phpcgi.py: Added new test. It checks the
	ChangeUser property of the phpcgi handler.

	* qa/130-Digest-EmptyPasswd.py: Added new test to ensure Digest
	authentication works with emtpy passwords.

	* cherokee/handler_fcgi.c, cherokee/handler_fcgi.h: Added new
	handler.  It implements a very basic FastCGI protocol.. a so small
	subset of the original spec that is even supported by the brain
	death implementation of the PHP interpreter.

	* qa/129-Basic-EmptyPasswd.py: Added new test case to ensure
	previous bug is fixed.

	* cherokee/validator_plain.c (cherokee_validator_plain_check): Bug
	fix.  It was crashing it the password provided by the client was
	emtpy.

	* qa/040-Auth-Basic2.py: The Base64 string is not longer hardcoded

2006-03-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.h, cherokee/socket.c (cherokee_socket_init,
	cherokee_socket_mrproper): Added new methods.

2006-02-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/run-tests.py: Added new option -f to disable PHP/FastCGI in
	the QA tests. By default it's enabled.

	* cherokee/handler_fastcgi.c (send_post): Post greater than 64k
	were broken. Now, it splits the post in smaller FCGI packages in
	order to be able to send it all.

	* cherokee/post.c, cherokee/post.h (cherokee_post_walk_finished):
	Added new function.

	* cherokee/handler_file.h, cherokee/handler_file.c: Fixes "IOCache
	off".

2006-02-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (cherokee_thread_close_polling_connections):
	New function.

2006-02-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (process_active_connections): Lingering close
	related bug fixed.

2006-02-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_embedded.c, cherokee/handler_common.c,
	cherokee/handler_file.c, cherokee/Makefile.embedded: There were
	some problem with the IOCache in the embedded version.  This patch
	fixes them.

	* cherokee/read_config_embedded.c (cherokee_embedded_read_config):
	I must use the default handler entry in the virtual server
	structrure rather than the "/" directory.  Fixed.

	* config.h.win32: Patch by Gisle Vanem <giva@bgnett.no>

2006-02-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fastcgi.c (send_post): Oops! I forgot to
	implement the POST. O:-)

	* cherokee/socket.c: A few little problem were fixed.

2006-02-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (fork_and_execute_cgi_win32): A few bug
	were fixed.

	* cherokee/handler_redir.h, cherokee/handler_redir.c: is_hidden
	must be a property of each regex entry rather than a global
	property to the handler. It fixes bug #42.

2006-02-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/122-Methods.py: There were some wrong paths in these
	requests. Fixed.

	* qa/128-ValidMethod-common.py, qa/Makefile.am (EXTRA_DIST): Added
	a new test case to cover the previous bug fix.

	* cherokee/handler_common.c: valid_methods should be
	http_all_methods.  This handler relays in other ones, so the final
	handler should be the one which checks it.

2006-02-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y: A few checks for Win32 paths
	were added.

2006-02-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.nsi, configure.in: Added new file

	* handler_gnomevfs.h handler_gnomevfs.c, cherokee/Makefile.am,
	configure.in: Gnome-VFS stuff removed.  We are not longer
	supporting it.

2006-02-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y (fulldir): The grammar now uses
	the rule fulldir instead of the T_FULLDIR token. This has allowed
	me to fix up the paths on Windows.

2006-02-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/macros.h: Added SLASH macro.

	* cherokee/fdpoll.c (cherokee_fdpoll_new): If it has Win32 select,
	don't try to use the common select as well.

	* configure.in: Added check for the new Win32 select.

	* cherokee/fdpoll-win32.c, cherokee/Makefile.am,
	cherokee/fdpoll.c (cherokee_fdpoll_new, cherokee_fdpoll_best_new):
	Added new I/O backend for Windows.

	* cherokee/fdpoll.c (cherokee_fdpoll_has_method): Removed.

	* cherokee/win32_misc.c (win_init): Added atexit to call
	WSACleanup().  Is it really needed? I have no idea!

2006-01-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/win32_misc.c (win_dlopen): Patch for dlopen(NULL) on
	Windows. By Gorka Eguileor Gimeno <gorka@eguileor.com>

	* qa/126-SCGI.py, qa/127-SCGI-Post.py, qa/Makefile.am: Added new
	couple of QA tests for SCGI.

2006-01-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/ext_source.h, cherokee/ext_source.c: Many changes to
	share code between the FastCGI and SCGI handlers.

	* cherokee/handler_cgi.c, cherokee/handler_cgi.h: This handler is
	now based on handler_cgi_base.

	* cherokee/handler_cgi_base.c, cherokee/handler_cgi_base.h: New
	class.  It is the base for the handler CGI and SCGI.

	* cherokee/handler_cgi.h, cherokee/handler_cgi.c,
	cherokee/Makefile.am: New handler for SCGI!
	
2006-01-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cget/main.c (do_download__has_headers): It has to use strrchr()
	instead of rindex(). Fixed.

	* cherokee/server.c (initialize_server_socket6,
	initialize_server_socket4): Socket #0 is okay. The check was
	wrong.

	* cherokee/macros.h (CHEROKEE_EXPORT): New macho for Win32
	defining __declspec(dllexport).

	* cherokee/module_read_config.c (read_config_file): Use
	CHEROKEE_EXPORT.  The server has to be able to discover this
	symbol at run time.  In Win32 it is mandatory to use a flag for
	this.
	
	* cherokee/win32_misc.h, cherokee/win32_misc.c (sleep):
	Implemented sleep() system call for Win32.

	* cherokee/handler_dirlist.c (generate_file_entry): User PATH_MAX
	is _PC_NAME_MAX is undefined (in Win32).

	* cherokee/ncpus.c: Don't use this function in Win32.  There is
	port on win32_misc.c.

2006-01-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_accept_fd): 0 is a valid file
	descriptor. There is no problem if accept() returns it. Fixed. It
	fixes bug #12: http://www.0x50.org/bugs/ticket/12

	* cherokee/util.c (cherokee_trace): Now, it can log the debugging
	information in syslog.  It is handy for debugging the server when
	it has been launched as daemon (-b switch).

	* cherokee/util.c (cherokee_estimate_va_length): Added support for
	%p entries.

2006-01-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* http-cherokee.xml: Added SMF support, by Rodrigo
	Fernandez-Vizarra <rfdzvizarra@yahoo.ie>

	* SUNWcherokee.spec: Updated. by Rodrigo Fernandez-Vizarra
	<rfdzvizarra@yahoo.ie>

	* contrib/cherokee: Bugfix by Alex del Pozo Peralta
	<jdep0016@almez.pntic.mec.es>

2006-01-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y (pidfile), cherokee/server.h,
	cherokee/server.c (cherokee_server_write_pidfile),
	cherokee/main.c (common_server_initialization): Now it writes down
	the pid file after forking as a daemon.

2006-01-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_connect): Now there are two
	cases for the connect call: with and without IPv6.  Solaris was
	failing (EINVAL) because the last argument (the size) was too big.

	* cherokee/macros.h: CHEROKEE_FUNCTION_NAME macro removed in favor
	of the C99 __func__ variable.

	* configure.in: Added checks for __func__ and __FUNCTION__.

	* qa/067-PathInfo.py: Added a comment about a bug in the current
	version of PHP5 which affects this test.

	* qa/066-DirectoryIndex3.py (Test.Prepare, Test.Precondition): It
	wasn't using the Interpreter entry in the test configuration. It
	is mandatory for the tests. Fixed.

	* cherokee/handler_phpcgi.c (cherokee_handler_phpcgi_new): Fixed a
	potential SEGFAULT printing the error message.

	* qa/run-tests.py (mainloop_iterator): Little fix. It was failing
	to test the preconditions in quiet mode (-q).

	* qa/045-Home2.py (Test.Precondition): There was a little typo
	here: f.close rather f.close(). It wasn't closing the descriptor.

	* configure.in, cherokee/socket.c: Added a check for systems with
	a broken version of setsockopt (SO_RCVTIMEO): SO_RCVTIMEO is
	defined but unimplemented.

	* cherokee/buffer.c (cherokee_buffer_escape_html): It was an out
	by one here. Seems to be fixed now.

	* cherokee/util.c (cherokee_short_path): After each removed block
	it was coming back too much, which in some cases was causing it go
	out of the buffer. Fixed.

	* cherokee/handler_cgi.c (parse_header): It should access directly
	to conn->header_buffer. There is local variable called "buffer"
	for that. Actually, is the same buffer, but it is cleaner in this
	way.

	* qa/run-tests.py: Now the -d option (pause for attach a debugger)
	accepts a number as argument.. it is really handy :-)

	* configure.in: poll() took over port event in Solaris time ago,
	but the configure information wasn't showing it like that.

2006-01-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_redir.c, cherokee/virtual_server.c,
	cherokee/virtual_server.h, cherokee/config_entry.c,
	cherokee/config_entry.h, cherokee/read_config_grammar.y,
	cherokee/thread.c, cherokee/connection.c, cherokee/dirs_table.c,
	cherokee/connection-protected.h, configure.in,
	qa/117-DomainToDir.py, qa/124-DomainToDir2.py, qa/Makefile.am,
	qa/123-ImplicitRedit.py, qa/base.py, qa/115-Respin.py: This big
	commit targets a healthier dirs_table and web_directory
	management.  It adds a new default handler entry in each virtual
	host, and takes care about redirect the requests that are equal to
	any the directory entries if it don't end with a slash.  This
	patch has also changed the way in which the directories are stored
	in the table: now they never end with a slash.  A positive side
	effect of this is that it will do less look-ups in each request.
	
	* cherokee/icons_grammar.y: Fixed shift/reduce conflict.  Reported
	by Rodrigo Fernandez-Vizarra <rfdzvizarra@yahoo.ie>.  This fix
	allows to generate the scanner using Lex (in addition to Flex).

	* cherokee/handler_dirlist.c (generate_file_entry): Bugfix.  It
	was using _PC_NAME_MAX like a constant with the maximun length
	rather than call to pathconf(). It was causing a Segment Fault on
	OpenSolaris.

2006-01-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_gethostbyname): Wrong
	conditional compilation entry fixed.  Patch by
	olivier-ml1@oleastre.be

	* 0.4.30 released

2006-01-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Makefile.am (EXTRA_DIST): Changed the old Blastwave compilation
	scripts for a CBE spec file (by Damien Carbery)

	* cherokee/handler_file.c (cherokee_handler_file_add_headers):
	uCherokee compilation fix.

	* cherokee/typed_table.h,
	cherokee/typed_table.c (cherokee_typed_table_set_free): Added new
	function.

	* configure.in: Added tar-ustar to AM_INIT_AUTOMAKE. It doesn't
	need to create tar v7.

	* cherokee/fcgi_manager.c (process_buffer): strndup() is
	unimplemented in both OpenSolaris and BSDes. I have replaced the
	code which was using strndup() a couple of call to the
	cherokee_buffer_*() API.

	* configure.in: It uses printf rather than echo and sed in order
	to fix a compilation problem in OpenSolaris and BSD machines:
	http://www.0x50.org/bugs/ticket/10
	
2006-01-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c (cherokee_trace): Little improvement. I was
	calling getenv many times if the TRACE_ENV variable wasn't set.
	Now, it does it only once.

	* cherokee/fcgi_manager.c (connect_to_srv): Now the socket opened
	to the FastCGI is set in non-blocking mode.

	* cherokee/handler_fastcgi.c (cherokee_handler_fastcgi_step,
	cherokee_handler_fastcgi_add_headers): Integrated with the
	connection polling list.

2006-01-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fastcgi.c (cherokee_handler_fastcgi_add_headers):
	If the connection could write the request to the server, but it
	has an ret_error trying to read the reply, it means it must launch
	a new one.

	* cherokee/fcgi_manager.c, cherokee/fcgi_manager.h,
	cherokee/read_config_grammar.y, cherokee/fastcgi-common.c,
	cherokee/fastcgi-common.h, cherokee/handler_fastcgi.c,
	cherokee/handler_fastcgi.h: Added support for setting environment
	variables on the FastCGI process.

	* cherokee/fastcgi-common.c (cherokee_fcgi_server_add_env): Added
	new function.

	* cherokee/handler_fastcgi.c, cherokee/fcgi_manager.c, ,
	cherokee/fcgi_manager.h: Some FastCGI fixes by Mohammad DAMT.

	* cherokee/handler_fastcgi.h,
	cherokee/handler_fastcgi.c (add_more_env): Added "Env" support.
	It allows to add custom environment variables just like the CGI
	handler.

2006-01-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/http.c (entry): There was a memory corruption problem
	here. It came from of the yesterday commits.

	* mime.compression.types.sample, Makefile.am (uninstall-local,
	install-data-local): Added mime.compression.types.sample
	containing the mime types we want the server to send but not
	really MIME types but compressors.

	* cherokee/read_config_grammar.y, cherokee/handler_file.c,
	cherokee/Makefile.am, cherokee/mime.c, cherokee/mime.h,
	cherokee/server-protected.h, cherokee/module_read_config.c,
	cherokee/read_config_scanner.l, cherokee/cherokee.h,
	cherokee/server.c, cherokee/mime_entry.c, cherokee/mime_entry.h,
	mime.types.sample: Now it reads the format of the /etc/mime.types
	file.  It also accepts a new configuration entry in the main
	grammar: MimeType to replace the old functionality.  This big
	change shouldn't generate any kind of regression, besides the fact
	the configuration file format has change slightly.

	* mime.conf.sample, cherokee/mime_grammar.y,
	cherokee/mime_scanner.l: Removed.
	
2006-01-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_get_request),
	cherokee/thread.c (process_active_connections): It must use
	http_method_with_input() instead of the checking with http_post.

	* qa/122-Methods.py, qa/Makefile.am (EXTRA_DIST): New test to
	check non common methods.

	* cherokee/handler_redir.c, cherokee/handler_error_redir.c,
	cherokee/handler_server_info.c, cherokee/handler_admin.c,
	cherokee/handler_dirlist.c, cherokee/handler_nn.c,
	cherokee/handler_common.c, cherokee/config_entry.c,
	cherokee/module.h, cherokee/config_entry.h, cherokee/thread.c,
	cherokee/handler_file.c, cherokee/handler.c, cherokee/handler.h,
	cherokee/handler_fastcgi.c, cherokee/http.c,
	cherokee/handler_gnomevfs.c, cherokee/http.h,
	cherokee/logger_ncsa.c, cherokee/handler_cgi.c,
	cherokee/connection.c, cherokee/server.c,
	cherokee/handler_phpcgi.c, cherokee/logger_w3c.c,
	cherokee/connection-protected.h: It will check if the used HTTP
	method is valid. Each handler has an entry describing which ones
	are allowed.

	* qa/base.py (TestCollection): New class

	* cherokee/http.h (http_method_with_input): Added new macro. Now
	http_post isn't the only method with input.

	* cherokee/http.h: Added new http error: 405, method not allowed.
	We will need it from now on.	

2006-01-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c (cherokee_short_path): There was an out by one
	here. In some situations, it was reading one byte outside the
	reserved memory. It is now fixed.

	* cherokee/util.h, cherokee/util.c (cherokee_get_timezone_ref):
	timezone is long, not int.

	* cherokee/header.c (parse_request_first_line, parse_method):
	Added a bunch of methods.  Now it should be able to parse WebDAV
	requests.

	* cherokee/http.c (cherokee_http_method_to_string,
	cherokee_http_version_to_string): Rewritten.

	* configure.in: Added a new check for the localtime localtime_r
	functions.

	* cherokee/util.h, cherokee/util.c (cherokee_localtime,
	cherokee_get_timezone_ref): Added new functions.

	* cherokee/server.c (update_bogo_now): Fixed, now it sends the
	header with the right GMT value. Until now, it was using the
	coverted time to GMT (which was the same time, but it is king of
	weird to be in GMT+1 and reply header like being in GMT).

	* cherokee/logger_w3c.c (cherokee_logger_w3c_write_access)
	(cherokee_logger_w3c_write_error),
	cherokee/logger_ncsa.c (build_log_string): Integrated with
	cherokee_localtime() and cherokee_get_timezone_ref() functions.

2006-01-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fastcgi.c (fixup_padding): It keeps track of
	the last header package. In this way, it doesn't need to parse the
	buffer header in order to set the padding length.

2006-01-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_get_request),
	cherokee/thread.c (process_active_connections): If UserDir is
	unset it should manage requests starting by /~ like common
	requests. Fixed.

	* qa/121-NoUserDir.py, qa/Makefile.am: New test: "If UserDir isn't
	set, it should threat ~ as a common character"

	* cherokee/connection.c (cherokee_connection_get_request): There
	was an error in the UserDir redirections. 

	* www/Makefile.am (install-data-local): Little bugfix.

	* cherokee/handler_fastcgi.c (fixup_padding): Applied path by
	Mohammad DAMT <mdamt@gnome.org>. The padding entry of the last
	packet was set to zero (which was incorrect in 7 of 8 cases).

2006-01-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* www/Makefile.am: It shouldn't overwrtie /var/www/index.html if
	it already exits. Fixed.

2006-01-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, cherokee_replace.c, cget/main.c,
	cherokee/win32_misc.c, cherokee.spec.in,
	cherokee/read_config_grammar.y, cherokee/logger_w3c.h,
	cherokee/handler_redir.c, cherokee/fcgi_manager.c,
	cherokee/handler_redir.h, fcgi_manager.h,
	cherokee/read_config_embedded.c, cherokee/handler_error_redir.c,
	module_loader.c, cherokee/handler_server_info.c,
	cherokee/read_config_embedded.h, module_loader.h,
	cherokee/fdpoll.c, cherokee/handler_error_redir.h,
	cherokee/dict.c, handler_server_info.h, cherokee/fdpoll.h,
	cherokee/handler_admin.c, cherokee/dict.h, handler_admin.h,
	cherokee/resolv_cache.c, cherokee/fdpoll-select.c,
	cherokee/admin_request.c, access.c, cherokee/resolv_cache.h,
	cherokee/admin_request.h, cherokee/access.h, handler_dirlist.c,
	cherokee/module_loader-protected.h, cherokee/handler_nn.c,
	handler_dirlist.h, cherokee/virtual_server.c,
	cherokee/handler_nn.h, virtual_server.h, cherokee/win32_misc.h,
	cherokee/handler_common.c, cherokee/module.c, config_entry.c,
	cherokee/request.c, cherokee/macros.h, cherokee/buffer_escape.c,
	fdpoll-epoll.c, cherokee/handler_common.h,
	cherokee/downloader-protected.h, module.h,
	cherokee/config_entry.h, cherokee/icons_scanner.l,
	cherokee/request.h, buffer_escape.h, cherokee/reqs_list.c,
	cherokee/validator_plain.c, cherokee/reqs_list.h,
	validator_plain.h, cherokee/fdpoll-poll.c, cherokee/validator.c,
	cherokee/encoder_table.c, validator.h, cherokee/exts_table.c,
	cherokee/encoder_table.h, cherokee/typed_table.c, downloader.c,
	cherokee/exts_table.h, cherokee/typed_table.h,
	cherokee/validator_htpasswd.c, downloader.h,
	cherokee/fastcgi-common.c, cherokee/validator_htpasswd.h,
	cherokee/thread.c, common-internal.h, cherokee/mime_scanner.l,
	cherokee/buffer.c, cherokee/regex.c, fastcgi-common.h,
	cherokee/thread.h, cherokee/fdpoll-protected.h,
	cherokee/handler_file.c, handler.c, cherokee/buffer.h,
	cherokee/regex.h, cherokee/encoder.c, cherokee/handler_file.h,
	handler.h, cherokee/main.c, cherokee/encoder.h,
	cherokee/handler_remote_control.c, cherokee/header.c,
	unix4win32.c, cherokee/ncpus.h, cherokee/cherokee_admin.c,
	cherokee/common.h, handler_remote_control.h, cherokee/header.h,
	cherokee/unix4win32.h, cherokee/session_cache.c, md5crypt.c,
	cherokee/encoder_gzip.c, cherokee/session_cache.h,
	cherokee/icons.c, cherokee/util.c, encoder_gzip.h,
	cherokee/handler_fastcgi.c, cherokee/http.c, cherokee/icons.h,
	handler_gnomevfs.c, cherokee/util.h, cherokee/handler_fastcgi.h,
	cherokee/http.h, handler_gnomevfs.h, cherokee/nonce.c,
	cherokee/fdpoll-port.c, cherokee/nonce.h, logger_ncsa.c,
	cherokee/post.c, cherokee/logger_table.c,
	cherokee/handler_error.c, admin_client.c, cherokee/mime.c,
	cherokee/table.c, cherokee/logger_ncsa.h, cherokee/post.h,
	logger_table.h, cherokee/list_ext.c, cherokee/handler_webcam.c,
	cherokee/handler_error.h, admin_client.h, cherokee/mime.h,
	cherokee/table.h, cherokee/handler_cgi.c, cherokee/list_ext.h,
	handler_webcam.h, cherokee/server-protected.h,
	cherokee/handler_cgi.h, cherokee_logrotate.c,
	cherokee/module_read_config.c, cherokee/icons_grammar.y,
	connection_info.c, cherokee/module_read_config.h,
	cherokee/fdpoll-kqueue.c, admin_server.c, cherokee/logger.c,
	cherokee/connection_info.h, cherokee/validator_htdigest.c,
	read_config_scanner.l, cherokee/admin_server.h,
	cherokee/mime-protected.h, table-protected.h, cherokee/logger.h,
	cherokee/header-protected.h, cherokee/matching_list.c,
	validator_htdigest.h, cherokee/cherokee.h,
	cherokee/matching_list.h, cherokee/iocache.c, match.c,
	cherokee/connection.c, cherokee/iocache.h,
	cherokee/list_merge_sort.c, cherokee/match.h, cgi.c,
	cherokee/url.c, cherokee/connection.h, cherokee/list_merge_sort.h,
	cherokee/server.c, handler_phpcgi.c, cherokee/cgi.h,
	cherokee/url.h, cherokee/dirs_table.c,
	cherokee/logger-protected.h, server.h, cherokee/handler_phpcgi.h,
	cherokee/dirs_table.h, cherokee/logger_combined.c,
	validator_pam.c, cherokee/mime_grammar.y,
	cherokee/logger_combined.h, reqs_list_entry.c,
	cherokee/validator_pam.h, cherokee/socket.c,
	cherokee/logger_w3c.c, connection-protected.h,
	cherokee/reqs_list_entry.h, cherokee/socket.h: Copyright notice
	updated.

	* doc/Makefile.am: Updated
	
2005-12-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/119-Dotdot2.py, qa/120-Dotdot3.py,
	qa/Makefile.am (EXTRA_DIST): Added two new tests to check the new
	"dot dot" parsing function.

	* cherokee/connection.c (cherokee_connection_get_request): Now it
	uses cherokee_short_path() rather than strcmp() and
	cherokee_buffer_remove_string().

	* cherokee/util.c (cherokee_short_path): New function.

2005-12-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/reqs_list_entry.h,
	cherokee/reqs_list_entry.c (cherokee_reqs_list_entry_new): Added
	ovector and ovecsize to store "Points to a vector of ints for
	result offsets".

	* qa/117-DomainToDir.py, qa/Makefile.am: Added new test.

2005-12-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_dirlist.c (read_header_file): Now, it accepts
	full paths in the HeaderFile parameter.

	* cherokee/read_config_grammar.y (handler_option T_HEADERFILE):
	Now it accepts "ID or path" lists instead of ID lists.

	* cherokee/handler_fastcgi.c (fixup_params, add_env_pair_2_params,
	add_env_pair_with_id): Now, parameter entries are added with the
	right ID, so there is no fix up needed beyond a basic padding
	check.

2005-12-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* m4/network.m4: Added new macro AC_ACME_SOCKADDR_UN

	* cherokee/win32_misc.c, cherokee/socket.h, cherokee/socket.c:
	Better W32 support. Patch by Gisle Vanem <giva@bgnett.no>
	
2005-12-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_fastcgi.c (cherokee_handler_fastcgi_init): It
	is going to use just one connection to each FastCGI server instead
	of one per thread as I thought previously.

	* cherokee/regex.c (_add): Potential SegFault fixed.

2005-12-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am (libcherokee_server_la_SOURCES): Moved
	fcgi_managed.{c,h} to the library.

2005-12-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_get_req_entry): Fixed
	for the embedded version.

	* cherokee/util.c (cherokee_split_arguments): Fixed.

2005-12-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am (handler_server_info): Added logo.inc to
	the handler code

	* cherokee/logo.inc: Logo updated.

2005-12-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/post.c (cherokee_post_walk_read): Fixed.

2005-12-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Updated ${srcdir}/cherokee/loader.init.inc
	generation.  Now it executes the module init function even if it
	is compiled statically.	

2005-12-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_new,
	cherokee_handler_cgi_init): Added support for ChangeUser.

	* cherokee/read_config_grammar.y (str_type): Added ChangeUser
	option.

	* cherokee/read_config_scanner.l, cherokee/read_config_grammar.y
	(T_IO_CACHE): Reserved word removed.

2005-12-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* m4/sendfile_samba.m4: --with-sendfile-support parameter fixed.

2005-11-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (cherokee_thread_new): Letf-hand
	thread->server casted with the SRV() macro.

	* cherokee/typed_table.c: There were some wrong casting calling
	cherokee_typed_table_get()

	* cherokee/avl/avl.c: s/new/new_entry/g

	* cherokee/module.c, cherokee/module.h: Renamed "new" entry to
	"instance"

	* cherokee/list.h: Renamed new variables to new_entry

	* cherokee/handler_dirlist.c (generate_file_entry): Added casting
	to malloc.

	* cherokee/resolv_cache.h: Added CHEROKEE_BEGIN_DECLS

	* cherokee/handler_redir.c (build_regexs_list): Renamed "new" to
	"new_regex", it was not compiling with a C++ compiler.

2005-11-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/run-tests.py (BOTTON_CONF), qa/068-PathInfo2.py,
	qa/115-Respin.py, qa/087-Location.py, qa/080-Extension2.py,
	qa/079-Extension.py, qa/072-Inherit3.py (Test.__init__): Added the
	PHPCGI_PATH.

2005-11-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c: Don't even define cherokee_trace() if
	TRACE_ENABLED is not enabled. Reported by Rodrigo
	Fernandez-Vizarra <rfdzvizarra@yahoo.ie>

	* cherokee/util.c: (cherokee_estimate_va_length),
	cherokee/handler_server_info.c: Fixed. Bug reported by Rodolfo
	Pilas <rodolfo@pilas.net>

2005-11-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/115-Respin.py: Added new test.

	* cherokee/reqs_list.c (cherokee_reqs_list_get): It does not use
	cherokee_header_get_request_w_args any longer, there was a problem
	here when a connection was respined.

	* cherokee/thread.c (process_active_connections): Moved request
	checking after extensions and directories. It will need to remove
	a previous web_directory assignement if a Request matches.

	* cherokee/connection.c (cherokee_connection_get_req_entry): It
	removes the content of web_directory if a Request entry is matched
	in the connection.

	* qa/113-HeaderFile.py (Test.__init__): Fixed, it shouldn't use
	the full path to the header file.

	* cherokee/macros.h (TRACE): Added new macro.

	* cherokee/util.c (cherokee_trace): Added new tracing function.

2005-11-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added --enable-trace parameter

2005-11-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/Makefile.am (EXTRA_DIST), qa/114-HeaderFile2.py: Added new
	test to ensure previous path works.

	* cherokee/read_config_grammar.y, cherokee/read_config_scanner.l,
	cherokee/handler_dirlist.h, cherokee/handler_dirlist.c
	(read_header_file): The dirlist handler now accepts a list on the
	HeaderFile parameter. It will use the first match as header.

	* cherokee/fdpoll-kqueue.c: Performance fix: it duplicates the
	speed of the kqueue backend! Patch by Rodrigo Fernandez-Vizarra
	<rfdzvizarra@yahoo.ie>

	* configure.in: Added DragonFly entry in the host detection. Patch
	by Rodrigo Fernandez-Vizarra <rfdzvizarra@yahoo.ie>

	* qa/113-HeaderFile.py, qa/Makefile.am (EXTRA_DIST): Added new
	test.

	* cherokee/handler_server_info.c (server_info_build_page): Now it
	checks the server token parameter in order to show the server
	version.

2005-11-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.29 released 

	* cherokee/server-protected.h: Removed include_list property.

	* cherokee/read_config_scanner.l, cherokee/read_config_grammar.y:
	"Include" reserved word removed. It is not longer needed.
	
	* cherokee/module_read_config.c: Almost rewritten.  The inclusions
	are now managed in a more handy way.

	* cherokee/buffer.c (cherokee_buffer_read_file): Fixed. There was
	a consistency problem with the memory management.

2005-11-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c: Better POST management: now it moves the
	connection to the polling list if needed.

	* qa/run-tests.py: Addad new parameter -b.

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init): Removed
	O_NONBLOCK property from cgi->pipeOutput.

2005-11-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/util.py (letters_random, str_random): Slightly optimized for
	a faster start time.

2005-11-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_ensure_size): size is now
	size_t type instead of int.

	* cherokee/buffer.h, cherokee/buffer.c
	(cherokee_buffer_ref_buffer): Removed.

	* cherokee/buffer.h, cherokee/buffer.c
	(cherokee_buffer_swap_buffers): Added new method.

	* cherokee/buffer.h (cherokee_buffer_is_empty): Added a macro to
	replace the function.

	* cherokee/buffer.c (cherokee_buffer_is_empty): Removed.

2005-11-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_new),
	cherokee/handler_cgi.h, cherokee/read_config_grammar.y: Added
	support to error handling in the CGI module.  It can be defined
	using the option "ErrorHandler on".

	* qa/112-NiceError-CGI.py: Added new QA test.

2005-11-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* sites-default.sample.pre: Updated.

2005-11-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/header.c (cherokee_header_get_request_w_args): Added
	new funcion.

	* qa/107-Priority1.py, qa/108-Priority2.py, qa/109-Priority3.py,
	qa/110-Priority4.py, qa/Makefile.am: Added new tests to check
	priorities.

	* cherokee/config_entry.c (cherokee_config_entry_complete): Now it
	implements priority between Directory, Extension and Request
	entries. Last defined entry wins.

	* qa/079-Extension.py, qa/080-Extension2.py: Fixed precedence.

2005-11-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_get_request): Little
	test order change.

	* cherokee/config_entry.h, cherokee/read_config_grammar.y
	(config_entry_new): Added priority support for prioroties.

	* cherokee/config_entry.h, cherokee/config_entry.c:
	dirs_table_entry.h and dirs_table_entry.c have been renamed.

	* cherokee/handler_file.c (check_cached): Added support for
	If-Range headers.

	* qa/105-If-Range.py, qa/106-If-Range2.py, qa/Makefile.am
	(EXTRA_DIST): Added to two tests to check the support of the
	"If-Range:" header from HTTP/1.1.

2005-10-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/post.c (cherokee_post_walk_to_fd): bugfix. It must
	return ret_eagain if there is some remaining information waiting
	to be sent.

	* cherokee/regex.h, cherokee/regex.c (cherokee_regex_table_add):
	Added new method.

2005-10-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_free): Bugfix, Only
	close file descriptors if it is greeter than zero.

	* cherokee/socket.c (cherokee_socket_set_timeout): Removed call to
	setsockopt with SO_SNDTIMEO. That side of the socket is already
	closed.

	* cherokee/thread.c (purge_maybe_lingering,
	process_active_connections): Added a new function for purge (and
	maybe perform the lingering close) a connection from the active
	connection list.  The error management of the error situations of
	the loop call to purge_closed_connection instead of set the
	lingering close phase.

	* cherokee/socket.c, cherokee/connection.c
	(cherokee_connection_pre_lingering_close): Error management
	improved. Now it checks if there was some error in the ioctl
	calls.

2005-10-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_dirlist.c (cherokee_handler_dirlist_step): It
	should print the version number only if "ServerTokens" was set to
	"Full", otherwise it should just show the port number. Reported by
	Mark Nipper <nipsy@bitgnome.net>

	* cherokee/dirs_table_entry.c, cherokee/dirs_table.c,
	cherokee/connection.c: The property table which was inside the
	dir_table_entry struct has been splitted in two:
	handler_properties and validador_properties.

	* cherokee/thread.c (process_active_connections): Do not use
	lingering close on keep-alive connections.

2005-10-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/104-ScriptAlias_PathInfo.py: Added new test to ensure
	previous problem is fixed.

	* cherokee/handler_cgi.c (_extract_path): Added support for
	PathInfo in ScriptAlias'ed configurations.

	* cherokee/handler_cgi.c (build_envp): Now, the user defined
	variables have precedence over the server's ones.

	* cherokee/fdpoll.c (cherokee_fdpoll_best_new): The poll method
	has taken over BSD kqueue and Solaris port event. In the real life
	it is faster.

	* qa/061-PAM.py (Test.Precondition), qa/062-PAM2.py
	(Test.Precondition): Added a try: except: block to ensure it does
	not fail if Cherokee is not installed on /usr and the conf.py is
	untouched.

	* cherokee/Makefile.am: Some yacc parameter were displaced. It was
	working with GNU bison, but it was failing with byacc. Patch by
	Tim Wilde <twilde@dyndns.com>

	* mods-admin.sample: It wasn't using the Name entry. Reported by
	John Hampton <cherokee@pacopablo.com>

	* qa/103-ScriptName.py, qa/Makefile.am (EXTRA_DIST): Added new
	test.

	* cherokee/cgi.c (cherokee_cgi_build_basic_env): Set REMOTE_USER
	even if it is empty.  Trac was also expecting to read it.. These
	problems have been reported by John Hampton
	<cherokee@pacopablo.com>

	* cherokee/handler_cgi.c (build_envp): Fixed SCRIPT_NAME variable.
	Trac was failing because it wasn't properly set.

2005-10-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: 0.4.28 released

	* autogen.sh (LIBTOOL, LIBTOOLIZE): Define two variables for the
	name of these utilities.  MacOS X has a different name for it.
	Patch by Sébastien Arnaud <arnaudsjr@mac.com>

2005-10-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, cherokee/macros.h (CST_OFFSET): Fixed a off_t size
	issue in MacOS X. Patch by Marko Mikulicic <marko@autistici.org>

	* configure.in: Fixed FreeBSD/OpenBSD compilation. It needed
	-pthread in the LDFLAGS.

	* Makefile.am (EXTRA_DIST): Removed config.h.mingw

	* cherokee/thread.c (process_active_connections): Removed calls to
	cherokee_iocache_mmap_release(), it will be freed on
	cherokee_connection_clean().  It is safer in this way.

	* cherokee/connection.c (cherokee_connection_clean): It checks for
	an IOCache entry reference in order to free it at this point.

	* cherokee/thread.c (process_active_connections): If
	cherokee_connection_pre_lingering_close() returns ret_eagain it
	will set the connection in read mode.

2005-10-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* config.h.win32: Added some new definitions. Patch by Gisle Vanem
	<giva@bgnett.no>

	* config.h.mingw: Removed, it is not longer needed.

	* cherokee/cgi.c (cherokee_cgi_build_basic_env): Added
	HTTP_REFERER header.  Wordpress was failing to perform certain
	operation due to this problem.  Reported by Rodolfo Pilas.

2005-10-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (process_handler_complex_headers):
	Removed.

	* cherokee/cgi.c (cherokee_cgi_build_basic_env): Added HTTPS
	variable.

	* cherokee/handler_cgi.c (parse_header): Added new function. Now,
	hsupport_complex_headers is deprecated.  It is parsed inside the
	handler, no longer in the connection.

	* cherokee/buffer.c (cherokee_buffer_remove_chunk): Added new
	method.

	* qa/102-QueryString.py, qa/Makefile.am (EXTRA_DIST): Added new
	test in order to ensure QUERY_STRING is working.

	* cherokee/handler_redir.c (match_and_substitute): It wasn't
	storing the right petition in the log file. Reported by Kurt McKee
	<kurt@kurtmckee.org>

	* qa/Makefile.am (EXTRA_DIST), qa/101-HugePost.py: Added new QA
	test.

	* cherokee/post.c: Bug fixed.

2005-10-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/unix4win32.h (ENOTSOCK, EHOSTUNREACH): Some missing
	defines in this file. Patch by Gisle Vanem <giva@bgnett.no>

	* cherokee/main.c (process_parameters): Specifying a config-file
	has no effect in main.c when built with CHEROKEE_EMBEDDED.  Patch
	by Gisle Vanem <giva@bgnett.no>

	* cherokee/iocache.c (iocache_clean_up_each): Fixed a signess
	problem here.  It was an important issue.

	* cherokee/logger_ncsa.c (build_log_string): Bad casting
	fixed. Reported by Marko Mikulicic <marko@autistici.org>
	
2005-10-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/module.c (cherokee_module_get_name): return fixed.

	* cherokee/iocache.c (cherokee_iocache_free_default): __global
	renamed to global_io. Sun CC did not like it.

	* Makefile.am (COMPILATION_TESTS): Added debian_testing.sh and
	debian_testing_chroot.sh to extra dist.

	* cherokee/Makefile.embedded (OBJS): Fixed. It was not working
	from the changes of 2005-10-19.

	* cherokee/handler_server_info.c
	(cherokee_handler_server_info_new): It was outdated. I was trying
	to read a wrong structure and hence, it was providing random
	information. Reported by Borja <@softonic.com>

2005-10-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_file.c (cherokee_handler_file_add_headers):
	Content-Range header fixed. Patch by Mark Nipper
	<nipsy@bitgnome.net>.

2005-10-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_scanner.l, cherokee/read_config_grammar.y
	(port_tls), cherokee.conf.sample.pre: Added new configuration
	entry to configure the TLS port.

	* cherokee/handler_dirlist.c (generate_file_entry): Now it uses
	cherokee_readdir instead of readdir(). It was not thread safe.

	* qa/100-Digest-htdigest.py (Test.__init__): Changed name, it was
	too long.

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init): Adapted to
	the new POST management class.

	* cherokee/post.c, cherokee/post.h: Added new class to manage POST
	information.

	* cherokee/validator.c (digest_A1): Removed. No longer needed.

2005-10-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (post_init): Rewritten using the post
	class.

	* cherokee/connection.c (cherokee_connection_get_request):
	Fixed. Some times, it was not replying with the right error code.

	* cherokee/post.h, cherokee/post.c: Added new class.

	* 0.4.27 released

	* cherokee/util.c: Added sys/filio.h in order to import FIONBIO
	for cherokee_fd_set_nonblocking()

	* cherokee/Makefile.embedded (OBJS): Added nonce.o and
	typed_table.o

	* cherokee/buffer.c (cherokee_buffer_encode_sha1_base64,
	cherokee_buffer_encode_sha1): It will compile on u-Cherokee.

	* cherokee/handler_file.c (cherokee_handler_file_init): Check if
	the request is a directory in order to deny the request.

	* cherokee/iocache.c (cherokee_iocache_mmap_get_w_fd): Fixed a
	concurrency problem which might cause some troubles.

2005-10-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.h (OPENSSL_LAST_ERROR): Fixed. It wasn't
	compiling because there was a parameter left on the call to
	ERR_error_string(). Reported by Cesar Fernandez.

2005-10-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/100-Digest-htdigest.py, qa/Makefile.am: Added new test unit.

	* qa/run-tests.py: Fixed to use three digit indexes.

	* qa/??-*py, qa/Makefile.am: Moved to three digits index. We are
	about to reach one hundred tests.

	* cherokee/validator_htdigest.c (validate_digest):
	Implemented. Now htpasswd works with Digest authentication.

2005-10-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/validator_htdigest.c (validate_basic,
	extract_user_entry): Rewritten. Now htdigest works with Basic
	authentication.

	* cherokee/logger_ncsa.c, cherokee/logger_w3c.c: There files now
	use cherokee_syslog() instead of syslog().

	* cherokee/util.c, cherokee/util.h (cherokee_syslog): Added new
	method to send information to syslog line by line, each one on a
	different call.

2005-10-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/validator_pam.c: Compilation was broken for this
	validator. Alexander Serkov <alexander.serkov@gmail.com> sent a
	patch for it.

	* cherokee.conf.sample.pre, sites-default.sample.pre:
	DirectoryIndex and DocumentRoot moved from cherokee.conf to
	site-default. Requested by Cesar Fernandez <cesar@pk2.org>

2005-10-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y (tuple): Bug fix.
	s/cherokee_table_add/cherokee_typed_table_add_str/. It was causing
	the logging system to use syslog() rather than a target file, even
	if it was configured for it.

	* cherokee/md5crypt.c (md5_crypt): Fixed to validate Apache MD5
	passwords.

2005-10-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (process_polling_connections): Actually I am
	not sure about this. If the connection is polling for an extra fd
	and it returns an error, it will clean the connection calling
	purge_closed_polling_connection() instead of re-queuing it with
	cherokee_thread_reactive_from_polling().

2005-10-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/94-URL-request.py: Added a new test case to test the proxy
	like requests.

	* cherokee/header.c (parse_request_first_line): Now, it accepts
	proxy like requests.

	* cherokee/util.h, cherokee/util.c (cherokee_crypt): Added new
	function.

	* cherokee/validator_htpasswd.c (validate_plain): Added support
	for plain text passwords inside htpasswd files.

	* cherokee/validator.c (cherokee_validator_parse_basic):
	Fixed. There was an error here which caused an incorret password
	length.

	* cherokee/util.c (cherokee_isbigendian): Added new function.

	* cherokee/buffer.c (cherokee_buffer_encode_base64): Rewritten.

2005-10-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_encode_base64): in and out
	are not unsigned. Fixed.

	* cherokee/connection.c (cherokee_connection_recv): Added switch
	case to manage ret_error value.

	* cherokee/socket.c (cherokee_read, cherokee_write): Added case
	for EHOSTUNREACH: No route to host

2005-10-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c, cherokee/socket.h, cherokee/virtual_server.c:
	Igor Sysoev <is@rambler-co.ru> has sent me a mail warning about an
	error on the OpenSSL management code.  He was right. I have added
	a new macro OPENSSL_LAST_ERROR in order to get the newer error
	instead of the older as we were doing.

	* cherokee/buffer.c (cherokee_buffer_decode_hex): Added new
	method.

	* cherokee/util.h: Added arpa/inet.h header.

2005-10-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (BUFFER_VA_LEN): removed. It is not longer
	needed.

	* cherokee/buffer.c (cherokee_buffer_encode_sha1_digest,
	cherokee_buffer_encode_sha1): Added a SHA1 encoding interface.

	* cherokee/connection.c
	(cherokee_connection_check_authentication): Added check to ensure
	the validator supports the authorization type.

2005-10-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_phpcgi.c (search_php_executable): Fixed to
	search the interpreter if it is not defined with the "Interpreter"
	configuration entry.  It will look for it on a couple of
	directories for it..

	* qa/93-InvalidLinks.py, qa/Makefile.am: Added a new QA to test
	the prevoius problem.

	* cherokee/handler_dirlist.c (generate_file_entry): Listing was
	failing if there was an invalid link inside the
	directory. Reported by Mark Nipper <nipsy@bitgnome.net>

2005-09-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/validator.c (cherokee_validator_digest_response):
	Digest authentication fixed.  (In 4to Festival de Software Libre,
	Puerto Vallarta, Mexico)

	* qa/90-Digest.py, qa/91-Digest2.py, qa/92-Digest3.py,
	qa/Makefile.am (EXTRA_DIST): Added new QA tests for Digest
	authentication.
	
2005-09-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_read): Added EBADF case.

	* cherokee/request.h: Included sys/types.h. It was not compiling
	on MacOS X. Patch by Tito Ciuro <tciuro@mac.com>

2005-09-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c, cherokee/connection.h,
	cherokee/connection-protected.h: Removed user, passwd and nonce
	buffers.

2005-09-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.h, cherokee/buffer.c (cherokee_buffer_cmp,
	cherokee_buffer_cmp_buf, cherokee_buffer_cmp_str,
	cherokee_buffer_case_cmp, cherokee_buffer_case_cmp_buf,
	cherokee_buffer_case_cmp_str): Added new methods.

	* cherokee/connection.c (get_host): Remove final dot in the host
	name if found.

2005-09-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.26 released

2005-09-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (build_server_string): It was reading an out
	of memory possition. Fixed.

	* qa/66-DirectoryIndex3.py (Test.JustBefore): It was failing
	executing more than one time in a row. Fixed.

	* cherokee/encoder_gzip.c: Almost rewrotten. 

2005-09-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/crc32.c (crc32_partial_sz): Added new.
	(crc32_sz): It now uses crc32_partial_sz().

2005-09-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/encoder.h, cherokee/encoder.c (cherokee_encoder_flush):
	Added new virtual method.

	* cherokee/encoder_gzip.h, cherokee/encoder_gzip.c
	(cherokee_encoder_gzip_new, cherokee_encoder_gzip_free): It was a
	memory problem here. Added workspace.

2005-09-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/header.c (cherokee_header_parse): "Accept-Encoding"
	must be before "Accept". Fixed.

	* cherokee/connection.c (post_init): It uses atol() instead of
	sscanf().

2005-09-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>
 
	* cherokee/regex.c (cherokee_regex_table_free): Call free rather
	than pcre_free.  It was failing to compile, and it is just a
	pointer to free.

	* cherokee/unix4win32.c (inet_aton): Added new function

	* cherokee/util.c (cherokee_fd_set_nonblocking): Added new function.

        * m4/etr_socket_nsl.m4: Detection implemented for Win32

2005-09-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_pre_lingering_close):
	Fixed a potential memory corruption bug.  It may try to write an
	int in to a NULL pointer.
	
	* cherokee/socket.c (cherokee_socket_close): Fixed a little which
	might cause a segment fault if a TLS connection get a CGI timeout.

2005-09-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* build_solaris.sh.in: Rewritten. Now, it builds a package for
	blastwave instead of a package for Sunfreeware.  Tested on
	OpenSolaris (Nevada b20).

	* cherokee/handler_redir.c (cherokee_handler_redir_new): "url"
	property read fixed.

	* cherokee/handler_server_info.c: Fixed little compilation
	problem. It was including a deprecated header.

2005-08-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y, cherokee/read_config_scanner.l,
	cherokee/handler_cgi.c (cherokee_handler_cgi_new): Added "ENV"
	configuration entry to allow to define custon environment
	variables for the CGI.

2005-08-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/win32_misc.h: Added fcntl.h header file. (by Gisle
	Vanem, giva@bgnett.no)

	* cherokee/handler_file.c (open_local_directory): It now use
	CHE_O_READ (by Gisle Vanem, giva@bgnett.no)

	* cherokee/macros.h (CHE_O_READ): Added O_BINARY to CHE_O_READ (by
	Gisle Vanem, giva@bgnett.no)

2005-08-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/61-PAM.py (Test.Prepare), qa/61-PAM.py (Test.Prepare): Pam
	module detection fixed.

	* cherokee/connection-protected.h: netinet/in.h has to be defined
	before arpa/inet.h

	* cherokee/read_config_scanner.l, cherokee/read_config_scanner.y:
	Removed some tokens: T_BGCOLOR, T_TEXT, T_LINK, T_VLINK, T_ALINK,
	T_BACKGROUND, T_HEADER_FILE, T_INTERPRETER, T_URL and T_FILEDIR.

	* configure.in: Added AC_CHECK_HEADERS for pwd.h, sys/select.h and
	sys/mman.h

	* cherokee/Makefile.am (CLEANFILES): Added clean.h

2005-08-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/win32_misc.c (cherokee_server_daemonize): Removed.

	* cherokee/Makefile.MingW.in (vclean): Remove dependency on
	libtidy.

2005-08-09  Gisle Vanem  <giva@bgnett.no>

	* cherokee/util.h: #ifdef for Win32 compilation.

	* cherokee/util.c (cherokee_readdir): typo fixed.

	* cherokee/util.c: #ifdef for Win32 compilation.

	* cherokee/url.c (cherokee_url_init): #ifdef for Win32 compilation.

	* cherokee/server.c: #ifdef for Win32 compilation.

	* cherokee/resolv_cache.c: #ifdef for Win32 compilation.

	* cherokee/module_loader.c: Only load dlfcn.h if it is not the
	embedded version.

	* cherokee/logger_ncsa.c: Added #ifdef for syslog.h.
	(open_output): ifdef for fcntl().

	* cherokee/levenshtein_distance.c (min): Renamed to _min().

	* cherokee/iocache.c: Added a couple of #ifdefs for header
	files.

	* cherokee/handler_dirlist.c: Added a couple of #ifdefs for header
	files.

	* cherokee/handler_cgi.c: Win32 compilation fixes.

	* cherokee/fdpoll-select.c: Added #ifdef for sys/select.h.

	* cherokee/buffer.c (cherokee_buffer_encode_base64): Removed
	#ifdefs to inhibit embedded version.

2005-08-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>
	
	* configure.in (cherokee_*_version_len): removed.

	* cherokee/cgi.c (cherokee_cgi_build_basic_env): It doesn't use
	PACKAGE_VERSION_LEN from automake any longer.

	* cherokee/server.c (build_server_string): It doesn't use *_LEN
	variables from automake any longer.

	* cherokee/nonce.c, cherokee/nonce.h: Added new class.

2005-08-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (cherokee_server_clean): Removed.

	* cherokee/dirs_table.c (cherokee_dirs_table_clean): Removed.

	* cherokee/virtual_server.c (cherokee_virtual_server_clean): Removed.

	* cherokee/logger_table.c (cherokee_logger_table_clean): Removed.

	* cherokee/encoder_table.c (cherokee_encoder_table_clean): Removed.

	* cherokee/regex.c (cherokee_regex_table_clean): Removed.

	* cherokee/iocache.c (cherokee_iocache_clean): Removed.

	* cherokee/icons.c (cherokee_icons_clean): Removed.

	* cherokee/exts_table.c (cherokee_exts_table_add): Fixed. It was
	addinf the entries to the list more than once.

2005-08-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/logger_ncsa.c (close_output): Fixed a jump depending on
	uninitialised value.

	* cherokee/module_loader.c, cherokee/module_loader.h: It is no
	longer a _new/_free class; converted to _init/_mrproper.

	* cherokee/Makefile.am (libcherokee_server_la_SOURCES):
	module_loader-protected.h removed.

	* cherokee/module_loader.c (get_sym_from_dlopen_handler): Little
	aesthetic fix.

	* cherokee/read_config_grammar.y (T_ONLY_SECURE): Message
	fixed. It wasn't a error but a warning.

	* cherokee/iocache.c (cherokee_iocache_free): Fixed, it was trying
	to free too much memory.

2005-08-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (cherokee_thread_new): Swaped from
	PTHREAD_CREATE_DETACHED to PTHREAD_CREATE_JOINABLE

2005-08-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/83-RedirParam.py: Added precondition of an installed version
	of PHP

	* cherokee/logger_w3c.c (cherokee_logger_w3c_new),
	cherokee/logger_ncsa.c (cherokee_logger_ncsa_init_base),
	cherokee/validator_htdigest.c (cherokee_validator_htdigest_new),
	cherokee/validator_htpasswd.c (cherokee_validator_htpasswd_new):
	Swapped to use type tables.

	* cherokee/validator_plain.c (cherokee_validator_plain_new): It
	uses the typed table mechanism, and PRINT_MSG.

	* cherokee/dirs_table_entry.c (cherokee_dirs_table_entry_free): It
	works with a typed_table instead of a table.

	* cherokee/read_config_grammar.y: Now it uses PRINT_MSG instead
	PRINT_ERROR.

	* cherokee/macros.h (PRINT_MSG, PRINT_MSG_S): Added new macros.

2005-08-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/list_ext.c (cherokee_list_free_item,
	cherokee_list_free_item_simple): Add new these two methods. Now,
	cherokee_list_free() uses cherokee_list_free_item()

	* cherokee/handler_server_info.c
	(cherokee_handler_server_info_new), cherokee/handler_phpcgi.c
	(cherokee_handler_phpcgi_new), cherokee/handler_error_redir.c
	(cherokee_handler_error_redir_new), cherokee/handler_dirlist.c
	(cherokee_handler_dirlist_new), cherokee/handler_cgi.c
	(cherokee_handler_cgi_new), cherokee/handler_common.c
	(cherokee_handler_common_new): Now, they use
	cherokee_typed_table_get_str() instead of cherokee_table_get()

	* cherokee/handler_dirlist.c (cherokee_handler_dirlist_new): A
	little bug has been fixed here. The "group" property was not
	working correctly.

	* cherokee/typed_table.c: Added new class.

2005-08-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/list.h (list_reparent): Added new function to reparent
	lists.

	* 0.4.25: Relased

2005-08-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/cherokee_logrotate.1, cherokee/Makefile.am: Added new
	man page.

	* mods-admin.sample, Makefile.am (install-data-local,
	uninstall-local): Added new configuration file.

2005-08-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (initialize_tls_session): Allow anon TLS
	connections.

	* cherokee/socket.c (cherokee_socket_init_client_tls): Added
	implementation based on OpenSSL.

	* cherokee/util.c (cherokee_tls_init): Added new function.

2005-07-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/54-ContentRange.py, 55-ContentRange2.py, 56-ContentRange3.py,
	57-ContentRange4.py, 58-ContentRange-Double.py,
	59-ContentRange-Double2.py: Fixed to fit with the previous patch.

	* cherokee/handler_file.c, cherokee/header.c: Changed header
	"Content-Range" by "Range". Based on a path by Daniel Glöckner
	<daniel-gl@gmx.net>

2005-07-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_common.c (stat_file): Integrated with the I/O
	cache layer.

2005-07-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y, cherokee/read_config_scanner.l,
	cherokee/handler_files.c: Added new parameter "IOCache".

2005-07-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.h, cherokee/server.c, cherokee/virtual_server.h,
	cherokee/virtual_server.c, cherokee/read_config_grammar.y:
	DocumentIndex has been converted from being a Server property to a
	Virtual server property.

	* qa/66-DirectoryIndex3.py: I've rewrote to fix some problems with
	the global DirectoryIndex.

	* cherokee/connection.c: Authentication problem fixed.

2005-07-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_shutdown,
	cherokee_socket_set_timeout): Added new methods

	* cherokee/thread.c (process_active_connections): Bug fix. There
	was a problem witht the header("Location:") PHP entries.

2005-07-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_encode_base64): u_int8_t ->
	cuchar_t

2005-07-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (process_handler_complex_headers): Handler
	with complex header post-processing works with the error handlers
	now (mainly the PHP and CGI handlers).

	* cherokee/util.h, cherokee/util.c (cherokee_gethostbyname): Added
	new function.

2005-07-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am, cherokee/resolv_cache.h,
	cherokee/resolv_cache.c: Added new revolv cache class.

	* cherokee/read_config_grammar.y: Error handlers are that the
	virtual servers level. Fixed.

	* configure.in: htpasswd compilation preconditions fixed.

2005-07-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, cherokee/module_loader.c (add_static_entry): There
	was a bug here. Memory inconsistency.

2005-07-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_encode_base64): Added new
	method.

	* cherokee/url.h, cherokee/url.c (cherokee_url_parse_ptr): Added
	user and password support.

	* cherokee/handler_dirlist.c (render_page_header): Bug fixed.

2005-07-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/85-AuthUsers.py, qa/86-AuthUsers2.py: Added two new QA tests.

	* qa/39-Auth-Basic.py (Test.Prepare): Removed handler.

	* cherokee/cherokee_logrotate.c: Added new utility to rotate log
	without turning the server off.

2005-07-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c, cherokee/server.h
	(cherokee_server_get_backup_mode,
	cherokee_server_set_backup_mode): Added new methods.

2005-07-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/logger.c (cherokee_logger_set_backup_mode): Added new
	method.

	* cherokee/logger.c (cherokee_logger_flush): It won't flush if the
	logger is on backup mode.

	* cherokee/logger.h, cherokee/logger.c, cherokee/logger_ncsa.h,
	cherokee/logger_ncsa.c, cherokee/logger_w3c.h,
	cherokee/logger_w3c.c: Added new method reopen().

	* 0.4.24 released

	* configure.in (SETENV_IS_THREADSAFE): Typo error fixed.

	* doc/Makefile.am (doc_DATA): Documentation updated.

2005-07-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_dirlist.c: Fixed acording to the previous change.

	* icons.conf.sample: "/icons/" removed from the icon entries.

2005-07-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_add_comma_marks): Added new
	method.

	* cherokee/connection-protected.h, cherokee/thread.c: Add
	connections ID.

2005-06-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/module.c, cherokee/module.h: Added new virtual method:
	get_name.

	* configure.in, cherokee/Makefile.am,
	cherokee/handler_remote_control.c,
	cherokee/handler_remote_control.h: Removed. It was a failed proof
	of concept.

	* cherokee/handler_file.c (cherokee_handler_file_step): It didn't
	update the transference counter.

2005-06-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/url.c: Now, it's a size known type.

2005-06-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_nn.c (get_nearest): A few fixes. A memory leak
	has been fixed. Now it is faster and less memory hungry.

	* cherokee/handler_redir.c (substitute_groups): Some memory
	corruptions problems have been sorted out.

02005-06-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.c (cherokee_readdir): Added new function.

2005-06-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/83-RedirParam.py, qa/84-RedirParamShow.py: New QA tests to
	cover the redir handler. Both internal and external redirection
	are covered by these tests.

	* cherokee/handler_redir.c (cherokee_handler_redir_add_headers):
	Bug fix. It was printing "Location:" twice.

	* cherokee/handler_redir.c: Some logic moved from _init to _new to
	allow internal redirections.

	* cherokee/util.c (cherokee_split_arguments): Added new function.

2005-06-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_redir.c (cherokee_handler_redir_new),
	cherokee/read_config_grammar.y (handler_redir_add_property):
	Changes in the internal string to store a 'show/hide' argument.

	* cherokee/handler_redir.c (substitute_groups): Now it uses a
	cherokee_buffer_t rather than a char[].

	* cherokee/read_config_grammar.y (T_QSTRING): Bugfix

2005-06-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/cgi.c (cherokee_cgi_build_basic_env): Added user remove
	variable. Reported by bass@gentoo.org

2005-05-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll-kqueue.c: Rewrited by Rodrigo Fernandez-Vizarra
	<rfdzvizarra@yahoo.ie>

	* cherokee/buffer.h (cherokee_buffer_add_str): Added
	cherokee_buffer_add_str macro.

	* configure.in, doc/*: Clean up. Integration of the wiki
	documentation.

2005-05-25  Rodrigo Fernandez-Vizarra  <rfdzvizarra@yahoo.ie>

	* cherokee/fdpoll-kqueue.c: Rewrited.

2005-05-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.23 released

	* cherokee/server.c (cherokee_server_new): Bugfix. There was a
	incorrect value as string lenght.

	* qa/72-Inherit3.py (Test.Precondition): Precondition fixed.

	* cherokee/buffer.c (cherokee_buffer_add_va_list): Fixed. It was
	coredump-ing on Linux/PPC.

	* cherokee/encoder_gzip.h, cherokee/encoder_gzip.c: Fixed
	compilation problem.

2005-05-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init),
	cherokee/handler_phpcgi.c (cherokee_handler_phpcgi_init): Improved
	performance with big posts.

	* qa/*py: I have fixed some QA tests to reduce the memory usage.

	* qa/base.py (TestBase.WriteTemp): Added new method.

2005-05-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in (--with-wwwroot): Fixed.

	* cherokee/Makefile.embedded, cherokee/read_config_embedded.c,
	cherokee/read_config_embedded.h: u-Cherokee is now fixed for the
	changes of the last release.

	* cherokee/server.c (cherokee_server_init): Fixed a bug using
	chroot. It has to read the password file entry before to chroot,
	otherwhise it won't be able to do it after it.

	* cherokee/fdpoll-port.c: First functional version. Sent by
	Rodrigo Fernandez Vizarra: <Rodrigo.Fernandez-Vizarra@Sun.COM>

	* cherokee/handler_dirlist.c (new_file_entry): Fixed. There was a
	logic problem introducced on 0.4.22.

2005-05-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_grammar.y, cherokee/dirs_table_entry.c:
	Fixed bug. There wasn't possible to access some of the index pages
	directly. Reported by Rodolfo Pilas.

2005-05-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

        * Grand reduce Cherokee's memory footprint. :-)

2005-05-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/mmap2.h, cherokee/mmap2.c (cherokee_mmap2_clean_up,
	entry_set_mmap): Added two more parameters.

2005-05-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.22 released

	* cherokee/handler_dirlist.c (new_file_entry): Fixed bug only
	reproducible on Solaris.

2005-05-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/downloader.c, cherokee/downloader.h,
	cherokee/downloader-protected.h: Added post support.

	* Makefile.am (install-data-local): Fixed installation
	bug. Reported as Debian's bug #308852

2005-05-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/table.c (cherokee_table_free2): Little memory leak fixed.

	* qa/66-DirectoryIndex3.py (Test.Precondition): Try to fix it to
	work in multithread tests.

2005-05-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_add_va): Re-written.

	* cherokee/logger_ncsa.c (build_log_string): Now, it uses a
	buffer.

2005-05-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_dirlist (cherokee_handler_dirlist_step),
	cherokee/handler_error.c (build_hardcoded_response_page): Now it
	prints the right port number if the connection is using
	TLS. Reported by Rodolfo Pilas.

	* cherokee/macros.h (CHE_O_READ): Added new macro

	* cherokee/handler_file.c (cherokee_handler_file_init): It will
	use O_NOATIME if it is available.

	* cherokee/connection.c (cherokee_connection_log_or_delay): It was
	adding the 4xx and 5xx replies to the main log instead of adding
	it to the error log. Reported by Rodolfo Pilas.

	* cherokee/thread.c, cherokee/handler_common.c
	(cherokee_handler_common_new): Fix fixed. It wasn't working for
	directories with DocumentRoot with index files.  Reported by
	Rodolfo Pilas <rodolfo@pilas.net>

2005-05-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.21 released

	* cherokee/handler_common.c: It doesn't longer deppends on cgi or
	phpcgi.  Integrated with the internal redirection mechanism.

2005-05-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* sites-default.sample.pre: Added an example for the PHP extension

	* qa, qa/Makefile.am: Added more tests

	* cherokee/access.c (cherokee_access_add): Little fix

	* cherokee/read_config_grammar.y (ip_list): Better error
	management.

2005-05-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c, cherokee/access.c: Added support for IPv4
	over IPv6 addresses.

	* cherokee/socket.c, cherokee/socket.h: Some IPv6 related fixes.

2005-05-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/dirs_table_entry.c, cherokee/dirs_table_entry.h,
	cherokee/dirs_table.c, cherokee/dirs_table_entry.h,
	cherokee/connection.h, cherokee/connection.c: Directories now can
	inherit from its predecesors.

	* qa/70-Inherit.py, qa/71-Inherit2.py: Added two new test cases
	for configuration inheritation.

	* cherokee/table.c (cherokee_table_mrproper,
	cherokee_table_mrproper2): Added two methods. cherokee_table_clean
	and cherokee_table_clean2 were rewritten to use the new methods.

	* cherokee/handler_table.[ch]: Renamed to dirs_table.[ch]

	* cherokee/handler_table_entry.[ch]: Renamed to
	dirs_table_entry.[ch]. Some clean up was made as well.

	* cherokee/read_config_grammar.y: Updated to work with dirs_table.

2005-05-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* debian/cherokee.init (PIDFILE): Removed check_alive() function

	* cherokee/handler_dirlist.c (render_page_header): Fixed to make
	it work property with long file names.

	* cherokee/buffer.c (cherokee_buffer_add_char_n): Added new method.

	* configure.in, Makefile.am (SUBDIRS): Directory debian will not
	be longer included in the tarball.

	* cherokee/handler_cgi.c (cherokee_cgi_add_env_pair,
	cherokee_cgi_add_env): Splitted to a new file cgi.c to be shared
	with the FastCGI handler.

	* cherokee/read_config_scanner.l: Addnew new rule:
	address_port. It recognices a host with ":" and a optional port
	number.

2005-05-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_set_client): Added new
	parameter: type to allow it to use unix sockets.

	* cherokee/Makefile.embedded (all): Added two rules to use yacc
	and lex properly. (OBJS): Added list_merge_sort.

2005-05-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll.c (cherokee_fdpoll_new): Now returns ret_no_sys
	instead of ret_error if it could instace the fdpoll object.

	* cherokee/socket.c (cherokee_socket_sendfile): Added
	LINUX_BROKEN_SENDFILE_API case.

	* cherokee/common.h: Added new ret_t value: ret_no_sys

	* configure.in: Added check off64_t

2005-05-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: --disable-pcre option removed.

2005-04-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/url.c (cherokee_url_clean): Added new method.

	* cherokee/downloader.c (cherokee_downloader_set): Renamed to
	cherokee_downloader_set_url()
	
	* cherokee/downloader.c (cherokee_downloader_mrproper,
	cherokee_downloader_init): Added new methods.

	* cherokee/mmap2.c (mmap2_print_item): Compilation fix.

	* cherokee/socket.c (cherokee_socket_accept_fd): Compilation fix.

	* cherokee/session_cache.h, cherokee/session_cache.c
	(cherokee_session_cache_add, cherokee_session_cache_retrieve,
	cherokee_session_cache_del): Compilation fix.

	* cherokee/buffer.c (cherokee_buffer_encode_md5): Compilation
	warning fixed.

	* cherokee/server.c: Some changes to make time updating more
	consistent. There was a problem when a blocked thread became alive
	again and accepts a new connection. It was using the old time
	value, so the connection probably could be dropped in the next
	server timeout checking.

	* cherokee/server.c (update_bogo_now):
	s/CHEROKEE_RWLOCK_TRYWRITER/CHEROKEE_RWLOCK_WRITER/.  Server must
	update always.

2005-04-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c (cherokee_thread_deactive_to_polling,
	cherokee_thread_move_connection_to_polling): Code clean up.

2005-04-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.h, cherokee/connection.c
	(cherokee_connection_close): Removed.

	* qa/run-tests.py, qa/conf.py (STRACE_PATH): Added new option to
	use strace.

	* qa/run-tests.py: Added support for the new configuration entry
	"PollMethod". The new parameter -m allows to set it.

2005-04-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/read_config_scanner.l, cherokee/read_config_grammar.y,
	cherokee/server.c, cherokee/server-protected.h,
	advanced.conf.sample.pre: Added a new configuration
	"PollMethod". It allows you to force a polling method.

	* cherokee/Makefile.am (EXTRA_DIST): getopt and pcre sources are
	always included in the tarball.

	* cherokee/pcre/*, configure.in, cherokee/Makefile.am:
	libcherokee-basic now supports pcre. If the libpcre library is
	installed on the system, it will use it, otherwhise it'll compile
	the pcre sources inside libcherokee-base.

2005-04-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am (libcherokee_base_la_SOURCES): Removed
	ltdl entries.

	* cherokee/fdpoll-poll.c (fdpoll_poll_new): Better initialization
	of the struct pollfd entries.

	* cherokee/thread.c (process_polling_connections): Remove the
	connection from the polling list before destroy it. It was
	breaking the polling list if an element got a timeout.

	* cherokee/thread.c (purge_closed_polling_connection): Purgation
	from the polling list fixed.

	* cherokee/server.c (print_banner): Little bugfix. There were two
	cherokee_buffer_add calls with a wrong length.

2005-04-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init): Added
	CGI_TIMEOUT to the handler initialization.

	* cherokee/macros.h (CGI_TIMEOUT): Added new constant.

2005-04-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll-poll.c (_check): Added POLLERR to rw=0 and rw=1

	* cherokee/fdpoll-poll.c (_add): s/POLL_READ/POLLIN/ and
	s/POLL_WRITE/POLLOUT/

2005-04-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll-epoll.c (fdpoll_epoll_new): Stop complaing about
	epoll() if it runs on Linux 2.4.

	* cherokee/connection.c (get_authorization): Added a smarter
	authentication method checking.

	* cherokee/validator_htdigest.c, cherokee/validator_htdigest.h,
	cherokee/Makefile.am: Added new authentication backend.

2005-04-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/cherokee-panic (action): Added 2>/dev/null to the
	"type" calls.

	* cherokee/buffer.c (cherokee_buffer_encode_md5_digest): It
	doesn't use sprintf() to convert to hexadecimal any more. I have
	added a new macro TO_HEX to replace that call.

	* cherokee/header.c (get_new_line): Added support for multiline
	headers.

	* cherokee/validator.h: Added support property.

	* cherokee/validator.c (cherokee_validator_free_base): Added new
	method.

	* cherokee/validator.h, cherokee/validator.c
	(cherokee_validator_add_headers): Added new virtual method.

2005-04-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/common.h: Added new type cuint_t

	* cherokee/util.c (cherokee_sys_fdlimit_set,
	cherokee_sys_fdlimit_get): Made s/uint32_t/cuint_t/. It had a
	dependency on stdint.h or inttypes.h that couldn't be handled
	without HAVE_ macros.

2005-04-18  Rodrigo Fernandez  <rodrigo.fernandez-vizarra@sun.com>

	* cherokee/virtual_server.c: Initialize mutextes in the
	constructor. It was making NetBSD 2.0 to crash on every request
	
2005-04-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am (libplugin_*_la_LDFLAGS): Added
	-export-dynamic

	* cherokee/libltdl/*, cherokee/Makefile.am
	(libcherokee_base_la_SOURCES): Added libltdl source code.

	* cherokee/module_loader.c (dylib_open): Added more descriptive
	error reporting string.

	* cherokee/Makefile.am: Removed -no-undefined parameter from all
	the module LDFLAGS. Let them free to use whatever they want! :-p

	* cherokee/socket.h (CHE_INET_ADDRSTRLEN): There was a problem
	compiling Cherokee 0.4.19 on Cygwin becase it doesn't export the
	value of INET_ADDRSTRLEN. I have added the default value of it to
	the macro. See RFC 2553.

	* cherokee/header.c: "const known_headers_names" to "static
	known_header_names"

	* cherokee/socket.c (cherokee_socket_pton): inet_pton is not
	available on Cygwin. I've added a new ifdef entry to use inet_aton
	in that case.

2005-04-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Cherokee 0.4.19 released

2005-04-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/util.h, cherokee/util.c (cherokee_setenv): Removed! It
	is not longer needed.

	* cherokee/macros.h: Removed stdint.h include. There was a problem
	in Solaris 9 Sparc due to this.

	* build_solaris.sh.in, configure.in, Makefile.am: Added new script
	to build Solaris binary packages.

	* cherokee/mime_scanner.l: Added stdlib include.

2005-04-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.h, cherokee/buffer.c
	(cherokee_buffer_make_empty), cherokee/read_config_grammar.y,
	cherokee/mmap2.c (entry_clean), cherokee/logger_ncsa.c
	(cherokee_logger_ncsa_flush), cherokee/header.c
	(cherokee_header_foreach), cherokee/handler_nn.c
	(get_nearest), cherokee/handler_dirlist.c
	(check_request_finish_with_slash), cherokee/handler_common.c
	(cherokee_handler_common_new), cherokee/connection.c
	(cherokee_connection_mrproper)
	(process_handler_complex_headers, build_response_header)
	(cherokee_connection_send_header_and_mmaped)
	(cherokee_connection_send, post_init): Removed
	cherokee_buffer_make_empty() function.

	* cherokee/buffer.h, cherokee/buffer.c (cherokee_buffer_init,
	cherokee_buffer_mrproper): Added new functions.

	* cherokee/handler_error.c (build_hardcoded_response_page): Fixed
	to show the right URL in the error reporting page.

	* cherokee/buffer_escape.c (cherokee_buffer_escape_set_ref):
	Slightly modified. Now it allows to re-set a buffer.

	* cherokee/logger_w3c.c (cherokee_logger_w3c_write_access) 
	(cherokee_logger_w3c_write_error): Fixed logger string.

	* cherokee/connection.h, cherokee/connection.c
	(cherokee_connection_build_local_directory): Added new structure
	member: request_original.

	* cherokee/logger_ncsa.c (build_log_string): Fixed request
	string. It was logging a wrong request string if the DocumentRoot
	configuration key was used for that directory.

	* cherokee/handler_dirlist.c (build_public_path): Fixed "Index of"
	string. I was printing a wring directory if a DocumentRoot was
	configured for that directory.

	* cherokee/handler_cgi.c (_extract_path): Bug fix. Indirecty
	reported by Allan Wind <allan_wind@lifeintegrity.com>.

2005-04-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.spec.in, Makefile.am: Remake RPM. It is a JDS/SuSE
	package.

	* configure.in: Added new parameter --with-wwwroot

2005-04-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_dirlist.c, cherokee/handler_dirlist.h: Added
	support for sorting out files.
	
2005-04-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_phpcgi.c (cherokee_handler_phpcgi_new): Tiny
	bugfix in a corned case.
	
	* cherokee/connection-protected.h, cherokee/handler_cgi.c,
	cherokee/handler_cgi.h, cherokee/handler_common.c,
	cherokee/handler_phpcgi.c, cherokee/util.c: Added a much better
	support of PathInfo. Lot of stuff have been changed to make it
	work.

	* qa/66-DirectoryIndex3.py, qa/67-PathInfo.py, qa/68-PathInfo2.py,
	69-PathInfo3.py: Added new test cases.

	* cherokee/handler_cgi.c: Some variables has been fixed to make
	DokuWiki and PHP Indexer work. Reported by Rodolfo Pilas
	<rodolfo@pilas.net>
	
2005-04-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init),
	cherokee/connection-private.h, cherokee/connection.c,
	cherokee/handler_common.c: Added support for effective directory.

	* cherokee/connection.c (cherokee_connection_create_handler):
	Little fix: if the directory is using the "common" handler and the
	server receives a request for a file that doesn't exists, it
	doesn't need to instance a file handler to return the error. It is
	a little speed improvement for a corner case.

	* cherokee/common.deps: Added cgi

	* debian/cherokee.init (restart): Fixed.

	* cherokee/read_config_grammar.y: Slightly modified to support
	full paths in the DocumentIndex configuration entry.

2005-04-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/validator_pam.c: Fixed compilation. Reported by Link
	Dupont <link@subpop.net>.  Ilya Pashkovsky
	<ilya.pashkovsky@gmail.com> also sent a patch for this.
	
	* cherokee/validator_pam.c (cherokee_validator_pam_check): Fixed
	little memory leak.

	* configure.in: Added new configuration parameter to disable PAM.
	
2005-03-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.18 released
	
	* cherokee/thread.c (cherokee_thread_step_SINGLE_THREAD): Bug
	fixed: there was a problem in the pipelined request.

	* configure.in, cherokee/thread.c (cherokee_thread_new): Added
	detection for pthread_attr_setschedpolicy(). It fixes a
	compilation problem for some platforms.

2005-03-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.embedded: Added new Makefile for the
	u-cherokee version.

2005-03-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/header-protected, cherokee/connection-protected: New
	header files.

2005-03-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/logger_ncsa.c (cherokee_logger_ncsa_free): Silly bug
	fixed. It was closing twice the same file descriptor and forgoting
	another one unclosed.  Remember: some times copy&paste sucks :-p

	* cherokee/header.c (cherokee_header_parse),
	cherokee/handler_file.c (cherokee_handler_file_init): Partial
	content fixes.

2005-03-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/http.h (http_mehod_with_body): Added new macro

2005-03-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (get_host): Improved: Now it is slightly
	faster and has a better broken header detection.

2005-03-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_file.c (cherokee_handler_file_init): Fixed
	compilation problem.

	* cherokee/socket.c (cherokee_read): Added support for the
	ŤConnection timed outť error.

2005-03-17  Lidia Fernandez Gago  <lidia@alobbs.com>

	* autogen.sh: Updated.

	* m4/*: Moved macro files.

	* configure.in: Fixed some macro problems.

2005-03-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* sendfile_samba.m4, configure.in: Fixed inclusion of sendfile()
	check - at CeBit 2005, Hanover.

2005-03-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll-epoll.c: Some little bug fixes

	* cherokee/Makefile.am (gnu_getopt): getopt files moved inside
	cherokee/getopt directory.	

2005-03-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.c (cherokee_buffer_read_from_fd): Added EIO
	management.

2005-03-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (initialize_tls_session): Fixed compilation
	problem. Reported by Cesar Fernandez Gago.

2005-02-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee_replace.c: Fixed some compilation warnings.

2005-02-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/macros.h (CST_OFFSET): Added new macro

2005-02-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/table.c (cherokee_table_del): Last argmente removed.
	It was used to return the value of the deleted element.

	* configure.in, cherokee/zlib/Makefile.am: Improved zlib
	compilation.

2005-02-21  Rodrigo Fernandez-Vizarra  <rodrigo.fernandez-vizarra@sun.com>

	* cherokee/mmap2.c (table_is_full): Fixed the condition to check if
	the table is full.

2005-02-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_gethostbyname): Replaced
	__SUN_PROC by SOLARIS.  There was an error here compiling Cherokee
	in Solaris with GCC.

	* cherokee/header.c (parse_request_first_line): Improved
	parsing. Now it is a bit more secure.

	* cherokee/connection.c (cherokee_connection_setup_error_handler):
	On error, it will close the socket: keepalive = 0.

	* cherokee/server.c (print_banner): Added new substring about IPv6

2005-02-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c: Fixed silly bug.  Now POST requests are
	working again.  This problem was introducced in the execl() to
	execve() code conversion.

2005-02-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (set_fdmax_limit): Fixed logic.

	* configure.in: Added check for getrlimit() and getdtablesize()

	* cherokee/util.c (cherokee_sys_fdlimit_get): Added WIN32

	* cherokee/thread.c (cherokee_thread_step_MULTI_THREAD): Fixed
	code logic problem.  This was the CGI execution problems source.

	* configure.in: Added AC_DEFINE for Solaris

2005-02-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_socket_accept_fd,
	cherokee_socket_set_sockaddr): Added new helper function to
	improve performance in thread.c

	* cherokee/connection.c (cherokee_connection_mrproper): It
	shouldn't keep information in incoming_header if it is not a
	keep-alive connection. Fixed.

	* cherokee/mmap2.c (cherokee_mmap2_get): Added a new mutex:
	cherokee_mmap2_get_mutex. From this moment _get() is atomic.

2005-02-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/cherokee-panic (action): Added "full" to the bt action.

	* cherokee/mmap2.c (entry_free): Fixed tiny memory corruption
	problem.

	* cherokee/handler_file.c (cherokee_handler_file_new): Fixed: move
	depends on uninitialised value.

	* cherokee/socket.c (cherokee_socket_ntop): Fixed: move depends on
	uninitialised value.

	* cherokee/buffer.c (cherokee_buffer_ensure_size): If ->buf is
	NULL just use malloc and return.

2005-02-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll-epoll.c (_check): Added sanity check

2005-02-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.h: changed type of the pid property. Now it
	is pid_t.

	* cherokee/buffer.c (cherokee_buffer_read_from_fd): It didn't
	support EINTR error handling.

	* cherokee/handler_cgi.c (cherokee_handler_cgi_init): Now it uses
	execve() instead execl().  All cherokee_setenv() calls have been
	dropped out.

2005-02-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_file.c (cherokee_handler_file_add_headers): Now
	it uses cherokee_gmtime() instead of gmtime().

	* cherokee/http.h (http_moved_temporarily_string), cherokee/http.c
	(cherokee_http_code_copy): Fixed 302 string.

	* cherokee/common-internal.h (CHEROKEE_RWLOCK_TRYWRITER,
	CHEROKEE_RWLOCK_TRYREADER, CHEROKEE_MUTEX_TRY_LOCK): If Cherokee
	is compiled without pthread support, it is 0 <- that means that it
	has locked.

	* cherokee/logger_ncsa.c (build_log_string), cherokee/logger_w3c.c
	(cherokee_logger_w3c_write_access,
	cherokee_logger_w3c_write_error): Now it uses bogo_now from the
	thread.

	* cherokee/server-protected.h: Added new rwlock: bogo_now_mutex.

	* cherokee/common-internal.h (CHEROKEE_RWLOCK_TRYREADER,
	CHEROKEE_RWLOCK_TRYWRITER): Added two new macros to wrap
	pthread_rwlock_tryrdlock() and pthread_rwlock_trywrlock()

	* cherokee/thread.c (set_sigpipe): Removed.

	* cherokee/thread.h: Added new properties: time_t bogo_now, struct
	tm bogo_now_tm, cherokee_buffer_t *bogo_now_string.

	* cherokee/mmap2.c (cherokee_mmap2_get), cherokee/handler_file.c
	(cherokee_handler_file_init): Added new bogo_now parameter.

2005-02-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c, cherokee/macros.h: Now, it look at the
	traffic_next property to update the virtual server traffic
	counters each DEFAULT_TRAFFIC_UPDATE seconds. It uses to the new
	cherokee_connection_update_vhost_traffic() function.  It should
	improve the performance.

	* cherokee/connection.c
	(cherokee_connection_update_vhost_traffic): Added new method to
	update the virtual server traffic information.  It just call the
	new cherokee_virtual_server_add_{tx,rx} to update it safely.

	* cherokee/connection.h: Added rx and tx properties.

	* cherokee/virtual_server.h, cherokee/virtual_server.c
	(cherokee_virtual_server_add_rx, cherokee_virtual_server_add_tx):
	Added these new function to make rx/tx increment thread
	safe. There are connection in the threads that could want to
	increment this values at the same time.

	* cherokee/server-protected.h: Added new property: type struct tm.

	* cherokee/util.h, cherokee/util.c (cherokee_gmtime): Added new
	function.

	* cherokee/server.c (cherokee_server_unlock_threads): Added new
	function.

	* cherokee/thread.h, cherokee/thread.c (cherokee_thread_unlock):
	Added new function to launch the thread. It just unlocks the
	starting mutex.

	* cherokee/thread.h, cherokee/thread.c: Added starting_lock.

	* cherokee/mmap2.c (cherokee_mmap2_clean_up): Fixed some
	concurency problems.

2005-02-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/thread.c: Integrated lingering close stuff.

2005-02-06  Rodrigo Fernandez-Vizarra  <Rodrigo.Fernandez-Vizarra@sun.com>

	* ChangeLog: Fixed a typo in my name ;-)
      
	* cherokee/Makefile.am: Changed a GNU specific rule to a GNU/BSD
	compatible rule

	* cherokee/handler_cgi.c: Added signal.h so that it compiles in
	NetBSD 2.0

2005-02-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_read): Now it supports read to a
	NULL.  It is useful to implement lingering close.

	* cherokee/connection.h, cherokee/connection.c
	(cherokee_connection_pre_lingering_close): Added new function.

	* cherokee/connection.h: Added lingering state

2005-02-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (read_config_path): Added closedir()
	call. There was a memory leak due to this.

	* cherokee/icons.c (cherokee_icons_set_suffixes): Tiny memory leak
	fixed.

	* cherokee/mmap2.c, cherokee/mmap2.h: Now it does not use
	CHEROKEE_NEW_STRUCT_WITH_PRIV.

	* cherokee/macros.h (CHEROKEE_NEW_STRUCT_WITH_PRIV): Removed!! It
	was the source of lot of problems.

2005-02-03  Rodrigo Fernandez-Vizarra  <Rodrigo.Fernandez-Vizarra@sun.com>

	* cherokee/fdpoll-kqueue.c: Fixed compilation problem in Freebsd
	and Netbsd.

2005-02-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (cherokee_server_init): Fixed wrong thread
	number in single-thread executable.

	* cherokee/handler_cgi.c (cherokee_handler_cgi_free): Now calls to
	close() safely.

	* cherokee/thread.c (cherokee_thread_step_SINGLE_THREAD):
	tls_enabled fixed.

2005-01-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.c (cherokee_handler_cgi_new): Better error
	handling.

	* cherokee/header.c (cherokee_header_get_arguments): Now it
	returns ret_ok instead ret_error parsing requests without
	parameters.

	* cherokee/connection.c (cherokee_connection_parse_args): Added
	sanity check.

2005-01-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_free): Memory leak
	fixed. It was not freeing query_string buffer.

2005-01-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (get_host): Added security check. Hostname
	can't start by dot.

2005-01-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/socket.c (cherokee_read, cherokee_writev,
	cherokee_write): Added EINTR and EWOULDBLOCK

2005-01-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/handler_cgi.h: Removed HANDLERCGI_PARAM and
	HANDLERCGI_FILE macros.	

2005-01-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am: Fixed libpcre support

2005-01-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/buffer.h, cherokee/buffer.c
	(cherokee_buffer_replace_string): Added new method.


2005-01-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/macros.h, cherokee/fdpoll-epoll.c: Errors around epoll
	are not more fatal errors.

2005-01-06  Emil Beinroth <emilbeinroth@gmx.net>

	* cherokee/server.c (change_execution_user): Now it uses
	initgroups() to reset the user groups on change.

2005-01-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/*c, *h, *l, *y: Copyright notice updated

	* configure.in: Added PCRE library detection

	* cherokee/handler_redir.c, cherokee/handler_redir.h: Ayose's
	patch integration and some little fixes.


2005-12-31  Ayose Cazorla León   <setepo@gulic.org>

	* cherokee/handler_redirc, cherokee/handler_redir.c:
	Added PCRE library support


2004-12-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/connection.c (cherokee_connection_get_request): It will
	only try to process the Connection: Upgrade information if TLS is
	enabled in the server.


2004-12-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Clean up to use AC_HELP_STRING


2004-12-26  Ayose Cazorla León   <setepo@gulic.org>

	* cherokee/handler_cgi.c, cherokee/handler_error.c,
	cherokee/handler_file.c: Bug fixes.


2004-12-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/server.c (cherokee_server_read_config_file): It
	configuration file is NULL, it will read the default one:
	CHEROKEE_CONFDIR"/cherokee.conf"

	* cherokee/macros.h: Added <stdint.h> inclusion to avoid problems
	due to use int32_t in the cherokee structs.


2004-12-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/fdpoll.c, cherokee/fdpoll.h: Added "port" support.

	* configure.in, cherokee/Makefile.am: Added check for the new
	Solaris 10 "Event Ports".

	* cherokee/fdpoll-kqueue.c: Fixed kqueue support


2004-12-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* debian/rules (config.status): It does not use --disable-epoll
	anymore.  Now the polling method is choosen on-the-fly.
	
	* debian/rules: Removed cherokee-bench package.
	
	* configure.in: Removed --disable-epoll parameter.

	* cherokee/cherokee-panic: Added Solaris 10 support - with dbx


2004-12-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/list_mergesort.c, cherokee/list_mergesort.h: Added
	Mergesort algorithm.
	http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html

	* cherokee/table.c (cherokee_table_len): Added new method.

	* cherokee/table.c (cherokee_table_clean_up): Added new method.


2004-12-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee/Makefile.am, src/*.deps, src/module_loader.c: Modules
	are not longer linked against other modules.  Added .deps for
	this.

2004-12-07  Rodrigo Fernandez-Vizarra  <Rodrigo.Fernandez-Vizarra@Sun.COM>

	* cherokee.m4: Regexps fixed.

2004-11-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, src/Makefile.am, src/handler_mono.c,
	src/handler_mono.h: Removed Mono support.

	* src/common.c: No longer needed. Removed.

	* src/common.c (PRINT_ERROR, PRINT_DEBUG): Now these are macros
	instead functions - defined in the header file.

	* src/util.h, src/util.c: Added new files for common.h clean up.


2004-11-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (_LOG): Removed. A new macro "dbg" has been
	added, it is cleaner than _LOG.
	

2004-11-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (print_banner): Some little improvements.


2004-11-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer_escape.c (cherokee_buffer_escape_free):
	Bugfix. s/esc->internal/esc->internal[i]/
	
	* src/read_config_scanner.l, src/read_config_grammar.y: Added new
	configuration entry "MaxConnReuse" to set the max number of
	connection to reuse in each thread.

	* src/thread.c (connection_reuse_or_free): Added new function.

	* src/Makefile.am (libcherokee_server_la_SOURCES): Removed log.c
	and log.h. These files are not longer used.

	* src/handler_cgi.c (cherokee_handler_cgi_init): Droped O_ASYNC
	from O_ASYNC|O_NDELAY|O_NONBLOCK.


2004-11-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/*.c: Added LOT of "unlikely"s in the "ret" error checkings.

	* src/thread.c: Added some unlike()s

	* src/common.h (CHEROKEE_PRETTY_FUNCTION): It uses __func__
	instead "???" if __PRETTY_FUNCTION__ is not supported.

	* src/common.h: Added likely and unlikely macros.

	* src/socket.c (cherokee_socket_init_tls): Call to gnutls_bye
	before deinit the TLS connection. It tries to fix a segmentation
	fault detected at the production server.
	

2004-11-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_write): ssize_t -> size_t
	(cherokee_socket_read): ssize_t -> size_t
	(cherokee_socket_gethostbyname): Added implementation for
	Solaris10.

	* src/list.h, src/common.h: Some fixes around __inline__ to make
	Cherokee compile in Solaris w/ the Forte compiler.

	* configure.in: Added better check for __inline__


2004-11-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_get_request): It returns
	411 ŤLength requiredť error on POST without length.


2004-10-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger_ncsa.c (cherokee_logger_ncsa_write_string): Security
	bug fixed.  Reported by Dan Margolis <krispykringle@gentoo.org>.


2004-10-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Removed Debian apt-get examples..


2004-10-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_clean): There was a bug
	clearing the request buffer_escape object.

	* src/buffer_escape.c (cherokee_buffer_escape_get_html): Bug
	fixed. There was a SEGFAULT here because it was trying to read
	from NULL.


2004-10-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* icons/back.png: Updated.

	* icons/sound.png: Updated.

	* icons/movie.png: Updated.

	* icons/image.png: Updated.

	* icons/readme.png: Updated.

	* icons/java.png, icons/Makefile.am, icons.conf.sample: Added new
	icon.
	
	* src/http.h, src/connection.h, src/connection.c, src/thread.h,
	src/thread.c: Implemented RFC2817: ŤUpgrading to TLS Within
	HTTP/1.1ť :-)


2004-10-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (build_server_string): New server string feature.
	
	* cherokee.conf.sample.pre: Added new block describing
	ServerTokens

	* src/handler_dirlist.c (cherokee_handler_dirlist_step),
	src/handler_error.c (build_hardcoded_response_page): Updated to
	use the new srv->server_token

	* debian/rules (config.status): It uses the new enable-os-string
	parameter.

	* configure.in (OS_TYPE): Added new --enable-os-string=STR

	* cherokee.m4: Little update

	* src/connection.h, src/connection.c, src/handler_error.c
	(build_hardcoded_response_page): Changed to use the new
	cherokee_buffer_escape_t class.

	* src/buffer_escape.h, src/buffer_escape.c, src/Makefile.am
	(libcherokee_base_la_SOURCES): Added new class.


2004-10-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_escape_html): Added new method.

	* src/connection.c (cherokee_connection_reading_check): On huge
	requests, it uses "Request-URI too long" instead of the generic
	"Bad Request".

	* src/http.h, src/http.c (http_request_uri_too_long_string): Added
	"Request URI too long" response.

	* doc: Added rfc1952.txt rfc2616.txt rfc2817.txt

	* src/header.c (cherokee_header_parse): Added "Upgrade" header to
	common ones.

	* src/connection.h: Added "upgrade" property to connection class.

	* src/http.h: Added cherokee_http_upgrade_t type
	

2004-10-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (process_active_connections): Bugfix.

	* src/common.h (RET_UNKNOWN, SHOULDNT_HAPPEN): Reformatted.

	* configure.in, src/Makefile.am, src/handler_gotls.h,
	src/handler_gotls.c: Removed GoTLS handler.

	* src/handler_error.c (cherokee_handler_error_add_headers):
	Bugfix.  It was generating a bad Content-length header.

	* src/connection.c (build_response_header): Added "Connection:
	Upgrade" support.

	* src/handler_table_entry.h, src/handler_table_entry.c: New class
	property: only_secure.

	* src/read_config_grammar.y: Added 'directory_option' to implement
	the ŤOnly secure accessť feature.

	* src/read_config_scanner.l: Added T_ONLY_SECURE token


2004-10-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_phpcgi.c (cherokee_handler_phpcgi_{new,init}): Now,
	it look for a "Interpreter" handler parameter and use it as
	interpreter.

	* src/read_config_scanner.l, src/read_config_grammar.y
	(T_FULLDIR): Added "Interpreter" property.


2004-10-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cget/main.c (print_help): Write as wget

	* debian/control (Build-Depends): Removed zlib1g-dev dependency.

	* src/zlib, configure.in: Added zlib deflate code

	* configure.in: Removed check for zlib library

	* src/Makefile.am: Now uses src/zlib/ instead libz.so

	
2004-09-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_dirlist.c (cherokee_handler_dirlist_new): Wrong
	initialization fixed.


2004-09-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* icons/iso.png, icons.conf.sample, icons/Makefile.am: Added ŤISO
	Imageť icon.

	* src/handler_cgi.c (_set_envs_cgi): index() -> strchr()

	* src/icons.c: Misc clean up

	* src/fdpoll.h: Added cherokee_fdpoll_reset() prototype

	* src/connection.h: Added prototype
	cherokee_connection_setup_error_handler()

	* src/connection.c: Some clean ups

	* src/url.c: Added inclusion of <strings.h>

	* src/header.c: Added inclusion of strings.h.

	* src/header.c (cherokee_header_parse): Typo fixed.

	* src/socket.c: Added inclusion of sys/socket.h header


2004-09-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/access.c (cherokee_access_ip_match): Removed two unused
	variables.

	* src/mime.c (cherokee_mime_entry_free): Return value fixed

	* src/header.c: Added string.h inclusion: strncasecmp(), strsep()

	* src/header.c (cherokee_header_copy_method,
	cherokee_header_copy_version): These two functions have been
	rewrited to use the http.h API.

	* src/mmap.c (cherokee_mmap_get_default): Clean up: Removed unused
	variable

	* src/socket.c (initialize_tls_session): Fixed precompilator
	directives: HAVE_GNUTLS / HAVE_OPENSSL

	* src/socket.c (cherokee_socket_gethostbyname): Little clean up

	* src/socket.c: Added inclusion of netdb.h: gethostbyname_r()
	
	* src/buffer.c (cherokee_buffer_decode): Return fixed.

	* src/buffer.c (cherokee_buffer_replace): Fixed return value

	* src/common.c: Added inclusion of unistd.h and sys/time.h

	* src/http.c (cherokee_http_code_copy): Added http_continue and
	http_switching_protocolos cases.

	* src/connection.c (process_handler_complex_headers): Better
	complex header handling.

	* src/handler_cgi.c (cherokee_handler_cgi_init): Improved error
	report.  It will return 404 or 500 in each case; until now, it was
	just closing the connection.


2004-09-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/header.c (cherokee_header_parse): Fixed a bug processing
	'header_type_basic' headers.
	
	* src/read_config_grammar.y (yyerror): Better error reporting.


2004-09-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/cherokee-panic (action): Added new argument 'action'.


2004-09-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/common.h (RET_UNKNOWN): Added new macro.

	* src/handler_cgi.c: It is working again!! :-)
	

2004-09-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c: Lot of changes

	* src/fdpoll.c (fdpoll_epoll_del): It fill not exit() on error.

	
2004-09-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_read_from_fd): Addned new function.


2004-09-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler.h (HANDLER_THREAD): Added new macro.


2004-09-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (cherokee_thread_conn_wants_poll_for_fd): Added new
	function.

	* src/downloader.c, src/downloader.h: Added struct entries to
	count the information send/received.
	
	* src/downloader.c, src/downloader.h:
	(cherokee_downloader_connect): Added new function.


2004-09-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/downloader.c (downloader_header_read): Added content-length
	header check.


2004-09-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (_send_post_data): Clean up

	* src/handler_cgi.c: Some changes to make POST request >4Kb
	working.

	* src/connection.c (cherokee_connection_get_request): Now it uses
	the header class instead of look inside the request string "by
	hand".

	* src/thread.c (process_active_connections): Bugfix. userdir
	detection was wrong.

	* src/thread.c (process_active_connections): Incoming headers
	parsing improved.

	* src/thread.c (process_active_connections): Bugfix. Incoming
	headers was not managed properly.


2004-09-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_scanner.l, src/read_config_grammar.y: Added
	"https" urls recognition. Reported by Rodolfo Pilas.


2004-08-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_gethostbyname): Fixed concurrent
	version of the function.  It was not copy the query in the socket
	struct.  (Santa Cruz ~ Bolivia to Sao Paulo ~ Brazil)


2004-08-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_connect): Added new method (Hotel,
	Sucre ~ Bolivia).


2004-08-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/url.c (cherokee_url_parse_ptr): Fixed. It was including the
	port number in the hostname string after parsing.

	* src/socket.c (cherokee_socket_gethostbyname): Added new
	function. (Waiting in the Santa Cruz ~ Bolivia airport)


2004-08-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for gethostbyname, gethostbyname_r
	functions. (Arequipa ~ Perú)


2004-08-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_set_client): Added new method.
	(XII CONEIS, Lima ~ Perú)


2004-08-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_pton): Added new method.
	(National Free Software Congress, Sucre ~ Bolivia)


2004-08-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench/main.c (main): Print_usage() fixed.

	* src/thread.c (process_active_connections): Now, it uses
	cherokee_header_has_header() instead of cherokee_connection_eoh() 

	* src/header.c (cherokee_header_has_header): Added new function

	* src/connection.c (cherokee_connection_eoh): Dropped out

	* src/thread.c (process_active_connections): Fixed userdir
	directories management.
	

2004-08-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench/connection.h: changed struct sockaddr_in by
	cherokee_sockaddr_t

	* bench/request.h, bench/request.c: Moved to src, to
	libcherokee-client. Renamed from cherokee_bench_request_* to
	cherokee_request_header_*

	* bench/main.c (main): Adapted to last changes: It uses
	cherokee_buffer_t instead of char *.

	* bench/bench.h (cherokee_bench_add_url), src/url.h
	(cherokee_url_parse): Now, it accepts a cherokee_buffer_t instead
	of a char*
	
	* bench/url.c, bench/url.h: Moved to src, for libcherokee-client.

	
2004-07-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y ('directory'): Some fixes. Now, it is
	more generic.

	* src/virtual_server.c, src/virtual_server.h
	(cherokee_virtual_server_set): Dropped out.


2004-07-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_init_tls, initialize_tls_session):
	Fixed compilation problem reported by Yusuf.


2004-07-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* README (NAME): Updated to new module name.

	* src/module_loader.c (dylib_open): Fixed to work with the new
	module prefix.

	* src/Makefile.am: libcherokee_* are now plugin_*

	
2004-07-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* sites-default.sample.pre: Changed form ErrorDocument to the new
	ErrorHandler syntaxis.

	* src/handler_redir.c (cherokee_handler_redir_new,
	cherokee_handler_redir_init): Some little fixes.

	* src/handler_error_redir.c (cherokee_handler_error_redir_new),
	src/Makefile.am, configure.in: Added new file.

	* src/connection.c: Error handling code fixed.


2004-07-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_build_header): Fixed to
	work with the new error management code.

	* src/connection.c (build_response_header): Error related headers
	are not needed anymore.  The error module now manage all that.

	* src/connection.c (send_buffer_unsafe): Removed! It is not
	needed anymore.  "Unsafe" is not the right way.. ;-)

	* src/connection.c (build_hardcoded_response_page): Removed!
	"Hardcoded" sounds horrible!  We can do it much better than
	that. :-p

	* src/connection.c
	(cherokee_connection_send_response_page_hardcoded,
	cherokee_connection_send_response_page_file): Droped out! Now this
	work is delegated to the internal error handler. Much more clean!!
	
	* configure.in: IPv6 detection problem fixed. Reported by Juan
	Cespedes.

	* debian/rules (build-arch-stamp): It will now execute the tests
	by default.  We have to check the Python version and add some
	dependences to the control file before.

	* doc/Intro.txt: It as dupped.  Reported by Juan Cespedes.

	* src/handler.h (HANDLER_SUPPORT_ERROR): Added error handling
	property.

	* src/read_config_grammar.y (T_FULLDIR), virtual_server.h,
	virtual_server.c, connection.c: Clean up: it uses a
	cherokee_buffer_t instead a char* + int


2004-07-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.17 released


2004-07-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for ClamAV library

	* src/connection.c (cherokee_connection_get_request): Fixed
	"Host:" header management.  Cesar Fernandez reported a problem
	with some broken proxies from Telefonica.es

	* src/handler_cgi.c (_set_envs_cgi): Fixed bug.  It was generating
	a Segment Fault in the CGI process when there was no "Host:" entry
	in the request headers.

	* README: Added some information about how to compile a Cherokee
	module by hand (using libtool like in the current Automake code) 


2004-07-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Makefile.am (install-data-local, uninstall-local): Addeded new
	rule to install cherokee-config.h

	* src/cherokee.h, src/Makefile.am: Removed

	* src/module_loader.c: Clean up


2004-07-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_dirlist.c (build_public_path): Fixed bug in the
	public path printing.


2004-07-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler.h, src/handler.c (cherokee_handler_free_base): Added
	new virutal method.

	* src/handler_file.c (file_init): _file_is_init now is
	cherokee_boolean_t instead int.

	* debian/rules: Updated to install the cherokee binary in
	/usr/sbin insted /usr/bin


2004-06-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am (sbin_PROGRAMS): Changed bin_PROGRAMS to
	sbin_PROGRAMS.  Now the cherokee executable will be installed in
	/usr/sbin instead /usr/bin.
	

2004-06-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_scanner.l: Added domain name recognition.

	* sites-default.sample.pre: Added the logging related
	configuration entries.

	* advanced.conf.sample.pre: Moved LogFlushInterval here.


2004-06-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/table.c (cherokee_table_while): Bugfix.  There was an error
	in the parameter order in the parameter function call.

	* src/handler_redir.c (cherokee_handler_redir_new): Better error
	check.

	* src/read_config_grammar.y (T_HTTP_URL): There was an error with
	the HTTP redirection configuration entries.

	* src/handler_cgi.c (cherokee_handler_cgi_add_headers): Wrong
	error handling fixed.


2004-06-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/mime.c (cherokee_mime_free): Bugfix.  It was free memory
	twice.

	* src/logger_ncsa.c (build_log_string), src/handler_file.c
	(cherokee_handler_file_add_headers): Now uses the new FMT_OFFSET
	constant.

	* src/common.h (FMT_OFFSET): Added constant for format string of
	off_t

	* src/handler_cgi.c (_read_from_cgi): Some fixes arround the CGI
	termination.
	

2004-06-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (set_fdmax_limit): Moved from _new to _init just
	before to create the threads.

	* src/common.h, src/common.c (set_system_fd_num_limit): Added new
	function.

	* src/server.c (initialize_server_socket),
	src/read_config_scanner.l, src/read_config_grammar.y,
	src/server.h, advanced.conf.sample.pre: Added "ListenQueue" new
	configuration entry.

	* src/server.h, src/server.c, src/read_config_scanner.l,
	src/read_config_grammar.y, advanced.conf.sample.pre,
	src/handler_file.c: Added "Sendfile" new configuration entry.

	* src/virtual_server.c (cherokee_virtual_server_init_tls): OpenSSL
	implementation error fixed.  It is working now.

	* src/server.c (read_config_path): It did not building the path
	correctly. Fixed.

	* src/server.c(cherokee_server_init): I was not detecting the TLS
	configuration correctly. Fixed.


2004-06-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* advanced.conf.sample.pre: Added new config file

	* src/server.c (print_banner): Added TLS library to the banner.


2004-06-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/mime.c (cherokee_mime_init): Bugfix


2004-06-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/cherokee-panic: It was a bug calling mktemp

	* src/Makefile.am (dynamic_validator_htpasswd_lib): It was
	compiling htpasswd module dinamically even it was set to
	--enable-static-module=all

	* src/server.c (read_default_config_files): Better mime global
	object management.

	* cherokee.conf.sample.pre: Commented out PAM example.  Reported
	by Miguel Angel Ajo, ajo@godsmaze.org


2004-06-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c, src/socket.h, src/server.c, src/virtual_server.h,
	src/virtual_server.c: Added some OpenSSL support code.

	* src/virtual_server.c (cherokee_virtual_server_free): Now it
	fixes the credentials object.  Memory_leaks--;

	* configure.in, src/Makefile.am, bench/Makefile.am: Added new
	options to compile with GNUTLS or OpenSSL. 
	--enable-tls=[gnutls|openssl]


2004-06-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench/url.c (cherokee_url_parse): Bugfix.  There was some
	incorrect string handling code.

	* bench/bench.c (_cherokee_bench_get_request): Compilation warning
	fixed.

	* src/logger_ncsa.c (build_log_string): Bug fixed.  It was "int
	**" instead "int *".

	* src/handler_remote_control.c
	(cherokee_handler_remote_control_init): Fixed compilation warnings
	arround the 64bits long files support.

	* src/handler_mono.c (send_headers_callback): Compilation fix.

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Bugfix.
	It was: conn->userdir, instead of conn->userdir->len.

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Two
	compilation warnings were fixed.

	* src/handler_file.c (check_cached): Bugfix.  It was an char *,
	instead a single char.

	* src/handler_server_info.c: Fixed some compilation warnings.

	* src/table.c (cherokee_table_while): The last two parameters:
	return of the key and the value found in the table new can be
	NULL.

	* src/table.h: New api.

	* src/icons.c (cherokee_icons_get_icon): Fixed to the new
	cherokee_table_while api.

	* src/handler_cgi.c (_set_envs_cgi): Compilation warnings fixed.

	* src/session_cache.c (equal): Compilation warning fixed.

	* src/thread.c (process_active_connections): 64 bits file in 32
	bit machines bug fixed.
	(cherokee_thread_get_new_connection): Compilation warning fixed.

	* src/encoder_gzip.c (cherokee_encoder_gzip_encode): GZip Footer
	code rewritted.


2004-06-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.h: Added new type cherokee_sockaddr_t

	* network.m4: Added AC_ACME_SOCKADDR_IN6 and AC_ACME_SOCKADDR_STORAGE

	* src/buffer.c (cherokee_buffer_swap_chars): Now, it returns ret_t

	* src/buffer.c (cherokee_buffer_end_char): Added new helper function

	* src/connection.c
	(cherokee_connection_build_local_directory_userdir): URL like
	http://www.alobbs.com/~alo are redirected to
	http://www.alobbs.com/~alo/


2004-05-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_ntop): Conditional compilation
	reordered.

	* configure.in: Added check for the inet_ntop() function


2004-05-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c
	(cherokee_connection_build_local_directory_userdir): Fixed bug.
	There was a problem with URL like: http://www.alobbs.com/~/cosa/


2004-05-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/main.c (panic_handler): Funcion `panic' has been renamed to
	panic_handler because it was causing a linkage error on MacOS X.

	* configure.in (cherokee_version_len): Check form _pam_dispatch
	instead of pam_end.


2004-05-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/access.[ch] (cherokee_access_add), src/read_config_grammar.y
	(ip_list): Added new method.

	* src/socket.c (cherokee_socket_clean): Now, it cleans the struct
	sockaddr structure.

	* configure.in: It uses Automake1.8 so depends on autoconf >= 2.58

	* src/server.c (init_tls_library), configure.in, src/Makefile.am:
	It does not depend on libgnutls-extra library anymore.

	* src/logger_ncsa.c (build_log_string): method and version string
	len is now NULL.  It was unneeded here.

	* src/http.c (cherokee_http_{version,method}_to_string): Pointer
	to string len can be NULL.


2004-05-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee_replace.c (main): Added a new tiny program to replace
	the paths in the example configuration files.

	* Makefile.am, configure.in: Now use the cherokee_replace hack.

	* cherokee.conf.sample.in: Removed

	* cherokee.conf.sample.pre: Added

	* src/Makefile.am: Fixed problem with "common" handler.  The
	LDFLAGS of the handlers now is "-module" instead "-shared"

	
2004-05-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (_set_envs_cgi): It now uses the generic
	CHE_INET_ADDRSTRLEN macro.  Fixed compilation in HP-UX 11.

	* src/socket.h (CHE_INET_ADDRSTRLEN): Added new macro.


2004-05-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_sendfile): Added HP-UX sendfile()
	support.


2004-05-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.h: Added new phase `phase_send_headers'.

	* src/handler_file.c (cherokee_handler_file_init): Security
	fix. The request "http://localhost/~bin" was causing a segment
	fault.

	* src/connection.c (cherokee_connection_send_header): Rewritten.

	* src/connection.c (cherokee_connection_send): Now, it has a
	better error handling.

	* src/thread.c (process_active_connections): The new phase
	`phase_send_headers' is integrated now.  The server will not send
	partial headers on EAGAIN anymore.


2004-05-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (cherokee_server_daemonize), src/main.c: Added new
	parameter -b (background).  Now Cherokee can be running in
	background in a detached terminal.

	* src/connection.c (cherokee_connection_check_authentication):
	Bugfix.  It was comparing a string with a random memory chunk.

	* src/connection.c (build_response_header): Some work arround the
	"WWW-Authenticate" response header.

	* src/connection.c (cherokee_connection_get_plugin_entry):
	Authentication type are copied from the handler entry to the
	connection object.

	* src/cherokee-panic: Changed "bt" by "thread apply all bt".

	* src/read_config_grammar.y (directory): It does not add a slash
	at end of the directory name. Now, http://localhost/about works
	with the "Directory /about {}" configuration entry.


2004-05-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (build_response_header): Added headers for
	Digest authentication.

	* src/buffer.h (cherokee_buffer_encode_hex): Bugfix.

	* src/server.h, src/server.c (cherokee_server_get_total_traffic):
	It uses off_t instead unsigned long int.

	* src/virtual_server.h, src/virtual_server.c: LFS fixes.
	
	* src/read_config_grammar.y, src/virtual_server.c,
	src/virtual_server.h: Fixed virtual host list management.

	* src/handler_table_entry.c (cherokee_handler_table_entry_free):
	Better management of the memory. There was a little memory leak in
	the class destructor.

	* cherokee.conf.sample.in, src/handler_server_info.c,
	src/read_config_grammar.y, src/read_config_scanner.l: Added
	JustAbout flag.


2004-05-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/icons.c, src/connection.c, src/handler_file.c,
	src/handler_nn.c, src/handler_phpcgi: Replaced rindex() by
	strrchr()

	* src/md5.c, src/md5.h: Clean up

	* src/Makefile.mingw: Some work arround the Windows port.


2004-05-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/unix4win32.h, src/unix4win32.c, src/unix4win32_errno.h:
	Added new files to try to port Cherokee to Windows.

	* src/libc_interface.c, src/libc_interface.h, src/libc_internal.h:
	Removed.

	* src/Makefile.mingw: Lot of changes.

	
2004-05-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger_ncsa.c (build_log_string): Fixed for Large File
	Support.

	* src/handler_file.h: Fixed compilation in archs without
	sendfile() function.

	* src/cherokee-panic: It uses mktemp instead tempfile. Reported by
	Ali Ebrahim.

	* bench/Makefile.am, bench/main.c, src/Makefile.am, src/access.c,
	src/buffer.c, src/buffer.h, src/cherokee-panic, src/common.c,
	src/common.h, src/connection.c, src/connection.h,
	src/encoder_gzip.c, src/encoder_gzip.h, src/encoder_table.c,
	src/encoder_table.h, src/handler.c, src/handler.h,
	src/handler_cgi.c, src/handler_cgi.h, src/handler_common.c,
	src/handler_common.h, src/handler_dirlist.c,
	src/handler_dirlist.h, src/handler_file.c, src/handler_file.,
	src/handler_nn.c, src/handler_phpcgi.c, src/handler_redir.c,
	src/handler_remote_control.h, src/handler_server_info.c,
	src/handler_table.c, src/handler_table.h,
	src/handler_table_entry.c, src/handler_table_entry.h, src/http.c,
	src/http.h, src/levenshtein_distance.c,
	src/levenshtein_distance.h, src/log.c, src/logger.c,
	src/logger_ncsa.h, src/logger_w3c.c, src/logger_w3c.h, src/md5.c,
	src/mime.c, src/mime_scanner.l, src/module_loader.c,
	src/read_config_grammar.y, src/server.c, src/server.h,
	src/socket.c, src/socket.h, src/thread.c, src/validator.h,
	src/validator_htpasswd.c, src/validator_pam.c,
	src/virtual_server.c, src/virtual_server.h: The LFS (Large File
	Support) is working.  Some header were reordened. Some variables
	has changed the type.


2004-05-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in (cherokee_version_len): Version now uses m4 macros
	instead shell script code


2004-04-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* network.m4: Little fix for automake >= 1.8


2004-04-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_drop_endding): Added better error
	handling.

	* cherokee.conf.sample.in: Added Digest or Basic authentication
	example.


2004-04-28  Stephen Hemminger  <shemminger@osdl.org> 

	* src/socket.c: Bugfix: There was truncated file outputs running a
	load test on Linux 2.6 using Cherokee (epoll, sendfile).
	
	
2004-04-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y: Added "Digest" authentication mode.

	* src/buffer.c (cherokee_buffer_prepend, cherokee_buffer_add):
	Little clean up

	* src/buffer.c (cherokee_buffer_add_chunked,
	cherokee_buffer_add_buffer_chunked): Added new functions.

	* src/handler_file.c (cherokee_handler_file_step): Now it uses the
	new cherokee_socket_sendfile function.

	* src/socket.c (cherokee_socket_sendfile): Added new function

	* src/http.h, src/http.c (cherokee_http_method_to_string): Added
	methods DELETE, TRACE and CONNECT.


2004-04-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/virtual_server.c (cherokee_virtual_server_init_tls): Fixed
	TLS initialization warning.

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Fixed
	bug.  It was showing a bad "Index of" string in aliases
	directories.  Reported by Ayose.

	* src/handler_table.c (cherokee_handler_table_get): Clean up


2004-04-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y (directory_option): A bit improved

	* src/cherokee-panic, Makefile.am, cherokee.conf.sample.in,
	configure.in, debian/rules, src/Makefile.am, src/common.c,
	src/common.h, src/main.c, src/read_config_grammar.y,
	src/read_config_scanner.l, src/server.c, src/server.h:
	Added new "PanicAction" feature.

	* src/handler_dirlist.h, src/handler_dirlist.c
	(cherokee_handler_dirlist_step): Fixed problem when there were lot
	of files in the same directory.

	
2004-04-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/validator_plain.c (cherokee_validator_plain_check): Bugfix

	* src/logger_ncsa.c (build_log_string): Better logging without
	referer.

	* src/thread.c (process_active_connections): Tiny bugfix


2004-04-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Bugfix.

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): I was an
	error in the memory management when the server had not a loaded
	icon table

	* src/buffer.h, src/buffer.c (cherokee_buffer_is_endding): Added
	new function.

	* src/socket.c (cherokee_write, cherokee_read): Fixed GNUTLS error
	handling.
	

2004-04-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_common.c (cherokee_handler_common_new): Bugfix

	* src/handler_dirlist.c (cherokee_handler_dirlist_init): Little bug fix


2004-04-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c: Added support for TLS connections in the mail
	server_step code (single and multi thread versions)

	* src/session_cache.h (cherokee_session_cache_retrieve): Added new
	function.

	* src/virtual_server.c (cherokee_virtual_server_free): Fixed
	managed TLS releated memory manage.

	* src/session_cache.h, src/session_cache.c: Added new class

	
2004-04-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c, src/socket.h, src/socket.c, src/connection.c:
	Finished the initial TLS support.

	* src/socket.c (cherokee_socket_clean): Added new function.

	* src/handler_file.c (cherokee_handler_file_init): Bug fix arroung
	TLS and sendfile() support.

	* src/connection.c (send_buffer_unsafe): Little bug fix


2004-04-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.c (cherokee_socket_ntop): Returns ret_t not char *


2004-04-18  CoKi  <coki@nosystem.com.ar>

	* src/common.c (PRINT_ERROR): Fixed security bug.
	No System Group - http://www.nosystem.com.ar

	
2004-04-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/virtual_server.c (cherokee_virtual_server_get_name): Added
	new method.

	* src/socket.h: Added new type cherokee_socket_type_t: TLS o
	non_TLS

	* configure.in: Fixed epoll detection.  It was failing in systems
	with a new glibc but without kernel support.


2004-04-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.m4: Added new tests for needed functions


2004-04-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.m4: Added default version to 0.4.16

        * 0.4.16 released.
	
	* bench/connection.c: Fixed compilation in Solaris.  It was
	failing because the FIONBIO constant.

	* Makefile.am, qa/Makefile.am (test): Added new target to execute
	de QA tests from the Makefile

	* qa/cherokee-test.py: On python version error or execution test
	error, it returns an error code.

	* src/list_ext.c (cherokee_list_free): Added initialization of the
	list after free the items.

	
2004-04-14  Gunnar Wolf  <gunnar@debian.org>

	* Debian support updated

	
2004-04-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_scenner.l, src/read_config_grammar.y,
	src/server.c, src/server.h: some work to add the "Include"
	feature.


2004-04-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, src/common.h, src/common.c: Added strsep()
	emulation code.

	* src/validator_htpasswd.c (crypt_r_emu): Bugfix for Solaris.

	* src/connection.c (add_error_code_string_to_buffer): Dropped out.
	Now, the connection class uses the cherokee_http_code_copy
	function.

	* src/http.c (cherokee_http_code_copy): New function.

	* src/http.h (http_moved_temporarily_string): 302 error message is
	"Found".

	* src/connection.c (build_hardcoded_response_page): Redirect error
	now uses the "moved temporarily" not "moved permanently".  Added
	new error response.

	* src/handler_file.c (cherokee_handler_file_init): Bug fixed.  It
	was sending all the file in partial contents if the file was too
	long to use mmap.  

	* src/handler_file.c (cherokee_handler_file_init): There was a bug
	in the mmap table instance.  Fixed.

	* qa/tests/Test01.py (TestErrorDocumentRedirect): Added new class
	to check the redirection of the ErrorDocument entries.

	* src/thread.c (process_active_connections): ErrorDocument (on
	redirection) fixed.


2004-04-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (_set_envs_cgi): Removed "method" array.  Now,
	it uses the cherokee_http_method_to_string and
	cherokee_http_version_to_string functions.

	* src/server.c (initialize_server_socket4,
	initialize_server_socket6): Better initialization.

	* src/socket.c (cherokee_write): Return parameter is ssize_t not
	int

	* src/encoder.c, src/encoder.h, src/encoder_gzip.c, src/handler.c,
	src/handler.h, src/handler_cgi.c, src/handler_dirlist.c,
	src/handler_file.c, src/handler_gnomevfs.c, src/handler_mono.c,
	src/handler_nn.c, src/handler_phpcgi.c, src/handler_redir.c,
	src/handler_remote_control.c, src/handler_server_info.c,
	src/logger.c, src/logger.h, src/logger_combined.c,
	src/logger_ncsa.c, src/logger_w3c.c, src/module.c, src/module.h,
	src/validator.c, src/validator.h, src/validator_htpasswd.c,
	src/validator_pam.c, src/validator_plain.c: Encoder, Handlers,
	Validators and Loggers are now based in the module class.  Some
	code clean ups around it.


2004-04-11  Ayose Cazorla León   <setepo@gulic.org>

	* src/handler_cgi.c: Partial fix for the zombies CGIs

	
2004-04-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger_combined.h, src/logger_combined.c: Added new logger.
	It support the NCSA "combined" logging format. It is compatible
	with the Apache's "combined".

	* src/connection.c (cherokee_connection_log_delayed): log_at_end
	error fixed.

	* src/thread.c (cherokee_thread_step): Added new "don't block"
	parameter.  The main thread should not block.. it have to another
	works like flush the log files.  It fixed a bug arround the log
	bufferring.

	* src/http.c: Added new file and two new functions:
	cherokee_http_version_to_string and cherokee_http_method_to_string

	* src/logger_ncsa.c (cherokee_logger_ncsa_write_access): Added
	user ID support.

	* src/logger_ncsa.c: Little clean up.  There was unneeded macros.

	* src/read_config_grammar.y, src/read_config_scanner.l,
	cherokee.conf.sample.in: Added "LogFlushInterval" configuration
	entry to set the elapse time before write down the log to disk

	* src/handler_cgi.c (cherokee_handler_cgi_add_headers): Rewritten.

	* src/read_config_scanner.l: Added "HTTP sort" URLs to grammar.
	T_FULLDIR, T_HTTP_URL shorted.

	* src/socket.c (cherokee_socket_read): Bugfix


2004-04-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_move_to_begin): Better
	implementation.

	* src/common.h: Added new MIN and MAX macros

	* src/access.c (parse_ip): There was a memory error compiling
	Cherokee without IPv6 support and trying to parse an v6 IP
	address.

	* src/server.c (cherokee_server_init): Thread creation is now the
	last action in the init sequence.

	* src/server.c (initialize_server_socket): Jump on non-initialized
	variable bug fixed.

	* src/access.c (cherokee_access_add_ip): Added a better error
	handling.


2004-04-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (cherokee_handler_file_init): Better error
	handling creating the mmap object.

	* cherokee.conf.sample.in: Gzip encoding section commented by
	default.

	* configure.in: Fixed common handler compilation

	* src/Makefile.am (handler_common): Compilation orden changed to
	ensure that the "handler common" can link with phpcgi, dirlist,
	etc..

	* configure.in: Fixed getopt_long for system(s?) with libiberty
	but not getopt.h header file - AFAIK, only Solaris.

	* src/read_config_grammar.y, src/icons_grammar.y: Global variables
	of the analizer has been set to "static" to prevent linkage
	problems in Solaris.

	* configure.in: inet_pton detection fixed.


2004-04-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/access.c (s6_addr32): Dropped out the usage of s6_addr32.
	It will help to compile in Solaris

	* src/sha1.h, src/sha1.c: Replaced u_int32_t by uint32_t.  I was
	not compiling in Solaris because it.

	* src/socket.c (cherokee_socket_ntop): SunOS 5.9 compilation bug
	fixed.

	* src/Makefile.am, bench/main.c: FreeBSD 4.8 with GCC 2.95
	compilation fix


2004-04-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* qa/cherokee-test.py: Added a test to check the Python version.
	It needs >= 2.3

	* configure.in: Added GNUTLS version to 1.0.4
	
	* configure.in: Added check for getopt_long function in the
	gnugetopt or iberty library

	* doc/Intro.txt: Little update

	* src/fdpoll.c, src/fdpoll.h, bench/bench.c, bench/thread.c,
	bench/thread.h, doc/Intro.txt, src/connection.c, src/server.c,
	src/thread.c, src/thread.h: Now, the file descriptors poll class
	uses two parameters: per thread fd limit, and global system fd
	limit.

	
2004-04-04  Taher Shihadeh  <taher@shihadeh.net>

	* doc/Intro.txt: LOT of fixes :-)


2004-04-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (cherokee_thread_new), src/read_config_scanner.l,
	src/read_config_grammar.y, src/server.c, src/server.h: Added
	support for choose the scheduling policy from the config file


2004-04-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (__accept_from_server): Better error handling of
	failed connections.

	* src/fdpoll.c (fdpoll_epoll_check): Some small fixes.

	* src/server.c (print_banner): Added more information to the
	banner line.


2004-03-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.15 released

	* Makefile.am, src/Makefile.am: distcheck fixed.  Now, it removes
	all the installed files.
	
	* Makefile.am (uninstall-local): Added mime.conf and icons.conf

	* bench/Makefile.am (INCLUDES), configure.in: Fixed compilation
	from remote directories (like in distcheck)

	* src/thread.c (cherokee_thread_new): Fixed gcc 2.95 compilation
	problem

	
2004-03-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (cherokee_thread_new): Fixed single thread version
	of the server.
	

2004-03-27  Gunnar Wolf  <gunnar@debian.org>

	* Debian packages writted from scratch (with DebHelper)


2004-03-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/common.h: Added new macro CHEROKEE_NEW2

	
2004-03-23  Eugene Rosenzweig  <eugene259@dodo.com.au>

	* src/common.h, src/header.c, src/access.c:
	(parse_request_first_line): Compilation bugfixes.

	
2004-03-22  Antonio Buiza Calero  <antonio@buiza.org>
	
	* src/main.c: Fixed header inclusion to fix the FreeBSD 4.8
	compilation.

	
2004-03-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Fixed crypt_data detection

	* src/access.c (s6_addr32): Fixed BSD support

	* src/validator_htpasswd.c (validate_crypt): #ifdef Bugfix

	* bench/Makefile.am (cherokee_bench_LDADD), src/Makefile.am
	(cherokee_LDADD): Added pthread library
	

2004-03-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/http.h, src/connection.c (add_error_code_string_to_buffer):
	Added error code 411 "Length Required"


2004-03-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Fixed detection of crypt_r.  Now it is not a
	critical error.

	* configure.in: Fixed kqueue and select detection.

	* configure.in: Improved show of supported polling methods.

	* src/handler_cgi.c (cherokee_handler_cgi_init): Better error checking
	

2004-03-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (get_encoding,
	cherokee_connection_parse_header): Added better error handling.

	* qa/tests/Test01.py: Added two new tests: "overflow range
	detection" and "switched range detection".

	* src/connection.c (get_range): Added switched range detection check.

	* qa/tests/Test01.py: Range tests rewritten. Much cleaner code.

	* src/handler_file.c (cherokee_handler_file_init): Added check for
	partial petitions out of range.

	* src/http.h (http_not_modified_string), src/connection.c
	(add_error_code_string_to_buffer): Added error code 416,
	"Requested range not satisfiable".


2004-03-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Released 0.4.14

	* qa: Added new directory

	* src/handler_file.c (cherokee_handler_file_init): Fixed "Range:
	bytes=" with mmap()ed content


2004-03-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/module_loader.c (dylib_open): Removed gbl_buffer usage

	* src/connection.c (get_range): Rewritten without gbl_buffer

	* src/read_config_grammar.y (T_FULLDIR): Removed gbl_buffer usage


2004-03-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench: Added file descriptor number limitation.

	
2004-03-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (cherokee_handler_cgi_init): Better error
	reporting

	* configure.in: Really stupid bug fixed: s/echo -e/echo -n/ 
	It was counting the new line character as version string.


2004-03-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_move_to_begin): Bugfix

	* src/socket.c (cherokee_socket_read): Better error checking

	* src/header.c (cherokee_header_parse): Header endding calculation
	fix.

	* src/server.c: FreeBSD compilation problem.  Fixed by Petr Holub
	hopet@ics.muni.cz

	* src/connection.c (cherokee_connection_clean): Fixed pipelining
	bug.  It was failing with FireFox 0.8 (with the
	network.http.pipelining parameter actived)
	
	* src/fdpoll.h, src/fdpoll.c: Droped out get_fd_limit().  Added
	new parameter to the _new method.
	
	* src/server.c (cherokee_server_init): Threads init change to set
	a file descriptors number limit per each

	* src/handler_mono.c (cherokee_handler_mono_init): Better error
	reporting when the handler can not contact xsp server
	

2004-03-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, src/configure.in : Version management
	improvement.

	* src/module_loader.c: Better error reporting on module loading
	fails.

	* src/validator_htpasswd.c: Added crypt_r emulation function for
	multithread systems that don't support it (like Solaris).

	* src/header.c (cherokee_header_get_number,
	cherokee_header_foreach):  Implemented.

	* src/validator_htpasswd.c (validate_crypt): Little fix in crypt_r
	usage.  It was accessing a memory area in the heap that maybe
	could be droped out.

	* configure.in: Fixed compilation bug arround -D_XOPEN_SOURCE=500
	parameter.

	* Released 0.4.13
	
	* src/fdpoll.c: Better error reporting from epoll functions

	* src/server.c: Droped out add_socket_to_thread_fdpolls.  With the
	new polling method it is not needed.  Reported by Yusuf
	Goolamabbas <yusufg@outblaze.com>.
	

2004-03-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: New crypt_r detection: -D_GNU_SOURCE

	* src/connection.c (send_buffer_unsafe): Error handling fix.

	* src/validator_htpasswd.c (validate_crypt): Empty user fix.

	* src/server.c (cherokee_server_init): chroot bug fixed. Reported
	by Haas Wernfried <w.haas@xover.htu.tuwien.ac.at>.

	* src/socket.c: Added filio.h include

	* src/connection.c, src/connection.h, src/header.c, src/thread.c,
	src/thread.h: Finished the pipelining support.

	* configure.in: Some places was using "$with_threads" instead
	"$with_phtread".

	* src/header.c (cherokee_header_parse): Pipelined header fix


2004-03-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (cherokee_handler_file_init): It should not
	use mmap() content if it will use an encoder.

	* src/read_config_grammar.y:  Fixed bug reading encoders related
	information.

	* src/validator_htpasswd.c: Fixed authentication bug.  Reported by
	Haas Wernfried <w.haas@xover.htu.tuwien.ac.at>.


2004-03-06  Hiroshi Yamashita <piro7@SoftHome.net>

	* src/access.c, src/connection.c, mmap.c, src/handler_file.c,
	src/server.c: Compilation fixes for FreeBSD

	* src/fdpoll.h, src/fdpoll.c: Added support for kqueue()


2004-03-05  Yusuf Goolamabbas  <yusufg@outblaze.com>

	* bench/main.c (main): Parsing parameters bugfix.


2004-03-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/header.c (cherokee_header_get_length): Added new method

	* Released 0.4.12

	* src/thread.c, src/connection.c: Fixed bug.  It was only doing
	one keepalive connection.  Now it does MAX_KEEPALIVE.

	* src/common.h: Fixed inclusion of stdint.h
	It didn't compile in Solaris 9.  Fixed by Iván Chavero.


2004-03-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Switch threading support.  Now, it enabled by
	default.

	* src/Makefile.am (libcherokee_la_LIBADD): Removed CRYP_LIBS

	* src/mime.c (cherokee_mime_get): Warning fixed


2004-03-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_mono.c: More code arround the Mono-Cherokee
	integration.

	* src/read_config_grammar.y: Added new handler property "socket"
	for the ASPX (Mono) handler.

	* src/header.c, src/header.h (cherokee_header_copy_method,
	cherokee_header_copy_version): Added new methods.


2004-03-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_mono.c, src/handler_mono.h: Added new handler


2004-02-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* 0.4.11 released

	* bench/url_grammar.y, bench/url_grammar.l, bench/bench.c,
	bench/Makefile.am: Added support for reading URL files.

	* src/common.h: Added stdind.h include by default

	* src/http.h: Added http_put enum entry

	* bench/request.c (cherokee_bench_request_build_string): Added new method

	* bench/url.c (cherokee_url_build_string): Added new method


2004-02-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench/.cvsignore: Added url_* from lex & bison

	* bench/bench.c: It uses the new class "request" instead the "url"
	one.  "url" now contained in "request".

	* bench/request.c, bench/request.h: Added new class
	
	* src/common.h: Added new type cherokee_boolean_t


2004-02-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* debian/rules, debian/control: Added new package cherokee-bench

	* debian/rules: Added --enable-pthreads


2004-02-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench/info.c, bench.h: New class

	* bench/bench.c, bench/bench.h, bench/main.c: Big clean up.

	* bench/url.h, bench/url.c: Add port URL class

	* bench/main.c, bench/bench.h, bench/bench.c: Remove port form
	these classes.
	

2004-02-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* bench, bench/bench.c, bench/bench.h, bench/cherokee-bench,
	bench/connection.c, bench/connection.h, bench/main.c,
	bench/thread.c, bench/thread.h: Added new benchmarking
	utility. This is the initial version.


2004-02-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/header.c, src/header.h, src/http.h, src/socket.c,
	src/socket.h: Code clean up for better support of TLS.

	
2004-02-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_recv): Rewritten. It is
	faster and cleaner than the previous version (uses the new
	cherokee_buffer_read_from_fd function).

	* src/buffer.c (cherokee_buffer_multiply): Add new method

	* src/buffer.c (cherokee_buffer_read_from_fd): New method


2004-01-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c, src/mime.c, src/mime.h, src/mime_grammar.y:
	Changed property mime_name of the mime entry class from a char *
	to a cherokee_buffer_t * to know the length in handler_file and
	copy the string faster.

	* mime.conf.sample: Added new xhtml and openoffice.org mime types
	

2004-01-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* debian/rules: Updated mime. Added cherokee-config.1 to man pages
	installation.

	* src/mime_scanner.l, mime_grammar.y, src/Makefile.am,
	src/common.h, src/handler_file.c, src/handler_file.h,
	icons_grammar.y, src/icons_scanner.l, src/mime.c, src/mime.h,
	read_config_grammar.y, src/server.c, src/server.h, Makefile.am,
	mime.conf.sample: Added new mime configuration system.

	* Cherokee 0.4.10 released


2004-01-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: epoll() detection rewritten There was a problem
	reported by Yusuf Goolamabbas.


2004-01-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Cherokee 0.4.9 released

	
2004-01-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Removed check for poll_emu

	* src/fdpoll.c: Added support for select()

	* src/poll_emu.c, src/poll_emu.h: Droped out!

	* debian/copyright (Copyright): Removed poll_emu license.
	

2004-01-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Cherokee 0.4.8 released


2004-01-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c
	(cherokee_connection_send_response_page_hardcoded): Fixed crosss
	site scripting bug. Bug #29: http://bugs.alobbs.com/29

	* src/buffer.c, src/buffer.h, src/connection.c, src/fdpoll.c,
	src/fdpoll.h, src/server.c: Some work to add select() to fdpoll.


2004-01-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (print_banner): Added the polling method to the
	banner.

	* src/fdpoll.c, src/fdpoll.h: Added get_method method.


2004-01-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_build_header): Fixed
	non-200 type responses.


2004-01-20  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.7 released

	
2004-01-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_send_header_and_mmaped): 
	Fixed partial content management.


2004-01-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/access.c, src/common.c, src/connection.c, src/connection.h,
	src/handler_server_info.c, src/handler_table_entry.h,
	src/header.c, src/icons.c, src/icons.h, src/log.c, src/mmap.c,
	src/module_loader.c, src/module_loader.h,
	src/read_config_grammar.y, src/server.c, src/server.h,
	src/socket.c, src/thread.c: Clean up to avoid compilation
	warnings.

	* src/common.c: Dropped vsyslog() usage.

	* src/server.c (initialize_server_socket6): Moved setsockopt()
	calls to set_server_socket_opts() function.


2004-01-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (cherokee_handler_file_add_headers): Switched
	from two call to cherokee_buffer_add() to one to
	cherokee_buffer_add_va()
	

2004-01-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (cherokee_handler_file_init): Fixed mmaped
	content problem.
	

2004-01-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c: Big changes to improve multithread mode.

	* src/thread.c: (set_sigpipe):  Added SIGBUS

	* src/server.c (print_banner): Fixed banner

	* configure.in: Added check for poll.h


2004-01-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/fdpoll.c (fdpoll_poll_new): Clean ups


2004-01-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c, src/connection.c: Fixed EAGAIN error management as
	result of read()
	

2004-01-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/mmap.c:  Now, it's thread-safe.

	* src/mmap.h, src/mmap.c:  Fixed function prototipes that did not
	return ret_t.

	* src/common.h: Added CHEROKEE_RWLOCK_* macros.

	
2004-01-08  Ayose Cazorla León   <setepo@gulic.org>

	* src/handler_cgi.c:  Fixed <defunct> processes.

	
2004-01-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/mmap.h, src/mmap.c (cherokee_mmap_init,
	cherokee_mmap_get_default): Added new methods.


2004-01-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/common.h (CHEROKEE_MUTEX_TRY_LOCK): Added new macro.

	* src/connection.c (cherokee_connection_open_request): Fixed
	keep-alive management.

	* src/header.c (parse_first_line): Fixed bug in protocolor version
	detection code.

	* src/Makefile.am: Fixed PAM library usage

	* src/handler_file.c (cherokee_handler_file_init): Mime fix.

	* src/mime.c (cherokee_mime_init_with_file): Added a better error
	checking.

	* configure.in: Some clean up.


2004-01-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Fixed bug in module static compilation.
	Added code for drop out modules that will not be compiled.

	* src/access.c, src/buffer.c, src/common.h, src/connection.c,
	src/connection.h, src/fdpoll.c, src/header.c, src/logger_ncsa.c,
	src/logger_w3c.c, src/module_loader.c, src/read_config_grammar.y,
	src/read_config_scanner.l, src/server.c, src/server.h,
	src/socket.c, src/socket.h, src/thread.c, src/thread.h: Lot of
	changes to improve threaded mode.

	* src/read_config_grammar.y (thread_num): Droped out #ifdef
	HAVE_PTHREAD

	* src/access.c (parse_netmask): Fixed /128 mask.

	* src/header.c (cherokee_header_parse): Fixed bug: it fails is
	HEADER_INTERNAL_DEBUG was not defined previously.

	* src/validator_htpasswd.c: Added MD5-digest passwords support.

	* src/logger_w3c.c (cherokee_logger_w3c_write_string): Fixed bad
	use of syslog() function that could compromise the server.
	Reported by Matthew Murphy <mattmurphy@kc.rr.com>


2004-01-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y (ip_list): Added parsing of "Allow
	from" sentences inside directory configuration.


2004-01-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.c (cherokee_handler_cgi_init): Change the
	current directory to to the program's own directory.

	* src/read_config_scanner.l: Added rule to parse IPv6 addresses.

	* src/access.c, src/access.h, src/buffer.c, src/buffer.h,
	src/cherokee.h, src/cherokee_modules.c, src/common.c,
	src/common.h, src/connection.c, src/connection.h, src/encoder.c,
	src/encoder.h, src/encoder_fixer.c, src/encoder_fixer.h,
	src/encoder_gzip.c, src/encoder_gzip.h, src/encoder_table.c,
	src/encoder_table.h, src/fdpoll.c, src/fdpoll.h, src/handler.c,
	src/handler.h, src/handler_cgi.c, src/handler_cgi.h,
	src/handler_common.c, src/handler_common.h, src/handler_dirlist.c,
	src/handler_dirlist.h, src/handler_file.c, src/handler_file.h,
	src/handler_gnomevfs.c, src/handler_gnomevfs.h, src/handler_nn.c,
	src/handler_nn.h, src/handler_php4.c, src/handler_php4.h,
	src/handler_phpcgi.c, src/handler_phpcgi.h, src/handler_redir.c,
	src/handler_redir.h, src/handler_remote_control.c,
	src/handler_remote_control.h, src/handler_server_info.c,
	src/handler_server_info.h, src/handler_table.c,
	src/handler_table.h, src/handler_table_entry.c,
	src/handler_table_entry.h, src/header.c, src/header.h, src/http.h,
	src/icons.c, src/icons.h, src/list_ext.c, src/list_ext.h,
	src/log.c, src/log.h, src/logger.c, src/logger.h,
	src/logger_ncsa.c, src/logger_ncsa.h, src/logger_table.c,
	src/logger_table.h, src/logger_w3c.c, src/logger_w3c.h,
	src/main.c, src/match.c, src/match.h, src/matching_list.c,
	src/matching_list.h, src/mime.c, src/mime.h, src/mmap.c,
	src/mmap.h, src/module.c, src/module.h, src/module_loader.c,
	src/module_loader.h, src/ncpus.h, src/server.c, src/server.h,
	src/socket.c, src/socket.h, src/table.c, src/table.h,
	src/thread.c, src/thread.h, src/validator.c, src/validator.h,
	src/validator_htpasswd.c, src/validator_htpasswd.,
	src/validator_pam.c, src/validator_pam.h, src/validator_plain.c,
	src/validator_plain.h, src/virtual_server.c, src/virtual_server.h:
	Update copyright notice.

	* src/access.c (cherokee_access_ip_match): Added initial version
	of access class for filtering based in IP addresses.


2003-12-31  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-20031231 released


2003-12-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/socket.h: Added two new macros: SOCKET_ADDR_IPv4,
	SOCKET_ADDR_IPv6


2003-12-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_common.c (common_init): Added dependency
	initialization of the phpcgi module.

	* src/handler_phpcgi.c (phpcgi_init): Added security check for the
	PHP interpreter executable.
	

2003-12-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/md5.h: Added config.h


2003-12-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_encode_md5): Renamed to
	cherokee_buffer_encode_md5
	

2003-12-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c: Fixed DoS problem with POST requests. Reported
	by vnull@pcnet.com.pl.
	

2003-12-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.conf.sample.in: Added a /remote directory which uses
	the remote_control handler.
	

2003-12-25  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-20031225 released


2003-12-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_server_info.c (add_data_sent_row): It now uses the
	new method get_total_traffic.

	* src/server.c (cherokee_server_get_total_traffic): Added new
	method.

	* src/header.c (cherokee_header_get_arguments): Bug fix. It was
	getting just the first argument.

	* src/handler_server_info.c
	(cherokee_handler_server_info_add_headers): changed
	cherokee_buffer_add_va -> cherokee_buffer_add


2003-12-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_send_header): Added
	no-cache headers in headers of error pages.
	

2003-12-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Removed phpsite handler and added remote_control
	one.

	* src/server.c, src/server.h (cherokee_server_get_reusable_conns,
	cherokee_server_get_active_conns): Add new methods.

	* src/handler_common.c (cherokee_handler_common_new): There was a
	problem when it get a request of a directory and it contains a
	index.php (included in DirectoryIndex conf entry) that should be
	executed. Fixed.

	* src/read_config_grammar.y (directoryindex): It was storing the
	list of index files inverted. Fixed.

	* src/list_ext.c, src/list_ext.h (cherokee_list_add_tail): Added
	new function.

	* src/header.c (HEADER_INTERNAL_CHECK): Verbose output

	* cherokee.conf.sample.in: Added index.php to the default
	DirectoryIndex tag.

	* cherokee-config.1: Added to CVS.


2003-12-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee-config.1, Makefile.am (man_MANS): Added new manual page
	to be Debian policy compliant. :-p
	

2003-12-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_server_info.c (PAGE_HEADER): Fixed space after CRLF\

	* debian/copyright: Changed the licence of the MD5 code.

	* src/md5.h, src/md5.c, configure.in, src/buffer.c: Changed the
	RSA Data Security Inc. copyrighted code by a really free one.


2003-12-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (process_active_connections): Fixed managing for
	HTTP 300 connections.  It was running like it was a 200
	connection.


2003-12-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (check_cached): "If-None-Match" processing
	fixes.

	* src/read_config_grammar.y (userdir): Fixed error reporting when
	Cherokee can not load a handler.

	* src/thread.c (process_active_connections): Bug fixed.  It was
	logging the HTTP 300 responses as error messages.

	* src/connection.c (cherokee_connection_parse_get_header): Droped
	out.  It was using the old header processing method.

	* src/handler_file.c (check_cached): Change to use the new header
	processing method.
	

2003-12-10  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-20031210 released


2003-12-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.m4: Updated from 0.4.2 to 0.4.5

	* src/handler_gnomevfs.c (cherokee_handler_gnomevfs_new): Fixed
	GNOME-VFS handler compilation
	

2003-12-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/header.c (cherokee_header_get_arguments): It uses strsep()
	instead of strtok() to avoid the silly on-by-one bug of strtok:
	==25427== Invalid read of size 1
	==25427== at 0x402F349A: strtok (in /lib/libc-2.3.2.so)

	* src/buffer.c (cherokee_buffer_move_to_begin): Changed memcpy by
	memmove to avoid possible memory overlaping.

	* src/header.c (HEADER_INTERNAL_CHECK): Added new check to ensure
	the sanity of the information stored in the object

	* src/handler_cgi.c, src/header.c, src/header.h, src/thread.c:
	Fixed memory problem.  The header class was storing pointers to
	the content of a buffer that could be reallocated.


2003-12-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c: cherokee_connection_parse_args() function now
	uses the ::get_arguments() method.  Droped out the previous
	implementation.

	* src/header.c (cherokee_header_get_arguments): Added new method

	* src/handler_cgi.c (_set_envs_cgi): Added HTTP_USER_AGENT
	enviroment variable.
	

2003-12-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_clean): Fixed virtual
	server managing problem with Keep-alive connections.


2003-12-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_server_info.c: Added a new "General Information"
	section.

	* src/thread.c: It sets the server and the default virtual server
	by default to all connections for security reasons.

	* src/connection.h, src/connection.c, src/virtual_server.c,
	src/virtual_server.h: It stores the received and sent information
	per virtual host instead of just the tx.
	

2003-12-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_common.c (cherokee_handler_common_new): Bugfix
	handling PHP index files.


2003-12-04  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-20031204 released


2003-12-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y: improved error reporting and some
	clean ups

	* src/connection.c, src/virtual_server.c, src/virtual_server.h:
	Added data sent counter per virtual host.

	* src/handler_server_info.c: Added data sent row.  It shows the
	data amount with the right suffix (Kb, Mb, Gb, Tb, ..)


2003-12-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for spread library:
	http://www.spread.org

	* src/handler_server_info.c, src/server.c, srv/server.h: Added
	uptime support.

	* configure.in: Static / Dynamic module compilation improved.
	Some clean ups and new parameter --enable-static-module=all to
	compile statically all the modules.

	* src/handler_server_info.c, src/logo.inc: The handler server_info
	can return a GIF image with the logo.

	* src/handler_server_info.c: Added icons table.

	* contrib/bin2buffer.py, contrib/Makefile.am: Added a mini-utility
	to encode binary content inside a Cherokee buffer.


2003-12-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_server_info.c: Added mew handler to get information
	about the server.

	* src/read_config_grammar.y (thread_number): Fixed problem with
	the thread number.  I was an error when Cherokee was compiled
	wihtout pthread library support.

	* src/connection.c (cherokee_connection_get_request): Remove "./"
	strings from the query.

	* src/buffer.c (cherokee_buffer_decode): Replace null bytes (%00)
	with spaces to prevents attacks.

	* src/buffer.c (cherokee_buffer_remove_string): Added new method.

	* src/common.c (PRINT_DEBUG): Added new debugging function


2003-11-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Updated GNUTLS depencente to version 0.9.99.

	* src/Makefile.am: Fixed GNUTLS compilation support

	* src/buffer.c (cherokee_buffer_remove_dups): Added new method

	* src/connection.c, src/header.c, src/http.h, src/thread.c: Added
	OPTIONS method support.
	
	* src/connection.c (delete_double_slash): Fixed potential security
	problem with corrupted URLs.


2003-11-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* validator_plain.h, validator_plain.c, cherokee.conf.sample,
	src/Makefile.am, configure.in: Added new Plain Text validator
	module.

	* src/encoder_gzip.c, src/connection.c, src/encoder.h,
	src/encoder_gzip.h, src/handler.h, src/handler_file.c,
	src/server.c, src/thread.c: Improvements in the GZip encoder.
	

2003-11-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (cherokee_server_new): Better error handling in TLS
	init.


2003-11-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y, connection.c, server.c, server.h,
	thread.c, virtual_server.c, virtual_server.h: Added virtual
	servers aliases.  Now, a virtual sever can has more than one
	domain server name.

	* src/connection.c (cherokee_connection_get_request): Fixed bug in
	the "Host" header parsing

	* src/buffer.c (cherokee_buffer_print_debug): Print a CRLF at the
	end of the block.


2003-11-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/encoder.c, src/connection.c, src/encoder.c, src/encoder.h:
	Fixed _init() method of the encoder class.

	* src/connection.c, src/connection.h: Added a new buffer to the
	connection structure to improve the performance of the
	encoders. cnt->encoder_buffer is reused in all the steps of a
	connection.


2003-11-24  Ayose Cazorla León   <setepo@gulic.org>

	* src/connection.c,http.h: Added http_moved_temporarily

	* CGI handler: POST added

2003-11-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/encoder_gzip.c: Some code clean-ups

	* src/handler_common.c (cherokee_handler_common_new): Added check
	to execute PHP code in the suffix is ".php"

	* configure.in, src/Makefile.am: Fixed problem for system with
	crypt() in the libcrypt library

	* src/connection.c, src/connection.h, src/header.c, src/header.h,
	src/thread.c:  Added POST method support.


2003-11-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (process_handler_complex_headers): Added
	"Status:" header support for accept status from CGI or PHP.
	(cherokee_connection_open_request): Fixed KeepAlive problem with
	CGIs.

	* src/connection.c, src/connection.h: Some query_string related
	clean ups.

	* src/handler_cgi.c (cherokee_handler_cgi_add_headers): Method
	rewritten.

	* src/header.c (cherokee_header_parse): Improved header parsing.


2003-11-23  Ayose Cazorla León   <setepo@gulic.org>

	* src/handler_cgi.c: Use the cherokee_header API for set 
	 SERVER_NAME a HTTP_COOKIE vars

	* src/handler_phpsite.{c,h}: Very basic handler to combine the
	common handler and phpcgi

	* configure.in, src/Makefile.am: Compile phpsite handler

	* src/handler_cgi.c, src/header.c: Some fixes to the CGI

	* src/buffer.c (cherokee_buffer_make_empty): Bugfix

	
2003-11-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_cgi.h, src/handler_cgi.c:  Added initial version of
	PHP handler (forking as CGI).


2003-11-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>, Christopher Pruden  <pruden@dyndns.org>

	* src/Makefile.am, src/buffer.c, src/buffer.h,
	src/cherokee_headers.c, src/connection.c, src/connection.h,
	src/handler_cgi.c, src/handler_file.c, src/header.c, src/header.h,
	src/http.h, src/logger_ncsa.c, src/logger_w3c.c, src/thread.c:
	Added new header parsing method.


2003-11-19  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-20031119 released


2003-11-16  William Jon McCann  <mccannwj@pha.jhu.edu>

	* src/Makefile.am: Fixed build on Fedora Linux.


2003-11-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>, Ramon Pons <rpons@rinu.org>, Juan Badia <jubapa@alobbs.com>

	* src/read_config_grammar.y, src/server.c: Added dynamic timeout
	support in the connection headers.

	* src/server.c (look_for_new_connection): Optimized connection
	time-out. It uses the server bogo_now entry instead of a time()
	system call.

	* src/common.h: Changed "#ifdef HAVE_PTHREADS" to "#ifdef
	HAVE_PTHREAD". It fixes lot of random crashes and race
	conditions.


2003-11-11  Ramon Pons Vivanco  <rpons@rinu.org>
	
	* icons/*.png: Added 5 new icons.

	* icons.conf.sample: Added the new icons to the sample configuration file.


2003-11-11  Christopher Pruden  <pruden@dyndns.org>

	* src/buffer.c (cherokee_buffer_decode): Fixed segmentation fault
	on empty buffer.


2003-11-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (get_uri): Bugfix in query_string processing


2003-11-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y (maybe_auth_option_params),
	src/module_loader.c: Error reporting clean up.

	* src/thread.c (thread_routine), src/main.c: Fixed concurrency
	problem. Now, each thread catch the broken pipe signal to avoid
	randomly crashes if Cherokee run in threaded mode.

	* src/sha1.c: Fixed a byte order problem

	* src/common.h: Added byte order macros

	* src/endian_fix.h, src/Makefile.am: Removed

	* configure.in: Added check for endianness

	* src/thread.c (cherokee_thread_free): Fixed race condition.


2003-10-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added support for GNU/Linux distributions with
	2.6.0 kernels but without a libc with epoll() support. (Like
	Debian at this moment). Added condition to compile TLS/SSL:
	--dissable-tls


2003-10-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (get_uri): Bug fixed. There was problems with
	some requests if it had complex referers. Reported by Thomas
	Seifert.


2003-10-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (cherokee_server_read_config_string): It'll show an
	error if cannot load the icons configuration file. Reported by
	Thomas Seifert.
	(look_for_new_connection): Bugfix accepting new connections.

	* src/Makefile.am, src/buffer.c, src/connection.c,
	src/handler_cgi.c, src/handler_cgi.h, src/read_config_grammar.y,
	src/read_config_scanner.l, src/server.c, src/server.h,
	src/socket.c, src/socket.h, src/virtual_server.c,
	src/virtual_server.h, configure.in: Lot of changes to add TLS
	support.	


2003-10-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.conf.sample.in, src/read_config_grammar.y,
	src/read_config_scenner.l: Added "SSLCAListFile" configuration key
	entry.

	* src/server.h: port and port_ssl are now unsigned short instead int.


2003-10-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, openssl.m4: Added check for OpenSSL. 
	Removed liblzo check. Check for GNU TLS commented.

	* src/buffer.c (cherokee_buffer_add): Added sanity check

	* src/handler_cgi.c, src/connection.c: CGI execution improvements.

	* cherokee.conf.sample.in: Commented ErrorDocument. It's unset by default.

	* src/validator_htpasswd.c (cherokee_validator_htpasswd_check):
	Client should not download the password file.


2003-10-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c: Added "Date" header.

	* src/handler_file.c (check_cached): Added support for cached
	contents based in Etag ("If-None-Match") and in the time
	("If-Modified-Since").

	* src/tdate_parse.c, src/tdate_parse.h, src/Makefile.am: Added new files.

	* src/handler_file.c (cherokee_handler_file_add_headers): Added
	"ETag" and "Last-Modified" headers support.

	* src/buffer.c (cherokee_buffer_encode_hex): Added
	cherokee_buffer_encode_hex() function.


2003-10-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for crypt_r()


2003-10-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* pam.d_cherokee, Makefile.am (install-data-local): Added PAM
	configuration file.

	* cherokee.conf.sample.in: Fixed bug related to icons.conf
	installation place. Reported by Ayose.

	* src/validator_htpasswd.h, src/validator_htpasswd.c,
	src/Makefile.am, src/connection.c, src/read_config_grammar.y,
	src/read_config_scanner.l: Added new validator for htpasswd
	files.

	* configure.in: Added crypt() check.

	* src/read_config_scanner.l: T_QSTRING returns unquoted.

	* src/connection.c, src/connection.h, src/http.h, src/thread.c,
	src/validator.c, src/validator.h: Added authentication support.

	* src/Makefile.am, src/buffer.h, src/handler.c,
	src/handler_file.c, src/handler_file.h, src/logger.c: Clean ups.
	
	* src/validator_pam.c, src/validator_pam.h: Added new validator
	based in PAM library.

	* configure.in: Added check for installed old versions


2003-10-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_decode_base64): Added new function
	to decode Base64. 
	
	* src/buffer.c (cherokee_buffer_encode_md5): Added new function
	to encode MD5.

	* src/icons.c, src/icons.h: cherokee_icons_read_file() renamed to
	cherokee_icons_read_config_file().  Added a new function
	cherokee_icons_read_config_string() to support configuration from
	external programs.


2003-10-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/icons.c, src/icons.h, src/icons_grammar.y,
	src/icons_scanner.l, icons.conf.sample, src/handler_dirlist.c:
	Added new icons managment system.


2003-10-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* icons/image.png, icons/back.png: Added new icons.


2003-10-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/table.c (cherokee_table_while): Added new function.


2003-10-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Makefile.am: Added src/match.h, src/match.c

	* src/read_config_grammar.y, src/read_config_scanner.l: Added
	Icons configuration entry.

	
2003-10-18  Juan Cespedes  <cespedes@debian.org>

	* src/match.h, src/match.c: Added match() function.
	

2003-10-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c, src/server.h: server->mimetypes_file clean up.

	* Makefile.am, icons.conf.sample: Added new configuration file.


2003-10-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* debian/*: Added Debian GNU/Linux packaging information.

	* src/Makefile.mingw, src/libc_internal, src/libc_interface.h,
	src/libc_interface.c: Added initial Win32 support.


2003-10-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added checks for syslog.h, sys/socket.h

	* src/connection.c
	(cherokee_connection_build_local_directory_userdir): Fixed bug
	with request like: http://server/~user

	* src/handler_dirlist.c (cherokee_handler_dirlist_init): Fixed
	redirect with userdirs.

	* src/buffer.c (cherokee_buffer_move_to_begin): Added check for
	ensure position is great than zero.

	* src/buffer.c (cherokee_buffer_add_buffer): Added new function.

	* src/connection.c, src/connection.h, src/handler.c, src/handler.h,
	src/handler_dirlist.c, src/handler_nn.c, src/handler_redir.c,
	src/module_loader.c, src/thread.c: Droped out handler->redirect,
	instead it uses conn->redirect.
	

2003-10-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am (libcherokee_nn_la_LIBADD): Added
	libcherokee_redir as dependence of libcherokee_nn


2003-10-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c
	(cherokee_connection_build_local_directory_userdir): Fixed
	redirection to correct URL. Eg: ~alo/dir/dir2 -> ~alo/dir/dir2


2003-10-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/module_loader.c, src/module_loader.h, src/validator_pam.c,
	src/validator_pam.h, src/handler_table.h,
	src/handler_table_entry.c, src/handler_table_entry.h,
	src/handler_table.c, src/cherokee_modules.c,
	src/cherokee_add_static_module.sh: New added files.

	* configure.in, src/Makefile.am, src/buffer.c, src/connection.c,
	src/connection.h, src/encoder_gzip.c, src/encoder_gzip.h,
	src/encoder_table.c, src/encoder_table.h, src/fdpoll.c,
	src/handler_cgi.c, src/handler_common.c, src/handler_dirlist.c,
	src/handler_file.c, src/handler_gnomevfs.c, src/handler_nn.c,
	src/handler_redir.c, src/logger_ncsa.c, src/logger_table.c,
	src/logger_table.h, src/logger_w3c.c, src/module.h,
	src/read_config_grammar.y, src/read_config_scanner.l,
	src/server.c, src/server.h, src/socket.h, src/thread.c,
	src/thread.h, src/validator.c, src/virtual_server.c,
	src/virtual_server.h: Integration with the new module system.
	
	* src/library.c, src/library.h, src/static_encoders.h.orig,
	src/static_handlers.h.orig, src/static_loggers.h.orig,
	src/plugin_table.c, src/plugin_table.h, src/plugin_table_entry.c,
	src/plugin_table_entry.h: Removed files.


2003-10-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for PAM


2003-10-08  Juan Cespedes <cespedes@debian.org>

	* src/buffer.c (cherokee_buffer_add): Fixed bug: Off-by-one.
	

2003-10-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/module.c, src/validator.h, src/validator.c: Added initial
	version.

	* src/common.h: Added deny to ret_t.


2003-10-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/module.h: Added.


2003-10-05  Stuart Herbert <stuart@gentoo.org>

	* Makefile.am: Fixed a couple of problems.


2003-10-02  Silvio Ventres <navigator@altern.org>

	* src/fdpoll.c, src/thread.c: Fixed epoll() support.
	On socket error, it'll close the connection ASAP.


2003-09-28  Alvaro Lopez Ortega <alvaro@alobbs.com>

	* src/thread.c (process_active_connections): Fixed bug #21
	http://bugs.alobbs.com/21.


2003-09-10  Pablo Neira <pneira@optimat.com>

	* src/thread.c (process_active_connections): Bug fixed.  On
	security check failure, the connections wasn't a virtual host
	reference.  Now, it uses the default one. 


2003-09-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c (process_active_connections): Fixed bug #19
	http://bugs.alobbs.com/19

	* src/read_config_grammar.y: Moved logging entry from "server"
	to "virtual server" entry.


2003-09-24  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Removed stolen code from SCO Unix System V


2003-08-21  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (cherokee_server_read_config_file): Now, it stores
	the last configuration filename.  Maybe the server will need it 
	if receive a HUP signal.
	(cherokee_server_read_config_file): Fixed reloading.  There was
	a bug reusing a Yacc+Lex parser.
	

2003-08-20  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-030820 release


2003-08-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/main.c (process_parameters): Added argument support

	* src/read_config_grammar.y (T_FULLDIR): Fixed compilation w/o
	GNU/TLS library

	* src/thread.c, src/connection.c, src/virtual_server.c: Fixed
	"ErrorDocument XXX http://url" redirection feature.

	* src/connection.c (send_buffer_unsafe): Improvement.  If it was an
	error sending the buffer, it turns off the keepalive flag.


2003-08-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* cherokee.conf.sample.in, src/connection.c, src/connection.h, 
	src/http.h, src/read_config_grammar.y, src/read_config_scanner.l, 
	src/thread.c, src/virtual_server.c, src/virtual_server.h:
	Added "ErrorDocument" support.  Custom error pages based on
	file content or redirections.

	* cherokee.conf.sample.in, src/connection.c,
	src/read_config_grammar.y, src/read_config_scanner.l,
	src/server.c, src/server.h,  src/virtual_server.c: Added
	"MaxKeepAliveRequests" configuration parameter.


2003-08-17  Ramon Pons Vivanco  <rpons@rinu.org>

	* doc/SSL-howto.html: Added self signed certs script


2003-08-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y, src/virtual_server.c, 
	srv/virtual_server.h. src/read_config_scanner.l: 
	cherokee.conf.sample.in: Some work arround the GNU/TLS support

	* doc/SSL-howto.html: Added u-Howto to manage SSL certs

	* src/server.c (cherokee_server_daemonize): Added new method


2003-08-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for GNUTLS and liblzo:
	http://www.gnu.org/software/gnutls/
	http://packages.debian.org/unstable/libdevel/liblzo-dev.html

	* src/connection.c (cherokee_connection_send_response_page),
	src/handler_dirlist.c (cherokee_handler_dirlist_step):
	Now uses the new cherokee_buffer_add_version function

	* src/buffer.c (cherokee_buffer_add_version): Added new
	method


2003-08-16  Ramon Pons Vivanco  <rpons@rinu.org>

	* Cherokee 0.4.6-030816 release


2003-08-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_common.c (cherokee_handler_common_new): 
	Fixed manage of the local directories

	* src/handler_dirlist.c (cherokee_handler_dirlist_new): 
	Fixed incorrect initialization.

	* src/read_config_grammar.y (new_string_to_lowercase): 
	Bugfix

	* configure.in, Makefile.am (EXTRA_DIST), cherokee.pc.in: 
	Added pkg-config support

	* src/buffer.c (cherokee_buffer_read_file): Added new
	method to add the file content to a buffer.
	
	* src/table.c (cherokee_table_clean): Bugfix

	* src/library.c (cherokee_library_get): Added support for
	reloading a running enviroment

	* src/table.c (cherokee_table_clean): Bugfix

	* src/handler_dirlist.c (cherokee_handler_dirlist_step),
	src/read_config_grammar.y, src/read_config_scanner.l:
	Added new feature "HeaderFile" to handler_dirlist to
	insert a header file in the response page.


2003-08-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c (cherokee_handler_file_step): Fixed
	sendfile() bug on FreeBSD. Thanks to Pablo Neira.

	* aclocal.m4 (HAVE_PTHREAD): Removed SAMBA_SENDFILE
	funcion.  Added sendfile.samba.m4

	* etr_socket_nsl.m4: Added new func ETR_SOCKET_NSL
	http://ac-archive.sourceforge.net

	* doc/draft-coar-cgi-v11-03.txt: Added CGI/1.1 rev3
	documentation

	* src/main.c (restart_server): Clean up

	* src/server.c (cherokee_server_add_directory_index): removed
	(cherokee_server_handle_HUP): Added new function

	* configure.in (HAVE_EPOLL): Bugfix

	* src/encoder_fixer.h, src/encoder_fixer.c, configure.in,
	src/Makefile.am: Encoder fixer droped out

	* src/server.c (cherokee_server_init), 
	src/read_config_grammar.y, src/read_config_scanner.l: 
	Added chroot

	* src/logger_w3c.c (cherokee_logger_w3c_init),
	src/logger_ncsa.c (cherokee_logger_ncsa_init):
	Set the close-on-exec flag to log file descriptors


2003-08-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/common.h: Fixed bug #12

	* src/connection.c, src/connection.h, src/handler_dirlist.c,
	src/read_config_gramma.y, src/read_config_scanner.l,
	src/server.c, src/server.h, src/thread.c: Fixed bug #14
	http://bugs.alobbs.com/14


2003-08-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/encoder_table.c (cherokee_encoder_table_get): Bugfix

	* src/encoder_fixer.h, src/encoder_fixer.c, configure.in,
	src/Makefile.am: Added new encoder module
	
	* configure.in: Added check for Tidy library:
	http://tidy.sourceforge.net


2003-08-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/mmap.c: Almost implemented. 

	* src/fdpoll.c (fdpoll_epoll_set_mode): Implemented

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Added
	initial support for "Show Owner" (handler_dirlist)

	* table.h, table.c, ....: Added new func
	cherokee_table_get_val() and fixed old calls to cherokee_table_get()
	with the new function interface.


2003-08-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_parse_args): 
	Added new method to process the QueryString and to
	build the argument table of the connection.

	* src/endian_fix.h, md5.c, sha1.c: Fixed FreeBSD compilation
	problem.  Pablo Neira & me.

	* src/connection.c: Some query_string code clean ups


2003-08-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/fdpoll.h, src/fdpoll.c, server.c: Added /dev/epoll support

	* configure.in: Added --disable-epoll option


2003-08-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for FastCGI library.

	* src/handler_common.c (cherokee_handler_common_new),
	src/read_config_grammar.y, src/read_config_scanner.l:
	Added DirectoryIndex support.  Based on the patch submited
	by Pablo Neira <pneira@optimat.com>
	
	* src/common.h, src/common.c: Added apr_strfsize() function
	from Apache2 to improve handler_dirlist output.
	
	* src/list_ext.h, src/list_ext.c: Added new helper functions to
	manage list easier.
	
	* src/server.c (cherokee_server_free): Virtual servers table
	deallocation and clean done.

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Added
	time and size support.  To set up it, "Show size" and "Show date"
	in cherokee.conf


2003-08-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_grammar.y, src/read_config_scanner.l,
	src/handler_dirlisrt.h, src/handler_dirlist.c: Added 
	parameters: bgcolor, text, link, alink, vlink and
	background.

	* configure.in: Added check for header sys/epoll.h and 
	libepoll.a and epoll()


2003-08-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c: Fixed bug #18


2003-08-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c: Fixed bug #16 


2003-07-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* read_config_grammar.y, read_config_scanner.l, server.c,
	server.h: Added a parameter to (de)active the IPv6 support


2003-07-26  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (look_for_new_connection): Bugfix
	

2003-07-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* connection.c, encoder_gzip.c, encoder_table.c, handler_cgi.c,
	handler_file.c, library.c, library.h, logger.h, logger_ncsa.c,
	logger_table.c, logger_w3c.c, mmap.c, plugin_table.c,
	server.c, thread.c: Code clean up to compile with "-Wall"

	* src/plugin_table.c (load_plugin_library): Type warning fixed 

	* src/connection.c (delete_double_slash): Fixed bug #17
	(cherokee_connection_new): Removed two unused globals

2003-07-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/plugin_table.c (cherokee_plugin_table_get): Little bugfix


2003-07-20  Ayose Cazorla León  <setepo@gulic.org>

	* cherokee.conf.sample.in: Directory entry for cgi-bin

	* configure.in, src/Makefile.am: Added libcherokee_cgi

	* src/connection.c,h: Added query_string

	* src/handler_cgi.c,h: The CGI handler for Cherokee


2003-07-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_set_cork): Replaced
	SOL_TCP by IPPROTO_TCP

	* configure.in: Added check for AC_FUNC_MMAP
	Added check for TCP CORK option. Added --enable-gnomevfs,
	the GNOME-VFS handler won't compile by default. Added check
	for stat64


2003-07-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_file.c, src/handler_file.h, thread.c: Added sendfile()
	support.

	* configure.in, acinclude.m4: Added check for sendfile().
	Copy-Paste from the Samba configure.in ;-)
	

2003-07-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added check for pthread_rwlock_t

	* acinclude.m4: Added ACX_PTHREAD macro

	* src/fdpoll.h, src/fdpoll.c, src/server.c, src/server.h,
	src/thread.c, src/thread.h: Thread support is working now


2003-07-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/thread.c, src/thread.h: Added initial version

	* src/read_config_grammar.y (T_THREAD_NUM): Added "ThreadNumber"

	* src/handler_file.c (cherokee_handler_file_init): Code clean up

	* src/connection.h: Removed "handler_file.h" inclusion

	* src/Makefile.am (libcherokeeinclude_HEADERS): Added some forgoten
	header files


2003-07-09  Pablo Neira <pneira@optimat.com>

	* src/connection.h: Patch for FreeBSD compilation


2003-07-08  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: Added --enable-pthreads option

	* src/logger.c (cherokee_logger_write_string): Rewritten.

	* src/logger_w3c.c, src/logger_ncsa.c: It'll cut the string if
	it's too long and add a \n at the end.

	* src/logger_ncsa.c (cherokee_logger_ncsa_write_error): Bugfix
	working with long requests.

	* src/connection.c (cherokee_connection_send_header): Bugfix. It
	didn't include the connect-type header in the error replies.

	* src/handler_file.c (cherokee_handler_file_init): Fixed bug. It was 
	reporting a error 404 (Not Found) instead 403 (Forbidden) in the
	request for file without reading permission.  Reported by Pablo Neira.

	* src/connection.c (cherokee_connection_send_header): Fixed bug
	 with some kind of corrupted requests.  Reported by Pablo Neira :)

	* src/logger_ncsa.c (cherokee_logger_ncsa_write_error): Fixed
	little bug.


2003-07-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: little bug

	* src/logger_w3c.c, src/logger_ncsa.c: Added syslog support


2003-07-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/common.h (CHEROKEE_TEMP): Added new macro


2003-07-04  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Makefile.am: Fixed bug #15


2003-07-03  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger_w3c.[ch]: Added new W3C logger

	* src/logger.h, src/logger_ncsa.c, src/logger_ncsa.h: Added the
	new method: cherokee_logger_write_string().  Added the
	write_error() and write_string() to the NCSA logger.


2003-07-02  Pablo Neira <pneira@optimat.com>

	* src/connection.c: Fixed FreeBSD 5.0 compilation


2003-07-02  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger.[hc], src/logger_ncsa.[hc]: Added write_access and
	write_error method and removed the old wirte one.


2003-07-01  Pablo Neira <pneira@optimat.com>

	* cherokee.spec.in: Updated.
	It have been tested in Red Hat 7.2, 8.0 and Mandrake 9.1

	
2003-07-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/logger_table.[hc]: Added new class

	* src/Makefile.am, configure.in: Fixes for the modular loggers support

	* cherokee.conf.in, src/Makefile.am, src/encoder_table.c,
	src/logger_ncsa.c, src/read_config_grammar.y, src/server.c,
	src/server.h, src/static_loggers.h.orig, src/virtual_server.c,
	src/virtual_server.h: Work on loggers integration. 


2003-06-30  Miguel Angel Ajo Pelayo <ajo@godsmaze.org>

	* src/logger.c src/logger.h: files added for logger modules suport. 
	
	* src/logger_NCSA_common.[ch]: NCSA logger module, based on changes by
	Pablo Neira
	
	* the above files are still not used, untested. 

	
2003-06-30  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am, src/common.c, common.h, encoder_table.c,
	plugin_table.c, src/read_config_grammar.y: Integrated with
	the new class Library
	
	* src/library.c, src/library.h: Added new class for module loading

	* cherokee.conf.in, src/connection.c, src/encoder.c, src/encoder.h,
	src/encoder_table.c, src/encoder_table.h, src/matching_list.c,
	src/read_config_grammar.y: Added matching support in the encoders.
	The encoder+matching lists support were partially rewritten.


2003-06-29  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config_scanner.l, src/read_config_grammar.y: 
	Renamed read_config.l and read_config.y

	* configure.in: Added some checks

	* src/server.c (process_active_connections): Bugfix. Reported by rpons

	* src/handler_dirlist.c (cherokee_handler_dirlist_add_headers): 
	Added header "Content-Type: text/html" to response header of the
	autogenerated pages. Reported by rpons.

	* src/connection.c (cherokee_connection_build_local_directory_userdir): 
	Bugfix for userdir request that hasn't directory. This requests are
	redirected to a slash-finished URL. Eg:
	http://www.alobbs.com/~alo => http://www.alobbs.com/~alo/	
	

2003-06-28  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/encoder_gzip.c (cherokee_encoder_gzip_encode): GZip
	encoder finished.

	* src/buffer.c (cherokee_buffer_prepend): Added new method
	(cherokee_buffer_print_debug): New methos of debugging


2003-06-27  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* doc/.cvsignore, doc/Makefile.am, doc/doxygen.cfg: Added doxygen

	* src/buffer.h: Added CRC32 method

	* crc32.h, crc32.c, src/Makefile.am: Added CRC32 code (from postgresql)


2003-06-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c, src/fdpoll.c, src/handler_dirlist.c, src/handler_file.c,
	src/handler_redir.c, src/matching_list.c, src/mime.c, src/plugin_table.c,
	src/plugin_table_entry.c, src/server.c, src/table.c: 
	structures instance clean up.


2003-06-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in, icons/Makefile.am: Added icon directory

	* Makefile.am, configure.in, cherokee.conf, cherokee.conf.in: 
	Removed cherokee.conf. Added the new cherokee.conf.in for 
	manage the icon path at installation time
	
	* configure.in, doc/Makefile.am, doc/es/Makefile.am: Added the
	new documentation

	* src/read_config.y: Each directory needs a handler. Added a check
	for this

	* src/connection.c, src/read_config.y: Added DocumentRoot support
	inside of a Directory entry.. aka "Alias" support

	* src/common.h (CHEROKEE_NEW, CHEROKEE_NEW_STRUCT): New macro 
	for object instance


2003-06-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c, src/connection.h, src/encoder.c, src/encoder.h,
	src/encoder_gzip.c, src/encoder_gzip.h,  src/encoder_table.c,
	src/encoder_table.h, src/handler_file.c, src/read_config.y,
	src/server.c: GZip encoder work, and misc.
	(cherokee_connection_step): bugfix

2003-06-01  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/buffer.c (cherokee_buffer_move_to_begin): Now can set
	an empty string as result

	* src/connection.c (cherokee_connection_build_local_directory_userdir): 
	Bugfix in the request buffer

	* src/server.c (process_active_connections): Bugfix in 
	the "Host: " support


2003-05-31  Ramon Pons  <rpons@rinu.org>

	* src/read_config.y: Compilartion problem fixed


2003-05-31  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (process_active_connections): Bug in 
	host management

	* src/read_config.y: Mostly rewritten

	* src/Makefile.am: Added static_encoders.h.orig
	

2003-05-25  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/encoder_table.[ch], src/Makefile.am, src/plugin_table,
	src/common.c, configure.in: More work on dynamic/static 
	modules/encoders.


2003-05-23  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config.[yl]: Added "encoder" token and rules

	* src/handler*.[hc]: Changed func_* by handler_func_*

	* src/connection.c (get_host): replaced strstr by strchr
	(get_uri): Added "Accept-Encoding: " detection.
	(cherokee_connection_parse_header): Keepalive detection
	optimized.

	* src/encoder_gzip.[ch]: Added initial version


2003-05-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am (libcherokee_gzip_la): Added new module

	* src/encode.[ch]: Added new files

	* configure.in: Added check for zlib


2003-05-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/handler_dirlist.c (cherokee_handler_dirlist_step): Added
	the "hide version" feature.


2003-05-10  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c, src/connection.h, src/connection.c, 
	src/handler.h, src/handler.c, src/handler_file.c, 
	src/handler_dirlist.c, src/handler_redir.c, 
	src/handler_nn.c, src/handler_php4.c: Connection
	has a reference to the server.  Now the handlers can
	access to the server configuration.


2003-05-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (get_uri): Security problem fixed.

	
2003-05-06  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* TODO: Updated


2003-05-05  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am: Bison and Flex fixes

	* configure.in: GnomeVFS checking fix

	* src/read_config.l, src/read_config.y,
	src/server.h, src/server.c: Add "hide version" feature.


2003-04-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* configure.in: pkg-config detection fixed

	* src/read_config.l: now the '\r' character is 
	"new line" too

	* cherokee.conf: Comment out "User" and "Group"

	* configure.in: Added timezone check

	* src/log.c (cherokee_log), src/common.c (PRINT_ERROR), 
	configure.in: 
	Check for vsyslog to fix Cygwin compilation problems

	
2003-04-18  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/Makefile.am (CLEANFILES): Added files generated
	by Bison and Flex
	

2003-04-17  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* *.h: Changed __CHEROKEE2_ by__CHEROKEE_ 


2003-04-16  Pablo Neira  <pneira@optimat.com>

	* src/handler_file.c (cherokee_handler_file_add_headers): 
	changed "Content-type" by "Content-Type"

	* src/handler_file.c (cherokee_handler_file_init): get a 
	"Forbidden" error when try to access to a directory.

	* src/server.c (look_for_new_connection): Get the addr_in
	at accept().

	* src/connection.c (cherokee_connection_log): New log writting
	function CLF (Common Log Format) compliant.

	* src/connection.c (get_uri): HTTP/1.1 needs a Host entry,
	otherwise it's going to be a Bad Request.


2003-04-16  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/http.h (http_type_[2,3,4,5]00): fixed

	* src/connection.c (cherokee_connection_fill_log): Added

	* src/server.c (process_active_connections): New log system

	
2003-04-15  Pablo Neira  <pneira@optimat.com>

	* contrib/cherokee: Added init.d script for RedHat
	

2003-04-15  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* contrib/Makefile.am: Added new file

	* doc/Benchmark-0.4.3-pre7.txt: Added new benchmark:
	Cherokee, Boa, thttpd and Apache

	* src/handler.h, src/handler.c, src/handler_common.h,
	src/handler_common.c, src/handler_dirlist.h,
	src/handler_dirlist.c,  src/handler_file.h, src/handler_file.c, 
	src/handler_gnomevfs.h, src/handler_gnomevfs.c,
	src/handler_redir.h, src/handler_redir.c: Partial rewritten.

	* src/handler_nn.h, src/handler_nn.c: Added new handler

	* src/buffer.c (cherokee_buffer_swap_chars): Added
	
	
2003-04-14  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config.y: Make handler dir finish with a slash

	* src/buffer.c (cherokee_buffer_decode): Added


2003-04-13  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config.y: UserDir must ends with a slash

	* src/handler_redir.c (cherokee_handler_redir_new): Fixed
	problem if there're any properties

	* configure.in: inet_pton and inet_addr detection work arround

	* src/server.c (process_active_connections): Fixed bug
	closing connections
	(look_for_new_connection): Keep-Alive fixed.

	* src/read_config.l: ID can start with a dot.
	Eg: UserDir .web


2003-04-12  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (process_active_connections): Fixed
	keep-alive related bug

	* src/handler_gnomevfs.c: Added new handler based in the
	GNOME (2.0) VFS library

	* src/server.c (process_active_connections): Rewrited.
	New one is cleanier and faster.


2003-04-11  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config.[y,l]: Added listen entry

	* configure.in: Added check for GnomeVFS


2003-04-09  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/read_config.[l,y]: Added PidFile configuration entry

	* cherokee.spec.in: Added new file 

	* cherokee.spec.in: Fixed version management

	
2003-04-07  Pablo Neira  <pneira@optimat.com>

	* cherokee.spec: Added spec file to build RPM packages.
	

2003-04-07  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/connection.c (cherokee_connection_get_request): 
	Fixed vulnerability.  Reported by Pablo Neira <pneira@optimat.com>


2003-03-22  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* src/server.c (cherokee_server_read_config_string): 
	Fixed.


2003-03-19  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* TODO: Added "IP Range restrictions"

	* cherokee.1: Added new man page

	* src/server.c (cherokee_server_set_min_latency): Added new
	function

--

2001-12-20  Alvaro Lopez Ortega  <alvaro@alobbs.com>

	* Cherokee started in 2001, but I didn't start this Changelog file
	until March 2003.  Slightly lazy? Yeah.. maybe ;-)
