From 1792f0f6b928d3375022c2d7ef5d1809315eddb3 Mon Sep 17 00:00:00 2001 From: "W. Michael Petullo" Date: Fri, 25 Nov 2016 10:33:28 -0500 Subject: [PATCH 1/4] lighttpd: add option to build mod_authn_file.so Signed-off-by: W. Michael Petullo --- net/lighttpd/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/lighttpd/Makefile b/net/lighttpd/Makefile index 7d3bb5c02..1c17cefbe 100644 --- a/net/lighttpd/Makefile +++ b/net/lighttpd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lighttpd PKG_VERSION:=1.4.42 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x @@ -155,6 +155,7 @@ $(eval $(call BuildPlugin,redirect,URL redirection,+PACKAGE_lighttpd-mod-redirec # Next, permit authentication. $(eval $(call BuildPlugin,auth,Authentication,,20)) +$(eval $(call BuildPlugin,authn_file,File-based authentication,,20)) # Finally, everything else. $(eval $(call BuildPlugin,access,Access restrictions,,30)) From bec3da9759f8ee2f167cebb45fcbcba2493e4d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 20 Feb 2017 12:18:17 +0100 Subject: [PATCH 2/4] lighttpd: update to 1.4.45 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update to 1.4.42 introduced a problem with starting lighttpd as OpenWrt/LEDE service. It was stopping whole init process at sth like: 783 root 1124 S {S50lighttpd} /bin/sh /etc/rc.common /etc/rc.d/S50lighttpd boot 799 root 1164 S /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf It was hanging until getting random pool: [ 176.340007] random: nonblocking pool is initialized and then immediately the rest of init process followed: [ 176.423475] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 176.430754] jffs2_build_filesystem(): unlocking the mtd device... done. [ 176.437615] jffs2_build_filesystem(): erasing all blocks after the end marker... done. This was fixed in 1.4.44, but bump directly to 1.4.45 while at it. Signed-off-by: Rafał Miłecki --- net/lighttpd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/lighttpd/Makefile b/net/lighttpd/Makefile index 1c17cefbe..64b8500fc 100644 --- a/net/lighttpd/Makefile +++ b/net/lighttpd/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lighttpd -PKG_VERSION:=1.4.42 -PKG_RELEASE:=2 +PKG_VERSION:=1.4.45 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x -PKG_MD5SUM:=53c55d7e1dac7adec161cd5490491f6d +PKG_MD5SUM:=a128e1eda76899ce3fd115efae5fe631 PKG_LICENSE:=BSD-3c PKG_LICENSE_FILES:=COPYING From e71771676c7721a6569790c4b488ae252cd2cb7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 22 Feb 2017 08:19:49 +0100 Subject: [PATCH 3/4] lighttpd: fix regression in local-redir used with url.rewrite-once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes upstream regression introduced in 1.4.40. It was reported & debugged in https://redmine.lighttpd.net/issues/2793 This fix is queued for 1.4.46 in the personal/gstrauss/master upstream branch. Signed-off-by: Rafał Miłecki --- net/lighttpd/Makefile | 2 +- ...local-redir-w-url.rewrite-once-fixes.patch | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch diff --git a/net/lighttpd/Makefile b/net/lighttpd/Makefile index 64b8500fc..870fe80c8 100644 --- a/net/lighttpd/Makefile +++ b/net/lighttpd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lighttpd PKG_VERSION:=1.4.45 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x diff --git a/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch b/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch new file mode 100644 index 000000000..a6bbcbe43 --- /dev/null +++ b/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch @@ -0,0 +1,32 @@ +From: Glenn Strauss +Subject: [PATCH] [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes + #2793) + +x-ref: + "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs" + https://redmine.lighttpd.net/issues/2793 +--- + src/mod_cgi.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/src/mod_cgi.c ++++ b/src/mod_cgi.c +@@ -560,8 +560,7 @@ static int cgi_demux_response(server *sr + } + + connection_response_reset(srv, con); /*(includes con->http_status = 0)*/ +- +- con->mode = DIRECT; ++ plugins_call_connection_reset(srv, con); + return FDEVENT_HANDLED_COMEBACK; + } + } +@@ -780,7 +779,7 @@ static int cgi_recv_response(server *srv + /* if we get a IN|HUP and have read everything don't exec the close twice */ + return HANDLER_FINISHED; + case FDEVENT_HANDLED_COMEBACK: +- cgi_connection_close(srv, hctx); ++ /*cgi_connection_close(srv, hctx);*//*(already cleaned up and hctx is now invalid)*/ + return HANDLER_COMEBACK; + case FDEVENT_HANDLED_ERROR: + log_error_write(srv, __FILE__, __LINE__, "s", "demuxer failed: "); From d1433a582c663b6c198afff15790fb084c169d27 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sat, 7 Jan 2017 00:38:05 -0500 Subject: [PATCH 4/4] lighttpd: add new modules, upd URLs, add restart() (with feedback from @hnyman and patch additions from @MikePetullo) Signed-off-by: Glenn Strauss --- net/lighttpd/Makefile | 77 +++++++++++++++++++++++++------- net/lighttpd/files/lighttpd.conf | 11 ++--- net/lighttpd/files/lighttpd.init | 6 +++ 3 files changed, 71 insertions(+), 23 deletions(-) diff --git a/net/lighttpd/Makefile b/net/lighttpd/Makefile index 870fe80c8..37094af8a 100644 --- a/net/lighttpd/Makefile +++ b/net/lighttpd/Makefile @@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lighttpd PKG_VERSION:=1.4.45 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x +PKG_SOURCE_URL:=https://download.lighttpd.net/lighttpd/releases-1.4.x PKG_MD5SUM:=a128e1eda76899ce3fd115efae5fe631 PKG_LICENSE:=BSD-3c @@ -58,10 +58,6 @@ CONFIGURE_ARGS+= \ --without-attr \ --without-bzip2 \ --without-fam \ - --without-gdbm \ - --without-ldap \ - --with-lua \ - --without-memcache \ --with-pcre \ --without-valgrind \ $(call autoconf_bool,CONFIG_IPV6,ipv6) @@ -77,12 +73,52 @@ else --without-openssl endif -ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-mysql-vhost),) - CONFIGURE_ARGS+= \ - --with-mysql +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-authn_gssapi),) + CONFIGURE_ARGS+= --with-krb5 else - CONFIGURE_ARGS+= \ - --without-mysql + CONFIGURE_ARGS+= --without-krb5 +endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-authn_ldap),) + CONFIGURE_ARGS+= --with-ldap +else + CONFIGURE_ARGS+= --without-ldap +endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-authn_mysql),) + CONFIGURE_ARGS+= --with-mysql +else + CONFIGURE_ARGS+= --without-mysql +endif + +#ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-geoip),) +# CONFIGURE_ARGS+= --with-geoip +#else +# CONFIGURE_ARGS+= --without-geoip +#endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-cml)$(CONFIG_PACKAGE_lighttpd-mod-magnet),) + CONFIGURE_ARGS+= --with-lua +else + CONFIGURE_ARGS+= --without-lua +endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-mysql_vhost),) + CONFIGURE_ARGS+= --with-mysql +else + CONFIGURE_ARGS+= --without-mysql +endif + +#ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-cml)$(CONFIG_PACKAGE_lighttpd-mod-trigger_b4_dl),) +# CONFIGURE_ARGS+= --with-memcached +#else +# CONFIGURE_ARGS+= --without-memcached +#endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-trigger_b4_dl),) + CONFIGURE_ARGS+= --with-gdbm +else + CONFIGURE_ARGS+= --without-gdbm endif ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-webdav),) @@ -134,6 +170,7 @@ define BuildPlugin TITLE:=$(2) module endef + ifneq ($(SDK)$(CONFIG_PACKAGE_lighttpd-mod-$(1)),) define Package/lighttpd-mod-$(1)/install $(INSTALL_DIR) $$(1)/usr/lib/lighttpd $(CP) $(PKG_INSTALL_DIR)/usr/lib/lighttpd/mod_$(1).so $$(1)/usr/lib/lighttpd @@ -144,6 +181,7 @@ define BuildPlugin echo 'server.modules += ( "mod_$(1)" )' > $$(1)/etc/lighttpd/conf.d/$(4)-$(1).conf ; \ fi endef + endif $$(eval $$(call BuildPackage,lighttpd-mod-$(1))) endef @@ -156,21 +194,27 @@ $(eval $(call BuildPlugin,redirect,URL redirection,+PACKAGE_lighttpd-mod-redirec # Next, permit authentication. $(eval $(call BuildPlugin,auth,Authentication,,20)) $(eval $(call BuildPlugin,authn_file,File-based authentication,,20)) +$(eval $(call BuildPlugin,authn_gssapi,Kerberos-based authentication,+PACKAGE_lighttpd-mod-authn_gssapi:krb5-libs,20)) +$(eval $(call BuildPlugin,authn_ldap,LDAP-based authentication,+PACKAGE_lighttpd-mod-authn_ldap:libopenldap,20)) +$(eval $(call BuildPlugin,authn_mysql,Mysql-based authentication,+PACKAGE_lighttpd-mod-authn_mysql:libmysqlclient,20)) # Finally, everything else. $(eval $(call BuildPlugin,access,Access restrictions,,30)) $(eval $(call BuildPlugin,accesslog,Access logging,,30)) $(eval $(call BuildPlugin,alias,Directory alias,,30)) $(eval $(call BuildPlugin,cgi,CGI,,30)) -$(eval $(call BuildPlugin,cml,Cache Meta Language,+liblua,30)) +#$(eval $(call BuildPlugin,cml,Cache Meta Language,+PACKAGE_lighttpd-mod-cml:liblua +PACKAGE_lighttpd-mod-cml:libmemcached,30)) +$(eval $(call BuildPlugin,cml,Cache Meta Language,+PACKAGE_lighttpd-mod-cml:liblua,30)) $(eval $(call BuildPlugin,compress,Compress output,+PACKAGE_lighttpd-mod-compress:zlib,30)) +$(eval $(call BuildPlugin,deflate,Compress dynamic output,+PACKAGE_lighttpd-mod-deflate:zlib,30)) $(eval $(call BuildPlugin,evasive,Evasive,,30)) -$(eval $(call BuildPlugin,evhost,Exnhanced Virtual-Hosting,,30)) +$(eval $(call BuildPlugin,evhost,Enhanced Virtual-Hosting,,30)) $(eval $(call BuildPlugin,expire,Expire,,30)) $(eval $(call BuildPlugin,extforward,Extract client,,30)) $(eval $(call BuildPlugin,fastcgi,FastCGI,,30)) $(eval $(call BuildPlugin,flv_streaming,FLV streaming,,30)) -$(eval $(call BuildPlugin,magnet,Magnet,+liblua,30)) +#$(eval $(call BuildPlugin,geoip,Geolocation,+PACKAGE_lighttpd-mod-geoip:libgeoip,30)) +$(eval $(call BuildPlugin,magnet,Magnet,+PACKAGE_lighttpd-mod-magnet:liblua,30)) $(eval $(call BuildPlugin,mysql_vhost,Mysql virtual hosting,+PACKAGE_lighttpd-mod-mysql_vhost:libmysqlclient,30)) $(eval $(call BuildPlugin,proxy,Proxy,,30)) $(eval $(call BuildPlugin,rewrite,URL rewriting,+PACKAGE_lighttpd-mod-rewrite:libpcre,30)) @@ -179,9 +223,10 @@ $(eval $(call BuildPlugin,scgi,SCGI,,30)) $(eval $(call BuildPlugin,secdownload,Secure and fast download,,30)) $(eval $(call BuildPlugin,setenv,Environment variable setting,,30)) $(eval $(call BuildPlugin,simple_vhost,Simple virtual hosting,,30)) -$(eval $(call BuildPlugin,ssi,SSI,+libpcre,30)) +$(eval $(call BuildPlugin,ssi,SSI,+PACKAGE_lighttpd-mod-ssi:libpcre,30)) $(eval $(call BuildPlugin,status,Server status display,,30)) -$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre,30)) +#$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre +PACKAGE_lighttpd-mod-trigger_b4_dl:libgdbm +PACKAGE_lighttpd-mod-trigger_b4_dl:libmemcached,30)) +$(eval $(call BuildPlugin,trigger_b4_dl,Trigger before download,+PACKAGE_lighttpd-mod-trigger_b4_dl:libpcre +PACKAGE_lighttpd-mod-trigger_b4_dl:libgdbm,30)) $(eval $(call BuildPlugin,userdir,User directory,,30)) $(eval $(call BuildPlugin,usertrack,User tracking,,30)) $(eval $(call BuildPlugin,webdav,WebDAV,+PACKAGE_lighttpd-mod-webdav:libsqlite3 +PACKAGE_lighttpd-mod-webdav:libuuid +PACKAGE_lighttpd-mod-webdav:libxml2,30)) diff --git a/net/lighttpd/files/lighttpd.conf b/net/lighttpd/files/lighttpd.conf index 04b06bc3b..dd577652c 100644 --- a/net/lighttpd/files/lighttpd.conf +++ b/net/lighttpd/files/lighttpd.conf @@ -1,6 +1,3 @@ -server.modules = ( -) - server.document-root = "/www" server.upload-dirs = ( "/tmp" ) server.errorlog = "/var/log/lighttpd/error.log" @@ -10,7 +7,7 @@ server.groupname = "www-data" index-file.names = ( "index.php", "index.html", "index.htm", "default.htm", - "index.lighttpd.html" ) + ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) @@ -20,7 +17,7 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) #server.bind = "localhost" #server.tag = "lighttpd" #server.errorlog-use-syslog = "enable" -#server.network-backend = "write" +#server.network-backend = "writev" ### Use IPv6 if available #include_shell "/usr/share/lighttpd/use-ipv6.pl" @@ -28,5 +25,5 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) #dir-listing.encoding = "utf-8" #server.dir-listing = "enable" -include "/etc/lighttpd/mime.conf" -include_shell "cat /etc/lighttpd/conf.d/*.conf" +include "/etc/lighttpd/mime.conf" +include "/etc/lighttpd/conf.d/*.conf" diff --git a/net/lighttpd/files/lighttpd.init b/net/lighttpd/files/lighttpd.init index 936c7f6c7..8f3a4db60 100644 --- a/net/lighttpd/files/lighttpd.init +++ b/net/lighttpd/files/lighttpd.init @@ -18,3 +18,9 @@ stop() { service_stop /usr/sbin/lighttpd } +restart() { + /usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf || exit 1 + stop + start +} +