[packages] add hiawatha web server (closes: #4356, thanks to Raphael Huck)
authorNicolas Thill <nico@openwrt.org>
Sun, 1 Feb 2009 14:50:30 +0000 (14:50 +0000)
committerNicolas Thill <nico@openwrt.org>
Sun, 1 Feb 2009 14:50:30 +0000 (14:50 +0000)
SVN-Revision: 14339

net/hiawatha/Makefile [new file with mode: 0644]
net/hiawatha/files/httpd.conf [new file with mode: 0644]
net/hiawatha/files/mimetype.conf [new file with mode: 0644]
net/hiawatha/patches/100-add_x_requested_http_headers.patch [new file with mode: 0644]

diff --git a/net/hiawatha/Makefile b/net/hiawatha/Makefile
new file mode 100644 (file)
index 0000000..5a0556a
--- /dev/null
@@ -0,0 +1,55 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=hiawatha
+PKG_VERSION:=6.10
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.hiawatha-webserver.org/files/
+PKG_MD5SUM:=78d364b586a766a428b94b4461d4aa04
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/hiawatha
+  CATEGORY:=Network
+  SECTION:=net
+  SUBMENU:=Web
+  TITLE:=A very lightweight web server
+  URL:=http://www.hiawatha-webserver.org/
+  DEPENDS:=+libpthread
+endef
+
+define Package/hiawatha/description
+  Hiawatha is a webserver for Unix.
+endef
+
+CONFIGURE_ARGS+= \
+       --disable-cache \
+       --disable-ssl \
+       --disable-ipv6
+
+CONFIGURE_VARS+= \
+       ac_cv_file__dev_urandom=yes
+
+define Package/hiawatha/conffiles
+/etc/hiawatha/httpd.conf
+/etc/hiawatha/mimetype.conf
+endef
+
+define Package/hiawatha/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hiawatha $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/hiawatha
+       $(INSTALL_DATA) ./files/httpd.conf $(1)/etc/hiawatha/
+       $(INSTALL_DATA) ./files/mimetype.conf $(1)/etc/hiawatha/
+endef
+
+$(eval $(call BuildPackage,hiawatha))
diff --git a/net/hiawatha/files/httpd.conf b/net/hiawatha/files/httpd.conf
new file mode 100644 (file)
index 0000000..b6d02d3
--- /dev/null
@@ -0,0 +1,115 @@
+# Hiawatha main configuration file
+#
+
+
+# GENERAL SETTINGS
+#
+#ServerId = www-data
+ConnectionsTotal = 150
+ConnectionsPerIP = 10
+SystemLogfile = /var/log/hiawatha/system.log
+GarbageLogfile = /var/log/hiawatha/garbage.log
+
+
+# BINDING SETTINGS
+# A binding is where a client can connect to.
+#
+Binding {
+       Port = 80
+#      Interface = 127.0.0.1
+#      MaxKeepAlive = 30
+#      TimeForRequest = 3,20
+}
+#
+#Binding {
+#      Port = 443
+#      Interface = ::1
+#      MaxKeepAlive = 30
+#      TimeForRequest = 3,20
+#      ServerKey = hiawatha.pem
+#      UseSSL = yes
+#}
+
+
+# BANNING SETTINGS
+# Deny service to clients who misbehave.
+#
+#BanOnGarbage = 300
+#BanOnMaxPerIP = 60
+#BanOnMaxReqSize = 300
+#KickOnBan = yes
+#RebanDuringBan = yes
+
+
+# COMMON GATEWAY INTERFACE (CGI) SETTINGS
+# These settings can be used to run CGI applications. Use the 'php-fcgi'
+# tool to start PHP as a FastCGI daemon.
+#
+#CGIhandler = /usr/bin/php-cgi:php
+#CGIhandler = /usr/bin/perl:pl
+#CGIhandler = /usr/bin/python:py
+#CGIextension = cgi
+#
+#FastCGIserver {
+#      FastCGIid = PHP4
+#      ConnectTo = 127.0.0.1:2004
+#      Extension = php, php4
+#}
+#
+#FastCGIserver {
+#      FastCGIid = PHP5
+#      ConnectTo = 10.0.0.100:2005, 10.0.0.101:2005
+#      Extension = php, php5
+#      SessionTimeout = 30
+#}
+
+
+# URL TOOLKIT
+# These URL toolkit rules are made for the Skeleton PHP framework,
+# which can be downloaded from: http://skeleton.leisink.org/
+#
+#UrlToolkit {
+#      ToolkitID = skeleton
+#      Match ^/$ Return
+#      RequestURI isfile Exit
+#      Match (.*)\?(.*) Rewrite $1&$2
+#      Match /(.*) Rewrite /index.php?page=$1
+#}
+
+
+# DEFAULT WEBSITE
+# It is wise to use your IP address as the hostname of the default website
+# and give it a blank webpage. By doing so, automated webscanners won't find
+# your possible vulnerable website.
+#
+Hostname = 127.0.0.1
+WebsiteRoot = /www/
+StartFile = index.html
+AccessLogfile = /var/log/hiawatha/access.log
+ErrorLogfile = /var/log/hiawatha/error.log
+#ErrorHandler = 404:/error.cgi
+
+
+# VIRTUAL HOSTS
+# Use a VirtualHost section to declare the websites you want to host.
+#
+#VirtualHost {
+#      Hostname = www.my-domain.com
+#      WebsiteRoot = /var/www/my-domain/public
+#      StartFile = index.php
+#      AccessLogfile = /var/www/my-domain/log/access.log
+#      ErrorLogfile = /var/www/my-domain/log/error.log
+#      ExecuteCGI = yes
+#      FastCGI = PHP4
+#      TimeForCGI = 5
+#}
+
+
+# DIRECTORY SETTINGS
+# You can specify some settings per directory.
+#
+#Directory {
+#      Path = /home/baduser
+#      ExecuteCGI = no
+#      UploadSpeed = 10,2
+#}
diff --git a/net/hiawatha/files/mimetype.conf b/net/hiawatha/files/mimetype.conf
new file mode 100644 (file)
index 0000000..7e876c7
--- /dev/null
@@ -0,0 +1,16 @@
+application/pdf                                                pdf
+application/octet-stream                       class
+application/x-ns-proxy-autoconfig      pac
+application/x-shockwave-flash          swf
+audio/x-wav                                                    wav
+image/gif                                                      gif
+image/jpeg                                                     jpg
+image/jpeg                                                     jpeg
+image/png                                                      png
+text/css                                                       css
+text/html                                                      html
+text/html                                                      htm
+text/javascript                                                js
+text/plain                                                     txt
+text/xml                                                       dtd
+text/xml                                                       xml
diff --git a/net/hiawatha/patches/100-add_x_requested_http_headers.patch b/net/hiawatha/patches/100-add_x_requested_http_headers.patch
new file mode 100644 (file)
index 0000000..630db8b
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/envir.c
++++ b/envir.c
+@@ -189,6 +189,8 @@ void set_environment(t_session *session,
+       headerfield_to_environment(session, fcgi_buffer, "User-Agent:", "HTTP_USER_AGENT");
+       headerfield_to_environment(session, fcgi_buffer, "Via:", "HTTP_VIA");
+       headerfield_to_environment(session, fcgi_buffer, "X-Forwarded-For:", "HTTP_X_FORWARDED_FOR");
++      headerfield_to_environment(session, fcgi_buffer, "X-Requested-With:", "HTTP_X_REQUESTED_WITH");
++      headerfield_to_environment(session, fcgi_buffer, "X-Requested-Handler:", "HTTP_X_REQUESTED_HANDLER");
+       if (session->path_info != NULL) {
+               add_to_environment(fcgi_buffer, "PATH_INFO", session->path_info);