31 December 2014, 08:54

The first release candidate of version 9.10 has been released. In this version some significant changes have been made. This requires careful testing, so please download it and help me to do the testing of the following changes.

  • The code for calling the UrlToolkit and the reverse proxy have been swapped. This means that you can now specify an UrlToolkit rule which will be processed before using a reverse proxy. The Expire and UseFastCGI actions have no effect when using a reverse proxy.
  • The syntax of the UrlToolkit has been changed a bit. Main change is the introduction of the 'Do' command, which unconditionally performs an action. The command 'Call' and 'Skip' can now only be used as a action for the 'Do' command. And several commands can now be used with extra actions. See config/toolkit.conf for a complete syntax overview. This change made the UrlToolkit code a bit more simple. Easier code means less chance of a bug which means less chance of a security issue.
  • You can now ban misconducting clients who connect via a proxy specified via the HideProxy setting.
  • When you specify multiple reverse proxies for a virtual host, Hiawatha will first look for a matching URL pattern for the reverse proxy with a scheme matching the scheme of the client connection. So, incoming HTTPS connections will be forwarded to a HTTPS reverse proxy when available and HTTP connections to a HTTP reverse proxy when available.

I'm looking forward to your feedback. Even if you didn't find any issue. The 9.10 release candidate can be found at the download page.

31 December 2014, 09:52
Thanks Hugo, I wonder whether the changes in the UrlToolkit will be backwards compatible or not?
Hugo Leisink
31 December 2014, 10:27
Not for the unconditional Call and Skip commands.
Chris Wadge
31 December 2014, 11:17
Hiawatha 9.10-RC1 Debian builds available here: http://files.tuxhelp.org/hiawatha/BETA/
Leo Unglaub
31 December 2014, 18:54
i have updated the Crux-Linux Beta-Ports and testes some routine stuff. However i am not using the proxy functionallity at all so i have no test cases for that.