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.

SVN-Revision: 2174
This commit is contained in:
Nicolas Thill 2005-10-19 00:16:27 +00:00
parent 5824225005
commit 9056ac5ca0
14 changed files with 187 additions and 19 deletions

View file

@ -107,7 +107,7 @@ package-$(BR2_PACKAGE_MARADNS) += maradns
package-$(BR2_PACKAGE_MATRIXSSL) += matrixssl package-$(BR2_PACKAGE_MATRIXSSL) += matrixssl
package-$(BR2_PACKAGE_MICROCOM) += microcom package-$(BR2_PACKAGE_MICROCOM) += microcom
package-$(BR2_PACKAGE_MICROPERL) += microperl package-$(BR2_PACKAGE_MICROPERL) += microperl
package-$(BR2_PACKAGE_MINI_HTTPD) += mini_httpd package-$(BR2_COMPILE_MINI_HTTPD) += mini_httpd
package-$(BR2_PACKAGE_MINI_SENDMAIL) += mini_sendmail package-$(BR2_PACKAGE_MINI_SENDMAIL) += mini_sendmail
package-$(BR2_PACKAGE_MONIT) += monit package-$(BR2_PACKAGE_MONIT) += monit
package-$(BR2_PACKAGE_MPD) += mpd package-$(BR2_PACKAGE_MPD) += mpd
@ -248,7 +248,6 @@ libvorbis-compile: libogg-compile
libxml2-compile: zlib-compile libxml2-compile: zlib-compile
libxslt-compile: libxml2-compile libxslt-compile: libxml2-compile
lighttpd-compile: openssl-compile pcre-compile lighttpd-compile: openssl-compile pcre-compile
mini_httpd-compile: matrixssl-compile
mt-daapd-compile: howl-compile libgdbm-compile libid3tag-compile mt-daapd-compile: howl-compile libgdbm-compile libid3tag-compile
mtr-compile: ncurses-compile mtr-compile: ncurses-compile
mysql-compile: ncurses-compile zlib-compile mysql-compile: ncurses-compile zlib-compile
@ -314,6 +313,13 @@ ifneq ($(BR2_PACKAGE_FREERADIUS_MOD_SQL_PGSQL),)
freeradius-compile: postgresql-compile freeradius-compile: postgresql-compile
endif endif
ifneq ($(BR2_PACKAGE_MINI_HTTPD_MATRIXSSL),)
mini_httpd-compile: matrixssl-compile
endif
ifneq ($(BR2_PACKAGE_MINI_HTTPD_OPENSSL),)
mini_httpd-compile: openssl-compile
endif
ifneq ($(BR2_PACKAGE_MPD_MP3),) ifneq ($(BR2_PACKAGE_MPD_MP3),)
mpd-compile: libid3tag-compile libmad-compile mpd-compile: libid3tag-compile libmad-compile
endif endif

View file

@ -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 config BR2_PACKAGE_MINI_HTTPD
tristate "mini-httpd - A small web server" tristate "mini-httpd - A small web server"
default m if CONFIG_DEVEL 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 help
mini_httpd is a small HTTP server. Its performance is not great, but for 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 low or medium traffic sites it's quite adequate. It implements all the

View file

@ -16,6 +16,8 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/mini_httpd-$(PKG_VERSION)
include $(TOPDIR)/package/rules.mk include $(TOPDIR)/package/rules.mk
$(eval $(call PKG_template,MINI_HTTPD,mini-httpd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) $(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: $(PKG_BUILD_DIR)/.configured:
@ -23,18 +25,43 @@ $(PKG_BUILD_DIR)/.configured:
touch $@ touch $@
$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.built:
# with MatrixSSL
ifneq ($(BR2_PACKAGE_MINI_HTTPD_MATRIXSSL),)
$(MAKE) -C $(PKG_BUILD_DIR) \ $(MAKE) -C $(PKG_BUILD_DIR) \
CC=$(TARGET_CC) \ CC=$(TARGET_CC) \
OFLAGS="$(TARGET_CFLAGS)" \ OFLAGS="$(TARGET_CFLAGS)" \
SSL_DEFS="-DUSE_SSL -DHAVE_MATRIXSSL" \
SSL_INC="-I$(STAGING_DIR)/usr/include" \ SSL_INC="-I$(STAGING_DIR)/usr/include" \
SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lmatrixssl" \ SSL_LIBS="-L$(STAGING_DIR)/usr/lib -lmatrixssl" \
SSL_OBJS="matrixssl_helper.o" \
all 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 $@ touch $@
$(IPKG_MINI_HTTPD): $(IPKG_MINI_HTTPD):
install -d -m0755 $(IDIR_MINI_HTTPD)/etc install -d -m0755 $(IDIR_MINI_HTTPD)/etc
install -m0644 ./files/mini_httpd.conf $(IDIR_MINI_HTTPD)/etc/ install -m0644 ./files/mini_httpd.conf $(IDIR_MINI_HTTPD)/etc/mini_httpd.conf
install -m0600 ./files/mini_httpd.pem $(IDIR_MINI_HTTPD)/etc/
install -d -m0755 $(IDIR_MINI_HTTPD)/etc/default install -d -m0755 $(IDIR_MINI_HTTPD)/etc/default
install -m0644 ./files/mini_httpd.default $(IDIR_MINI_HTTPD)/etc/default/mini_httpd install -m0644 ./files/mini_httpd.default $(IDIR_MINI_HTTPD)/etc/default/mini_httpd
install -d -m0755 $(IDIR_MINI_HTTPD)/etc/init.d 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/ install -m0755 $(PKG_BUILD_DIR)/mini_httpd $(IDIR_MINI_HTTPD)/usr/sbin/
$(RSTRIP) $(IDIR_MINI_HTTPD) $(RSTRIP) $(IDIR_MINI_HTTPD)
$(IPKG_BUILD) $(IDIR_MINI_HTTPD) $(PACKAGE_DIR) $(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)

View file

@ -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

View file

@ -1,7 +1,5 @@
cgipat=cgi-bin/* cgipat=cgi-bin/**|**.sh
dir=/www dir=/www
nochroot nochroot
pidfile=/var/run/mini_httpd.pid pidfile=/var/run/mini_httpd.pid
user=root user=root
ssl
certfile=/etc/mini_httpd.pem

View file

@ -1,20 +1,25 @@
#!/bin/sh #!/bin/sh
DEFAULT=/etc/default/mini_httpd BIN=mini_httpd
DEFAULT=/etc/default/$BIN
RUN_D=/var/run RUN_D=/var/run
PID_F=$RUN_D/mini_httpd.pid PID_F=$RUN_D/$BIN.pid
[ -f $DEFAULT ] && . $DEFAULT [ -f $DEFAULT ] && . $DEFAULT
case $1 in case $1 in
start) start)
[ -d $RUN_D ] || mkdir -p $RUN_D [ -d $RUN_D ] || mkdir -p $RUN_D
mini_httpd $OPTIONS $BIN $OPTIONS 2>/dev/null
;; ;;
stop) stop)
[ -f $PID_F ] && kill $(cat $PID_F) [ -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 exit 1
esac esac

View file

@ -0,0 +1,3 @@
/etc/default/mini_httpd
/etc/mini_httpd.conf
/etc/mini_httpd.pem

View file

@ -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

View file

@ -0,0 +1,3 @@
/etc/default/mini_httpd
/etc/mini_httpd.conf
/etc/mini_httpd.pem

View file

@ -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

View file

@ -1,3 +1,2 @@
/etc/default/mini_httpd /etc/default/mini_httpd
/etc/mini_httpd.conf /etc/mini_httpd.conf
/etc/mini_httpd.pem

View file

@ -3,7 +3,7 @@ Priority: optional
Section: net Section: net
Version: [TBDL] Version: [TBDL]
Architecture: [TBDL] Architecture: [TBDL]
Maintainer: OpenWrt Developers Team <bugs@openwrt.org> Maintainer: OpenWrt Developers Team <openwrt-devel@openwrt.org>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/mini_httpd/ Source: buildroot internal
Description: A small HTTP server, built with SSL support using MatrixSSL. Description: A small HTTP server, built with SSL support using MatrixSSL.
Depends: libmatrixssl Depends: libmatrixssl

View file

@ -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"

View file

@ -14,11 +14,11 @@ diff -ruN mini_httpd-1.19-orig/Makefile mini_httpd-1.19-3/Makefile
+#SSL_OBJS = +#SSL_OBJS =
+ +
+# MatrixSSL +# MatrixSSL
+SSL_TREE = +#SSL_TREE =
+SSL_DEFS = -DUSE_SSL -DHAVE_MATRIXSSL +#SSL_DEFS = -DUSE_SSL -DHAVE_MATRIXSSL
+SSL_INC = +#SSL_INC =
+SSL_LIBS = -lmatrixssl +#SSL_LIBS = -lmatrixssl
+SSL_OBJS = matrixssl_helper.o +#SSL_OBJS = matrixssl_helper.o
-BINDIR = /usr/local/sbin -BINDIR = /usr/local/sbin