summaryrefslogtreecommitdiffstats
path: root/package/mini_httpd
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-10-19 00:16:27 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-10-19 00:16:27 +0000
commit3dd1167ead9189b74e0c9a1fffeda09be418d687 (patch)
tree5c22189672272ef66f330b0e6779f32fa87f32e6 /package/mini_httpd
parent538bd8dadbdf7431158dca4cb176adacff4ceeab (diff)
add a patch to provide a descent PATH to cgi,
split in 3 packages (w/o ssl, w/ matrixssl & w/ openssl), add a restart command to init-script. git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2174 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mini_httpd')
-rw-r--r--package/mini_httpd/Config.in60
-rw-r--r--package/mini_httpd/Makefile57
-rw-r--r--package/mini_httpd/files/mini_httpd-ssl.conf7
-rw-r--r--package/mini_httpd/files/mini_httpd.conf4
-rw-r--r--package/mini_httpd/files/mini_httpd.init13
-rw-r--r--package/mini_httpd/ipkg/mini-httpd-matrixssl.conffiles3
-rw-r--r--package/mini_httpd/ipkg/mini-httpd-matrixssl.control9
-rw-r--r--package/mini_httpd/ipkg/mini-httpd-openssl.conffiles3
-rw-r--r--package/mini_httpd/ipkg/mini-httpd-openssl.control9
-rw-r--r--package/mini_httpd/ipkg/mini-httpd.conffiles1
-rw-r--r--package/mini_httpd/ipkg/mini-httpd.control4
-rw-r--r--package/mini_httpd/patches/001-cgi_path.patch16
-rw-r--r--package/mini_httpd/patches/500-matrixssl.patch10
13 files changed, 179 insertions, 17 deletions
diff --git a/package/mini_httpd/Config.in b/package/mini_httpd/Config.in
index 484924f79..fb319ae12 100644
--- a/package/mini_httpd/Config.in
+++ b/package/mini_httpd/Config.in
@@ -1,6 +1,66 @@
+config BR2_COMPILE_MINI_HTTPD
+ bool
+ default n
+ depends BR2_PACKAGE_MINI_HTTPD || BR2_PACKAGE_MINI_HTTPD_MATRIXSSL || BR2_PACKAGE_MINI_HTTPD_OPENSSL
+
config BR2_PACKAGE_MINI_HTTPD
tristate "mini-httpd - A small web server"
default m if CONFIG_DEVEL
+ select BR2_COMPILE_MINI_HTTPD
+ help
+ mini_httpd is a small HTTP server. Its performance is not great, but for
+ low or medium traffic sites it's quite adequate. It implements all the
+ basic features of an HTTP server, including:
+
+ * GET, HEAD, and POST methods.
+ * CGI.
+ * Basic authentication.
+ * Security against ".." filename snooping.
+ * The common MIME types.
+ * Trailing-slash redirection.
+ * index.html, index.htm, index.cgi
+ * Directory listings.
+ * Multihoming / virtual hosting.
+ * Standard logging.
+ * Custom error pages.
+
+ It can also be configured to do IPv6.
+
+ http://www.acme.com/software/mini_httpd/
+
+
+config BR2_PACKAGE_MINI_HTTPD_MATRIXSSL
+ tristate "mini-httpd-matrixssl - A small web server, built with SSL support using MatrixSSL"
+ default m if CONFIG_DEVEL
+ select BR2_COMPILE_MINI_HTTPD
+ select BR2_PACKAGE_LIBMATRIXSSL
+ help
+ mini_httpd is a small HTTP server. Its performance is not great, but for
+ low or medium traffic sites it's quite adequate. It implements all the
+ basic features of an HTTP server, including:
+
+ * GET, HEAD, and POST methods.
+ * CGI.
+ * Basic authentication.
+ * Security against ".." filename snooping.
+ * The common MIME types.
+ * Trailing-slash redirection.
+ * index.html, index.htm, index.cgi
+ * Directory listings.
+ * Multihoming / virtual hosting.
+ * Standard logging.
+ * Custom error pages.
+
+ It can also be configured to do SSL/HTTPS and IPv6.
+
+ http://www.acme.com/software/mini_httpd/
+
+
+config BR2_PACKAGE_MINI_HTTPD_OPENSSL
+ tristate "mini-httpd-openssl - A small web server, built with SSL support using OpenSSL"
+ default m if CONFIG_DEVEL
+ select BR2_COMPILE_MINI_HTTPD
+ select BR2_PACKAGE_LIBOPENSSL
help
mini_httpd is a small HTTP server. Its performance is not great, but for
low or medium traffic sites it's quite adequate. It implements all the
diff --git a/package/mini_httpd/Makefile b/package/mini_httpd/Makefile
index aa9d89b1b..2261b54cd 100644
--- a/package/mini_httpd/Makefile
+++ b/package/mini_httpd/Makefile
@@ -16,6 +16,8 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/mini_httpd-$(PKG_VERSION)
include $(TOPDIR)/package/rules.mk
$(eval $(call PKG_template,MINI_HTTPD,mini-httpd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,MINI_HTTPD_MATRIXSSL,mini-httpd-matrixssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,MINI_HTTPD_OPENSSL,mini-httpd-openssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(PKG_BUILD_DIR)/.configured:
@@ -23,18 +25,43 @@ $(PKG_BUILD_DIR)/.configured:
touch $@
$(PKG_BUILD_DIR)/.built:
+ # with MatrixSSL
+ifneq ($(BR2_PACKAGE_MINI_HTTPD_MATRIXSSL),)
$(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) \
OFLAGS="$(TARGET_CFLAGS)" \
+ SSL_DEFS="-DUSE_SSL -DHAVE_MATRIXSSL" \
SSL_INC="-I$(STAGING_DIR)/usr/include" \
SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lmatrixssl" \
+ SSL_OBJS="matrixssl_helper.o" \
all
+ (cd $(PKG_BUILD_DIR); mv mini_httpd mini_httpd-matrixssl; )
+ $(MAKE) -C $(PKG_BUILD_DIR) clean
+endif
+ # with OpenSSL
+ifneq ($(BR2_PACKAGE_MINI_HTTPD_OPENSSL),)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC=$(TARGET_CC) \
+ OFLAGS="$(TARGET_CFLAGS)" \
+ SSL_DEFS="-DUSE_SSL -DHAVE_OPENSSL" \
+ SSL_INC="-I$(STAGING_DIR)/usr/include" \
+ SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lssl -lcrypto" \
+ all
+ (cd $(PKG_BUILD_DIR); mv mini_httpd mini_httpd-openssl; )
+ $(MAKE) -C $(PKG_BUILD_DIR) clean
+endif
+ # without SSL
+ifneq ($(BR2_PACKAGE_MINI_HTTPD),)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC=$(TARGET_CC) \
+ OFLAGS="$(TARGET_CFLAGS)" \
+ all
+endif
touch $@
$(IPKG_MINI_HTTPD):
install -d -m0755 $(IDIR_MINI_HTTPD)/etc
- install -m0644 ./files/mini_httpd.conf $(IDIR_MINI_HTTPD)/etc/
- install -m0600 ./files/mini_httpd.pem $(IDIR_MINI_HTTPD)/etc/
+ install -m0644 ./files/mini_httpd.conf $(IDIR_MINI_HTTPD)/etc/mini_httpd.conf
install -d -m0755 $(IDIR_MINI_HTTPD)/etc/default
install -m0644 ./files/mini_httpd.default $(IDIR_MINI_HTTPD)/etc/default/mini_httpd
install -d -m0755 $(IDIR_MINI_HTTPD)/etc/init.d
@@ -43,3 +70,29 @@ $(IPKG_MINI_HTTPD):
install -m0755 $(PKG_BUILD_DIR)/mini_httpd $(IDIR_MINI_HTTPD)/usr/sbin/
$(RSTRIP) $(IDIR_MINI_HTTPD)
$(IPKG_BUILD) $(IDIR_MINI_HTTPD) $(PACKAGE_DIR)
+
+$(IPKG_MINI_HTTPD_MATRIXSSL):
+ install -d -m0755 $(IDIR_MINI_HTTPD_MATRIXSSL)/etc
+ install -m0644 ./files/mini_httpd-ssl.conf $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/mini_httpd.conf
+ install -m0600 ./files/mini_httpd.pem $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/
+ install -d -m0755 $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/default
+ install -m0644 ./files/mini_httpd.default $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/default/mini_httpd
+ install -d -m0755 $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/init.d
+ install -m0755 ./files/mini_httpd.init $(IDIR_MINI_HTTPD_MATRIXSSL)/etc/init.d/mini_httpd
+ install -d -m0755 $(IDIR_MINI_HTTPD_MATRIXSSL)/usr/sbin
+ install -m0755 $(PKG_BUILD_DIR)/mini_httpd-matrixssl $(IDIR_MINI_HTTPD_MATRIXSSL)/usr/sbin/mini_httpd
+ $(RSTRIP) $(IDIR_MINI_HTTPD_MATRIXSSL)
+ $(IPKG_BUILD) $(IDIR_MINI_HTTPD_MATRIXSSL) $(PACKAGE_DIR)
+
+$(IPKG_MINI_HTTPD_OPENSSL):
+ install -d -m0755 $(IDIR_MINI_HTTPD_OPENSSL)/etc
+ install -m0644 ./files/mini_httpd-ssl.conf $(IDIR_MINI_HTTPD_OPENSSL)/etc/mini_httpd.conf
+ install -m0600 ./files/mini_httpd.pem $(IDIR_MINI_HTTPD_OPENSSL)/etc/
+ install -d -m0755 $(IDIR_MINI_HTTPD_OPENSSL)/etc/default
+ install -m0644 ./files/mini_httpd.default $(IDIR_MINI_HTTPD_OPENSSL)/etc/default/mini_httpd
+ install -d -m0755 $(IDIR_MINI_HTTPD_OPENSSL)/etc/init.d
+ install -m0755 ./files/mini_httpd.init $(IDIR_MINI_HTTPD_OPENSSL)/etc/init.d/mini_httpd
+ install -d -m0755 $(IDIR_MINI_HTTPD_OPENSSL)/usr/sbin
+ install -m0755 $(PKG_BUILD_DIR)/mini_httpd-openssl $(IDIR_MINI_HTTPD_OPENSSL)/usr/sbin/mini_httpd
+ $(RSTRIP) $(IDIR_MINI_HTTPD_OPENSSL)
+ $(IPKG_BUILD) $(IDIR_MINI_HTTPD_OPENSSL) $(PACKAGE_DIR)
diff --git a/package/mini_httpd/files/mini_httpd-ssl.conf b/package/mini_httpd/files/mini_httpd-ssl.conf
new file mode 100644
index 000000000..1cd7022d5
--- /dev/null
+++ b/package/mini_httpd/files/mini_httpd-ssl.conf
@@ -0,0 +1,7 @@
+cgipat=cgi-bin/**|**.sh
+dir=/www
+nochroot
+pidfile=/var/run/mini_httpd.pid
+user=root
+ssl
+certfile=/etc/mini_httpd.pem
diff --git a/package/mini_httpd/files/mini_httpd.conf b/package/mini_httpd/files/mini_httpd.conf
index 2e784520a..d636a4378 100644
--- a/package/mini_httpd/files/mini_httpd.conf
+++ b/package/mini_httpd/files/mini_httpd.conf
@@ -1,7 +1,5 @@
-cgipat=cgi-bin/*
+cgipat=cgi-bin/**|**.sh
dir=/www
nochroot
pidfile=/var/run/mini_httpd.pid
user=root
-ssl
-certfile=/etc/mini_httpd.pem
diff --git a/package/mini_httpd/files/mini_httpd.init b/package/mini_httpd/files/mini_httpd.init
index a6905591d..77bd6fd3b 100644
--- a/package/mini_httpd/files/mini_httpd.init
+++ b/package/mini_httpd/files/mini_httpd.init
@@ -1,20 +1,25 @@
#!/bin/sh
-DEFAULT=/etc/default/mini_httpd
+BIN=mini_httpd
+DEFAULT=/etc/default/$BIN
RUN_D=/var/run
-PID_F=$RUN_D/mini_httpd.pid
+PID_F=$RUN_D/$BIN.pid
[ -f $DEFAULT ] && . $DEFAULT
case $1 in
start)
[ -d $RUN_D ] || mkdir -p $RUN_D
- mini_httpd $OPTIONS
+ $BIN $OPTIONS 2>/dev/null
;;
stop)
[ -f $PID_F ] && kill $(cat $PID_F)
;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
*)
- echo "usage: $0 (start|stop)"
+ echo "usage: $0 (start|stop|restart)"
exit 1
esac
diff --git a/package/mini_httpd/ipkg/mini-httpd-matrixssl.conffiles b/package/mini_httpd/ipkg/mini-httpd-matrixssl.conffiles
new file mode 100644
index 000000000..36a86b957
--- /dev/null
+++ b/package/mini_httpd/ipkg/mini-httpd-matrixssl.conffiles
@@ -0,0 +1,3 @@
+/etc/default/mini_httpd
+/etc/mini_httpd.conf
+/etc/mini_httpd.pem
diff --git a/package/mini_httpd/ipkg/mini-httpd-matrixssl.control b/package/mini_httpd/ipkg/mini-httpd-matrixssl.control
new file mode 100644
index 000000000..921299715
--- /dev/null
+++ b/package/mini_httpd/ipkg/mini-httpd-matrixssl.control
@@ -0,0 +1,9 @@
+Package: mini-httpd-matrixssl
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
+Source: buildroot internal
+Description: A small HTTP server, built with SSL support using MatrixSSL.
+Depends: libmatrixssl
diff --git a/package/mini_httpd/ipkg/mini-httpd-openssl.conffiles b/package/mini_httpd/ipkg/mini-httpd-openssl.conffiles
new file mode 100644
index 000000000..36a86b957
--- /dev/null
+++ b/package/mini_httpd/ipkg/mini-httpd-openssl.conffiles
@@ -0,0 +1,3 @@
+/etc/default/mini_httpd
+/etc/mini_httpd.conf
+/etc/mini_httpd.pem
diff --git a/package/mini_httpd/ipkg/mini-httpd-openssl.control b/package/mini_httpd/ipkg/mini-httpd-openssl.control
new file mode 100644
index 000000000..97bc916a8
--- /dev/null
+++ b/package/mini_httpd/ipkg/mini-httpd-openssl.control
@@ -0,0 +1,9 @@
+Package: mini-httpd-openssl
+Priority: optional
+Section: net
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
+Source: buildroot internal
+Description: A small HTTP server, built with SSL support using OpenSSL.
+Depends: libopenssl
diff --git a/package/mini_httpd/ipkg/mini-httpd.conffiles b/package/mini_httpd/ipkg/mini-httpd.conffiles
index 36a86b957..d1123c2a3 100644
--- a/package/mini_httpd/ipkg/mini-httpd.conffiles
+++ b/package/mini_httpd/ipkg/mini-httpd.conffiles
@@ -1,3 +1,2 @@
/etc/default/mini_httpd
/etc/mini_httpd.conf
-/etc/mini_httpd.pem
diff --git a/package/mini_httpd/ipkg/mini-httpd.control b/package/mini_httpd/ipkg/mini-httpd.control
index 508405317..2082aad7e 100644
--- a/package/mini_httpd/ipkg/mini-httpd.control
+++ b/package/mini_httpd/ipkg/mini-httpd.control
@@ -3,7 +3,7 @@ Priority: optional
Section: net
Version: [TBDL]
Architecture: [TBDL]
-Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
-Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/mini_httpd/
+Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
+Source: buildroot internal
Description: A small HTTP server, built with SSL support using MatrixSSL.
Depends: libmatrixssl
diff --git a/package/mini_httpd/patches/001-cgi_path.patch b/package/mini_httpd/patches/001-cgi_path.patch
new file mode 100644
index 000000000..c847d948b
--- /dev/null
+++ b/package/mini_httpd/patches/001-cgi_path.patch
@@ -0,0 +1,16 @@
+diff -ruN mini_httpd-1.19-old/mini_httpd.c mini_httpd-1.19-new/mini_httpd.c
+--- mini_httpd-1.19-old/mini_httpd.c 2005-10-19 01:11:24.000000000 +0200
++++ mini_httpd-1.19-new/mini_httpd.c 2005-10-19 01:13:05.000000000 +0200
+@@ -138,10 +138,10 @@
+ #define CGI_NICE 10
+ #endif /* CGI_NICE */
+ #ifndef CGI_PATH
+-#define CGI_PATH "/usr/local/bin:/usr/ucb:/bin:/usr/bin"
++#define CGI_PATH "/usr/bin:/bin:/usr/sbin:/sbin"
+ #endif /* CGI_PATH */
+ #ifndef CGI_LD_LIBRARY_PATH
+-#define CGI_LD_LIBRARY_PATH "/usr/local/lib:/usr/lib"
++#define CGI_LD_LIBRARY_PATH "/usr/lib:/lib"
+ #endif /* CGI_LD_LIBRARY_PATH */
+ #ifndef AUTH_FILE
+ #define AUTH_FILE ".htpasswd"
diff --git a/package/mini_httpd/patches/500-matrixssl.patch b/package/mini_httpd/patches/500-matrixssl.patch
index e2d83af88..0ab8d6833 100644
--- a/package/mini_httpd/patches/500-matrixssl.patch
+++ b/package/mini_httpd/patches/500-matrixssl.patch
@@ -14,11 +14,11 @@ diff -ruN mini_httpd-1.19-orig/Makefile mini_httpd-1.19-3/Makefile
+#SSL_OBJS =
+
+# MatrixSSL
-+SSL_TREE =
-+SSL_DEFS = -DUSE_SSL -DHAVE_MATRIXSSL
-+SSL_INC =
-+SSL_LIBS = -lmatrixssl
-+SSL_OBJS = matrixssl_helper.o
++#SSL_TREE =
++#SSL_DEFS = -DUSE_SSL -DHAVE_MATRIXSSL
++#SSL_INC =
++#SSL_LIBS = -lmatrixssl
++#SSL_OBJS = matrixssl_helper.o
-BINDIR = /usr/local/sbin