--- /dev/null
+#
+# Copyright (C) 2007-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=apache
+PKG_VERSION:=2.2.27
+PKG_RELEASE:=1
+PKG_SOURCE_NAME:=httpd
+PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
+PKG_LICENSE:=Apache License
+
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://mirrors.ibiblio.org/apache/httpd/ \
+ http://apache.imsam.info/httpd/
+PKG_MD5SUM:=8faef0decf3fa7e69b2568eb2105a3d8
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/apache/Default
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Web Servers/Proxies
+ TITLE:=The Apache Web Server
+ URL:=http://httpd.apache.org/
+endef
+
+define Package/apache/Default/description
+ The Apache Web Server is a powerful and flexible HTTP/1.1 compliant
+ web server. Originally designed as a replacement for the NCSA HTTP
+ Server, it has grown to be the most popular web server on the Internet.
+endef
+
+define Package/apache
+$(call Package/apache/Default)
+ DEPENDS:=+libapr +libaprutil +libpcre +libopenssl +unixodbc
+endef
+
+define Package/apache/description
+$(call Package/apache/Default/description)
+ .
+ This package contains the Apache web server and utility programs.
+ .
+ Take care that you don't include apache at the moment into your image
+ please select it only as module because busybox will override
+ /usr/sbin/httpd. It'll be solved soon. If you need to include this
+ package in the image anyway, remove httpd from busybox
+ (Base system --> Configuration --> Networking Utilities --> httpd).
+ Also you should take care for the initscripts, apache's httpd isn't
+ compatible with the one from busybox, so if you want to use apache
+ for running your webif, you'll need to change the parameters in the
+ scripts and configure the rest in /etc/httpd.conf.
+endef
+
+define Package/apache/conffiles
+/etc/apache/httpd.conf
+/etc/apache/extra/httpd-autoindex.conf
+/etc/apache/extra/httpd-dav.conf
+/etc/apache/extra/httpd-default.conf
+/etc/apache/extra/httpd-info.conf
+/etc/apache/extra/httpd-languages.conf
+/etc/apache/extra/httpd-manual.conf
+/etc/apache/extra/httpd-mpm.conf
+/etc/apache/extra/httpd-multilang-errordoc.conf
+/etc/apache/extra/httpd-ssl.conf
+/etc/apache/extra/httpd-userdir.conf
+/etc/apache/extra/httpd-vhosts.conf
+/etc/apache/magic
+/etc/apache/mime.types
+endef
+
+define Package/apache-icons
+$(call Package/apache/Default)
+ TITLE:=Icons from Apache
+ DEPENDS:=apache
+endef
+
+define Package/apache-icons/description
+$(call Package/apache/Default/description)
+ .
+ This package contains the icons from Apache.
+endef
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+define Build/Configure
+ $(call Build/Configure/Default, \
+ --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \
+ --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \
+ --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \
+ --enable-http \
+ --enable-ssl \
+ --enable-proxy \
+ --disable-disk-cache \
+ --enable-maintainer-mode \
+ --enable-mime-magic \
+ --without-suexec-bin \
+ --sysconfdir=/etc/apache \
+ ap_cv_void_ptr_lt_long=no \
+ logfiledir="/var/log" \
+ runtimedir="/var/run" \
+ )
+endef
+
+define Build/InstallDev
+ rm -rf $(PKG_INSTALL_DIR)/usr/man/ \
+ $(PKG_INSTALL_DIR)/usr/share/manual/
+ # if you need docs take a look into the build-dir :)
+ $(INSTALL_DIR) $(1)/etc
+ $(CP) $(PKG_INSTALL_DIR)/etc/* \
+ $(1)/etc
+ $(INSTALL_DIR) $(1)/usr/include/apache
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/* \
+ $(1)/usr/include/apache
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp \
+ $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(CP) $(PKG_INSTALL_DIR)/usr/sbin/* \
+ $(1)/usr/sbin
+ $(INSTALL_DIR) $(1)/usr/share
+ $(CP) $(PKG_INSTALL_DIR)/usr/share/* \
+ $(1)/usr/share
+endef
+
+define Package/apache/preinst
+ rm /usr/sbin/httpd
+ echo -e "You should take a look in the initscripts, busybox's httpd \n\
+ uses some parameters which are maybe unsupported by apache."
+endef
+
+define Package/apache/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ # we don't need apxs on the router, it's just for building apache modules.
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{ab,apachectl,checkgid,dbmmanage,envvars,envvars-std,htcacheclean,htdbm,htdigest,htpasswd,httpd,httxt2dbm,logresolve,rotatelogs} $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/httpd.exp $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/share
+ $(CP) $(PKG_INSTALL_DIR)/usr/share/{error,htdocs,cgi-bin,build} $(1)/usr/share/
+ $(INSTALL_DIR) $(1)/etc/apache
+ $(CP) $(PKG_INSTALL_DIR)/etc/apache/{httpd.conf,magic,mime.types,extra} $(1)/etc/apache/
+endef
+
+define Package/apache/postrm
+ rm -rf /usr/sbin/httpd
+ ln -s /bin/busybox /usr/sbin/httpd
+ echo -e "You may need to change your initscripts back for the use \n\
+ with busybox's httpd."
+endef
+
+define Package/apache-icons/install
+ $(INSTALL_DIR) $(1)/usr/share
+ $(CP) $(PKG_INSTALL_DIR)/usr/share/icons $(1)/usr/share/
+endef
+
+$(eval $(call BuildPackage,apache))
+$(eval $(call BuildPackage,apache-icons))
--- /dev/null
+--- a/server/Makefile.in
++++ b/server/Makefile.in
+@@ -26,7 +26,10 @@ gen_test_char: $(gen_test_char_OBJECTS)
+ $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
+
+ test_char.h: gen_test_char
+- ./gen_test_char > test_char.h
++ true
++# ./gen_test_char > test_char.h
++# doesn't matter if you run it on the buildhost or on an wl500gd,
++# same output on both, so i just patched in the test_char.h :).
+
+ util.lo: test_char.h
+
--- /dev/null
+--- /dev/null
++++ b/server/test_char.h
+@@ -0,0 +1,23 @@
++/* this file is automatically generated by gen_test_char, do not edit */
++#define T_ESCAPE_SHELL_CMD (1)
++#define T_ESCAPE_PATH_SEGMENT (2)
++#define T_OS_ESCAPE_PATH (4)
++#define T_HTTP_TOKEN_STOP (8)
++#define T_ESCAPE_LOGITEM (16)
++#define T_ESCAPE_FORENSIC (32)
++
++static const unsigned char test_char_table[256] = {
++ 32,62,62,62,62,62,62,62,62,62,63,62,62,62,62,62,62,62,62,62,
++ 62,62,62,62,62,62,62,62,62,62,62,62,14,0,23,6,1,38,1,1,
++ 9,9,1,0,8,0,0,10,0,0,0,0,0,0,0,0,0,0,40,15,
++ 15,8,15,15,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
++ 0,0,0,0,0,0,0,0,0,0,0,15,31,15,7,0,7,0,0,0,
++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
++ 0,0,0,15,39,15,1,62,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,
++ 54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54
++};
--- /dev/null
+--- a/build/mkconfNW.awk
++++ b/build/mkconfNW.awk
+@@ -24,7 +24,7 @@ BEGIN {
+ A["sysconfdir"] = "conf"
+ A["iconsdir"] = "icons"
+ A["manualdir"] = "manual"
+- A["runtimedir"] = "logs"
++ A["runtimedir"] = "log"
+ A["errordir"] = "error"
+ A["proxycachedir"] = "proxy"
+
+--- a/config.layout
++++ b/config.layout
+@@ -28,8 +28,8 @@
+ cgidir: ${datadir}/cgi-bin
+ includedir: ${prefix}/include
+ localstatedir: ${prefix}
+- runtimedir: ${localstatedir}/logs
+- logfiledir: ${localstatedir}/logs
++ runtimedir: ${localstatedir}/log
++ logfiledir: ${localstatedir}/log
+ proxycachedir: ${localstatedir}/proxy
+ </Layout>
+
+@@ -150,7 +150,7 @@
+ includedir: ${prefix}/include
+ localstatedir: /var${prefix}
+ runtimedir: ${localstatedir}/run
+- logfiledir: ${localstatedir}/logs
++ logfiledir: ${localstatedir}/log
+ proxycachedir: ${localstatedir}/proxy
+ </Layout>
+
--- /dev/null
+--- a/include/scoreboard.h
++++ b/include/scoreboard.h
+@@ -42,7 +42,7 @@ extern "C" {
+
+ /* Scoreboard file, if there is one */
+ #ifndef DEFAULT_SCOREBOARD
+-#define DEFAULT_SCOREBOARD "logs/apache_runtime_status"
++#define DEFAULT_SCOREBOARD "log/apache_runtime_status"
+ #endif
+
+ /* Scoreboard info on a process is, for now, kept very brief ---
--- /dev/null
+--- a/docs/conf/httpd.conf.in
++++ b/docs/conf/httpd.conf.in
+@@ -51,7 +51,6 @@ Listen @@Port@@
+ # Example:
+ # LoadModule foo_module modules/mod_foo.so
+ #
+-@@LoadModule@@
+
+ <IfModule !mpm_netware_module>
+ <IfModule !mpm_winnt_module>
+@@ -63,8 +62,8 @@ Listen @@Port@@
+ # It is usually good practice to create a dedicated user and group for
+ # running httpd, as with most system services.
+ #
+-User daemon
+-Group daemon
++User nobody
++Group nogroup
+
+ </IfModule>
+ </IfModule>
+@@ -191,7 +190,7 @@ ErrorLog "@rel_logfiledir@/error_log"
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ #
+-LogLevel warn
++LogLevel debug
+
+ <IfModule log_config_module>
+ #
+@@ -336,7 +335,7 @@ DefaultType text/plain
+ # contents of the file itself to determine its type. The MIMEMagicFile
+ # directive tells the module where the hint definitions are located.
+ #
+-#MIMEMagicFile @rel_sysconfdir@/magic
++MIMEMagicFile @rel_sysconfdir@/magic
+
+ #
+ # Customizable error responses come in three flavors:
+@@ -358,7 +357,7 @@ DefaultType text/plain
+ # broken on your system.
+ #
+ #EnableMMAP off
+-#EnableSendfile off
++EnableSendfile off
+
+ # Supplemental configuration
+ #
+@@ -404,7 +403,7 @@ DefaultType text/plain
+ # starting without SSL on platforms with no /dev/random equivalent
+ # but a statically compiled-in mod_ssl.
+ #
+-<IfModule ssl_module>
+-SSLRandomSeed startup builtin
+-SSLRandomSeed connect builtin
+-</IfModule>
++#<IfModule ssl_module>
++#SSLRandomSeed startup builtin
++#SSLRandomSeed connect builtin
++#</IfModule>