Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

16708 lines (11519 sloc) 601.692 kb
2009-05-25 Alvaro Lopez Ortega <>
* cherokee/, cherokee/cryptor_libssl_dh_1024.c,
cherokee/cryptor_libssl_dh_512.c, cherokee/cryptor_libssl.c,
cherokee/cryptor_libssl_dh_2048.c, admin/,
cherokee/cryptor_libssl_dh_4096.c, contrib/ Add
support for DH parameters. Patch by Arnaud Cornet. Thanks!!
* cherokee/rule_exists.c, cherokee/rule_exists.h: Adds a new
parameter to allow the rule to select only files, or any sort of
directory entries.
2009-05-24 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c: It shouldn't reply with a HTTP
status code 200 when a redirection ("Location:") header is
returned by a {Fast,S,}CGI. It fixes bug report:
2009-05-24 Antonio Perez <>
* admin/ Shows logging status using
2009-05-24 Alvaro Lopez Ortega <>
* admin/, admin/static/images/wizards/,
admin/, admin/static/images/wizards/redirect.jpg,
admin/ Adds a new Wizard: Host redirection.
* cherokee/connection-protected.h, cherokee/connection.c: Better
ret_eof_have_data management. Thanks to Stefan de Konink for his
findings and patch proposal. Good stuff!
2009-05-23 Alvaro Lopez Ortega <>
* cherokee.conf.sample.pre,, admin/,
admin/, admin/, admin/,
admin/, admin/static/images/wizards/php.jpg,
admin/, admin/static/images/wizards/wordpress.jpg,
admin/, admin/static/images/wizards/,
admin/static/images/, admin/ Initial
support of the Wizard mechanism. Includes two examples: PHP and
* admin/ Show the Document Root entry even if a
handler has not been selected. There should be possible to define
non-final rules with a custom document root.
* admin/ (PageVServer._render_rules_generic): Adds a
new column to represent the Document Root of rules.
* cherokee/handler_cgi_base.c: Fixes the DOCUMENT_ROOT value.
* cherokee/main.c (do_spawn): Fixes a memory corruption issue.
Thanks to for the report!
* cherokee/config_reader.c (cherokee_config_reader_parse_string):
Fixes a regression that was introduced a few day ago.
* README: Misc updates
2009-05-22 Antonio Perez <>
* admin/, admin/static/images/,
admin/static/images/cross.png, admin/static/images/tick.png:
'Yes' and 'No' words in Rule List are substituted by a 'tick'
and a 'cross' images. RFE #471:
2009-05-22 Alvaro Lopez Ortega <>
* cherokee/handler_fcgi.c (set_env_pair): Adds a new TRACE point
to print the FastCGI variables.
2009-05-21 Alvaro Lopez Ortega <>
* admin/ Adds a new entry for the Dutch translation.
* cherokee/main_admin.c: Use Expire headers when serving static
content. This should improve Cherokee-Admin performance slightly.
2009-05-20 Alvaro Lopez Ortega <>
* Check libposix4 for POSIX shm/sem functions.
AFAIK, only ancient Solaris version located them there.
2009-05-13 Antonio Perez <>
* cherokee/main.c: Cleans shared memory stuff on exit.
2009-05-13 Alvaro Lopez Ortega <>
* admin/ Adds a new language entry for German. The
translation isn't finished yet, but the de.po file is already in
* cherokee/rule_header.c, admin/ Adds a new 'Host'
property to the header matcher, so target hosts can also be
matched from regular rules. Patch by Stefan de Konink.
2009-05-12 Alvaro Lopez Ortega <>
* 0.99.15 released
* cherokee/handler_file.c (cherokee_handler_file_step): Fixes
range management when the server internally uses sendfile() (and
start and end points are specified by the client). Fixes:
Thanks to Matt Whiteley for the report.
2009-05-11 Alvaro Lopez Ortega <>
* cherokee/buffer.c (cherokee_buffer_replace_string): It can
replace substrings with "" (empty strings). Patch by Arnaud
* cherokee/main.c (do_spawn): Fixes a lingering processes issue.
* cherokee.conf.sample.pre: Rewrites warning about editing the
configuration file by hand.
* cherokee/config_reader.c (cherokee_config_reader_parse_string):
Relaxes grammar. The last line of the configuration file is no
longer required to finish with a new line. Thanks to Gunnar Wolf
for letting us know. It fixes Debian bug:
* cherokee/main.c: Fixes the new spawning mechanism. There were
process being left behind when cherokee exited. Fixes bug:
2009-05-10 Alvaro Lopez Ortega <>
* cherokee/handler_streaming.c (open_media_file): Fixes a
potential double-free() when serving broken media files.
* cherokee/spawner.h: It ought to fix a compilation issue on
FreeBSD. Thanks to Jason <> for reporting.
* cherokee/main_admin.c: Fixes a compilation warning:
2009-05-09 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c (_spawn_shm): When a custom user
is not defined, the new process GID is also inherited from the
server process. Thanks to Evangelos Foutras for the feedback!
2009-05-08 Antonio Perez <>
* admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/, admin/,
admin/ Usability patch. Images used for
deletions now use links to execute javascript code, instead of
the onClick event.
* admin/, admin/,
admin/, admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/ Better string translation support. Fixes
problems with empty strings, and fixes a problem with strings
that was not translated when the user changes the language.
2009-05-07 Antonio Perez <>
* admin/ Cherokee-Admin fails if HTTP_ACCEPT_LANGUAGE
is not included in request header. Fixes bug #453:
2009-05-06 Antonio Perez <>
* admin/, admin/ Fixes an i18n
issue related to empty strings.
2009-05-06 Alvaro Lopez Ortega <>
* 0.99.14 released
2009-05-05 Alvaro Lopez Ortega <>
* po/admin/es.po: Updates the Spanish translation.
* admin/ Fixes NOTE_GROUP.
* cherokee/handler_file.c, cherokee/handler_file.h,
qa/, qa/,
qa/, qa/,
qa/ Fixes the 'Range:' management: Special
thanks to Arnaud Cornet for his report and patch.
2009-05-04 Alvaro Lopez Ortega <>
* cherokee/logger.c (parse_x_real_ip), admin/ Adds
support for the X-Forwarded-For header.
* cherokee/socket.c (cherokee_socket_sendfile): Fixes an important
bug. Under certain circunstances, the server load was
sky-rocketing because really CPU hogy loops were executed.
2009-04-30 Alvaro Lopez Ortega <>
* 0.99.13 released
* cherokee/, cherokee/source_interpreter.c,
cherokee/spawner.c, cherokee/main.c, Fixes the new
spawning mechanism so Cherokee can be compiled without POSIX
shared memory support. (It seems that uclibc lacks it).
* cherokee/source_interpreter.c: Use the default group whenever a
UID is specified but a GID changed is not.
2009-04-29 Alvaro Lopez Ortega <>
* cherokee/spawner.c, cherokee/spawner.h, cherokee/shm.c,
cherokee/main.c: Fixes a spawner issue. It tries to fix:
* cherokee/source_interpreter.c, cherokee/source_interpreter.h,
cherokee/spawner.c, cherokee/spawner.h, admin/,
cherokee/main.c: Adds group changing capabilities.
* cherokee/server.c: Use cherokee_getgrnam() instead of getgrnam().
2009-04-28 Alvaro Lopez Ortega <>
* 0.99.12 released
* cherokee/validator_mysql.c: A data base password isn't actually
required. Thus, the check for a password has been removed.
* admin/ (ModuleMysql._op_apply_changes): Disables
MD5 passwords when using Digest authentication.
2009-04-26 Alvaro Lopez Ortega <>
* cherokee/, cherokee/init.c: Fixes cget compilation.
2009-04-25 Alvaro Lopez Ortega <>
* cherokee/main.c (do_spawn): Fixes a glibc 2.9 compilation
problem. Thanks to Jacob Peddicord <> for
pointing out the issue.
* Adds librt detection.
* admin/ (PageVServer._op_apply_changes): Fixes
logger disabilitation.
* cherokee/source_interpreter.c: If no custom UID is defined,
spawn new interpreters with the same UID as cherokee-worker.
2009-04-24 Alvaro Lopez Ortega <>
* cherokee/macros.h, cherokee/, cherokee/spawner.c,
cherokee/source_interpreter.c, cherokee/logger_combined.c,
cherokee/logger.c, cherokee/logger.h, cherokee/spawner.h,
cherokee/logger_w3c.c, cherokee/logger_w3c.h, cherokee/init.c,
cherokee/shm.c, cherokee/shm.h, cherokee/main_admin.c,
cherokee/main.c, cherokee/logger_ncsa.c, cherokee/logger_ncsa.h,
cherokee/handler_cgi.c, cherokee/logger_custom.c,
cherokee/logger_custom.h, cherokee/logger_combined.h,
cherokee/server.c: A new process spawning mechanism has been
implemented. It uses the main cherokee process (running as root)
to spawn new processes, so their UID can be changed. In this way,
cherokee-worker can run as an unprivileged user while interpreter
are spawned as another user.
* cherokee/handler_cgi_base.c, cherokee/handler_file.c,
qa/ Fixes a X-Sendfile support issue. It wasn't
coming along with keep-alive and chunked connections.
2009-04-23 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c (parse_header): Fixes the
X-Accel-Redirect support.
2009-04-22 Alvaro Lopez Ortega <>
* admin/ (main): Fixes a translation problem (warning).
2009-04-22 Antonio Perez <>
* admin/, admin/ Fixes a bug, which was
causing that the domain mathing method of a virtual server could
be set but not configured.
2009-04-21 Alvaro Lopez Ortega <>
* cherokee/thread.c: Cleans up the piece of code where connections
were being closed. The behaviour changes as well, lingering close
is used by default now.
2009-04-21 Antonio Perez <>
* cherokee/socket.c, cherokee/cryptor_libssl.c: Tries to fix
some SSL issues. Related to bug:
2009-04-21 Alvaro Lopez Ortega <>
* cherokee.conf.sample.pre: Adds a mime-type for JSON, and remove
a few others.
* cherokee/thread.c, cherokee/thread.h: Do not call pthread_wait
twice (it crashes).
* cherokee/handler_file.c, cherokee/handler_cgi.c,
cherokee/connection.c: Use cherokee_bogonow_now instead of the
thread local variable - it's proved to be safer.
2009-04-20 Alvaro Lopez Ortega <>
* admin/ Reflexs the latest feature in
* cherokee/virtual_server.c, cherokee/,
cherokee/cherokee.h, cherokee/config_entry.c,
cherokee/config_entry.h, cherokee/nullable.h, cherokee/thread.c:
Implements a new 'no_log' property, so rules can specify whether
or not they want requests to be logged.
* cherokee/handler_proxy.c (build_request): Fixes bug #450
* cherokee/main_admin.c (config_server): It was not printing the
right port when the -p was used.
2009-04-18 Antonio Perez <>
* cherokee/logger_w3c.c, cherokee/logger_ncsa.c: Query string
was being added to original request in NCSA and Apache compatible
logs; and was not being included in W3C log format. Thanks to
Enric Agut for reporting this bug.
2009-04-18 Alvaro Lopez Ortega <>
* 0.99.11 released
* cherokee/server.c (cherokee_server_step): Fixes a Graceful
Restart issue. The server was hogging the CPU while two or more
workers were working at the same time. This bug was also reported
by Stefan de Konink.
* cherokee/thread.c: Tries to fix an important bug. Random
connections were being closed every now and then. Bug discovered
by Stefan de Konink.
2009-04-17 Alvaro Lopez Ortega <>
* Disable NLS support if gettext is not installed.
* m4/progtest.m4, m4/, m4/nls.m4, m4/po.m4,,
po/admin/en.po, po/admin/Rules-quot, po/admin/insert-header.sin,
po/admin/es., po/admin/remove-potcdate.sin, po/admin/cherokee.pot,
po/admin/, po/admin/ChangeLog, po/admin/,
po/admin/quot.sed, po/admin/LINGUAS, po/admin/en@quot.header,
po/admin/en@boldquot.header, po/admin/boldquot.sed, README,
po/admin/Makevars, po/,, admin/,
admin/, admin/,,
admin/po/cherokee-admin-en.po, admin/po/cherokee-admin.pot,
admin/po/cherokee-admin-es.po, admin/ 'Native Language
Support' integration.
2009-04-17 Alvaro Lopez Ortega <>
* admin/ (Config._parse): Fixes bug #444
Cherokee-admin had trouble parsing configuration files with
embedded SQL queries.
2009-04-16 Antonio Perez <>
* admin/, admin/,
admin/po/cherokee-admin-en.po, admin/po/cherokee-admin.pot,
admin/po/cherokee-admin-es.po: More i18n changes and
translation files updates.
2009-04-16 Alvaro Lopez Ortega <>
* cherokee/bind.c (cherokee_bind_init_port): Clarifies the error
* cherokee/handler_redir.c, qa/,
qa/, qa/ Fixes bug #432
Now hidden redirections can use non-global paths.
* cherokee/handler_cgi_base.c, admin/ It will be
handier for many people if {Fast,S,}CGIs have the error handler
bit set by default.
2009-04-15 Antonio Perez <>
* admin/static/css/cherokee.css, admin/status.template.html,
admin/, admin/ i18n changes to Status page
template, and the language drop-down menu was moved to the upper
right corner of Status page.
* admin/ Removes Change Language button.
* admin/, admin/, admin/,
admin/, admin/ Fixes feedback page
and other minor issues.
2009-04-15 Alvaro Lopez Ortega <>
* admin/, admin/, admin/status.template.html:
The language drop-down menu isn't something that the user has to
access frequently. Thus, I've moved it away from the sidebar. The
CSS style has still to be fixed for this new location though.
* cherokee/validator_authlist.c, admin/ Fixes
bug . An
empty authlist validator is no longer a fatal error.
2009-04-15 Taher Shihadeh <>
* admin/ fixes issue
2009-04-14 Alvaro Lopez Ortega <>
* qa/ Adds a new QA to test:
2009-04-14 Antonio Perez <>
* admin/, admin/,
admin/, admin/,
admin/error_icons_dir_missing.template.html, admin/,
admin/, admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/error_couldnt_launch.template.html,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/error_not_writable.template.html, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/default.template.html,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/po/cherokee-admin-en.po, admin/po/cherokee-admin.pot,
admin/po/cherokee-admin-es.po, admin/,
admin/, admin/static/css/cherokee.css,
admin/, admin/, admin/,
admin/, admin/,
admin/status.template.html, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/ Adds
internationalization (i18n) to cherokee-admin.
* admin/, admin/, admin/po/cherokee-admin-en.po,
admin/po/cherokee-admin.pot, admin/po/cherokee-admin-es.po,
admin/, admin/, admin/status.template.html:
More i18n related changes.
2009-04-14 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c, qa/,
qa/ Adds PATH_TRANSLATED support to {Fast,S,}CGI. It
also adds a new QA test.
* admin/ (PageVServer._render_hosts): Makes the
Virtual Server page slightly more consistent. It wasn't showing
the "Domain Matching" tab in the 'default' virtual host, and that
has proved to be confusing for some users.
2009-04-13 Alvaro Lopez Ortega <>
* 0.99.10 released
2009-04-10 Alvaro Lopez Ortega <>
* cherokee/proxy_hosts.c (poll_release): Implements a better reuse
2009-04-09 Alvaro Lopez Ortega <>
* cherokee/bogotime.c (update_guts): Fixes a regression and I
introducced yesterday.
* cherokee/connection.c (cherokee_connection_instance_encoder):
Encoders should not be used for replies without body.
* doc/modules_loggers_custom.txt, doc/modules_loggers.txt,
doc/modules.txt, doc/ Adds some basic 'Custom logger'
* cherokee/handler_proxy.c (cherokee_handler_proxy_init): Improve
error management on the initialization phase.
2009-04-08 Alvaro Lopez Ortega <>
* cherokee/socket.c (cherokee_socket_test_read): New method.
* cherokee/http.h, cherokee/http.c: Adds 406 Not acceptable.
* cherokee/proxy_hosts.c, cherokee/handler_cgi_base.c,
cherokee/util.c: Adds a check to ensure that the incoming header
isn't larger than MAX_HEADER_LEN.
* cherokee/handler_proxy.c, cherokee/handler_proxy.h,
admin/ Adds a new option to preserve the original
"Host:" header when the reverse proxy forwards a request.
* cherokee/logger_w3c.c, cherokee/bogotime.c, cherokee/bogotime.h,
cherokee/util.c, cherokee/util.h, cherokee/logger_ncsa.c: Some
updates regarding the time management routines. Some unused stuff
have been removed; a new callback mechanism has been also added.
* cherokee/logger_custom.c: Implements a couple of variable
replacement that were unimplemented yet.
2009-04-07 Alvaro Lopez Ortega <>
* doc/media/images/admin_general.png,
doc/config_info_sources.txt, doc/basics_upgrade.txt,
doc/ Documentation requires some attention. Some
images have been updated. More commits to come.
* cherokee/main_admin.c: Added a couple of printf()s to report the
URL where cherokee-admin interface is accessible.
* cherokee/header.c, cherokee/header.h, cherokee/handler_proxy.c,
cherokee/connection.c: Adds some sort support for POST requests
with "Expect: 100-Continue" header.
2009-04-07 Antonio Perez <>
* admin/ 'Host Match' tab should not be available
for 'default' Virtual Host. Fixes bug #427:
* admin/ Fixes a bug with checkboxes in complex rules.
* admin/, admin/ Adds initial custom logs
support to Cherokee-Admin.
2009-04-06 Alvaro Lopez Ortega <>
* cherokee/server.c (cherokee_server_get_log_writer): Fixes a tiny
memory leak.
* qa/, qa/, qa/,
qa/ Three new QA tests for testing the EVHost support.
* cherokee/virtual_server.c: Fixes a wrong memory initialization
issue introduced a couple of days ago.
* cherokee/gen_evhost.c, admin/,
cherokee/gen_evhost.h, admin/ Adds a new
'check_document_root' flag to the EVHost plug-in. If turned on, it
will check whether the dynamically generated document root
exist. If not, it will use the regular document root instead.
2009-04-05 Alvaro Lopez Ortega <>
* contrib/ (convert): Fix. Do not convert host that
have no 'domain' entries (usually 'default').
* admin/, admin/ Warn the user if
the list ('domain' or 'regex') is empty.
* admin/, admin/, admin/,
admin/ Adds "Enhanced Virtual Hosting" support to
2009-04-04 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/, cherokee/gen_evhost.c, cherokee/plugin.h,
cherokee/gen_evhost.h, cherokee/connection.c, Adds a
new "Enhanced Virtual Hosting" plug-in. It allows to define
generic virtual servers that can handle many different hosts.
Document root directories are dynamically generated (based on the
domain name).
* cherokee/handler_server_info.c: Adds support for vrules
[matching rules for virtual servers].
* admin/, admin/, admin/,
admin/ Adds support for the 'Rehost' vrule in
* admin/, admin/, admin/,
admin/ The new 'wildcard' virtual host match plug-in
is now supported by cherokee-admin.
* contrib/ New configuration file converter.
Cherokee 0.99.9 to Cherokee 0.99.10.
2009-04-03 Alvaro Lopez Ortega <>
* cherokee/, cherokee/vrule.c, cherokee/vrule.h,
cherokee/vrule_rehost.c, cherokee/vrule_rehost.h,
cherokee/vrule_wildcard.c, cherokee/template.h,
cherokee/server-protected.h, cherokee/connection.c,
cherokee/server.c,, qa/,
qa/ Adds a new "Host:" matcher based on regular
expressions. It also adds a new QA test for it.
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/, cherokee/vrule.c, cherokee/vrule.h,
cherokee/vrule_wildcard.c, cherokee/vrule_wildcard.h,
cherokee/plugin.h, cherokee/virtual_server_names.c,
cherokee/virtual_server_names.h, cherokee/server.c,,
qa/, qa/, qa/,
qa/, qa/, qa/,
qa/, qa/ This patch
introduces a new plug-in type 'virtual server rule'. It's similar
to the behavior rules, but they are used to match virtual servers.
This infrastructure will be used as base to build a more powerful
'Enhanced Virtual-Hosting' mechanism.
* cherokee/rule.c: Clean up.
* cherokee/header.c, cherokee/header.h, cherokee/logger.c,
cherokee/logger_w3c.c, admin/, cherokee/logger.h,
cherokee/handler_proxy.c, cherokee/logger_combined.c,
cherokee/logger_custom.c, admin/,
cherokee/logger_ncsa.c: Rework the X-Real-IP. Now it's supported
globally (at logger level), so Cherokee can act as consumer of
X-Real-IP headers, and it can also generate them from the proxy.
2009-04-02 Alvaro Lopez Ortega <>
* 0.99.9 released
* cherokee/handler_proxy.c (build_request): X-Real-IP is processed
in the proxy request. Thanks Denis Kot for pointing the mistake.
* cherokee/connection-protected.h, cherokee/handler_proxy.c,
cherokee/logger_custom.c, cherokee/logger_ncsa.c,
cherokee/connection.c: Adds X-Real-IP to the Reverse HTTP proxy,
ans the NCSA, Combined and Custom loggers.
* cherokee/util.c (cherokee_get_timezone_ref): Implements timezone
reading in FreeBSD. Patch based on bozzaj's patch (thanks!):
* cherokee/handler_file.c (cherokee_handler_file_custom_init):
Fixes a encoder handling problem where a encoder wasn't taken into
account when it was actually going to be used.
2009-04-01 Alvaro Lopez Ortega <>
* cherokee/logger_ncsa.c (build_log_string): The query_string was
not being included in the logger. Patch by bozzaj.
* cherokee/logger_ncsa.c (build_log_string): Negative Timezones
were incorrectly printed in the log files. Patch by bozzaj.
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/logger_writer.c, cherokee/logger_writer.h,
cherokee/logger.h, cherokee/logger_w3c.c, cherokee/logger_w3c.h,
cherokee/logger_ncsa.c, cherokee/logger_ncsa.h,
cherokee/server-protected.h, cherokee/server.c,
cherokee/logger_custom.c, cherokee/logger_custom.h,
cherokee/logger_combined.c, cherokee/logger_combined.h: Logger
writers are now shared among all the loggers (one per virtual
server). It saves fds on set ups with multiple vservers.
* doc/bundle_cherokee-tweak.txt: Fixes a typo. Thanks Tako
Schotanus for reporting.
2009-03-31 Alvaro Lopez Ortega <>
* 0.99.8 released
* cherokee/connection.c (cherokee_connection_instance_encoder):
Fixes a memory leak when using the Reverse HTTP proxy in
conjunction with an encoder.
* cherokee/handler_proxy.c (parse_server_header): Remove the
keep-alive header. It will be added later on if case it is
replying a keep-alive connection.
* cherokee/connection.c: Fixes a huge regression. The server was
including a Content-Length header even if an encoder (gzip or
deflate) was being aplied to the content.
2009-03-31 Antonio Perez <>
* cherokee/rule_extensions.c: A dot at the end of the url or
followed by a slash, is not an extension.
* cherokee/handler_cgi_base.c: Fixes a path_info related bug
that was causing wrong values in SCRIPT_NAME, PHP_SELF and
DOCUMENT_ROOT environment variables.
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/,
admin/static/css/cherokee.css: Adds SSL/TLS custom cipher list.
2009-03-30 Alvaro Lopez Ortega <>
* cherokee/rule_extensions.c, qa/,
qa/ If a slash character is appended after a file,
the extension matching rule must recognize it and set the slash
as PATH_INFO. It also adds a new QA test to ensure the server
suffers the same regression again.
* cherokee/rule_extensions.c, qa/,
qa/ Fixes a problem on the extensions rule matching
module. It was not working properly when a request contained dot
characters on its PathInfo section. It also adds a new QA test
(#219) to cover this case.
* cherokee/handler_cgi_base.c, qa/,
qa/ There was a problem running Drupal with 'clean
url's. This patch fixes the issue. Basically, the *cgi class was
setting the REQUEST_URI value to the original URL plus the new
[already rewritten] query_string. The new QA #218 checks the
scenario (using a CGI instead of a php file).
* admin/, cherokee/rule_header.c (match): Adds a
new "Cookie" option to the Header matching rule.
2009-03-28 Antonio Perez <>
* admin/, admin/,
admin/ Shows an error if configuration file
could not be created.
2009-03-27 Alvaro Lopez Ortega <>
* 0.99.7 released
* cherokee/handler_proxy.c (add_request): Fixes a regex issue:
* cherokee/handler_streaming.c (set_auto_rate): Adds a missing
* cherokee/handler_proxy.c, cherokee/handler_proxy.h,
admin/ This patch adds a new configuration option
to the reverse proxy. It allows to point Cherokee whether or not
it can use keep-alive connections with the internal back-end
servers. I've seen that some servers (Cherrypy WSGI) keep timeout
sockets open and punches 408 errors to them when a request is
sent. That's obviously wrong. The problem can be worked around by
disabling keep-alive, although it will have a performance impact.
* cherokee/handler_proxy.c (build_request): X-Forwarded-Host
should include the port if it isn't standard.
* cherokee/http.c, cherokee/http.h: Adds error code 408.
* cherokee/handler_proxy.c, cherokee/connection.c: Fixes a
regression that was introduced yesterday.
* admin/ (PageNewConfig._tweak_config_for_dev):
Adds a second default Information Source. It does not hurt and
it's kind of handy.
2009-03-26 Alvaro Lopez Ortega <>
* cherokee/connection-protected.h, cherokee/handler_cgi_base.c,
cherokee/handler_file.c, cherokee/handler_proxy.c,
cherokee/connection.c, qa/, qa/
Much better detection of encoded outputs form {Fast,S,}CGIs. For
instane, now the PHP rule can have GZip encoding enable, at the
same time that some PHP-based programs already return compressed
* cherokee/handler_proxy.c (add_request): The pathinfo must be
encoded as well.
* cherokee/handler_cgi.c: For some reason, CGIs don't work under
valgrind. It also reports Cherokee trying to read fd -1. It seems
to be because pipe() doesn't success. This patch does a couple of
additional checks.
* cherokee.conf.sample.pre: Adds a new application/
mime type.
* cherokee/handler_proxy.c (add_request): Fixes a re-encoding
issue. URLs containing non-alpha-numeric characters were not being
handled propertly by the handler.
* cherokee/buffer.c (cherokee_buffer_escape_uri): New method.
* qa/ New QA test. It requests a file with a
couple of space characters on the name.
2009-03-25 Alvaro Lopez Ortega <>
* cherokee/connection.c (cherokee_connection_setup_error_handler):
3xx and 4xx error can be kept alive. Connections have to be closed
only for 5xx responses.
* 0.99.6 released
* cherokee/handler_proxy.c (parse_server_header): It was not
dealing with "Content-Encoding" responses properly. This patch
2009-03-24 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c (send_post): It had to write the POST
to a socket rather than to a file descriptor.
* cherokee/logger_custom.h, cherokee/logger_custom.c: Adds a new
customizable logger.
2009-03-24 Taher Shihadeh <>
* admin/ was not being installed. Issue detected by
2009-03-23 Alvaro Lopez Ortega <>
* admin/, admin/, admin/,
admin/error_not_found.template.html, admin/,
admin/, When cherokee-admin was
launched and the configuration file didn't exist, it used to allow
to create a new one based on "cherokee.conf.sample". Now it gives
three options: "Regular", "Performance", and "Development". The
first one uses the previous cherokee.conf.sample file; the second
choice uses a static content focused configuration file; and
finally, the last option deploys a Cherokee-hacker focused
configuration file (it launches the server in a high-port, doesn't
create PID file, and does not log anything).
* cherokee/socket.c (cherokee_socket_sendfile): Address a
potention problem when calling sendfile().
2009-03-20 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c (cherokee_handler_proxy_init): Fixes
the reverse proxy error reporting.
* cherokee/, cherokee/cherokee.h, cherokee/template.c,
cherokee/template.h: Adds a very light template system.
2009-03-18 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (add_traffic): Adds per virtual
server traffic information.
* cherokee/virtual_server.h: Added the "collect_statistics"
configuration key, so it can be defined whether or not a virtual
server should collected traffic statistics.
* admin/ (PageVServer._op_apply_changes): Updates it
to support the new "collect_statistics" key.
* performance.conf.sample.pre: Don't collect statistics.
* 0.99.5 released
2009-03-17 Alvaro Lopez Ortega <>
* cherokee/connection.c (cherokee_connection_build_header):
Reverts r2858.
* cherokee.conf.sample.pre: The default PHP set up should have the
'Error Handler' bit. Otherwise, applications such as Wordpress
won't work by default.
* cherokee/http.h (http_code_with_body): Fixed it. It was not
working according with RFC 2616: Section 4.3.
* admin/ Fixes the final flag management. It seems
that we introduced a regression a few days ago.
* cherokee/bind.c (cherokee_bind_configure): Fixed compilation
with Sun CC. Patch by Alfred Peng <Alfred.Peng@Sun.COM>. Thanks!
* cherokee/handler_proxy.c, cherokee/handler_proxy.h,
admin/ Makes the reverse proxy configuration much
more consistent. Now the operations with headers/URLs are the same
for the Request (to the back-end server) and for the Response. It
also implements "Location:" header parsing (bug #263):
IMPORTANT: The configuration keys have changed! People will most
probably have to add the reverse proxy rules again.
2009-03-16 Alvaro Lopez Ortega <>
* cherokee/http.h, cherokee/handler_proxy.c: Tries to fix a
problem sending POST requests to a Django back-end server:
* cherokee/post.c, cherokee/connection.c: Adds a couple of new
TRACE entries.
* cherokee/handler_proxy.c (cherokee_handler_proxy_step): Fixes a
bug in the reverse proxy. When a backend server was sending a
HTTP/1.0 reply without Content-Lenght, and the server client was
using HTTP/1.1 with Keepalive, the server was screwing the
2009-03-13 Alvaro Lopez Ortega <>
* 0.99.4 released
* qa/, qa/ Added a new QA test.
It tests empty chunked encoded POSTs.
* cherokee/handler_proxy.c: Some of the connection that were
closed are now kept alive. This ought to increase the overall
proxy performance.
* cherokee/handler_proxy.c, cherokee/handler_proxy.h: Tries to
There were time when the reverse proxy returned 500 errors by no
* cherokee/handler_proxy.c (cherokee_handler_proxy_init): Adds a
new snaity check. If an information source used from the reverse
proxy has no port, the port 80 will be assigned by default.
2009-03-12 Alvaro Lopez Ortega <>
* cherokee/header.c, cherokee/header.h, cherokee/handler_fcgi.c,
cherokee/post.c, cherokee/post.h, cherokee/handler_cgi.c,
cherokee/connection.c, admin/, qa/,
qa/, qa/, qa/ Implements
"Transfer-Encoding: chunked" POSTs.
* cherokee/handler_cgi_base.c: Fixes the SCRIPT_NAME generation
when a CGI is inside a user directory (/~user).
2009-03-11 Alvaro Lopez Ortega <>
* cherokee/post.c, cherokee/header.c: Adds a couple of new TRACE
entries. They help to debug the incoming header, and post info.
* admin/ Implements the new "Hidden files"
feature in cherokee-admin.
* cherokee/handler_dirlist.h, cherokee/handler_dirlist.c:
Implements a new "Hidden files" feature. It allows to hidde
certain files of being listed by the server.
* qa/, qa/ Tests the new "Hidden
Files" feature of the dirlist handler.
* cherokee/config_node.c (cherokee_config_node_convert_list):
Converted to use cherokee_buffer_t instead of char *.
2009-03-10 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c: "Uptime" was not being showed in
the HTML render.
* cherokee/handler_cgi.c (cherokee_handler_cgi_free): Fixes an
integer overflow.
* cherokee/handler_cgi_base.c, qa/ Tries
to address:
* qa/, qa/ Adds a new QA test
in order to reproduce the bug report #377:
2009-03-10 Taher Shihadeh <>
* doc/modules_handlers_streaming.txt,
doc/modules_handlers_secdownload.txt, doc/other_community.txt,
doc/cookbook_ssl.txt, doc/modules_handlers.txt, doc/index.txt,
doc/config_quickstart.txt, doc/modules.txt,
doc/media/images/admin_handler_secdownload.png: documentation
* doc/dev_debug.txt, doc/basics_why_cherokee.txt,
doc/config_general.txt, doc/index.txt, doc/config_quickstart.txt,
doc/cookbook_optimizations.txt, doc/bundle_cherokee-admin.txt,
doc/dev_cherokee.conf.txt: syncing with current release. Almost
there now.
2009-03-10 Alvaro Lopez Ortega <>
* admin/, admin/, admin/
Adds the cherokee-admin module for the new Empty GIF handler.
* cherokee/, cherokee/handler_empty_gif.c,
cherokee/handler_empty_gif.h,, qa/,
qa/ Adds a new "Empty GIF" handler.
* cherokee/handler_cgi_base.c
(cherokee_handler_cgi_base_extract_path): Fixes the PATH_INFO
generation when a custom document root is set. This patch fixes:
2009-03-09 Alvaro Lopez Ortega <>
* admin/ (Rule.get_name): Better handling of broken
configurations (unset rules).
2009-03-09 Antonio Perez <>
* admin/static/css/cherokee.css, admin/static/js/common.js,
admin/ Click on a checkbox label auto-submits the form
2009-03-09 Alvaro Lopez Ortega <>
* qa/, qa/ Adds a new QA test
in order to reprocude the bug report #367:
* qa/, qa/ Adds a new QA test
to test whether PATH_INFO works inside ~user directories.
* qa/, qa/ Adds a new QA test to
ensure the previous patches does actually fix the issue.
* cherokee/rule_exists.c (match): The rule should match files even
if they are inside directories. This patch fixes:
2009-03-08 Alvaro Lopez Ortega <>
* cherokee/handler_mirror.c, cherokee/handler_server_info.c,
cherokee/handler_dbslayer.c: Be more flexible with unknown config
* admin/ (PageInfoSource._render_source_usage):
Fixes bug:
* doc/media/images/admin_handler_secdownload.png, doc/index.txt,
doc/modules_handlers_secdownload.txt, doc/ Adds an
documentation entry for the new "Hidden Downloads" handler.
* doc/media/css/cherokee_doc.css: A few smalls changes to make the
documentation to use less fonts (types and sizes).
* admin/, admin/, admin/
Adds a support for the new "Hidden Downloads" plug-in in
* qa/ Adds a new QA to test AUTH_TYPE.
* cherokee/handler_cgi_base.c
(cherokee_handler_cgi_base_build_basic_env): Adds support for the
AUTH_TYPE {Fast,S,}CGI variable. Thanks to Christian Hudon for
2009-03-07 Alvaro Lopez Ortega <>
* cherokee/, cherokee/handler_secdownload.c,
cherokee/handler_secdownload.h, qa/,
qa/, qa/, qa/,
secdownload.deps, Implements a new 'Secure Download'
handler and adds a few new QA tests to test it out:
* cherokee/util.c, cherokee/util.h, cherokee/buffer.c: Relocates
the hex_char to int array. It's global now.
* admin/ (PageVServer._render_rules_generic): Fixes
rule deletion. This's a regression introduced before the 0.99.3
* cherokee/handler_cgi_base.c: Improves the X-Sendfile support, so
a much more set of headers are sent when a {Fast,S,}CGI replies
with a X-Sendfile header entry.
* qa/, qa/ (EXTRA_DIST): Adds a new QA
test to check whether the right headers are sent when X-Sendfile
has been used in a {Fast,S,}CGI response.
2009-03-06 Alvaro Lopez Ortega <>
* admin/ (PageVServer._render_rules_generic): Adds a
new rule name limit, so even if there is some long entry, the
virtual server rule list still looks fine.
* cherokee/balancer_ip_hash.c (dispatch): The last information
source was not being used by the IP-Hash load balancer. Fixes:
2009-03-06 Antonio Perez <>
* admin/, admin/, admin/,
admin/static/css/cherokee.css: Visual enhancements to Complex
Rules configuration.
2009-03-05 Alvaro Lopez Ortega <>
* admin/, admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/static/js/common.js,
admin/ Implements complex rules in Cherokee-admin.
This is the initial version, the GUI still needs quite a lot of
* 0.99.3 released
* cherokee/handler_cgi.c (manage_child_cgi_process): Fixes a CGI
problem. There were ocassions where the server cloud freeze
because of a concurrenty issue. Fixes bug #385:
2009-03-05 Antonio Perez <>
* cherokee/rule_extensions.c: Fixes a problem with directory
names that ends with a dot. Bug #384:
2009-03-03 Alvaro Lopez Ortega <>
* cherokee/handler_cgi.c (cherokee_handler_cgi_free): Tries
(little harder) to kill the CGI child process.
* admin/ Fixes #383 (thanks Samuel!)
2009-03-02 Antonio Perez <>
* admin/ Cosmetic change; editboxes alignment.
2009-03-02 Alvaro Lopez Ortega <>
* qa/ This test was not working if PHP was compiled
with the 'force-cgi-redirect'. This patch fixes the proble. By
Antonio Perez <>.
* qa/ Tries to reproduce:
* 0.99.2 released
* cherokee/source_interpreter.c, cherokee/server.c: Information
sources launched by Cherokee will be killed when the server exits.
It ought to leave the system as it fount it. This patch fixes:
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/connection.c, admin/, qa/,
qa/ Adds a new maximum POST size limit. It can be
defined per virtual host. The patch implements both the server and
administration interface. Fixes bug #379.
Patch by Samuel Cormier-Iijima <>
2009-03-01 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c
(cherokee_source_interpreter_connect_polling): Fixes a problem
connecting to some information sources. If the source started up
slowly, it was returning a 304 error instead of waiting for it to
be ready. This patch tries to fix bug #374.
2009-03-01 Antonio Perez <>
* admin/ Fixes a typo. Bug #381:
2009-02-28 Antonio Perez <>
* admin/, admin/, admin/
If there is no SSL/TLS backend configured, then TLS checkboxes
should be disabled.
2009-02-27 Alvaro Lopez Ortega <>
* cherokee/, cherokee/rule_bind.c,
cherokee/rule_bind.h, cherokee/bind.c, cherokee/bind.h,, admin/, admin/,
admin/ Adds a new rule plug-in. It matches the server
TCP port from which the connection was accepted.
2009-02-26 Alvaro Lopez Ortega <>
* 0.99.1 released
* contrib/, contrib/ Adds a tiny script to
convert configuration file from 0.98 to 0.99. There is only one
little change in the format. There will be many users who won't
need to use the script for the update.
* doc/, doc/modules_handlers_streaming.txt,
doc/index.txt: Adds a missing manual page. The new Audio/Video
streaming handler was not being covered by the documentation.
* admin/ Fixes a typo.
* admin/, admin/, admin/ By
some reason, the 'Check file' option was not being showed when an
Extension was configured. This patch reverts it. Now it's always
2009-02-25 Alvaro Lopez Ortega <>
* 0.99.0 released
* admin/ (launch.daemonize): For some reason
(that I haven't still quite figured out) there are some cases when
the PATH environment variable is not defined. I suppose this is a
Linux grsecurity related bug.
* cherokee/source_interpreter.c (check_interpreter_path): Check
whether the PATH environment variable is empty.
* doc/media/images/admin_vserver_errors.png: The error
configuration interface changed slightly. This commit updates the
* doc/cookbook_ssl.txt: Adds a short note about how to enable the
SSL support. By default it's disabled after installing the server.
* cherokee.conf.sample.pre: Removes the 443 port. As long as TLS
is not enabled by default, it should not define it.
2009-02-24 Alvaro Lopez Ortega <>
* cherokee/main.c (pid_file_save): Removes a PRINT_MSG entry. It
was printing an error whenever the PID file couldn't be created.
The problem is that cherokee/main.c tries to write the PID file
even if the configuration file doesn't require it to do so. The
real problem was showing up when cherokee-admin interpreterd the
printed line as a fatal error, and therefore the server was not
properly launched. The best solution seems to be to stop printing
the error message when cherokee/main.c cannot create the PID file.
In case the file had to be created and it failed, cherokee-worker
would print it later on anyway.
* cherokee/source_interpreter.c
(cherokee_source_interpreter_configure): It was not printing any
error message when the server could not find an interpreter.
2009-02-23 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c, admin/ Adds a
new field to allow to spawn interpreters under a different UID.
2009-02-22 Alvaro Lopez Ortega <>
* cherokee/balancer_round_robin.h, cherokee/balancer_ip_hash.c,
cherokee/balancer_round_robin.c: A few concurency focused fixes.
* qa/, qa/ Adds a new QA test. It
checks whether internal redirections handle REDIRECT_QUERY_STRING,
and PATH_INFO right when a custom document_root is set for the
error handler.
* cherokee/balancer_ip_hash.c, cherokee/balancer_ip_hash.h: Try to
address what seems to be a concurrency issue:
* cherokee/connection.c (cherokee_connection_setup_error_handler):
Clean the connection before it's (internally) redirected.
* cherokee/thread.c, cherokee/connection.c: Fixes the internal
error redirections. It also adds a new security check in order to
ensure that connections will not get into a loop while hanlding an
internal error redirection.
* admin/ (is_information_source): Fixes an issue
with the Unix Socket validation.
* contrib/cherokee, contrib/, contrib/cherokee.pre:
Tries to make the cherokee init.d script a little more flexible.
* admin/ Updates the error management
interface. There were changes on the server code that have not
been implemented in cherokee-admin yet. It fixes bug #368:
2009-02-21 Antonio Perez <>
* admin/, admin/ Send TERM signal
instead QUIT signal to stop cherokee server from admin.
* admin/, cherokee/handler_error.c, cherokee/http.c,
cherokee/http.h: Adds support for http 410 (gone) status code.
* cherokee/main.c: Removes cherokee-worker pid file, and SIGINT
is supported now.
2009-02-19 Antonio Perez <>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/ SSL Certificate
and chained SSL Certificate entries are merged.
2009-02-19 Alvaro Lopez Ortega <>
* spawn-fcgi.1, contrib/spawn-fcgi.c, contrib/, spawn-fcgi is an independent project now. There is no
need to ship it with Cherokee any longer.
2009-02-18 Alvaro Lopez Ortega <>
* admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/ Adds a new entry
validations that were missing.
2009-02-17 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c: Adds support for interpreters
executed by using the PATH environment varieble.
* cherokee/handler_scgi.c, cherokee/handler_fcgi.c: These handlers
used to accept only the GET, POST and HEAD methods. REST services
are supposed to support more methods, so it's been a problem for
some people. I'm removing the check, and all methods will be
accepted from now on. Thanks to Jacob Wright <>
for reporting the problem. It fixes bug #364:
* cherokee/connection-protected.h, cherokee/handler_error_redir.c,
cherokee/handler_cgi_base.c, cherokee/connection.c: Adds
* qa/ (Test.CustomTest): Replaces the
'expected_one_of_these' property by a CustomTest method. It's a
much cleaner solution.
* qa/ Removes the ancient and no longer used
'expected_content_length' and 'expected_one_of_these' properties.
2009-02-17 Antonio Perez <>
* cherokee/source_interpreter.c: We need a better check for
* cherokee/cryptor_libssl.c (_vserver_new): SSL options setting
2009-02-15 Antonio Perez <>
* cherokee/handler_streaming.c, cherokee/handler_streaming.h:
Fixes compilation issue when libavformat is not present.
2009-02-14 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c: A new sanity check has been added
so an error is raised if a configured interpreter is not found.
* admin/ Adds a data validation entry:
server!timeout was not being validated.
* cherokee/connection-protected.h, cherokee/connection.c,
cherokee/handler_error_redir.c, cherokee/handler_cgi_base.c,
cherokee/thread.c: Adds internal redirection capabilities to
error_dir handler.
* qa/, qa/ New QA test. It checks
that the REDIRECT_URL variabl is set right.
2009-02-14 Antonio Perez <>
* cherokee/cryptor_libssl.c, cherokee/virtual_server.c,
cherokee/virtual_server.h, admin/ Adds support for
chained SSL certificates.
2009-02-12 Alvaro Lopez Ortega <>
* admin/ (ModuleStreaming): Since the Streaming
module depends on the file handler, it has to show the "Static
Content" properties as well.
2009-02-11 Alvaro Lopez Ortega <>
* cherokee/handler_streaming.h, cherokee/handler_streaming.c: Some
work towards implementing h264 seeking.
2009-02-09 Antonio Perez <>
* admin/ Paths to certificate files are full paths
2009-02-09 Alvaro Lopez Ortega <>
* cherokee/connection.c (cherokee_connection_build_header): Fixes
keep-alive so 3xx replies can let the connection open.
* cherokee/connection.c
(cherokee_connection_set_chunked_encoding): Fixes a encoding bug.
Chunked-Encoding was something being missused. This issue caused
QuickTime/7.6 to drop the connection while reading a data stream
from the server.
* www/favicon.ico, www/ (cherokeewwwimages_DATA): Adds
a favicon.ico file to the default www directory.
* cherokee/streaming.deps, cherokee/ Adds the
streaming plug-in inter-handler dependencies file.
2009-02-08 Alvaro Lopez Ortega <>
* cherokee/handler_streaming.c: Fixes ?start support.
2009-02-07 Alvaro Lopez Ortega <>
* cherokee/, cherokee/handler_streaming.c,
cherokee/handler_streaming.h, cherokee/connection.c,
cherokee.conf.sample.pre,, admin/,
admin/, admin/ Adds a new Audio/Video
streaming handler. It is working, but not finished yet.
2009-02-06 Alvaro Lopez Ortega <>
* cherokee/cryptor_libssl.c (openssl_verify_peer): Removing
function. It is no longer needed.
* cherokee.conf.sample.pre, cherokee/handler_dirlist.c: Fixes an
internal path issue. Thanks Antonio and Stefan!
* cherokee/thread.c, cherokee/connection.h,
cherokee/connection.c (cherokee_connection_create_encoder): Fixes
a compilation issue.
* cherokee/validator_pam.c: Fixes a few minor compilation
issues. Patch by Stefan de Konink <>.
* cherokee/source.c (cherokee_source_connect): Adds likelihood.
* cherokee/server.c (cherokee_server_free): Frees the cryptor
object on server::free(). Patch by Stefan de Konink.
* cherokee/cryptor.c (cherokee_cryptor_free_base): Frees the
cryptor structure.
* cherokee/cache.c (cherokee_cache_mrproper): Frees the cached
pages on exit. Patch by Stefan de Konink <>:
* doc/cookbook_django.txt: Fixes a couple of issues reported by
Stephane Raimbault <>.
2009-02-05 Antonio Perez <>
* cherokee/server.c: Ensure there is at least one port to
listen to.
* admin/ TLS checkboxes could not be unchecked.
2009-02-04 Antonio Perez <>
* cherokee/server.c: Cherokee should not listen for TLS/SSL
connections if global TLS/SSL is not enabled.
2009-02-03 Alvaro Lopez Ortega <>
* cherokee/resolv_cache.c, cherokee/validator.c,
cherokee/rule_geoip.c, cherokee/validator_mysql.c,
cherokee/thread.c, cherokee/server.c: Fixes a number of variable
initialization issues. Patch by Marcus Rueckert <>.
* cherokee/main_admin.c (config_server): Spawning Timeout
increased up to 25 seconds. There were times when I got "Gateway
Timeout" because of it. It seems that the cherokee-admin Python
back-end isn't that light these days.
* Try to deal with a PHP bug that the PHP folks
don't seem to be willing to fix:
2009-02-02 Jonathan Hernandez <>
* admin/static/css/cherokee.css: Remove margin from H2 tag and add
that margin to tableprop_block, rulestable and indent.
* admin/ Indent Add New and Clone Virtual Server
2009-02-02 Alvaro Lopez Ortega <>
* cherokee/thread.c (send_hardcoded_error): Improve error
reporting. Now, when a connection is waiting for I/O and it times
out, the user will receive an error. Previously the connection was
just closed and the client got nothing in reply to its request.
* cherokee.conf.sample.pre: The local PHP 'information source' is
now named 'PHP Local' instead of 'php'.
* cherokee/connection.c (cherokee_connection_print): Adds a couple
of new entries to the connection tracing function.
2009-02-01 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c (cherokee_handler_proxy_add_headers):
Fixes an (unlikely) segment fault.
* cherokee/socket.c: Fixes bug #353. This patch is based on the
excelent work of Stefan de Konink <>:
* cherokee/socket.h (SOCKET_SIN6_ADDR): New macro.
* cherokee/source.c (cherokee_source_connect): Adapted it to use
the new cherokee_string_is_ipv6() function.
* cherokee/util.h, cherokee/util.c (cherokee_string_is_ipv6):
Added a new function. It detects whether or not a host string
contains a IPv6 address.
* cherokee/source.c (set_host): The function has been rewrittem to
use cherokee_parse_host().
* cherokee/util.h, cherokee/util.c (cherokee_parse_host): New
function. It parses host references. The following formats are
supported:,, localhost, ::1, [::1]:80.
* cherokee/cryptor_libssl.c (_socket_write): Improve error
reporting on failed writes. Fixes bug #317:
Patch by Stefan de Konink <>
2009-01-31 Alvaro Lopez Ortega <>
* admin/admin/ Fixes a GeoIP module issue. The list was
not being built properly because of trailing comma character.
* admin/ (PageEntry._render_rule): Don't show the
modules that are not available.
* admin/, admin/ Adds a new "Traffic
Shaping" tab. Rules can define outgoing traffic limits.
2009-01-30 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c (parse_header): Fixes bug #344.
CGI-based handlers were not parsing "HTTP/x.y" headers.
* qa/, qa/ Adds a new QA test bug:
* admin/ Fixes a Virtual Server reordering issue:
* cherokee/balancer_ip_hash.c (dispatch): Adds a check to ensure
that the server will not segment fault even if no sources have
been defined (~ misconfiguration). Thanks to Stefan for pointing
the issue:
* admin/ CGI's change_user property is a boolean
value (rather than a integer representing a specific UID).
* cherokee/connection.c (build_response_header_expiration): Fixes
a typo.
2009-01-28 Antonio Perez <>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/, admin/
Better support for TLS/SSL client certificates.
2009-01-28 Alvaro Lopez Ortega <>
* admin/, admin/ Adds a couple of
new validation checks. The information sources cannot include the
protocol, nor further details (such as paths). For intance,
"http://host:port/dir" should be read as "host:port".
* admin/, admin/ Fixes look &
feel. Some of the tabs did not follow the common style.
2009-01-27 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/connection-protected.h,
cherokee/limiter.c, cherokee/limiter.h, cherokee/config_entry.c,
cherokee/config_entry.h, cherokee/thread.c, cherokee/connection.c,
cherokee/thread.h, cherokee/handler_file.c, cherokee/
Adds Traffic Shaping functionality. It implements the most basic
functionality (per connection limit).
* admin/ (PageGeneral._render_ports): Typo
fixed. Thanks Genesis (#cherokee, freenode).
* cherokee/bogotime.c (update_guts): Fixes a silly mistake:
usecs != msecs.
* cherokee/handler_error.c (build_hardcoded_response_page): It
should escape redirecting URLs when repoting a "move".
* cherokee/socket.c (cherokee_socket_sendfile): Fixes a FreeBSD
compilation issue. Reported by Jessica Laurie H.
2009-01-26 Antonio Perez <>
* cherokee/handler_server_info.c: Fixes wrong behaviour when
request starts with "/info".
* admin/static/js/common.js, admin/, admin/
Removed unneeded <div> elements and better use of jQuery in
"options_change" JS function.
* admin/, admin/ Removed ancient "apply changes"
*, cherokee/threading.c, cherokee/threading.h:
pthread_mutexattr_setkind_np is deprecated, so we will use
pthread_mutexattr_settype when available.
2009-01-26 Alvaro Lopez Ortega <>
* cherokee/bogotime.c, cherokee/bogotime.h: Added global variable
cherokee_bogonow_msec to track time in miliseconds.
2009-01-25 Alvaro Lopez Ortega <>
* admin/ (PageGeneral._render_content): Fixes style.
* admin/ Removes a space. It was causing the Javascript
execution to fail in some browsers. Patch by marcos.devera.
2009-01-24 Alvaro Lopez Ortega <>
* contrib/ (convert): server!listen entries weren't
* cherokee/threading.c, cherokee/threading.h: Replaces
* qa/080-Extension2., qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/, qa/
Removes phpcgi references. Even though the module is still being
shipped, it's been deprecated for quite some time now.
* cherokee/rule_extensions.c (match): Fixes PathInfo handling when
matching an extension rule.
* cherokee/init.c, cherokee/threading.c, cherokee/threading.h:
Fixes compilation without pthreads. Bug #334:
2009-01-23 Alvaro Lopez Ortega <>
* Cherokee 0.98.0 released.
* doc/other_community.txt: Adds links to the bug tracker, the IRC
channel, and Ohloh project page.
* cherokee/cryptor_libssl.c (_socket_init_tls): Do not report so
many errors when a SSL connection cannot be accepted.
2009-01-23 Taher Shihadeh <>
* admin/ polish the non-persistent tabs fix if issue 311.
2009-01-23 Stefan de Konink <>
* cherokee/balancer_ip_hash.c: Fixes a memory management issue.
2009-01-23 Alvaro Lopez Ortega <>
* cherokee/handler_error.c (build_hardcoded_response_page): Fixes
a malformed URL reporting. Bug #318:
2009-01-22 Taher Shihadeh <>
* doc/media/images/admin_handler_cgi.png,
doc/modules_handlers_cgi.txt: Reflect the previous change.
2009-01-22 Alvaro Lopez Ortega <>
* cherokee/bogotime.c (cherokee_bogotime_try_update): Replaces a
It must have been a copy&paste issue, actually. Thanks a million
to Shi Yao <> for discovering the problem (and
sending a great report/analysis about it). Kudos to Shi!!
* cherokee/handler_cgi_base.c: Fixes the client headers forwarding
(HTTP_* headers). From now on, the forwarding mechanism is enabled
by default.
* admin/ Reflect the previous change: client headers
forwarding is enabled by default.
* qa/, qa/ This small change fixes a
wrong postcondition. The test was expecting a raw headers instead
of the HTTP_*-encoded header.
* cherokee/buffer.c (cherokee_buffer_prepend), cherokee/buffer.h:
Fixes a trivial compilation warning.
* qa/ Adds a new QA test in order to reproduce
(and protect again future regressions) for the bug #325:
* cherokee/init.h, cherokee/init.c, cherokee/post.c: Removes a
"/tmp" directory hardcoded path. From now on a global
cherokee_tmp_dir buffer is available with the temporal directory
* cherokee/util.c (cherokee_tmp_dir_copy): A new utility function
has been added. It figures the temporal directory that Cherokee
ought to use. The first choice is the directory pointed by the
CHEROKEE_TMPDIR environment variable. In case it were empty it'd
try to read the TMPDIR environment variable (or TEMP on Windows).
Finally, if it failed as well, a hardcoded "/tmp" value would be
2009-01-21 Taher Shihadeh <>
* doc/modules_handlers_cgi.txt: added example as requested in
issue 298.
2009-01-21 Antonio Perez <>
* admin/, admin/static/css/cherokee.css: Fixes a CSS
2009-01-21 Taher Shihadeh <>
* doc/media/images/cookbook_phpbb_rules.png,
doc/media/images/cookbook_managing_logs_handler.png: last outdated
* admin/ fixes problem with non-persistent tabs, issue
2009-01-20 Alvaro Lopez Ortega <>
* admin/, admin/status.template.html: Adds
a (cheesy?) notice thanking beta testers.
2009-01-19 Taher Shihadeh <>
* doc/media/images/admin_handler_fastcgi2.png,
doc/media/images/admin_vserver_vserver.png: Screenshots were
* doc/cookbook_drupal.txt: improved recipe. Thanks to Eric
Drechsel <>.
* doc/media/images/cookbook_drupal_example1.png,
doc/media/images/cookbook_drupal_default2.png: Updated
* doc/media/images/cookbook_ror_common.png,
doc/cookbook_managing_logs.txt: Updated screenshots.
2009-01-19 Alvaro Lopez Ortega <>
* admin/, admin/ Fixes port entries
validation. It also changes the look a little bit.
2009-01-19 Taher Shihadeh <>
* doc/media/images/admin_handler_dbslayer.png,
doc/media/images/README.txt, doc/media/images/admin_advanced2.png,
doc/media/images/admin_handler_custom_error.png: Screenshots were
2009-01-19 Alvaro Lopez Ortega <>
* qa/, qa/ Adds a new QA to cover
* doc/config_icons.txt, doc/media/images/admin_icons2.png,
doc/media/images/admin_icons3.png: Reflects the last change in the
documentation. Screenshots were outdated.
* admin/static/css/cherokee.css, admin/ Updates the
Icons page to the new page width (1024px).
2009-01-19 Taher Shihadeh <>
* doc/dev_debug.txt, doc/basics_why_cherokee.txt,
doc/config_general.txt, doc/index.txt, doc/config_quickstart.txt,
doc/modules_handlers_file.txt, doc/cookbook_optimizations.txt,
doc/bundle_cherokee-admin.txt, doc/dev_cherokee.conf.txt,
doc/modules.txt, doc/modules_balancers_ip_hash.txt: documentation
updates for the upcomming 0.98
2009-01-19 Alvaro Lopez Ortega <>
* cherokee/main_admin.c (config_server): Adds a few basic MIME
types. Cherokee-admin should have been returning content-type
* cherokee/handler_file.c (cherokee_handler_file_custom_init):
Improved to support MIME types associated with complex extensions.
Eg, "css.default" (used in Gallery).
2009-01-18 Alvaro Lopez Ortega <>
* admin/, admin/static/css/cherokee.css,
admin/ Rework the MIME page. Now it fits better in
the new layout. Value validation has been foxed as well.
2009-01-16 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (AJAX_JS): Removes a hard-coded
* admin/, admin/static/images/web_proud.jpg,
admin/static/images/, admin/status.template.html: Adds
a new image linking to our "Proud Cherokee Users" program.
* doc/modules_balancers.txt, doc/modules_balancers_ip_hash.txt,
doc/ Adds some basic documentation about the IP Hash
load balancer.
* cherokee/handler_server_info.c (AJAX_JS): Fixes a Javascript
parsing error. 'default' is a reserved work, so it cannot be used
as a dict index without quotes.
* cherokee/handler_server_info.c, cherokee/ The embedded
Cherokee of the server_info handler have been updated. It is a PNG
now (instead of a GIF file). Even though it's slightly bigger, it
alpha channel improves the L&F quite a lot.
* contrib/ Call cherokee_buffer_ensure_size() in
order to avoid memory reallocations.
* cherokee/connection.c (cherokee_connection_build_header),
cherokee/http.h: Rework the 304 issue. It was adding the chunked
connection header in replies with no body.
* cherokee/server.c (cherokee_server_read_config_file),
cherokee/server.h: Fixes a trivial compilation warning.
* cherokee/connection-protected.h, cherokee/util.h,
Fixes a compilation problem on OpenBSD current:
Thanks to for the patch.
2009-01-15 Jonathan Hernandez <>
* cherokee/handler_server_info.c: Enhacements to CSS, Use
Javascript DOM to generate the info page instead innerHTML.
2009-01-15 Alvaro Lopez Ortega <>
* cherokee/balancer_ip_hash.c (dispatch): Fixes a problem with the
IP Hash balancer. The reactivation mechanism (triggered on
exhaustion) was not working properly.
* cherokee/connection.c (cherokee_connection_build_header),
cherokee/http.h: Reimplements the previous patch. 1xx, 204 and 304
don't have a body, and therefore should not use chunked encoding.
* cherokee/handler_error.c (cherokee_handler_error_add_headers),
cherokee/handler_file.c (cherokee_handler_file_add_headers): Fixes
a problem with 304 "Not modified" responses and Keep-Alive
2009-01-14 Alvaro Lopez Ortega <>
* doc/media/images/admin_general.png,
doc/media/images/admin_general_ports.png, doc/config_general.txt:
Updated the 'General' configuration page. It reflects the last
changes about port binding.
* cherokee/fdpoll.c, cherokee/fdpoll.h,
cherokee/encoder_deflate.c, cherokee/main_worker.c,
cherokee/handler_ssi.c, cherokee/validator_htpasswd.c,
cherokee/header.c, cherokee/header.h, cherokee/encoder_gzip.c,
cherokee/handler_custom_error., cherokee/source_interpreter.c,
cherokee/rule_method.c, cherokee/admin_client.c,
cherokee/validator_mysql.c, cherokee/cache.c, cherokee/dwriter.c,
cherokee/dwriter.h, cherokee/socket.c, cherokee/logger_w3c.c,
cherokee/handler_server_info.c, cherokee/plugin_loader.c,
cherokee/plugin_loader.h, cherokee/handler_cgi_base.c,
cherokee/handler_cgi_base.h, cherokee/handler_dirlist.c,
cherokee/source.c, cherokee/validator_file.c,
cherokee/main_admin.c, cherokee/buffer.c, cherokee/handler_file.c,
cherokee/buffer.h, cherokee/main.c, cherokee/handler_fcgi.c,
cherokee/util.c, cherokee/handler_fastcgi.c, cherokee/util.h,
cherokee/cryptor_libssl.c, cherokee/handler_scgi.c,
cherokee/logger_ncsa.c, cherokee/post.c, cherokee/handler_error.c,
cherokee/post.h, cherokee/handler_cgi.c, cherokee/handler_cgi.h,
cherokee/main_tweak.c, cherokee/connection.c,
cherokee/connection.h, cherokee/server.c, cherokee/server.h: Fixes
a whole bunch of compilation issues.
2009-01-14 Antonio Perez <>
* cherokee/handler_server_info.c: Page refresh using Ajax.
2009-01-13 Alvaro Lopez Ortega <>
* cherokee/util.c (cherokee_ntop): The inet_ntoa() implementation
has been moved to cherokee_ntop().
* cherokee/util.h, cherokee/util.c, cherokee/handler_cgi_base.c,
cherokee/socket.h, cherokee/socket.c: Fixes a ntop issue:
* cherokee/handler_server_info.c (AJAX_JS): Removes a hardcoded
2009-01-12 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c: Adds a notice about how to
access the dwriter interfaces.
* cherokee/handler_server_info.c (server_info_build_info): Now it
requests the server information with Ajax. The server_info handler
will reply to thar request as well, and will send a JSON encoded
reply. This (javascript) code reads it and renders the tables for
the page. This is the very first implementation, this stuff must
be improved before the next release (at least tables are shown).
* cherokee/handler_cgi_base.c: Fixes the SERVER_ADDR variable
generation. It also fixes its relative QA test in order to work
with boht IPv6 and IPv4.
* qa/ Adds a new type of checking: expected_one_of_these.
It allows QA tests to require the match of at least one of the
strings of the list.
2009-01-11 Alvaro Lopez Ortega <>
* qa/, qa/ Tests wether the
SEVER_ADDR is actually containing the right value.
* qa/, qa/,
qa/, qa/ Reformats CGI
2009-01-10 Alvaro Lopez Ortega <>
* cherokee/zlib/deflate.c: Fixes a compilation warning.
2009-01-10 Antonio Perez <>
* cherokee/handler_error.c (build_hardcoded_response_page):
404 Not Found page was returning the final target on redirections
instead the original request.
* cherokee/connection.c (cherokee_connection_log_or_delay):
Every request must be logged in access log.
2009-01-09 Jonathan Hernandez <>
* admin/*: Redesign of Cherokee Admin UI to fit 960px wide,
Fixes bug:
Change accordion ui to tabs Move help links to header
Update jquery to 1.2.6 and UI widgets.
2009-01-08 Alvaro Lopez Ortega <>
* cherokee/pcre/pcre_compile.c, cherokee/pcre/pcre_internal.h:
Fixes a couple of compilation warnings on the PCRE library.
* cherokee/zlib/defutil.h (bi_reverse, bi_windup, bi_flush):
Removes three duplicated function prototypes.
* admin/status.template.html: Adds a link to the "Proud Cherokee
Users" program:
2009-01-07 Alvaro Lopez Ortega <>
* cherokee/ (libcherokee_server_la_SOURCES):
cherokee_dwriter_t is now part of libcherokee-server.
2009-01-07 Antonio Perez <>
* admin/ Links to virtual servers were wrong.
Fixes bug:
Patch by Stefan de Konink <>.
2009-01-05 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c, cherokee/handler_server_info.h:
The Server Info handler has been rewritten. Now it uses the
cherokee_dwriter_t class, so raw data can be obtained from it.
2009-01-05 Antonio Perez <>
* cherokee/virtual_server.c, cherokee/connection.c: A "/" at the
end of userdir is not needed, and request_original should be
changed only if empty.
2009-01-05 Alvaro Lopez Ortega <>
* cherokee/dwriter.c (cherokee_dwriter_bool): Fixes a bug. Boolean
values were not printed right.
2009-01-04 Alvaro Lopez Ortega <>
* cherokee/, cherokee/balancer_round_robin.c,
cherokee/balancer_ip_hash.c, cherokee/balancer_ip_hash.h,, admin/, admin/,
admin/ Adds a new load balancer. It implements a
new balancing strategy by which load is balanced among the
back-end server based on the client IP. All the request coming
from the same IP will be delivered to the same back-end server.
2009-01-03 Alvaro Lopez Ortega <>
* cherokee/validator_ldap.h: Fixes an ia64 and amd64 compilation
Thanks to Dann Frazier <> for the patch.
2009-01-02 Alvaro Lopez Ortega <>
* admin/ Implements the new port management.
* cherokee/cache.c, cherokee/handler_cgi_base.c,
cherokee/iocache.h: cherokee/handler_file.c, cherokee/util.c,
cherokee/iocache.c: This patch addresses a concurrency problem
that was making the I/O cache to fail on high loads.
* cherokee/handler_redir.c, cherokee/fcgi_manager.c,
cherokee/rule_list.c, cherokee/handler_redir.h,
cherokee/fcgi_manager.h, cherokee/rule_list.h,
cherokee/rule_header.c, cherokee/fdpoll.c, cherokee/rule_header.h,
cherokee/handler_admin.c, cherokee/fdpoll.h,
cherokee/handler_admin.h, cherokee/resolv_cache.c,
cherokee/access.c, cherokee/resolv_cache.h,
cherokee/encoder_deflate.c, cherokee/access.h,
cherokee/handler_mirror.c, cherokee/encoder_deflate.h,
cherokee/list.c, cherokee/handler_mirror.h,
cherokee/virtual_server.c, cherokee/list.h,
cherokee/virtual_server.h, cherokee/module.c,
cherokee/win32_cservice.c, cherokee/rule_not.c,
cherokee/request.c, cherokee/macros.h, cherokee/win32_cservice.h,
cherokee/module.h, cherokee/rule_not.h, cherokee/sha1.c,
cherokee/request.h, cherokee/sha1.h, cherokee/rule_exists.c,
cherokee/rule_exists.h, cherokee/main_worker.c, cherokee/dtm.c,
cherokee/validator.c, cherokee/dtm.h, cherokee/rule_geoip.c,
cherokee/validator.h, cherokee/handler_ssi.c,
cherokee/rule_geoip.h, cherokee/handler_ssi.h,
cherokee/validator_htpasswd.c, cherokee/validator_htpasswd.h,
cherokee/regex.c, cherokee/logger_writer.c,
cherokee/fdpoll-protected.h, cherokee/encoder.c, cherokee/regex.h,
cherokee/logger_writer.h, cherokee/encoder.h, cherokee/header.c,
cherokee/common.h, cherokee/header.h, cherokee/encoder_gzip.c,
cherokee/icons.c, cherokee/crc32.c, cherokee/encoder_gzip.h,
cherokee/http.c, cherokee/icons.h,
cherokee/handler_custom_error.c, cherokee/crc32.h,
cherokee/source_interpreter.c, cherokee/http.h, cherokee/md5.c,
cherokee/handler_custom_error.h, cherokee/source_interpreter.h,
cherokee/md5.h, cherokee/info.c, cherokee/levenshtein_distance.c,
cherokee/info.h, cherokee/levenshtein_distance.h,
cherokee/rule_method.c, cherokee/balancer.c,
cherokee/rule_method.h, cherokee/balancer.h,
cherokee/rule_request.c, cherokee/rule_request.h,
cherokee/version.c, cherokee/admin_client.c, cherokee/table.c,
cherokee/mime.c, cherokee/version.h, cherokee/admin_client.h,
cherokee/table.h, cherokee/mime.h, cherokee/validator_mysql.c,
cherokee/logger.c, cherokee/validator_mysql.h, cherokee/logger.h,
cherokee/header-protected.h, cherokee/cherokee.h,
cherokee/cherokee-panic, cherokee/proxy_hosts.c, cherokee/cache.c,
cherokee/proxy_hosts.h, cherokee/win32_cherokeeserv.c,
cherokee/cache.h, cherokee/dwriter.c, cherokee/dwriter.h,
cherokee/socket.c, cherokee/logger_w3c.c,
cherokee/connection-protected.h, cherokee/socket.h,
cherokee/logger_w3c.h, cherokee/human_strcmp.c,
cherokee/cryptor.c, cherokee/init.c, cherokee/avl_r.c,
cherokee/human_strcmp.h, cherokee/cryptor.h, cherokee/init.h,
cherokee/avl_r.h, cherokee/cacheline.c,
cherokee/handler_error_redir.c, cherokee/handler_server_info.c,
cherokee/handler_error_redir.h, cherokee/cacheline.h,
cherokee/handler_server_info.h, cherokee/plugin_loader.c,
cherokee/config_reader.c, cherokee/handler_cgi_base.c,
cherokee/plugin_loader.h, cherokee/rule_directory.c,
cherokee/config_reader.h, cherokee/fdpoll-select.c,
cherokee/handler_cgi_base.h, cherokee/admin_request.c,
cherokee/rule_directory.h, cherokee/admin_request.h,
cherokee/threading.c, cherokee/handler_dirlist.c,
cherokee/threading.h, cherokee/rule_default.c,
cherokee/handler_dirlist.h, cherokee/win32_misc.c,
cherokee/rule_default.h, cherokee/win32_misc.h,
cherokee/validator_ldap.c, cherokee/handler_common.c,
cherokee/fastcgi.h, cherokee/cherokee_show.c,
cherokee/config_entry.c, cherokee/fdpoll-epoll.c,
cherokee/rule_and.c, cherokee/validator_ldap.h,
cherokee/handler_common.h, cherokee/downloader-protected.h,
cherokee/config_entry.h, cherokee/rule_and.h, cherokee/source.c,
cherokee/handler_dbslayer.c, cherokee/source.h,
cherokee/handler_dbslayer.h, cherokee/validator_plain.c,
cherokee/validator_plain.h, cherokee/avl.c,
cherokee/fdpoll-poll.c, cherokee/validator_file.c, cherokee/avl.h,
cherokee/validator_file.h, cherokee/downloader_async.c,
cherokee/main_admin.c, cherokee/downloader.c,
cherokee/downloader_async.h, cherokee/validator_authlist.c,
cherokee/downloader.h, cherokee/plugin.h, cherokee/bogotime.c,
cherokee/common-internal.h, cherokee/rule_or.c, cherokee/thread.c,
cherokee/validator_authlist.h, cherokee/buffer.c,
cherokee/bogotime.h, cherokee/handler_file.c, cherokee/rule_or.h,
cherokee/thread.h, cherokee/handler.c, cherokee/buffer.h,
cherokee/handler_file.h, cherokee/handler.h, cherokee/main.c,
cherokee/ncpus.c, cherokee/unix4win32.c, cherokee/ncpus.h,
cherokee/trace.c, cherokee/unix4win32.h, cherokee/trace.h,
cherokee/handler_fcgi.c, cherokee/balancer_round_robin.c,
cherokee/md5crypt.c, cherokee/rule.c, cherokee/handler_fcgi.h,
cherokee/config_node.c, cherokee/balancer_round_robin.h,
cherokee/md5crypt.h, cherokee/rule.h, cherokee/handler_fastcgi.c,
cherokee/util.c, cherokee/config_node.h, cherokee/fdpoll-win32.c,
cherokee/handler_fastcgi.h, cherokee/util.h,
cherokee/fdpoll-port.c, cherokee/nonce.c, cherokee/nonce.h,
cherokee/cryptor_libssl.c, cherokee/handler_proxy.c,
cherokee/fcgi_dispatcher.c, cherokee/cryptor_libssl.h,
cherokee/handler_scgi.c, cherokee/handler_proxy.h,
cherokee/fcgi_dispatcher.h, cherokee/logger_ncsa.c,
cherokee/post.c, cherokee/handler_error.c,
cherokee/rule_extensions.c, cherokee/handler_scgi.h,
cherokee/logger_ncsa.h, cherokee/post.h, cherokee/handler_error.h,
cherokee/rule_extensions.h, cherokee/virtual_server_names.c,
cherokee/handler_cgi.c, cherokee/server-protected.h,
cherokee/virtual_server_names.h, cherokee/handler_cgi.h,
cherokee/connection_info.c, cherokee/fdpoll-kqueue.c,
cherokee/admin_server.c, cherokee/connection_info.h,
cherokee/main_tweak.c, cherokee/validator_htdigest.c,
cherokee/handler_error_nn.c, cherokee/admin_server.h,
cherokee/mime-protected.h, cherokee/validator_htdigest.h,
cherokee/handler_error_nn.h, cherokee/iocache.c, cherokee/match.c,
cherokee/connection.c, cherokee/iocache.h, cherokee/match.h,
cherokee/url.c, cherokee/connection.h, cherokee/server.c,
cherokee/url.h, cherokee/handler_phpcgi.c, cherokee/mime_entry.c,
cherokee/server.h, cherokee/logger-protected.h, cherokee/bind.c,
cherokee/handler_phpcgi.h, cherokee/mime_entry.h,
cherokee/logger_combined.c, cherokee/bind.h,
cherokee/validator_pam.c, cherokee/logger_combined.h,
cherokee/, cherokee/validator_pam.h, doc/build/web.conf,
cget/proxy.c, cget/main.c, cget/proxy.h,,
admin/, qa/, qa/, qa/,
dbslayer/mysql_wrap.php: Updates the copyright notices.
2008-12-30 Alvaro Lopez Ortega <>
* cherokee/server.c: Print more information as part of the banner:
The bound ports, tracing, and I/O cache support are now included.
* cherokee/trace.c: Adds a shorter path for CHEROKEE_TRACE=all.
2008-12-29 Alvaro Lopez Ortega <>
* cherokee/server-protected.h, cherokee/bind.c, cherokee/bind.h,
cherokee/thread.h, cherokee/server.c, cherokee/thread.c: This
patch tries to address a performance regression introduced on Dec
* cherokee/iocache.c: Tries to fix a I/O-cache bug. This patch is
based on Antonio's original fix:
2008-12-27 Alvaro Lopez Ortega <>
* cherokee/main_worker.c, cherokee/,
cherokee/socket.c, cherokee/connection-protected.h,
cherokee/socket.h, cherokee/handler_server_info.c,
cherokee/handler_cgi_base.c, cherokee/handler_dirlist.c,
cherokee/handler_dirlist.h, cherokee/main_admin.c,
cherokee/thread.c, cherokee/thread.h, cherokee/handler_error.c,
cherokee/server-protected.h, cherokee/admin_server.c,
cherokee/connection.c, cherokee/server.c, cherokee/bind.c,
cherokee/bind.h, performance.conf.sample.pre,
cherokee.conf.sample.pre,, contrib/,
contrib/, qa/ This patch rework the server
core. Now the server can listen as many ports/binds as
needed (instead of one for http and another for https). This is a
really disruptive change: the configuration file has changed - a
conversion script has been included. As far as my tests have
concluded, there is no negative performance impact, but it is
something we should investigate further. Beware: The
administration interface still needs to be updated to the new
2008-12-25 Alvaro Lopez Ortega <>
* cherokee/handler_dbslayer.c (send_query): Fixes a parsing
2008-12-25 Antonio Perez <>
* cherokee/handler_admin.c, cherokee/handler_ssi.c,
cherokee/handler_server_info.c, cherokee/handler_cgi_base.c,
cherokee/handler_cgi_base.h, cherokee/thread.c,
cherokee/handler_file.c, cherokee/handler_error.c,
cherokee/connection.c: Enhancement to the fix for bug #284.
* cherokee/connection.c, cherokee/thread.c: Encoder should be
created after handler creation.
2008-12-23 Alvaro Lopez Ortega <>
* cherokee/server.c, cherokee/server-protected.h: Cleans up some
unneeded code.
* cherokee/admin_client.c (internal_step): Rough fix for:
There is more work to do in order to fix cherokee-tweak.
2008-12-23 Antonio Perez <>
* cherokee/connection-protected.h, cherokee/thread.c,
cherokee/handler_file.c, cherokee/connection.c:
Fixes a problem with the use of encoders and enable their use
with handlers that supports content-length.
2008-12-23 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (build_modules_table_content):
Adds a new table row for the cryptors. It fixes the bug:
2008-12-22 Alvaro Lopez Ortega <>
* cherokee/connection.c (cherokee_connection_recv): Fixes a
problem with lengthy https POSTS. This patch is based on the
previos Stefan's patch: Stefan de Konink <>.
2008-12-22 Taher Shihadeh <>
* doc/config_virtual_servers.txt: typos
2008-12-19 Taher Shihadeh <>
* admin/ toggle checkboxes by clicking on the
2008-12-18 Taher Shihadeh <>
* doc/cookbook_phpbb.txt, doc/cookbook_phpmyadmin.txt,
doc/media/images/*: more docs and recompressed the whole image
gallery to save some more package-space. Sorry for the big
commit guys!
* doc/cookbook_managing_logs.txt,
doc/media/images/cookbook_managin_logs*: and more.
* cherokee/main_tweak.c, cherokee-tweak.1: fixed misspleings.
2008-12-18 Alvaro Lopez Ortega <>
* cherokee/nonce.c (cherokee_nonce_table_free): Fixes a memory
leak (72 bytes in total) on server quit.
* cherokee/, cherokee/proxy_hosts.c, cherokee/cache.c,
cherokee/init.c, cherokee/threading.c, cherokee/threading.h,
cherokee/common-internal.h, cherokee/thread.c,
cherokee/fcgi_dispatcher.c, cherokee/iocache.c, cherokee/server.c:
* admin/ Fixes a administration interface
issue. The Information Sources was failing when a source was being
used inside a User Directory rule.
2008-12-17 Alvaro Lopez Ortega <>
* admin/ (is_ip_or_netmask): Fixes IPv6 addresses
validation. Fixes bug #266:
* cherokee/source.c (cherokee_source_connect): Fixes bug #269:
Cherokee didn't check the type of the IP when connecting to a data
source. Now, AF_UNIX, AF_INET6 and AF_INET are supported.
* cherokee/main.c, cherokee/server.c: This patch should fix the
graceful restart functionality.
2008-12-16 Taher Shihadeh <>
* cherokee/cherokee-tweak.c: fixes incorrect parameter help.
2008-12-16 Alvaro Lopez Ortega <>
* cherokee/socket.c (cherokee_socket_ntop): Convert IPv4 mapped
IPs (over IPv6) to IPv4 before using them. For instance, in the
log files.
2008-12-15 Taher Shihadeh <>
* doc/cookbook_trac.txt: documentation for Trac.
2008-12-11 Taher Shihadeh <>
* doc/cookbook_moodle.txt, doc/cookbook_liferay.txt,
doc/cookbook_alfresco.txt, doc/modules_handlers_dbslayer.txt,
doc/media/images/cookbook_(moodle|alfresco|liferay).*: some additions.
2008-12-10 Antonio Perez <>
* cherokee/cryptor_libssl.c: Fixes problem where OpenSSL expected
to read a CA cert appended to the server cert. Bug #264:
2008-12-09 Taher Shihadeh <>
* dbslayer/mysql_wrap.php: minor change to the init funtion.
* doc/modules_handlers_proxy.txt, doc/cookbook_dbslayer.txt,
doc/media/images/proxy_phase2.png: updated some docs.
2008-12-09 Alvaro Lopez Ortega <>
* dbslayer/mysql_wrap.php,, dbslayer/, Pushes the PHP dbslayer wrapper upstream. It is
reimplements the PHP-MySQL API so PHP applications can use
DBSlayer without modifications. Kudos to Taher for this hack.
2008-12-09 Taher Shihadeh <>
* doc/config_virtual_servers.txt,
doc/media/images/admin_vserver_security.png: syncs with r2574.
2008-12-08 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/cryptor_libssl.c, admin/ Adds TLS/SSL
client certificate checking.
* cherokee.conf.sample.pre: The new "Ogg Media Types" have been
added: It implements RFE:
* cherokee/handler_mirror.c, cherokee/handler_fcgi.c,
cherokee/handler_scgi.c: Integrates the FastCGI, SCGI and TCP
balancer with the latest cherokee_balancer_t modifications.
* cherokee/balancer_round_robin.c (reactivate_entry): In case all
the sources are off-line, it's smarter to try to connect with one
instead of waiting the off-line timeout. It it's luckly the source
will be up and running. If not, it doesn't harm much.
2008-12-07 Alvaro Lopez Ortega <>
* cherokee/balancer.c, cherokee/balancer.h, cherokee/source.c,
cherokee/source.h, cherokee/balancer_round_robin.c,
cherokee/balancer_round_robin.h, cherokee/handler_proxy.c:
Balancer behavior has been greatly improved. From now on, when a
source isn't working it's put off-line for a period of time.
2008-12-06 Alvaro Lopez Ortega <>
* cherokee/cryptor_libssl.c, admin/ Fixes SSL CA
file support. It also adds a few SSL context options.
2008-12-05 Alvaro Lopez Ortega <>
* cherokee/mime_types.txt, cherokee/ Removed.
*, doc/ Tries to deal with a autoconf +
automake issue related to the document installation.
2008-12-05 Taher Shihadeh <>
* doc/cookbook_symfony.txt, doc/media/images/cookbook_symfony.png:
Recipe for the Symfony PHP Framework contributed by Fanen Ahua
2008-12-05 Alvaro Lopez Ortega <>
* cherokee/util.h, cherokee/util.c (rpl_malloc): Deals with the
autoconf's AC_FUNC_MALLOC macro. It adds a rpl_malloc() function
that re-implements malloc() on broken systems (AFAIK, it's used on
Windows, AIX):
* cherokee/ Fixes a compilation issue (on AIX). Patch
by Antonio Perez <>.
* qa/, qa/ Adds a new QA test.
It checks whether zero length POSTs work with PHP (FastCGI).
* cherokee/main_admin.c: Fixes getopt.h inclusion issue (on AIX).
2008-12-03 Alvaro Lopez Ortega <>
* cherokee/socket.c, cherokee/cryptor_libssl.c, cherokee/server.c:
Fixes a couple of issues with the new cryptor plug-in support. Now
it reports errors when something unexpected happens during the TLS
support initialization process.
2008-12-02 Alvaro Lopez Ortega <>
* admin/static/css/cherokee.css: The border of the "saved" message
box should be green. The previous red border didn't look nice.
* cherokee.conf.sample.pre: It's safe again to use a Unix socket
for the Cherokee-PHP communication.
* themes/plain/footer.html, themes/plain/entry.html,
themes/plain/, themes/plain/theme.css,
themes/plain/header.html, themes/, A new
dirlist theme has been added. It uses fixed fonts, and has a
really clean and simple look.
2008-12-01 Alvaro Lopez Ortega <>
* cherokee/common-internal.h: Includes sys/machine.h in case it is
available. It helps to fix AIX compilation. Patch by Antonio Perez
* cherokee/cryptor.c (cherokee_cryptor_socket_pending): Fixes this
function prototype (and implementation due to the fix).
* cherokee/fdpoll.c: Fixes the cherokee_fdpoll_is_empty() function
* Added a new cert (make cert) target. It isn't used
by default, but it is quite handy for generating SSL/TLS certs by
* admin/, admin/, admin/ Log
files are opened before the server is jailed. Cherokee-admin was
not taking at into account; this patch fixes the issue.
* admin/ Changes the tab title color whenever and error
message if found in its content. This will help to ease of problem
hidden problems (as in the bug report #254):
2008-11-30 Antonio Perez <>
* admin/ Advanced->I/O Cache changes didn't work.
2008-11-30 Alvaro Lopez Ortega <>
* qa/ Adds a new QA test. It checks
whether an PHP application directory can be mapped in a web
directory by setting a custom document_root.
* cherokee/cryptor_libssl.c, cherokee/cryptor_libssl.h: Adds a
license exemption for OpenSSL. In case the cryptor-libssl plug-in
is linked with OpenSSL a license exemption is needed because the
GPL (Cherokee) and X11 (OpenSSL) licenses incompatibility. It is
important to note that these are only two source files where this
exemption applies. Thus, the cryptor_libssl plugin in the only
plug-in where the license exemption applies.
2008-11-28 Alvaro Lopez Ortega <>
* qa/, qa/ Added a new QA test
to ensure that the bug #241 is fixed. Original version submitted
by Antonio Perez.
2008-11-28 Antonio Perez <>
* cherokee/handler_redir.c: document_root was ignored on internal
redirections. Fixes bug #241:
2008-11-28 Alvaro Lopez Ortega <>
* cherokee/handler_dirlist.c, themes/firefox3/footer.html,
themes/firefox3/entry.html, themes/firefox3/header.html: Fixes a
couple of UTF-8 related issues. Patch by: Emil Renner Berthing
2008-11-27 Alvaro Lopez Ortega <>
* cherokee/buffer.h: Fixes the 'Long-File-Support' in dirlist and
server_info handlers.
2008-11-26 Alvaro Lopez Ortega <>
* admin/ (ModuleExists.get_name): Fixes a execution
problem when the !match_any key wasn't present in the configuration.
* cherokee/connection.c (cherokee_connection_create_encoder):
Keepalive connections with Content-Length header should go
through a encoder.
* 0.11.0 released
* admin/ The !iocache and !match_any properties
were being misplaced.
* qa/, qa/, qa/,
qa/, qa/,
qa/, qa/ The sh based CGIs
code should not be indented.
* qa/, qa/ Adds a couple of
new QA test. They test whether or not the rule exists' !match_any
flag works.
* cherokee/rule_exists.c: The !exists property shouldn't be
required when !match_any is set.
2008-11-26 Taher Shihadeh <>
* admin/ fix by Skarcha for issue 239
2008-11-25 Alvaro Lopez Ortega <>
* cherokee/handler_dirlist.c, cherokee/common-internal.h: S_ISLNK
clean up.
* cherokee/handler_cgi_base.c, cherokee/header.c,
cherokee/header.h: A couple of missing (reverse proxy related)
headers have been added.
* cherokee/http.c, cherokee/handler_cgi_base.c,
cherokee/handler_proxy.c, cherokee/connection.c: A few small (but
quite visible) bugs have been fixed.
* qa/154-DirRedirection., qa/,
qa/, qa/ These QA tests
have been slightly adapted so they can be run thru a proxy.
* cherokee/ Removed.
2008-11-25 Taher Shihadeh <>
* doc/*: added anchors throughout the documentation to ease
2008-11-25 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c: It has been adapted to use the new
cherokee_find_header_end() function.
2008-11-24 Alvaro Lopez Ortega <>
* cherokee/macros.h, cherokee/common-internal.h: fcntl.h related
macros has been moved from macros.h to common-internal.h.
* qa/, qa/,, qa/,
qa/, qa/ There are QA tests not
suitable of being run through a proxy.
*, cherokee/validator_htpasswd.c: Rework the
crypt_r() detection. The final target is to fix the compilation on
* cherokee/handler_proxy.c (build_request): Use the source IP
address as Host: header if the client didn't send it.
* cherokee/handler_proxy.c (cherokee_handler_proxy_init): Resend
POST information whenever the internal connection has to be
2008-11-23 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c (do_connect): Improves the connection
event handling. It's slightly more efficient now.
* cherokee/socket.c, cherokee/socket.h: Removes a few functions
that was not needed any longer.
2008-11-22 Alvaro Lopez Ortega <>
* cherokee/logger_writer.c, cherokee/socket.c,
cherokee/cryptor_libssl.c, cherokee/server.c: Fixes a number of
PRINT_ERROR calls. The patch fixes Cherokee, so it can be compiled
with Sun CC again. Patch by Michal Pryc <Michal.Pryc@Sun.COM>.
2008-11-21 Alvaro Lopez Ortega <>
* admin/, cherokee/rule_exists.h,
cherokee/rule_exists.c: Adds a new flag to match any file.
* cherokee/thread.c: Tries to fix a FIN_WAIT2 state related issue.
* cherokee/handler_proxy.c (build_request): Fixes the Host
header. It was sending a wrong header in the request.
* qa/, qa/, qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/ Adds a new -P option to allow the QA
bench to be run through a proxy.
* qa/ Read rather than whenever
it's present.
2008-11-20 Alvaro Lopez Ortega <>
* cherokee/util.h, cherokee/main.c: Exports the strcasestr()
prototype in case it isn't supported by the system. This patch
should fix a Solaris compilation issue:
* cherokee/handler_dbslayer.c (dbslayer_step): Multi-Statement
queries need to be enclosed within a list object. Bis.
2008-11-20 Taher Shihadeh <>
* cherokee/handler_dbslayer.c (dbslayer_step): Spurious warning
removed from proccessing of Multi-Statement queries.
* admin/, admin/, admin/,
admin/ allows /dev/null as path. No need for
/var/www/fake from now on.
2008-11-20 Alvaro Lopez Ortega <>
* cherokee/handler_dbslayer.c (dbslayer_step): Multi-Statement
queries need to be enclosed within a list object. Bis.
2008-11-19 Alvaro Lopez Ortega <>
* cherokee/handler_dbslayer.c: Fixes the Multi-Statement query
* MySQL 5.0.0 is required for the dbslayer handler
(MySQL 4.0 does not support some required API).
2008-11-18 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c: Fixes REQUEST_URI and SCRIPT_URL.
They were not correct on the user directory (/~user) requests. It
should fix:
2008-11-17 Alvaro Lopez Ortega <>
* Fixes a compilation issue (when libssl was not
present). Fixes bug #227:
* cherokee/ connection_info.{c,h} are now part of
lincherokee_server. It fixes bug #228:
2008-11-17 Taher Shihadeh <>
* doc/*: bunch of new screenshots, and some more recipes and
2008-11-17 Alvaro Lopez Ortega <>
* cherokee/server.c (cherokee_server_initialize): getpwuid() fail
is only a fatal if a user or group change was scheduled. It should
fix bug:
* cherokee/, cherokee/module.h: module.{h,c} are now
part of libcherokee base.
2008-11-17 Taher Shihadeh <>
* doc/media/images/admin_general.png,
doc/basics_installation_windows.txt, doc/config_general.txt,
doc/cookbook_optimizations.txt, doc/dev_cherokee.conf.txt,
doc/basics_requirements.txt, doc/basics_installation_unix.txt,
doc/other_goodies.txt: documentation adjustments to the new
reimplementation of the TSL/SSL support.
2008-11-17 Alvaro Lopez Ortega <>
* cherokee/cryptor.c, cherokee/cryptor_libssl.c: Fixes a
double-free bug. Now both cherokee-worker and cherokee-tweak exit
* cherokee/downloader.c, cherokee/post.c, cherokee/post.h,
cherokee/main_tweak.c: Fixes a problem with Cherokee-tweak, the
new TLS/SSL layer and the POST mechanism.
* admin/, admin/ Adds a new option for
setting the TLS backend.
* m4/libgnutls.m4, cherokee/virtual_server.c,
cherokee/virtual_server.h, cherokee/module.c,
cherokee/, cherokee/info.c, cherokee/admin_client.c,
cherokee/admin_client.h, cherokee/cherokee.h, cherokee/socket.c,
cherokee/socket.h, cherokee/cryptor.c, cherokee/cryptor.h,
cherokee/downloader.c, cherokee/downloader.h, cherokee/plugin.h,
cherokee/thread.c, cherokee/util.c, cherokee/util.h,
cherokee/cryptor_libssl.c, cherokee/cryptor_libssl.h,
cherokee/server-protected.h, cherokee/main_tweak.c,
cherokee/connection.c, cherokee/server.c,,
qa/ This patch reimplements the TLS/SSL support. It
adds a new plugin type for the crypt related support. It
implements the OpenSSL (libssl) backend, and removes any trace of
GnuTLS. Based on this plugin type it could be reimplemented,
although it isn't part of my short/medium-term plans. This patch
also removed the TLS/SSL library dependency form libcherokee-base.
2008-11-17 Taher Shihadeh <>
* cherokee/handler_fcgi.c: gets rid of a warning that shouldn't be
2008-11-16 Antonio Perez <>
* cherokee/connection.c: Keep-alive was been disabled ALWAYS when
encoders was used. It should fix bug #143:
2008-11-14 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c (DEFAULT_TIMEOUT),
cherokee/main_admin.c: The default timeout has been increased to
10 seconds; 15 in the case of cherokee-admin. There were times
when cherokee-admin returned 503 errorsq because python took more
than 3 seconds to be ready.
2008-11-13 Antonio Perez <>
* cherokee/rule_extensions.c: Better extension checking.
2008-11-13 Alvaro Lopez Ortega <>
* Adds AC_CONFIG_MACRO_DIR(). It should have been
using it since I moved the m4 macro files to the m4/ directory.
2008-11-13 Taher Shihadeh <>
* admin/ fixes a cross-browser bug for the
2008-11-13 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.h, cherokee/source_interpreter.c: :
The standard error output of the interpreters is redirected to the
error log file now. (It applies to FastCGI and SCGI). It should
fix bug
2008-11-12 Alvaro Lopez Ortega <>
* cherokee/logger.c, cherokee/logger.h, cherokee/logger_w3c.c,
cherokee/logger_w3c.h, cherokee/logger_ncsa.c,
cherokee/logger_ncsa.h, cherokee/handler_cgi.c,
cherokee/logger_combined.c: Redirects the stderr output of CGIs to
the error log. It fixes the bug #217:
* admin/ Adds support of the new "Arbitrary header
addition" feature.
* cherokee/handler_proxy.c, cherokee/handler_proxy.h: The proxy
can now add arbitrary headers to the relied request.
* admin/ (ModuleProxy._op_render): Adds "Hidden
returned headers" support.
2008-11-11 Alvaro Lopez Ortega <>
* admin/, admin/, admin/ Adds
the Cherokee-admi module for the Proxy handler.
2008-11-11 Taher Shihadeh <>
* static/js/common.js: fixes superfluous 'going away' warning. It
was issue
* doc/*: some more docs.
2008-11-11 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c, cherokee/handler_proxy.h: Adds URL
rewriting support (based on regular expressions).
* cherokee/handler_redir.c cherokee/regex.h cherokee/regex.c: More
code re-factoring. Adds the new cherokee_regex_substitute()
* cherokee/handler_redir.c cherokee/regex.h cherokee/regex.c: Some
code has been re-factorized. Now the regex list class is available
outside the redir handler. It will allow the proxy handler to use
it as well.
* cherokee/rule_extensions.c (match): This patch fixes a bizarre
issue. If an error is detected during the match, return a 500
internal error on error instead of a "200 ok".
2008-11-11 Taher Shihadeh <>
* admin/ Fixes problem where error handler
could not be set.
2008-11-11 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c: Adds X-Forwarded-For and
X-Forwarded-Host support.
2008-11-10 Alvaro Lopez Ortega <>
* qa/ Adds a new QA test to ensure that the regular
expression management code at handler_redir can match and rewrite
at least nine chunks.
* cherokee/regex.h: Fixes an issue with regular expressions.
Reported by Stefan de Konink <>.
2008-11-08 Alvaro Lopez Ortega <>
*, cherokee/util.h, cherokee/util.c,
cherokee/win32_misc.h, cherokee/win32_misc.c: Fixes a compilation
issue (the strnstr() function is not always available).
* Removes AC_TYPE_SIGNAL call. Patch by Tim Post
2008-11-07 Alvaro Lopez Ortega <>
* cherokee/handler_proxy.c, cherokee/handler_proxy.h: Implement
the "header_hide" configuration entry. It allow to hide (remove)
header entries from the internal server response.
* cherokee/handler_server_info.c (build_server_table_content):
TLS port was not reported propertly.
2008-11-06 Taher Shihadeh <>
* admin/, admin/ re-sets 'file' as the
default logging output and fixes another remaining cleanup.
2008-11-06 Alvaro Lopez Ortega <>
* cherokee/, cherokee/http.c, cherokee/rule_method.c: A
couple of fix issues have been fixed.
* qa/, qa/, qa/ Adds a
couple of new QA tests for checking the Rule 'method'.
* cherokee/ (win32_src): Adds the win32_cherokeeserv.c
file to the Windows compilation stack.
* cherokee/win32_misc.h, cherokee/win32_misc.c: Believe it or not,
Windows does not implemetn strnstr. This patch adds a home-made
implementation of the function so the server code can compile.
2008-11-06 Taher Shihadeh <>
* admin/ adds new validation. Should fix
2008-11-06 Alvaro Lopez Ortega <>
* cherokee/unix4win32.h: Adds a few more Windows mapping entries.
Original patch by Patch by Stefan de Konink <>.
* cherokee/validator_htpasswd.c, cherokee/validator_plain.c,
cherokee/validator_file.c, cherokee/validator_file.h,
cherokee/validator_htdigest.c: Adds support for relative paths (in
addition to the full paths previously supported) to the file based
* cherokee/validator_htpasswd.c, cherokee/validator_htpasswd.h,
cherokee/, cherokee/validator_plain.c,
cherokee/validator_plain.h, cherokee/validator_file.c,
cherokee/validator_file.h, cherokee/validator_htdigest.c,
cherokee/validator_htdigest.h: Re-factored the file based
validators. A new common parent class cherokee_validator_file_t
has been added.
* cherokee/win32_misc.h, cherokee/win32_misc.c: Implements kill()
on Windows. Patch by Stefan de Konink <>.
2008-11-05 Alvaro Lopez Ortega <>
* cherokee/socket.c (cherokee_socket_close): Fixes a Win32
compilation issue. Patch by Stefan de Konink <>
2008-11-05 Taher Shihadeh <>
* admin/, admin/ allow Ajax reloads of
option lists. They were compeltely resubmitting the forms on
change instead.
* admin/, admin/ deleted overzealous
check that prevented checkfile to work with directories. Now it is
enabled by default for extension-type rules. Also document_root is
configurable again from within FastCGI and SCGI handlers.
2008-11-04 Antonio Perez <>
* admin/, admin/static/js/common.js, admin/
Now it is possible to modify redirection rules. Fixes Bug #191:
* admin/ Fixes an autosubmit issue adding a
HTTP Method Rule.
2008-11-04 Alvaro Lopez Ortega <>
*, m4/libgnutls.m4: Fixes a GNUTLS compilation issue.
2008-11-04 Taher Shihadeh <>
* admin/ small cleanup. Removed a superfluous
option that was repeating functionality, related to
2008-11-03 Taher Shihadeh <>
* admin/ Fixes glitch in the submission of the
"HTTP method"-rules that prevented them from being configured.
2008-11-03 Antonio Perez <>
* admin/, admin/static/js/common.js, admin/
Adds support for Custom Environment Variables. Bug #188:
2008-11-03 Alvaro Lopez Ortega <>
* cherokee/handler_ssi.c (cherokee_handler_ssi_add_headers): Fixes
a little problem with the SSI MIME type handling.
* qa/, qa/ Adds a new QA. It checks
whether the document root security feature actually works.
* cherokee/handler_ssi.c (parse): Adds a security check to ensure
that the SSI target file is inside the document root. If the file
is outsize, the handler does just ignore the SSI entry.
* admin/, admin/, admin/
Adds a new method to implement the new HTTP method rule.
* cherokee/rule_method.h, cherokee/rule_method.c,,
cherokee/ Integrates a new rule type. It tries to
match the HTTP method.
* cherokee/http.h, cherokee/http.c: Adds the new
cherokee_http_string_to_method() function for converting a HTTP
method string to its enum.
* cherokee/rule_exists.c (match): The I/O entry must be unrefed.
* qa/, qa/,
qa/, qa/,
qa/ Adds a few of new QA tests for checkin the SSI
file inclusion and file size replacement.
* cherokee/handler_ssi.c: Fixes a couple of issues with the new
SSI handler.
2008-11-02 Alvaro Lopez Ortega <>
* admin/, admin/, admin/ Added
the a new module for the SSI handler.
* cherokee/handler_ssi.c: Implements SSI virtual fsize, and
flastmod (with both 'file' and 'virtual' files).
* cherokee/handler_ssi.c (parse): Implements SSI virtual
* cherokee/handler.h (HANDLER_VSRV): Adds a new macro to access
a virtual server object from one of its connection handlers.
* cherokee/handler_ssi.h, cherokee/handler_ssi.c,,
cherokee/ Initial import of the upcoming SSI handler.
2008-11-01 Alvaro Lopez Ortega <>
*, m4/libgnutls.m4: The GnuTLS detection code has
been reimplemented. From now on, it won't use pkg-config. It was
an error to suppose that most of the systems would have it
installed. Be aware of this patch, it may introduce regressions.
* admin/ Adds a new field for the interpreter
spawning timeout.
* cherokee/source_interpreter.c, cherokee/source_interpreter.h:
Adds a new "timeout" configuration key. The spawning timeout is
not longer hardcoded.
* admin/ (ModuleBalancerGeneric._op_render):
Fixes a linking issue. The source names pointed to invalid
source pages.
2008-11-01 Antonio Perez <>
* admin/ Changed submit button. Fixes
bug #190:
2008-11-01 Alvaro Lopez Ortega <>
* admin/ (ModuleCommon._op_render): Reflects the
latest change on the configuration interface.
* cherokee/handler_common.c, cherokee/handler_common.h: Implements
a new property to define whether or not the use of dirlist is
allow. It implements the RFE #186:
* cherokee/handler_dirlist.c: Fixes the symbolic links to
directories support. Original patch by Stefan de Konink
<>; a few additions my me.
* cherokee/connection.c (cherokee_connection_set_redirect): Fixes
a problem with the redirections. Patch by Stefan de Konink
2008-10-31 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c, cherokee/server-protected.h,
cherokee/server.c: Implements the "SERVER_PORT" and "REMOTE_PORT"
variables for *CGIs.
* cherokee/server.c, cherokee/server-protected.h,
cherokee/handler_cgi_base.c: Adds support for the "SERVER_ADDR"
variable. Original patch by Patch by Stefan de Konink
<>; I've reworked it in order to make it more
* cherokee/source_interpreter.h, cherokee/source_interpreter.c:
Adds support for changing the user right before spawning the new
source. Patch by Stefan de Konink <>.
* cherokee/server.c (configure_server_property): Fixed to use
cherokee_getpwnam() instead of getpwnam()
* admin/, admin/ Adds a check button
select whether or not the rule should use I/O cache for the
* admin/ (PageVServer._op_apply_changes): Reflects
the latest change in the administration interface. It adds a new
checkbox to allow whether a virtual server should keep connections
alive between requests.
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/connection.c: Added a new option to enable/disable
keep-alive per virtual server. By default it's enabled. It
implement the RFE #181:
* cherokee/handler_cgi_base.c
(cherokee_handler_cgi_base_build_basic_env): Adds support for
SCRIPT_URL. It contains the request *after* the internal
redirections. It's important to remember the REQUEST_URI contains
the original request.
* cherokee/macros.h (SENDFILE_MAX_SIZE): Fixes a 'integer overflow
in expression' compilation warning. Fixes bug #185:
* cherokee/source_interpreter.c: From now on, Cherokee will kill
all the sources that are lauched during its life time. Original
patch by Stefan de Konink <> (thanks! Great
job). I have also added a new check to ensure that, in case a
interpreter is re-launched, the old source is killed as well.
2008-10-31 Taher Shihadeh <>
* admin/ The last source in a rule cannot be
deleted now to prevent appearence of broken rules. Addresses
* admin/ There was a problem updating the existing
lists of extensions. It was issue 184:
2008-10-30 Antonio Perez <>
* admin/, admin/, admin/static/css/cherokee.css,
admin/static/js/common.js: Config changes now use AJAX.
2008-10-30 Taher Shihadeh <>
* admin/ we missed installing a file for the new
Authlist handler. Credit to Antonio Perez <>.
2008-10-29 Alvaro Lopez Ortega <>
* admin/, admin/, admin/ Adds
support for the new rule type: "If file exists".
* cherokee/rule_exists.h, cherokee/rule_exists.c,,
cherokee/ A new rule for checking whether a file
exists or not has been adeed.
* qa/, qa/,
qa/, qa/ (EXTRA_DIST): Added three
new QA tests to check the Exists rule.
* qa/, qa/,
qa/ Added three new QA tests that test the new
AuthList validator.
* cherokee/handler_common.c: Converted to use the new
cherokee_io_stat() function.
* cherokee/util.c (cherokee_io_stat), cherokee/util.h: Adds a new
commodity function.
* cherokee/cherokee.h, cherokee/iocache.h, cherokee/
Adds the I/O-cache API to the public interface.
* 0.10.0 released
* admin/, admin/ A new Cherokee admin
module has been added to reflect the functionality of the new
AuthList validator.
* contrib/, contrib/ Added new configuration
file converter: Cherokee 0.9.x to Cherokee 0.10.x.
2008-10-28 Taher Shihadeh <>
* admin/ fixes bug that prevented having an empty
Regular Expression (which should be
2008-10-28 Antonio Perez <>
* admin/ Heights of the tabs autofit to contents. Fixes
Bug #164:
2008-10-27 Antonio Perez <>
* cherokee/handler_cgi_base.c, cherokee/handler_common.c,
cherokee/connection.c: REQUEST_URI cgi environment variable now
contains the correct value.
2008-10-27 Taher Shihadeh <>
* admin/, admin/ fixes bug that
prevented balancers to be correctly configured when auto-submits
weren't triggered.
* doc/bundle_cherokee-admin.txt, cherokee-admin.1: documents the
new feature.
2008-10-27 Alvaro Lopez Ortega <>
* admin/ Adds a new entry for the "Nonce cache
clean up elapse time". It allows to define the lapse between
nonce cache clean ups.
* cherokee/main_admin.c: Adds a new parameter -u
(or --unsecure). It allows the execute cherokee-admin without
requiring the user to authenticate. This is a developers feature,
regular users are not supposed to use it.
* cherokee/macros.h, cherokee/nonce.c, cherokee/nonce.h,
cherokee/server-protected.h, cherokee/connection.c,
cherokee/server.c: Fixes nonce handling.
2008-10-27 Taher Shihadeh <>
* admin/, admin/ cleanup following
* doc/dev_debug.txt, doc/other_community.txt,
doc/basics_why_cherokee.txt, doc/config_general.txt,
doc/index.txt, doc/config_quickstart.txt,
doc/cookbook_optimizations.txt, doc/dev_cherokee.conf.txt,
doc/config_info_sources.txt: some doc changes for the upcoming
2008-10-27 Alvaro Lopez Ortega <>
* cherokee/main_admin.c: Implements a new security mechanism for
Cherokee-admin. From now on, it will require authentication to
access the administration interface.
* cherokee/validator_authlist.c, cherokee/validator_authlist.h,, cherokee/ A new validator has been
added. It implements a fixed list of authorized users.
2008-10-27 Taher Shihadeh <>
* admin/, admin/ cleanup following
2008-10-25 Antonio Perez <>
* admin/ Bug #153 was not completely fixed in r2206
2008-10-23 Antonio Perez <>
* admin/ Fixes auto-submit error assigning
Information Sources. Bug #153:
2008-10-23 Taher Shihadeh <>
* admin/, admin/, admin/,
doc/config.txt, doc/config_info_sources.txt,
doc/cookbook_django.txt, doc/index.txt, doc/config_quickstart.txt:
unify naming conventions to address issue
2008-10-17 Alvaro Lopez Ortega <>
* cherokee/thread.c (maybe_purge_closed_connection): I suppose
that there is no need of flushing if the connection did not use
tcp_cork. This is an experimental change, I might have to revert
it. Let's see.
* cherokee/server.c (configure_server): IO-cache must be instanced
even if there are no "server!" keys in the configuration file.
* admin/ Updates the advanced page to reflect the
latest IO-cache configuration change.
* cherokee/server.c: Works out IO-cache configuration.
2008-10-16 Alvaro Lopez Ortega <>
* cherokee/macros.h, cherokee/iocache.c: Set better values for the
IOcache and sendfile limits.
* admin/static/js/common.js: Fixes an auto-submit error. Patch by
Antonio Perez <>.
2008-10-14 Alvaro Lopez Ortega <>
* cherokee/config_entry.h, cherokee/iocache.c: Fixes compilation
without pthreads, and therefore it fixes bug #137:
* cherokee/handler_common.c (cherokee_handler_common_new): Fixes a
crash when I/O-cache is disabled.
* cherokee/server.c (cherokee_server_step): Do not mess with the
threads at this point. They will be freed in server::free().
* admin/ The page content has been splited among
different tabs. There is a new entry for "I/O cache", so now its
configuration is also covered from the administration interface.
* cherokee/handler_server_info.c (build_cache_table_content): Adds
more information about the state of the IO-cache.
* cherokee/cache.h cherokee/cache.c cherokee/handler_file.c
cherokee/server-protected.h cherokee/iocache.h cherokee/iocache.c
cherokee/server.c: IO-cache gets its own configuration entry:
server!iocache, so fro now on, it can be tuned.
* admin/ (Config._parse): Better error reporting.
* cherokee/handler_server_info.c (build_cache_table_content): Adds
a new row showing the max. cache size.
* qa/qa/, qa/ (EXTRA_DIST): Removes
the QA test number 175. It was duped.
* qa/ It needed the allow_pathinfo flag.
* qa/ Fixes the test. It was using an
invalid priority number.
* qa/, qa/, qa/*-*.py: Added a new -D
parameter. It stops right before executing a certain QA test. All
the QA tests needed a small fix in order to be able to access its
file name.
* qa/ This test needs pathinfo processing.
2008-10-13 Alvaro Lopez Ortega <>
* cherokee/cache.c (cherokee_cache_entry_unref): Clean references
in a better way. IOcache clients shouldn't keep pointers to
unref'ed iocache objects.
* cherokee/main.c (signals_handler): Fixes graceful restart. It
was generating zombi processes. Patch by Antonio Perez
* admin/ ( Fixes a
bug while saving the configuration without restarting the server.
Patch by Antonio Perez <>.
* cherokee/handler_common.c (DEFAULT_ALLOW_PATHINFO): It should
not allow pathinfo by default. Patch by Antonio Perez
<>. This patch fixes bug #149:
* cherokee/util.c (cherokee_parse_query_string): Covers a corner
case. Patch by Antonio Perez <>.
* cherokee/main.c (main): It should not clean up the PID file if
cherokee is executed in "single time" mode. Patch by Antonio Perez
* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_init),
cherokee/handler_fcgi.c (build_header),
cherokee/handler_fastcgi.c (build_header): Neither of these
functions needed to call cherokee_connection_parse_args(). This
change is slightly speeding up response elapses. A million thanks
to Antonio Perez <> for hunting this nasty bug.
* cherokee/cache.c, cherokee/cache.h: Fixes a cache issue.
* cherokee.conf.sample.pre: Removed a few duped entries.
* cherokee/mime.c (cherokee_mime_get_by_suffix),
cherokee/icons.c (add_suffix): Better error management.
2008-10-12 Alvaro Lopez Ortega <>
* cherokee/balancer.c (cherokee_balancer_mrproper): Fixes a small
memory leak on clean up (it wasn't a leak per-se).
* cherokee/init.c (cherokee_mrproper): Added new function to clean
up the global cherokee_init() initialization.
* cherokee/icons.c (cherokee_icons_add_suffix): Better memory
management on error. Patch by Stefan de Konink <>.
* cherokee/config_entry.c (cherokee_config_entry_mrproper): There
was a AVL tree structure that wasn't being freed. Patch by Stefan
de Konink <>.
* cherokee/avl.c (cherokee_avl_add): Better error handling. Patch
by Stefan de Konink <>.
* cherokee/server.c (cherokee_server_free): Fixes an issue with
the previous patch. An invalid memory deallocation was being made.
* cherokee/server.c (cherokee_server_free): Frees the source
objects. Patch by Stefan de Konink <>
2008-10-11 Alvaro Lopez Ortega <>
* cherokee/logger.c (cherokee_logger_free): Frees the ->priv
property. (It was not a memory leak because loggers are never
freed, actually). Patch by Stefan de Konink <>
2008-10-08 Alvaro Lopez Ortega <>
* qa/, qa/,
qa/ Adds a couple of new QA tests. 175 check infinite
redirections, and 176 ensure that bug#146 is fixed:
* cherokee/validator_htdigest.c (extract_user_entry): Fixes an
error processing htdigest files. Reported by Eric Drechsel
2008-10-07 Taher Shihadeh <>
* admin/, admin/, admin/static/js/common.js:
usability enhancement suggested by Gunnar Wolf <>
is implemented. Related to the previously thought to be fixed
2008-10-07 Alvaro Lopez Ortega <>
* qa/ (EXTRA_DIST): was missing from the file
distribution list. Reported by Eric Drechsel <>
2008-10-05 Alvaro Lopez Ortega <>
* cherokee/cache.c: Add a few TRACE points within the cache policy
* cherokee/connection.c (cherokee_connection_set_cork): Better
error management.
* cherokee/server.c (set_server_fd_socket_opts): Uses
SO_ACCEPTFILTER in case it's available.
* cherokee/socket.c: Do not suppose that TCP_CORK and TCP_NOPUSH
are equivalent; and apply TCP_CORK only if the system supports it.
* cherokee/socket.c (cherokee_socket_set_block_timeout,
cherokee_socket_flush): It ought to retry on EINTR.
2008-10-04 Alvaro Lopez Ortega <>
* admin/ Adds the cherokee-admin support for the
last change. It includes a new checkbox to toggle the
"server!use_iocache" configuration entry.
* cherokee/handler_server_info.c, cherokee/handler_common.c,
cherokee/server-protected.h, cherokee/iocache.c,
cherokee/iocache.h, cherokee/server.c: Adds a new
"server!use_iocache" configuration key to allow to enable or
disable the use of I/O cache server wide.
* cherokee/cache.c, cherokee/iocache.c, cherokee/iocache.h: Fixes
one more bug in the cache implementation. (sigh!)
2008-10-02 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (build_cache_table_content): Adds
a new row to show the total amount to memory mmaped by the IOcache
* cherokee/cache.h, cherokee/cache.c: Fixes the cache. There were
a couple of bugs in the implementation that was leading the server
to random crashes. The internal cache indexes work as expected.
* cherokee/buffer.h, cherokee/buffer.c: Functions
cherokee_buffer_add_buffer_chunked() and
cherokee_buffer_convert_to_chunked() have been removed. They are
no longer needed.
2008-09-30 Taher Shihadeh <>
* admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/ fixes and
prevents regressions on Option selection entries.
2008-09-29 Alvaro Lopez Ortega <>
* cherokee/cache.c, cherokee/cache.h, cherokee/handler_file.c,
cherokee/iocache.c, cherokee/iocache.h: Takes care of a potential
concurrency issue that could ended up leading the server to crash.
* cherokee/thread.c, cherokee/server.c: Fixes an error while
freeing the memory on exit.
* cherokee/logger_writer.c (cherokee_logger_writer_open): Open the
log with the O_NOFOLLOW option (security enhancenment).
* cherokee/macros.h, cherokee/connection-protected.h,
cherokee/connection.c, qa/, qa/
Adds a protection against internal respin infinite loops. By
default the server can perform up to 16 internal redirections
before returning a 500 error.
2008-09-27 Alvaro Lopez Ortega <>
* admin/, admin/,
admin/, admin/,
admin/, admin/ Auto-submit was not
working for a few Option selection entries. This patch should fix
it; although I'd wait a couple of days before applying it to the
0.9 branch; it might introduce unexpected regressions.
2008-09-26 Alvaro Lopez Ortega <>
* Cherokee 0.9.0 released
* admin/ Adds a missing text entry validation.
* admin/ (PageIcon._render_icon_list): Tiny style
change. Now the 'special icons' tab looks like the rest.
2008-09-26 Taher Shihadeh <>
* admin/static/js/common.js, admin/,
admin/ fixed a missing case related to issue 131.
2008-09-26 Alvaro Lopez Ortega <>
* cherokee/balancer.c (cherokee_balancer_mrproper): This should
fix bug:
* cherokee/main_worker.c (wait_process): Improves the SIGCHLD
signal management.
* admin/ Fixes an issue setting the max keep-alive
time. Two validations rules were interfering with each other.
* admin/ (ModuleBalancerGeneric._op_render): Adds
a link to the source configuration page.
2008-09-25 Taher Shihadeh <>
* admin/, admin/, admin/static/js/common.js:
fixes PS:
I hate JavaScript.
2008-09-25 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.h,
cherokee/source_interpreter.c (cherokee_source_interpreter_spawn):
Do not allow the source to be spawned in pararell.
* cherokee/server.c (cherokee_server_initialize): Fixes a problem
with SSL/TLS initialization.
* cherokee/main_worker.c (common_server_initialization): Instead
of ignoring SIGCHLD, let's wait for our child. It sounds slightly
more polite.
* cherokee/socket.c (cherokee_socket_init_tls): Checks whether a
virtual server supports SSL before trying to accessing its
2008-09-24 Alvaro Lopez Ortega <>
* cherokee/socket.c (cherokee_socket_init_client_tls): CA checks
clean up.
* cherokee/server.c (init_vservers_tls): It a virtual server
cannot initialize its SSL engine, it should be handled like an
* cherokee/handler_common.c (cherokee_handler_common_new): Reply
the the right HTTP error (415 Unsupported Media Type) when trying
to server a special file (not a file, nor a directory).
* cherokee/main.c (set_signals): SIGUSR2 management was missing.
* cherokee/handler_dbslayer.c (send_query): From now on, the MySQL
balancer gets the SQL query from the requested URL. Previously, it
was using POST to get the query (it just looked much cleaner).
However, the replies could not be cached by a proxy cache, and
that's a big enough problem for changinf it.
* contrib/cherokee: Updated to the new signal scheme. By Antonio
Perez <>
2008-09-24 Taher Shihadeh <>
* static/css/cherokee.css: addresses isue
2008-09-23 Taher Shihadeh <>
* admin/, admin/static/js/thickbox.js: added another jQuery
plugin to finish remaking the help system.
2008-09-23 Alvaro Lopez Ortega <>
* cherokee/handler_dbslayer.c, cherokee/dwriter.c,
cherokee/dwriter.h: Fixes a couple of problems. Now it uses a
different Mime type for each language. Besides, it escapes the
strings so the client interpreter can parse (evaluate) the result.
2008-09-23 Taher Shihadeh <>
* admin/, admin/,
admin/, admin/, admin/
addressed usability issues and
* doc/cookbook_*, doc/modules_*: Addressed issue #126:
2008-09-23 Alvaro Lopez Ortega <>
* cherokee/rule_directory.c (match): Fixes a problem with the
directory rule. Requests starting as a directory entry were
matched with it, even if there were targeting another file. If
fixes bug:
2008-09-22 Taher Shihadeh <>
* doc/cookbook_redirs.txt, doc/cookbook_maintenance.txt,
doc/media/images/cookbook_maintenance*, doc/cookbook_redirs.txt,
doc/other_community.txt: some new sections were suggested.
2008-09-22 Alvaro Lopez Ortega <>
* cherokee/server.c (cherokee_server_step): It was taking the
server too long to die. Now it does not way for the threads to
stop, but it takes care of closing all the connections, flush the
log files and point that the server ought not to accept new
connections (while it's dying).
* cherokee/socket.c (cherokee_socket_connect): Fixes an issues
spawaing the PHP interpreter. It was failing when it used a Unix
socket as entry point for accepting FastCGI connections.
2008-09-22 Taher Shihadeh <>
* admin/ ModuleCustomError was not being installed.
2008-09-22 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c, cherokee/source_interpreter.h,
cherokee/main_admin.c: Adds a 'debug' mode to cherokee-admin. It
helps to debug the administration back-end. If cherokee-admin is
executed with the -x parameter, it will print the backend errors
in the terminal when it was executed from, otherwise those errors
and debug information would be lost.
* cherokee/main.c (figure_worker_path): Now Cherokee uses the
cherokee-worker next to it (instead of the executable located at
the default system path).
2008-09-21 Alvaro Lopez Ortega <>
* cherokee/main_worker.c, cherokee/util.c, cherokee/util.h,
cherokee/connection.c: Fixes bug #124:
The server accepts relative paths in the -r parameter now.
2008-09-18 Taher Shihadeh <>
* doc/index.txt, doc/other_signals.txt, doc/other_faq.txt,
doc/other_goodies.txt: documentation updates.
2008-09-18 Alvaro Lopez Ortega <>
* cherokee/macros.h, cherokee/main_worker.c, cherokee/main.c:
Fixes a infite loop when a wrong parameter was supplied to
cherokee (cherokee was relaunching the server worker with the same
wrong parameter).
* cherokee.conf.sample.pre: Cherokee is handling Keep-Alive way
much better nowadays. It's my believe that 15 seconds is a
reasonable timeout value for the upcoming version.
2008-09-17 Taher Shihadeh <>
* admin/ fixed minibug that duplicated empty entry in
Handler list for PageEntry form.
2008-09-16 Taher Shihadeh <>
* doc/media/images/admin_advanced1.png,
doc/media/images/admin_handler_dbslayer.png added.
* doc/basics_installation.txtdoc/config_advanced.txt,
doc/basics_installation_windows.txt, doc/modules_balancers.txt,
doc/dev_debug.txt, doc/modules_handlers.txt,
doc/basics_why_cherokee.txt, doc/config_general.txt,
doc/index.txt, doc/config_quickstart.txt,
doc/cookbook_optimizations.txt, doc/dev_cherokee.conf.txt,
doc/modules.txt, doc/basics_installation_svn.txt,
doc/basics_installation_unix.txt: documentation is up to date once more.
2008-09-15 Taher Shihadeh <>
* doc/config_advanced.txt, doc/modules_encoders_gzip.txt,
doc/config_general.txt, doc/index.txt, doc/dev_cherokee.conf.txt,
doc/config_virtual_servers_rule.txt, doc/modules_encoders.txt:
Changes until r1949 reflected.
2008-09-15 Taher Shihadeh <>
* admin/, admin/,
admin/ minimal fixes + help updates.
* doc/media/images/admin_handler_fastcgi1.png,
doc/media/images/admin_info_sources.png: screenshots needed a
* doc/config.txt, doc/modules_handlers_cgi.txt,
doc/cookbook_php.txt, doc/modules_handlers_fcgi.txt,
doc/modules_balancers.txt, doc/config_info_sources.txt,
doc/config_status.txt: changes were not reflected since r1915.
2008-09-15 Alvaro Lopez Ortega <>
* admin/, admin/, admin/,
admin/static/css/cherokee.css, admin/
"Application server" has been renamed to "Information Source". As
long as this list contains pointers to application servers and
data bases it is a better naming.
* admin/, admin/, admin/
The 'check file' option is still useful when the handler manages
an extension. (A few days ago I removed them completelly from the
FastCGI and SCGI configuration pages). Now it is displayed only
hidden when a directory is being configured.
* cherokee/server.c (set_server_fd_socket_opts): TCP_DEFER_ACCEPT
should be set in the TCP level rather than in the SOCKET level.
Additionally, it ought not to check whether it success, it's fine
even if it could not set the option.
2008-09-14 Alvaro Lopez Ortega <>
*, admin/ Adds a new --disable-admin
option. It stops cherokee-admin from installing.
2008-09-13 Alvaro Lopez Ortega <>
* admin/, admin/, admin/
Adds a few missing references to help pages.
* admin/, admin/,
admin/, admin/, admin/,
admin/, admin/ Adds contextual
help to the validator modules.
2008-09-12 Alvaro Lopez Ortega <>
*,,,,,,,,,,,,,,,,,,, First steps to rework the whole help subsystem.
From now on, Cherokee-admin will use the main documentation rather
than the short texts it has been using until now.
* admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/,
admin/, admin/ Removed.
* cherokee/main_admin.c, constants.h.pre, admin/,
admin/, Exports a new /help web directory
from cherokee-admin. It points to the installed documentation.
* cherokee/, cherokee/matching_list.c,
cherokee/matching_list.h: The matching list class is no longer
needed. Removed.
* contrib/ (convert): Updated to remove the old
server!encoder entries. There is no way to convert those old
entries, so removing them looks like the right thing to do in this
* cherokee/virtual_server.c, cherokee.conf.sample.pre,
admin/, admin/, admin/,
admin/, admin/,
admin/static/css/cherokee.css, admin/,
qa/, qa/
Dusts the latest encoders support change.
2008-09-11 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/encoder_table.c,
cherokee/encoder_table.h, cherokee/,
cherokee/connection-protected.h, cherokee/config_entry.c,
cherokee/config_entry.h, cherokee/thread.c,
cherokee/server-protected.h, cherokee/connection.c,
cherokee/server.c, qa/, qa/,
qa/ Encoders are now a configuration
entry (directories, regexs, extensions, etc) property rather than
a global server one.
* admin/ (ModuleDbslayer._op_apply_changes): Add
the cherokee-admin module for the new DBSlayer handler.
* cherokee/handler_dbslayer.h, cherokee/handler_dbslayer.c,
cherokee/dwriter.c, cherokee/dwrite.h,,
cherokee/ Adds our brand new data base
2008-09-08 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c (cherokee_source_interpreter_spawn):
Closes stdout and stderr. These fds should not be opened; the
system buffers might fill up while the interpreter prints debug
and it would stop working because of that.
* cherokee/connection.c, cherokee/connection-protected.h,
cherokee/util.c: Improves the Chunked encoding performance.
* cherokee/handler_dirlist.c, cherokee/handler_dirlist.h: Adds a
new state to ensure that when the list has been generated, it will
return eof even it is called more than once.
2008-09-07 Alvaro Lopez Ortega <>
* contrib/, contrib/ Added a new
configuration file converter. It reads Cherokee 0.8.x files and
translates them to the new Cherokee 0.9 format.
* qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/,
qa/, qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/ QA tests using
HTTP/1.1 must send the "Connection: Close" header.
* qa/ This QA was failing because of an
unexpected new line character at the end of the output.
* qa/, qa/ Adds a new QA test to
check whether SCGI works with chunked encoding.
* cherokee/thread.c: Fixes keep-alive timeout. It was not closing
the connection at the right time when it was compiled without
pthread support.
* cherokee/connection.c (cherokee_connection_set_keepalive): When
using HTTP/1.1 Cherokee should use keep-alive by default.
Regression reported by Rui Lopes <>.
* cherokee/util.c: Fixes a problem compiling without pthread.
2008-09-06 Alvaro Lopez Ortega <>
* cherokee/main.c (check_worker_version): Checks whether Cherokee
and Cherokee-worker were compiled from the same version. The have
been a few problem due to broken installation that mixed binaries
from different versions.
2008-09-05 Alvaro Lopez Ortega <>
* admin/, admin/static/css/cherokee.css: Adds a new menu
entry to access the Application Server section.
* cherokee/balancer., cherokee/balancer.h, cherokee/source.h,
cherokee/main_admin.c, cherokee/balancer_round_robin.c,
cherokee/balancer_round_robin.h, cherokee/server-protected.h,
cherokee/connection.c, cherokee/server.c, cherokee.conf.sample.,
admin/, admin/, admin/,
admin/, admin/, qa/,
qa/, qa/, qa/,
qa/, qa/, qa/,
qa/, qa/, qa/,
qa/, qa/,
qa/, qa/ This
jumbo-patch modifies the way in which the balancers used to work.
From now on balancers (and therefore the FastCGI and SCGI support)
will use the new concept to 'Application Servers'. Be careful,
this change does change the configuration file format, although it
makes much easier to configure the same application server across
different virtual servers. The most common case: PHP.
* admin/, admin/ The keepalive
option has been moved to the advanced page. A new option to enable
or disable Chunked encoding has been added as well.
* cherokee/connection-protected.h, cherokee/handler_cgi_base.c,
cherokee/handler_cgi_base.h, cherokee/handler.h, cherokee/util.h,
cherokee/util.c, cherokee/connection.c: Reimplements the Chunked
encoding support. Now it is system-wide and does less memory
2008-09-04 Alvaro Lopez Ortega <>
* admin/ Updated the 'last option'
configuration snippet to the current format.
* cherokee/connection-protected.h, cherokee/handler_cgi_base.c,
cherokee/handler_cgi_base.h, cherokee/connection.c: Fixes a
chunked encoding issue while speeds it up. Now Chunked encoded
connections are faster than with the first implementation.
2008-09-03 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (add_data_sent_row): Fixes a
memory initialization issue.
* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_add_headers):
Fixes the chunked encoding support. It was not being used unless
the applicating sent the Content-Length in which case a Keep-Alive
reply was easier and faster to perform. Reported by Cesar Fernandez.
* qa/, qa/ Adds a new QA to cover
Chunked encoded responses from CGIs.
* qa/ (Test.Precondition): It does not need
2008-09-02 Alvaro Lopez Ortega <>
* cherokee/source_interpreter.c (cherokee_source_interpreter_spawn):
Ignores SIGCHLD trying to get rid as soon as possible of the zombi
processes that are generated randomly when the server spawns
php-cgi processes.
* admin/ (Config.serialize.sorter): Fixed sorting
function. It is just a configuration file aesthetical fix.
* admin/, admin/main.template.html, admin/,
admin/, admin/, admin/,
admin/static/css/cherokee.css, admin/ Adds a new
"Status" menu entry in Cherokee admin.
* cherokee/main.c (process_launch): Report whenever the Cherokee
worker could not be spawned.
* admin/ (PageGeneral._render_content): Fixes de TLS
port configuration key. Reported by César Fernández Gago
2008-09-01 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/server.c: The log opening
order has changed. Now it creates the log files as the web server
user (instead of root, in case it was launched as super-user).
* cherokee/logger_writer.c: Open the logs with perms 0640 rather
than 0644. It is not "Others"' business what the server does.
* cherokee/main.c (figure_pid_file_path): Fixes the functionality,
it was not working properly because and incorrect string
* cherokee/main_worker.c, cherokee/handler_cgi_base.c,
cherokee/thread.c, cherokee/server-protected.h, cherokee/server.c:
Some signal management work.
2008-08-31 Alvaro Lopez Ortega <>
* cherokee.1, cherokee-worker.1, Updates the manual
pages. Now cherokee.1 shows the information and cherokee-worker.1
is only a note. Additionally information about the signal handling
was added to the cherokee man page.
* cherokee/main_worker.c: Updates the signals. There were not
coherent with the signals handled by main.c.
2008-08-31 Taher Shihadeh <>
* cherokee.1, cherokee-worker.1: changed man pages to accomodate
recent program name changes.
* doc/basics_running_cherokee.txt, doc/index.txt, doc/bundle.txt,
doc/bundle_cherokee.txt: changed docs to reflect the new names.
2008-08-31 Alvaro Lopez Ortega <>
* cherokee/, cherokee/main.c, cherokee/main_guardian.c,
cherokee/server.c, constants.h.pre, admin/,
admin/, admin/ Cherokee-guardian
becomes Cherokee, and Cherokee is renamed to Cherokee-worker. The
idea behind this change is to use the "guardian" feature by
2008-08-30 Alvaro Lopez Ortega <>
* admin/, admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/,
admin/, admin/, admin/,
admin/, admin/, admin/,
admin/ Hides the Document Root entry box depending
on the case. There were a few handler with which did not make
sense to show it such as FastCGI, SCGI, redirections, server info,
* admin/ Adds a couple of convenience methods and
improves the serialization.
* admin/, admin/, admin/
Hides the "script alias", "change user" and "check file" options
in the FastCGI and SCGI modules. There barely made sense there.
* admin/ (cherokee_build_info_has): This
function was randomly failing because a problem with the caching
structure. This patch fixing the problem.
2008-08-29 Alvaro Lopez Ortega <>
* cherokee/socket.h (OPENSSL_NO_TLSEXT): Fixes the twisted
OPENSSL_NO_TLSEXT define. It looks wrong to require a define in
case a feature is NOT present on the system.
* cherokee/socket.c, cherokee/connection-protected.h,
cherokee/socket.h, cherokee/source.c, cherokee/thread.c,
cherokee/thread.h, cherokee/handler_scgi.c, cherokee/server.c,
cherokee/server-protected.h, cherokee/connection.c: This patch
fixes a problem with Keep-Alive connections. It also cleans up a
few related methods.
2008-08-28 Alvaro Lopez Ortega <>
* cherokee.conf.sample.pre: Fixes an absurdly high default
2008-08-27 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c (cherokee_handler_cgi_base_build_basic_env):
It was not using the right SERVER_SOFTWARE string.
* cherokee/connection.c (cherokee_connection_build_header): Fixes
a problem with scgi/fcgi/cgi and keep-alive connections. Reported
by Rui Lopes <>
* qa/, qa/ Adds a new QA test. It
ensures that the SCGI handler replies Connection: Keep-Alive
connections without closing the connection.
2008-08-26 Alvaro Lopez Ortega <>
* cget/ (cget_LDADD): Added to the
linking paramater of cget. This missing parameter might have
something to do with a compilation issue on LinuxFromScratch.
2008-08-25 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c: There was a wrong #ifdef that made
the build to fail if compiling without OpenSSL. Patch by Rui Lopes
* cherokee/http.h (http_method_with_input): PUT has also
input. Reported/Patched by Stefan de Konink <>
2008-08-21 Alvaro Lopez Ortega <>
* cherokee/virtual_server.c, cherokee/virtual_server.h,
cherokee/socket.c: Adds TLS SNI support to the GNUTLS backend.
* cherokee/virtual_server.c, cherokee/socket.c, cherokee/socket.h,
cherokee/downloader.c: Adds TLS SNI support to the OpenSSL
2008-08-20 Alvaro Lopez Ortega <>
* cherokee/handler_custom_error.c,,
cherokee/handler_custom_error.h, cherokee/,
admin/, admin/ This patch adds a new
handler for replying custom HTTP error codes. It includes both the
server side and the administrarion interface module.
* cherokee/virtual_server.c, cherokee/util.c, cherokee/util.h,
admin/ Adds support for time extensions in the
"Expire" sections. For instance, now it allows setting "2h" for
two hours, or "1w" for one week.
* admin/static/js/common.js: Fixes a weird problem with Firedfox.
If window.location.reload() is called it pops a dialog asking
whether it should resend the last post. Using the twisted:
window.location = window.location assignament it does the same
thing without showing the window question.
* cherokee/ (libcherokeeinclude_HEADERS): Installs a
missing header: cache.h. Reported by Stefan de Konink.
* cherokee/rule_list.c, cherokee/virtual_server.c,
cherokee/connection-protected.h, cherokee/config_entry.c,
cherokee/config_entry.h, cherokee/connection.c,
admin/, admin/ Adds support por expiration
headers. This patch adds support to both the server and the
configuration interface.
* cherokee/config_node.c (cherokee_config_node_read_long),
cherokee/config_node.h: Adds a new method to read long integers.
* cherokee/util.h, cherokee/util.c (cherokee_mkdir_p): Adds a new
cheroke_mkdir() and fixes compilation on Windows:
2008-08-19 Alvaro Lopez Ortega <>
* cherokee/handler_server_info.c (build_cache_table_content): It
adds a new table showing some general file caching statistics.
* cherokee/connection.c (cherokee_connection_set_redirect),
cherokee/connection-protected.h, cherokee/rule_directory.c,
cherokee/handler_dirlist.c, cherokee/connection.c: Fixes another
problem with redirections. It was failing to redirect requests
targeting a directory rule entry without a empty request (not even
the root slash). There is a new function now to perform this sort
of redirections, so it should be much safer to use it from
handler_dirilst and rule_directory.
* cherokee/handler_dirlist.c: Fixes a problem with redirections of
local user directories.
* admin/ Fixes a problem with the Hard
restart. Reported by Miguel Angel Ajo.
2008-08-18 Alvaro Lopez Ortega <>
* cherokee/thread.c: Fixes an issue of redirections replies over
Keepalive connections. This regression was introduced right
before releasing 0.8.0.
* cherokee/handler_dirlist.c: Adds a final slash whenever the list
entry is a directory, so next request does go through a
redirection reply.
* cherokee/handler_dirlist.c: Fixes an issue redirecting
connections when the server does not run on the port 80.
2008-08-17 Alvaro Lopez Ortega <>
* cherokee/handler.h, cherokee/connection.c: Slightly improves the
chunked encoding support.
* cherokee/buffer.c (cherokee_buffer_convert_to_chunked): Added
new function. It converts buffer into a chunked "Transfer
Encoding" packet.
2008-08-16 Taher Shihadeh <>
* doc/basics_installation_svn.txt: added info.
2008-08-16 Alvaro Lopez Ortega <>
* cherokee/balancer.c (cherokee_balancer_instance): Adds a sanity
check (only broken configurations could fail on this check).
2008-08-15 Alvaro Lopez Ortega <>
* cherokee/handler_mirror.c, cherokee/source_interpreter.c,
cherokee/source_interpreter.h, cherokee/source.c,
cherokee/source.h, cherokee/handler_fcgi.c,
cherokee/handler_scgi.c: Clean up the code where handler were
using 'source' object in order to connect to an external
information source. This patch removes some code duplication.
* admin/ (PageVServer._render_vserver_guts): Fixes
an unfortunate error. The administration interface fails to set
the security files (certificates and keys) because a previous
variable value messed up the property key.
2008-08-15 Taher Shihadeh <>
* admin/, admin/,
admin/static/css/cherokee.css: addresses UI enhancement proposal
2008-08-14 Alvaro Lopez Ortega <>
* cherokee/socket.c, cherokee/socket.h, cherokee/thread.c,
cherokee/thread.h, cherokee/connection.c: Fixes the TLS/SSL
support. It adds support for a new concept within the server: a
cherokee_buffer_t can have pending information to be read, so in
addition to the file descriptor this property must be checked
whenever it real status need to be known.
* qa/, qa/ Fixes two minor issues.
* 0.8.0 released
* doc/ (EXTRA_DIST): Fixes an issue with the
documentation distribution. It was not being included in the
2008-08-14 Taher Shihadeh <>
* doc/basics_download.txt, doc/basics_installation.txt,
doc/basics_installation_windows.txt, doc/basics_requirements.txt,
doc/basics_running_cherokee.txt, doc/basics.txt,
doc/basics_upgrade.txt, doc/basics_why_cherokee.txt,
doc/build/, doc/build/doc.conf, doc/build/web.conf,
doc/bundle_cget.txt, doc/bundle_cherokee-config.txt,
doc/bundle_cherokee-guardian.txt, doc/bundle_cherokee-tweak.txt,
doc/bundle_cherokee.txt, doc/bundle_spawn-fcgi.txt,
doc/bundle.txt, doc/config_advanced.txt, doc/config_encoding.txt,
doc/config_general.txt, doc/config_icons.txt,
doc/config_mime_types.txt, doc/config_quickstart.txt,
doc/config.txt, doc/config_virtual_servers_rule.txt,
doc/config_virtual_servers.txt, doc/cookbook_authentication.txt,
doc/cookbook_cross_compilation.txt, doc/cookbook_django.txt,
doc/cookbook_managing_logs.txt, doc/cookbook_optimizations.txt,
doc/cookbook_php.txt, doc/cookbook_ror.txt, doc/cookbook_ssl.txt,
doc/cookbook.txt, doc/dev_api.txt, doc/dev_cherokee.conf.txt,
doc/dev_debug.txt, doc/dev_examples.txt, doc/dev.txt,
doc/index.txt, doc/media/css/cherokee_doc.css,
doc/modules_balancers_round_robin.txt, doc/modules_balancers.txt,
doc/modules_encoders_deflate.txt, doc/modules_encoders_gzip.txt,
doc/modules_encoders.txt, doc/modules_handlers_admin.txt,
doc/modules_handlers_cgi.txt, doc/modules_handlers_common.txt,
doc/modules_handlers_dirlist.txt, doc/modules_handlers_fcgi.txt,
doc/modules_handlers_file.txt, doc/modules_handlers_mirror.txt,
doc/modules_handlers_redir.txt, doc/modules_handlers_scgi.txt,
doc/modules_handlers_server_info.txt, doc/modules_handlers.txt,
doc/modules_loggers_combined.txt, doc/modules_loggers_ncsa.txt,
doc/modules_loggers.txt, doc/modules_loggers_w3c.txt,
doc/modules.txt, doc/modules_validators_htdigest.txt,
doc/modules_validators_ldap.txt, doc/modules_validators_mysql.txt,
doc/modules_validators_pam.txt, doc/modules_validators_plain.txt,
doc/modules_validators.txt, doc/other_goodies.txt, doc/other.txt:
hopefully that is enough documentation. For now anyway. :)
2008-08-14 Alvaro Lopez Ortega <>
* qa/, qa/ Fixes the TLS/SSL execution.
* cherokee/connection-protected.h, cherokee/thread.c,
cherokee/connection.c: Polish the Keep-Alive management.
* cherokee/server.c (add_vserver): Adds a sanity check. It makes
sure that the virtual server number can be actually converted into
an integer number.
* cherokee/server.c: Clean up. Removes an unnecessary check that
was implemented in the virtual server class.
* cherokee/handler_dirlist.c (check_request_finish_with_slash):
Now it sends redirections using the FQDN whenever it is
possible (as described in the RFC). Partially fixes:
* cherokee/thread.c (cherokee_thread_step_MULTI_THREAD): Fixes a
problem with the Keep-Alive timeout.
* cherokee/connection.c: Allows 3xx replies to keep the connection
2008-08-13 Taher Shihadeh <>
* doc/basics.txt, doc/basics_why_cherokee.txt,
doc/build/chunked_template.conf, doc/build/combined_template.conf,
doc/build/combined.txt, doc/build/doc.conf, doc/bundle.txt,
doc/config.txt, doc/cookbook_authentication.txt,
doc/cookbook_cross_compilation.txt, doc/cookbook_django.txt,
doc/cookbook_managing_logs.txt, doc/cookbook_optimizations.txt,
doc/cookbook_php.txt, doc/cookbook_ror.txt, doc/cookbook_ssl.txt,
doc/cookbook.txt, doc/dev_api.txt, doc/dev_cherokee.conf.txt,
doc/dev_examples.txt, doc/dev.txt, doc/index.txt,
doc/modules_handlers_fcgi.txt, doc/modules_handlers_scgi.txt,
doc/modules.txt, doc/modules_validators_htdigest.txt,
doc/modules_validators_ldap.txt, doc/modules_validators_mysql.txt,
doc/modules_validators_pam.txt, doc/modules_validators_plain.txt,
doc/other_goodies.txt, doc/other.txt: almost done with
documents. Added some snapshots too.
2008-08-13 Alvaro Lopez Ortega <>
* qa/, qa/ Added a new QA
test to ensure that even if a CGI/SCGI/FastCGI handler (not
configured to send errors) replies a non-200 error with the
Content-Length header, it is dropped before setting the server
error message so there is not a duplicated header with different
* Index: cherokee/, cherokee/connector.c,
cherokee/connector.h, cherokee/source.c, cherokee/downloader.c,
cherokee/server-protected.h, cherokee/server.c: The
cherokee_connector_t class is no longer needed. Removed.
* cherokee/main_admin.c (main): Ignore SIGCHLD. We want to be
there that no zombie processes lingers.
* admin/static/js/common.js: Fixes a reloading issue in Firefox. I
do hope it does not break any other browser support. Fixes:
* cherokee/handler_server_info.c, admin/ Both
the server info handler and its cherokee-admin module have been
reworked in order to make its configuration options more
consistent. It was showing too much internal stuff.
* cherokee/plugin_loader.c (cherokee_plugin_loader_get_mods_info):
The last entry for the built-in modules was not being printed
properly. Cherokee-admin wasn't showing some modules in the
interface because of this issue.
* admin/ (ModuleBalancerGeneric._op_render): Adds
the missing "removing" option to the host entries. Fixes the first
part of:
It also improves the page layout a little bit.
* admin/ The "Generic balancer" handler should not
show an option to execute an interpreter. It does not make sense
for this handler. Fixes the second part of:
* cherokee/resolv_cache.c, cherokee/socket.c, cherokee/socket.h,
cherokee/source.c: Fixes the Unix socket support of the FastCGI
and SCGI handlers (plus some code clean up).
* cherokee/handler_mirror.c, cherokee/handler_mirror.h: Fixes the
TCP mirroring handler. It fixes it to use the new async client
2008-08-12 Alvaro Lopez Ortega <>
* cherokee/connection.c (cherokee_connection_clean_error_headers),
cherokee/thread.c (process_active_connections): It had to remove
the Content-Length header if the handler is not reporting error
messages because it has to add its own. Fixes a bug with previous
versions (cgi, fcgi and scgi).
2008-08-12 Taher Shihadeh <>
* doc/cookbook_ror.txt, doc/cookbook_php.txt,
doc/cookbook_django.txt, doc/cookbook_optimizations.txt,
doc/modules_handlers_cgi.txt, doc/modules_handlers_fcgi.txt,
doc/modules_validators_mysql.txt, doc/modules_validators_ldap.txt,
doc/modules_validators_pam.txt, doc/other_goodies.txt: more
changes and some new docs.
2008-08-12 Alvaro Lopez Ortega <>
* cherokee/logger_writer.c, cherokee/logger_writer.h,
cherokee/logger_w3c.c, cherokee/logger_ncsa.c,
cherokee/connection.c, admin/ This multipurpose
patch clean up the logger writter class, and fixes the W3C support
in the administration interface. It fixes:
* admin/, admin/, admin/,
admin/ Adds a option in the left hand menu
bar to allow users to reset the server at the same time that the
new configuration is written.
* admin/ (main): It should only bind to localhost. Fixes
2008-08-12 Taher Shihadeh <>
* admin/, admin/ removed unnecessary
empty parameter checks for handlers that can provide default
2008-08-12 Alvaro Lopez Ortega <>
* cherokee/handler_cgi_base.c (parse_header): Added a check for
the 'X-Accel-Redirect' in addition to the 'X-Sendfile' previously
supported. It has the exact same behavior.
2008-08-11 Taher Shihadeh <>
* doc/config_virtual_servers.txt, doc/modules_balancers.txt,
doc/modules_handlers_admin.txt, doc/modules_handlers_cgi.txt,
doc/modules_handlers_fcgi.txt, doc/modules_handlers_mirror.txt,
doc/modules_loggers_combined.txt, doc/modules_loggers_ncsa.txt,
doc/modules_loggers.txt, doc/modules_loggers_w3c.txt,
doc/modules_validators_pam.txt, doc/modules_validators.txt,
doc/other_goodies.txt: several modifications and six new files
2008-08-08 Taher Shihadeh <>
* doc/modules_handlers_cgi.txt, doc/modules_validators.txt,
doc/modules_handlers_common.txt, doc/modules_handlers_fcgi.txt,
doc/modules_balancers.txt, doc/modules_handlers.txt,
doc/basics_why_cherokee.txt, doc/modules_handlers_redir.txt,
doc/config_quickstart.txt, doc/modules_handlers_file.txt,
doc/modules_loggers.txt, doc/modules_handlers_dirlist.txt,
doc/other_goodies.txt, doc/modules_encoders.txt: more
2008-08-07 Taher Shihadeh <>
* cherokee-guardian.1, doc/basics_installation.txt,
doc/basics_installation_windows.txt, doc/basics.txt,
doc/basics_upgrade.txt, doc/build/chunked_template.conf,
doc/bundle_cget.txt, doc/bundle_cherokee-admin.txt,
doc/bundle_cherokee-config.txt, doc/bundle_cherokee-guardian.txt,
doc/bundle_cherokee-tweak.txt, doc/bundle_cherokee.txt,
doc/bundle.txt, doc/config_encoding.txt,
doc/config_quickstart.txt, doc/config.txt,
doc/config_virtual_servers.txt, doc/cookbook.txt,
doc/dev_cherokee.conf.txt, doc/dev_debug.txt, doc/dev.txt,
doc/modules_balancers_round_robin.txt, doc/modules_balancers.txt,
doc/modules_encoders_deflate.txt, doc/modules_encoders.txt,
doc/modules.txt, doc/TOC.txt: editions to and several new file
additions. Documentation looks better now. Still lots of work to
2008-08-07 Alvaro Lopez Ortega <>
* cherokee/main.c, cherokee/main_guardian.c,
cherokee/server-protected.h, cherokee/server.c, cherokee/server.h:
Implemented graceful restart (aka: from now on, you can upgrade
your Cherokee binary without killing the existing connections).
* cherokee/socket.c: Reimplemented using the TCP layer nodelay
property instead of the file descriptor level.
* cherokee/util.h, cherokee/util.c (cherokee_mkdir_p): Adds a new
function. We will need it eventually.
* cherokee/handler_error_nn.c, cherokee/handler_error_nn.h,
qa/, qa/ Fixes the NN support and adapts
the QA test to the new behavior (it is error handler now).
* cherokee/connection.c (cherokee_connection_parse_header): Adds a
check to ensure that the server will not use keepalive when it is
about to reach the overload limit (>95% of the total capacity).
* cherokee/server.c (cherokee_server_new): timeout is 5 seconds
now. That should be more than enough for the average case.
* cherokee/macros.h, cherokee/socket.c, cherokee/thread.c,
cherokee/thread.h, cherokee/util.c, cherokee/util.h,
cherokee/fdpoll-port.c, cherokee/server.c: This patch makes the
server to reply a quickly built 503 error page when it is
overloaded. This is a very special case because the page is not
sent by using the server infrastructure but by punching a
pre-built string into the socket and closing it right after it.
Additionally, the patch also do some clean-up along the way.
2008-08-06 Alvaro Lopez Ortega <>
* cherokee/fcgi_manager.c, cherokee/socket.c, cherokee/source.c,
cherokee/downloader_async.c, cherokee/common-internal.h,
cherokee/thread.c, cherokee/handler_file.c, cherokee/util.c,
cherokee/util.h, cherokee/handler_scgi.c, cherokee/connection.c,
cherokee/server.c, cherokee/logger_writer.c: Here is another patch
for a nasty bug that has been showing up every now and then since
long time ago.