Permalink
Browse files

Release 9.0

  • Loading branch information...
hsleisink committed Mar 31, 2013
1 parent 1c75d65 commit 8b10bd99e47270de84df25786732209c6c44061e
Showing with 3,543 additions and 2,007 deletions.
  1. +1 −0 CMakeFiles.txt
  2. +8 −5 CMakeLists.txt
  3. +32 −9 ChangeLog
  4. +3 −0 config.h.in
  5. +2 −2 config/hiawatha.conf.in
  6. +19 −18 config/toolkit.conf
  7. +2 −2 extra/debian/init.d/hiawatha
  8. +8 −0 extra/make_debian_package
  9. +8 −0 extra/make_macosx_package
  10. +8 −0 extra/make_source_package
  11. +8 −0 extra/make_windows_package
  12. +71 −85 man/hiawatha.1.in
  13. +3 −0 man/wigwam.1
  14. +50 −23 polarssl/ChangeLog
  15. +0 −1 polarssl/include/.gitignore
  16. +2 −2 polarssl/include/polarssl/base64.h
  17. +2 −1 polarssl/include/polarssl/bignum.h
  18. +79 −57 polarssl/include/polarssl/bn_mul.h
  19. +19 −2 polarssl/include/polarssl/config.h
  20. +3 −0 polarssl/include/polarssl/md5.h
  21. +219 −4 polarssl/include/polarssl/rsa.h
  22. +3 −0 polarssl/include/polarssl/sha1.h
  23. +3 −0 polarssl/include/polarssl/sha2.h
  24. +1 −0 polarssl/include/polarssl/ssl_cache.h
  25. +4 −4 polarssl/include/polarssl/version.h
  26. +0 −2 polarssl/library/.gitignore
  27. +1 −1 polarssl/library/CMakeLists.txt
  28. +1 −1 polarssl/library/bignum.c
  29. +1 −1 polarssl/library/gcm.c
  30. +1 −1 polarssl/library/md5.c
  31. +12 −4 polarssl/library/net.c
  32. +711 −513 polarssl/library/rsa.c
  33. +1 −1 polarssl/library/sha1.c
  34. +1 −1 polarssl/library/sha2.c
  35. +47 −6 polarssl/library/ssl_cache.c
  36. +215 −0 polarssl/library/ssl_srv.c
  37. +74 −28 polarssl/library/ssl_tls.c
  38. +12 −0 polarssl/library/x509parse.c
  39. +19 −11 polarssl/upgrade
  40. +11 −5 src/cache.c
  41. +2 −2 src/cache.h
  42. +7 −4 src/cgi.c
  43. +2 −2 src/cgi.h
  44. +53 −34 src/client.c
  45. +1 −1 src/client.h
  46. +5 −4 src/envir.c
  47. +2 −0 src/global.h
  48. +45 −999 src/hiawatha.c
  49. +2 −0 src/http.c
  50. +11 −0 src/http.h
  51. +33 −3 src/httpauth.c
  52. +1 −0 src/httpauth.h
  53. +49 −18 src/libssl.c
  54. +3 −2 src/libssl.h
  55. +17 −5 src/libstr.c
  56. +22 −7 src/log.c
  57. +1 −1 src/log.h
  58. +3 −1 src/monitor.c
  59. +13 −1 src/rproxy.c
  60. +2 −0 src/send.c
  61. +16 −26 src/serverconfig.c
  62. +3 −2 src/serverconfig.h
  63. +0 −31 src/session.c
  64. +1 −3 src/target.c
  65. +22 −4 src/tomahawk.c
  66. +1 −1 src/tomahawk.h
  67. +172 −56 src/toolkit.c
  68. +7 −6 src/toolkit.h
  69. +39 −4 src/wigwam.c
  70. +1,315 −0 src/workers.c
  71. +28 −0 src/workers.h
  72. BIN src/workers.o
View
@@ -33,6 +33,7 @@ set(hiawatha_src
src/tomahawk.c
src/toolkit.c
src/userconfig.c
+ src/workers.c
src/xslt.c
)
if(NOT ENABLE_SSL)
View
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.4)
project(Hiawatha C)
# Compiler
-set(CMAKE_C_FLAGS "-Wall -Wextra")
+set(CMAKE_C_FLAGS "-O2 -Wall -Wextra ${CMAKE_C_FLAGS}")
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
# Options
@@ -22,14 +22,16 @@ include(CheckIncludeFile)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckLibraryExists)
-include(FindLibXml2)
-include(FindLibXslt)
+if(ENABLE_XSLT)
+ include(FindLibXml2)
+ include(FindLibXslt)
+endif()
include(cmake/GNUInstallDirs.cmake)
include(cmake/CopyIfNotExists.cmake)
# Settings
-set(HIAWATHA_VERSION_MAJOR 8)
-set(HIAWATHA_VERSION_MINOR 8)
+set(HIAWATHA_VERSION_MAJOR 9)
+set(HIAWATHA_VERSION_MINOR 0)
set(HIAWATHA_VERSION_PATCH 0)
string(TOLOWER ${CMAKE_PROJECT_NAME} PROJECT_NAME)
if(${HIAWATHA_VERSION_PATCH} EQUAL 0)
@@ -62,6 +64,7 @@ check_function_exists(strnstr HAVE_STRNSTR)
check_function_exists(strcasestr HAVE_STRCASESTR)
check_library_exists(crypt crypt "" HAVE_CRYPT_LIBRARY)
+check_library_exists(crypt crypt_r "" HAVE_CRYPT_R)
check_library_exists(network socket "" HAVE_NETWORK_LIBRARY)
check_library_exists(z gzdopen "" HAVE_Z_LIBRARY)
View
@@ -1,3 +1,26 @@
+hiawatha (9.0) stable; urgency=low
+
+ * Clients handled via thread pool instead of creating threads on the fly.
+ * ThreadPoolSize option added.
+ * Header option added to URL Toolkit.
+ * Improved client SSL certificate handling. Environment variables renamed.
+ * PolarSSL updated to version 1.2.6.
+ * Improved Reverse Proxy caching support for requests with URL parameters.
+ * CacheMinFilesize option removed.
+ * DenyBot option removed. Use UrlToolkit's Header option instead.
+ * OldBrowser option removed from URL Toolkit. Use Header option instead.
+ * Improved UrlToolkit rule testing in wigwam.
+ * Small bugfixes and improvements.
+
+ -- Hugo Leisink <hugo@leisink.net> Thu, 28 Mar 2013 11:46:52 +0100
+
+hiawatha (8.8.1) stable; urgency=medium
+
+ * Bugfix: Incorrect size of buffer for poll() can lead to a crash
+ when using Tomahawk.
+
+ -- Hugo Leisink <hugo@leisink.net> Tue, 5 Mar 2013 15:27:01 +0100
+
hiawatha (8.8) stable; urgency=low
* Caching for Reverse Proxy. CacheRProxyExtensions option added.
@@ -101,7 +124,7 @@ hiawatha (8.0) stable; urgency=low
* Replaced Autoconf with CMake. Many thanks to Sander Niemeijer.
* Replaced OpenSSL with PolarSSL. Many thanks to Paul Bakker.
* AllowedCiphers and DHparameters options removed.
- * Added IE7 to UrlToolkit's OldBrowser list, removed IE5.
+ * Added IE7 to URL Toolkit's OldBrowser list, removed IE5.
* MaxUrlLength option added, can return 414 Request-URI Too Long.
* Changed default value of TriggerOnCGIstatus to 'no'.
* Equalized format of logfiles.
@@ -151,7 +174,7 @@ hiawatha (7.6) stable; urgency=low
hiawatha (7.5) stable; urgency=low
- * OldBrowser option added to URL toolkit.
+ * OldBrowser option added to URL Toolkit.
* Improved mimetype configuration.
* Do-not-track HTTP header support.
* Password file entries can now be created with Wigwam.
@@ -190,8 +213,8 @@ hiawatha (7.3) stable; urgency=low
hiawatha (7.2) stable; urgency=low
- * URL toolkit code restructured.
- * UseSSL option added to URL toolkit.
+ * URL Toolkit code restructured.
+ * UseSSL option added to URL Toolkit.
* Digest HTTP authentication works with htdigest(1) created password files.
* Small improvements.
@@ -220,7 +243,7 @@ hiawatha (7.0) stable; urgency=low
hiawatha (6.19) stable; urgency=low
- * Expire option added to URL toolkit.
+ * Expire option added to URL Toolkit.
* HideProxy option added.
* UNIX socket support for connections to FastCGI daemons.
* ExploitLogfile option added.
@@ -231,9 +254,9 @@ hiawatha (6.19) stable; urgency=low
hiawatha (6.18) stable; urgency=low
* DenyBody and BanOnDeniedBody options added.
- * PreventCMDi and BanOnCMDi options removed. DenyBody and UrlToolkit offer
+ * PreventCMDi and BanOnCMDi options removed. DenyBody and URL Toolkit offer
better functionality.
- * Ban option added to URL toolkit.
+ * Ban option added to URL Toolkit.
* UseGZfile now first looks for .gz file instead of after requested file
does not exist.
* Changed duplicate hostnames in configuration from blocking error to
@@ -347,9 +370,9 @@ hiawatha (6.9) stable; urgency=low
hiawatha (6.8) stable; urgency=low
* XSLT parameter support.
- * 'URL rewriting' has been renamed to 'URL toolkit' (because rewriting
+ * 'URL rewriting' has been renamed to 'URL Toolkit' (because rewriting
is just one of the four options of this feature).
- * FastCGI option added to URL toolkit.
+ * FastCGI option added to URL Toolkit.
* WaitForCGI option added.
* Small bugfixes and improvements.
View
@@ -13,6 +13,7 @@
#define _GNU_SOURCE 1
#cmakedefine CYGWIN ${CYGWIN}
#cmakedefine CIFS ${CIFS}
+#cmakedefine MACOSX ${MACOSX}
/* Hiawatha modules
*/
@@ -23,6 +24,7 @@
#cmakedefine ENABLE_MONITOR ${ENABLE_MONITOR}
#cmakedefine ENABLE_RPROXY ${ENABLE_RPROXY}
#cmakedefine ENABLE_SSL ${ENABLE_SSL}
+#define ENABLE_THREAD_POOL ON
#cmakedefine ENABLE_TOMAHAWK ${ENABLE_TOMAHAWK}
#cmakedefine ENABLE_TOOLKIT ${ENABLE_TOOLKIT}
#cmakedefine ENABLE_XSLT ${ENABLE_XSLT}
@@ -37,6 +39,7 @@
/* Functions
*/
+#cmakedefine HAVE_CRYPT_R ${HAVE_CRYPT_R}
#cmakedefine HAVE_SETENV ${HAVE_SETENV}
#cmakedefine HAVE_UNSETENV ${HAVE_UNSETENV}
#cmakedefine HAVE_CLEARENV ${HAVE_CLEARENV}
View
@@ -5,8 +5,8 @@
# GENERAL SETTINGS
#
#ServerId = www-data
-ConnectionsTotal = 150
-ConnectionsPerIP = 10
+ConnectionsTotal = 250
+ConnectionsPerIP = 25
SystemLogfile = @LOG_DIR@/system.log
GarbageLogfile = @LOG_DIR@/garbage.log
View
@@ -1,23 +1,24 @@
UrlToolkit {
Call <rewrite_id>
- Match <url> Ban <seconds>
- Match <url> Call <toolkit_id>
- Match <url> DenyAccess
- Match <url> Exit
- Match <url> Expire <number> (seconds|minutes|hours|days|weeks|months) [return|exit]
- Match <url> Goto <toolkit_id>
- Match <url> Return
- Match <url> Rewrite <replace> [<max_loop>] [continue|return]
- Match <url> Redirect <url>
- Match <url> Skip <lines>
- Match <url> UseFastCGI <fastcgi_server_id>
- OldBrowser <url>
- RequestURI exists|isfile|isdir return|exit
+ Header <key> [!]<value> Call|DenyAccess|Exit|Goto|Return|Skip|Use
+ Match [!]<url> Ban|Call|DenyAccess|Exit|Expire|Goto|Return|Rewrite|Redirect|Skip|UseFastCGI
+ RequestURI exists|isfile|isdir Return|Exit
Skip <lines>
ToolkitID = <toolkit_id>
- UseSSL Call <toolkit_id>
- UseSSL Exit
- UseSSL Goto <toolkit_id>
- UseSSL Return
- UseSSL Skip <lines>
+ UseSSL Call|Exit|Goto|Return|Skip
}
+
+
+Actions:
+ Ban <seconds>
+ Call <toolkit_id>
+ DenyAccess
+ Exit
+ Expire <number> (seconds|minutes|hours|days|weeks|months) [Return|Exit]
+ Goto <toolkit_id>
+ Return
+ Rewrite <replace> [<max_loop>] [Continue|Return]
+ Redirect <url>
+ Skip <lines>
+ Use <url>
+ UseFastCGI <fastcgi_server_id>
@@ -103,8 +103,8 @@ case "$1" in
stop_hiawatha
;;
restart|force-reload)
- stop_hiawatha
- start_hiawatha
+ $0 stop
+ $0 start
;;
check)
config_check
@@ -5,6 +5,14 @@ if [ ! -f /etc/debian_version ]; then
exit
fi
+# Check for CMake
+#
+cmake --version 2> /dev/null
+if [ $? != 0 ]; then
+ echo "CMake is not installed but required for building Hiawatha."
+ exit
+fi
+
# Checking for packages required for building a Debian package
#
echo "-- Checking for required packages"
@@ -5,6 +5,14 @@ if [ ! -f /mach_kernel ]; then
exit
fi
+# Check for CMake
+#
+cmake --version 2> /dev/null
+if [ $? != 0 ]; then
+ echo "CMake is not installed but required for building Hiawatha."
+ exit
+fi
+
# Checking for tools required for building a MacOS X package
#
echo "-- Checking for required tools"
@@ -9,6 +9,14 @@ fi
mkdir build_source_package
cd build_source_package
+# Check for CMake
+#
+cmake --version 2> /dev/null
+if [ $? != 0 ]; then
+ echo "CMake is not installed but required for building Hiawatha."
+ exit
+fi
+
# Make source package
#
cmake ..
@@ -5,6 +5,14 @@ if [ `uname -o` != "Cygwin" ]; then
exit
fi
+# Check for CMake
+#
+cmake --version 2> /dev/null
+if [ $? != 0 ]; then
+ echo "CMake is not installed but required for building Hiawatha."
+ exit
+fi
+
# Checking for tools required for building a Windows package
#
echo "-- Checking for required tools"
Oops, something went wrong.

0 comments on commit 8b10bd9

Please sign in to comment.