--- /dev/null
+#
+# 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))
--- /dev/null
+# 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
+#}
--- /dev/null
+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
--- /dev/null
+--- 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);