---- lighttpd-1.4.11/Makefile.in 2006-03-07 14:21:08.000000000 +0200
-+++ lighttpd-1.4.12/Makefile.in 2006-07-11 21:48:16.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -41,7 +41,7 @@
- $(srcdir)/distribute.sh.in $(srcdir)/lighttpd.spec.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
-- missing mkinstalldirs
-+ missing
- subdir = .
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
-@@ -49,7 +49,7 @@
- $(ACLOCAL_M4)
- am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = config.h
- CONFIG_CLEAN_FILES = lighttpd.spec distribute.sh
- SOURCES =
-@@ -126,7 +126,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -169,6 +168,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/NEWS 2006-03-09 19:34:33.000000000 +0200
+--- ../lighttpd-1.4.11/NEWS 2006-03-09 19:34:33.000000000 +0200
+++ lighttpd-1.4.12/NEWS 2006-07-11 22:07:54.000000000 +0300
@@ -3,6 +3,23 @@
NEWS
- 1.4.11 - 2006-03-09
* added ability to specify which ip address spawn-fci listens on
---- lighttpd-1.4.11/configure.in 2006-03-04 16:32:38.000000000 +0200
-+++ lighttpd-1.4.12/configure.in 2006-07-11 22:07:54.000000000 +0300
+--- ../lighttpd-1.4.11/configure.in 2006-03-04 16:32:38.000000000 +0200
++++ lighttpd-1.4.12/configure.in 2006-07-15 22:43:22.000000000 +0300
@@ -1,7 +1,7 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
fi
dnl Check for gdbm
-@@ -440,7 +456,7 @@
+@@ -381,30 +397,11 @@
+
+ AC_MSG_RESULT($WITH_LUA)
+ if test "$WITH_LUA" != "no"; then
+- AC_PATH_PROG(LUACONFIG, lua-config)
+-
+- if test x"$LUACONFIG" != x; then
+- LUA_CFLAGS=`$LUACONFIG --include`
+- LUA_LIBS=`$LUACONFIG --libs --extralibs`
++ # try pkgconfig
++ PKG_CHECK_MODULES(LUA, lua >= 5.1, [
+ AC_DEFINE([HAVE_LUA], [1], [liblua])
+ AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
+- else
+- AC_CHECK_LIB(lua, lua_open, [
+- AC_CHECK_HEADERS([lua.h],[
+- LUA_LIBS="-llua -llualib"
+- AC_DEFINE([HAVE_LUA], [1], [liblua])
+- AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
+- ])
+- ])
+- fi
+-
+- if test x"$LUA_LIBS" = x; then
+- # try pkgconfig
+- PKG_CHECK_MODULES(LUA, lua, [
+- AC_DEFINE([HAVE_LUA], [1], [liblua])
+- AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
+- ])
+- fi
++ ])
+
+ AC_SUBST(LUA_CFLAGS)
+ AC_SUBST(LUA_LIBS)
+@@ -440,7 +437,7 @@
esac
AC_CHECK_FUNCS([dup2 getcwd inet_ntoa inet_ntop memset mmap munmap strchr \
gethostbyname poll sigtimedwait epoll_ctl getrlimit chroot \
getuid select signal pathconf madvise posix_fadvise posix_madvise \
writev sigaction sendfile64 send_file kqueue port_create localtime_r])
-@@ -538,7 +554,7 @@
+@@ -538,7 +535,7 @@
AC_OUTPUT
plugins="mod_rewrite mod_redirect mod_ssi mod_trigger_b4_dl"
features="regex-conditionals"
-@@ -642,6 +658,14 @@
+@@ -642,6 +639,14 @@
disable_feature="$disable_feature $features"
fi
## output
$ECHO
---- lighttpd-1.4.11/cygwin/Makefile.in 2006-03-07 14:20:57.000000000 +0200
-+++ lighttpd-1.4.12/cygwin/Makefile.in 2006-07-11 21:48:12.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -43,7 +43,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES = lighttpd.README
- SOURCES =
-@@ -101,7 +101,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -144,6 +143,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/cygwin/lighttpd.README 2006-03-07 14:22:19.000000000 +0200
+--- ../lighttpd-1.4.11/cygwin/lighttpd.README 2006-03-07 14:22:19.000000000 +0200
+++ lighttpd-1.4.12/cygwin/lighttpd.README 2006-07-11 22:08:04.000000000 +0300
@@ -1,114 +1,114 @@
-lighttpd\r
+Cygwin port maintained by: Jan Kneschke <jan@kneschke.de>
+Please address all questions to the Cygwin mailing list at <cygwin@cygwin.com>
+
---- lighttpd-1.4.11/cygwin/lighttpd.README.in 2005-08-11 01:26:59.000000000 +0300
+--- ../lighttpd-1.4.11/cygwin/lighttpd.README.in 2005-08-11 01:26:59.000000000 +0300
+++ lighttpd-1.4.12/cygwin/lighttpd.README.in 2006-07-11 22:07:53.000000000 +0300
@@ -1,114 +1,114 @@
-lighttpd\r
+Cygwin port maintained by: Jan Kneschke <jan@kneschke.de>
+Please address all questions to the Cygwin mailing list at <cygwin@cygwin.com>
+
---- lighttpd-1.4.11/doc/Makefile.in 2006-03-07 14:20:57.000000000 +0200
-+++ lighttpd-1.4.12/doc/Makefile.in 2006-07-11 21:48:12.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -43,7 +43,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -105,7 +105,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -148,6 +147,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/doc/authentication.txt 2006-01-12 20:34:26.000000000 +0200
+--- ../lighttpd-1.4.11/doc/authentication.txt 2006-01-12 20:34:26.000000000 +0200
+++ lighttpd-1.4.12/doc/authentication.txt 2006-07-11 22:07:54.000000000 +0300
@@ -7,8 +7,8 @@
----------------
:abstract:
The auth module provides ...
---- lighttpd-1.4.11/doc/compress.txt 2005-08-11 01:26:16.000000000 +0300
+--- ../lighttpd-1.4.11/doc/compress.txt 2005-08-11 01:26:16.000000000 +0300
+++ lighttpd-1.4.12/doc/compress.txt 2006-07-11 22:07:54.000000000 +0300
@@ -22,12 +22,38 @@
===========
Compressing Dynamic Content
===========================
---- lighttpd-1.4.11/doc/configuration.txt 2006-03-09 02:10:40.000000000 +0200
+--- ../lighttpd-1.4.11/doc/configuration.txt 2006-03-09 02:10:40.000000000 +0200
+++ lighttpd-1.4.12/doc/configuration.txt 2006-07-11 22:07:54.000000000 +0300
@@ -7,8 +7,8 @@
------------
+debug.log-condition-cache-handling
+ for developers only
+ default: disabled
---- lighttpd-1.4.11/doc/fastcgi.txt 2006-02-16 17:03:52.000000000 +0200
+--- ../lighttpd-1.4.11/doc/fastcgi.txt 2006-02-16 17:03:52.000000000 +0200
+++ lighttpd-1.4.12/doc/fastcgi.txt 2006-07-11 22:07:54.000000000 +0300
@@ -144,8 +144,8 @@
PHP can extract PATH_INFO from it (default: disabled)
If bin-path is set:
---- lighttpd-1.4.11/doc/lighttpd.conf 2006-03-04 14:41:12.000000000 +0200
+--- ../lighttpd-1.4.11/doc/lighttpd.conf 2006-03-04 14:41:12.000000000 +0200
+++ lighttpd-1.4.12/doc/lighttpd.conf 2006-07-11 22:07:54.000000000 +0300
@@ -172,10 +172,11 @@
#dir-listing.activate = "enable"
### only root can use these options
#
---- lighttpd-1.4.11/doc/performance.txt 2006-02-02 13:01:08.000000000 +0200
+--- ../lighttpd-1.4.11/doc/performance.txt 2006-02-02 13:01:08.000000000 +0200
+++ lighttpd-1.4.12/doc/performance.txt 2006-07-11 22:07:54.000000000 +0300
@@ -183,6 +183,8 @@
Platform-Specific Notes
=======================
---- lighttpd-1.4.11/doc/secdownload.txt 2005-12-20 15:58:58.000000000 +0200
+--- ../lighttpd-1.4.11/doc/secdownload.txt 2005-12-20 15:58:58.000000000 +0200
+++ lighttpd-1.4.12/doc/secdownload.txt 2006-07-11 22:07:54.000000000 +0300
@@ -118,7 +118,7 @@
$secret = "verysecret";
$f = "/secret-file.txt";
# current timestamp
---- lighttpd-1.4.11/lighttpd.spec 2006-03-07 14:22:18.000000000 +0200
+--- ../lighttpd-1.4.11/lighttpd.spec 2006-03-07 14:22:18.000000000 +0200
+++ lighttpd-1.4.12/lighttpd.spec 2006-07-11 22:07:58.000000000 +0300
@@ -1,6 +1,6 @@
Summary: A fast webserver with minimal memory-footprint (lighttpd)
Release: 1
Source: http://jan.kneschke.de/projects/lighttpd/download/lighttpd-%version.tar.gz
Packager: Jan Kneschke <jan@kneschke.de>
---- lighttpd-1.4.11/openwrt/Makefile.in 2006-03-07 14:20:58.000000000 +0200
-+++ lighttpd-1.4.12/openwrt/Makefile.in 2006-07-11 21:48:12.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -43,7 +43,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES = control lighttpd.mk
- SOURCES =
-@@ -101,7 +101,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -144,6 +143,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/openwrt/control 2006-03-07 14:22:19.000000000 +0200
+--- ../lighttpd-1.4.11/openwrt/control 2006-03-07 14:22:19.000000000 +0200
+++ lighttpd-1.4.12/openwrt/control 2006-07-11 22:08:05.000000000 +0300
@@ -1,8 +1,8 @@
Package: lighttpd
Section: net
Priority: optional
Depends:
---- lighttpd-1.4.11/openwrt/lighttpd.mk 2006-03-07 14:22:19.000000000 +0200
+--- ../lighttpd-1.4.11/openwrt/lighttpd.mk 2006-03-07 14:22:19.000000000 +0200
+++ lighttpd-1.4.12/openwrt/lighttpd.mk 2006-07-11 22:08:05.000000000 +0300
@@ -10,7 +10,7 @@
LIGHTTPD_TARGET=.built
LIGHTTPD_DIR=$(BUILD_DIR)/$(LIGHTTPD)
LIGHTTPD_IPK=$(BUILD_DIR)/$(LIGHTTPD)_mipsel.ipk
---- lighttpd-1.4.11/src/Makefile.am 2006-03-07 14:20:20.000000000 +0200
-+++ lighttpd-1.4.12/src/Makefile.am 2006-07-11 22:07:52.000000000 +0300
-@@ -82,9 +82,9 @@
-
- lib_LTLIBRARIES += mod_webdav.la
- mod_webdav_la_SOURCES = mod_webdav.c
--mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
-+mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
- mod_webdav_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
--mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS)
-+mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS) $(UUID_LIB)
-
- lib_LTLIBRARIES += mod_cml.la
- mod_cml_la_SOURCES = mod_cml.c mod_cml_lua.c mod_cml_funcs.c
---- lighttpd-1.4.11/src/Makefile.in 2006-03-07 14:21:02.000000000 +0200
-+++ lighttpd-1.4.12/src/Makefile.in 2006-07-11 22:04:27.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -16,8 +16,6 @@
-
+--- ../lighttpd-1.4.11/src/Makefile.am 2006-03-07 14:20:20.000000000 +0200
++++ lighttpd-1.4.12/src/Makefile.am 2006-07-15 22:43:21.000000000 +0300
+@@ -16,18 +16,24 @@
+ else
+ configparser.y: lemon
+ mod_ssi_exprparser.y: lemon
++http_resp_parser.y: lemon
+
+ configparser.c configparser.h: configparser.y
+ rm -f configparser.h
+- $(LEMON) -q $(srcdir)/configparser.y $(srcdir)/lempar.c
++ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
++
++http_resp_parser.c http_resp_parser.h: http_resp_parser.y
++ rm -f http_resp_parser.h
++ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
+
+ mod_ssi_exprparser.c mod_ssi_exprparser.h: mod_ssi_exprparser.y
+ rm -f mod_ssi_exprparser.h
+- $(LEMON) -q $(srcdir)/mod_ssi_exprparser.y $(srcdir)/lempar.c
++ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
+ endif
+ configfile.c: configparser.h
+ mod_ssi_expr.c: mod_ssi_exprparser.h
++http_resp.c: http_resp_parser.h
--SOURCES = $(liblightcomp_la_SOURCES) $(mod_access_la_SOURCES) $(mod_accesslog_la_SOURCES) $(mod_alias_la_SOURCES) $(mod_auth_la_SOURCES) $(mod_cgi_la_SOURCES) $(mod_cml_la_SOURCES) $(mod_compress_la_SOURCES) $(mod_dirlisting_la_SOURCES) $(mod_evasive_la_SOURCES) $(mod_evhost_la_SOURCES) $(mod_expire_la_SOURCES) $(mod_fastcgi_la_SOURCES) $(mod_flv_streaming_la_SOURCES) $(mod_indexfile_la_SOURCES) $(mod_mysql_vhost_la_SOURCES) $(mod_proxy_la_SOURCES) $(mod_redirect_la_SOURCES) $(mod_rewrite_la_SOURCES) $(mod_rrdtool_la_SOURCES) $(mod_scgi_la_SOURCES) $(mod_secdownload_la_SOURCES) $(mod_setenv_la_SOURCES) $(mod_simple_vhost_la_SOURCES) $(mod_ssi_la_SOURCES) $(mod_staticfile_la_SOURCES) $(mod_status_la_SOURCES) $(mod_trigger_b4_dl_la_SOURCES) $(mod_userdir_la_SOURCES) $(mod_usertrack_la_SOURCES) $(mod_webdav_la_SOURCES) $(lemon_SOURCES) $(lighttpd_SOURCES) $(proc_open_SOURCES) $(spawn_fcgi_SOURCES)
--
- srcdir = @srcdir@
- top_srcdir = @top_srcdir@
- VPATH = @srcdir@
-@@ -57,7 +55,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-@@ -84,7 +82,8 @@
- inet_ntop_cache.c crc32.c connections-glue.c configfile-glue.c \
- http-header-glue.c network_write.c network_linux_sendfile.c \
- network_freebsd_sendfile.c network_writev.c \
-- network_solaris_sendfilev.c network_openssl.c splaytree.c
-+ network_solaris_sendfilev.c network_openssl.c splaytree.c \
-+ http_resp.c http_resp_parser.c
- am__objects_1 = liblightcomp_la-buffer.lo liblightcomp_la-log.lo \
- liblightcomp_la-keyvalue.lo liblightcomp_la-chunk.lo \
- liblightcomp_la-http_chunk.lo liblightcomp_la-stream.lo \
-@@ -111,7 +110,8 @@
- liblightcomp_la-network_writev.lo \
- liblightcomp_la-network_solaris_sendfilev.lo \
- liblightcomp_la-network_openssl.lo \
-- liblightcomp_la-splaytree.lo
-+ liblightcomp_la-splaytree.lo liblightcomp_la-http_resp.lo \
-+ liblightcomp_la-http_resp_parser.lo
- @NO_RDYNAMIC_TRUE@am_liblightcomp_la_OBJECTS = $(am__objects_1)
- liblightcomp_la_OBJECTS = $(am_liblightcomp_la_OBJECTS)
- @NO_RDYNAMIC_TRUE@am_liblightcomp_la_rpath = -rpath $(libdir)
-@@ -193,6 +193,9 @@
- mod_simple_vhost_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
- am_mod_simple_vhost_la_OBJECTS = mod_simple_vhost.lo
- mod_simple_vhost_la_OBJECTS = $(am_mod_simple_vhost_la_OBJECTS)
-+mod_sql_vhost_core_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
-+am_mod_sql_vhost_core_la_OBJECTS = mod_sql_vhost_core.lo
-+mod_sql_vhost_core_la_OBJECTS = $(am_mod_sql_vhost_core_la_OBJECTS)
- mod_ssi_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
- am_mod_ssi_la_OBJECTS = mod_ssi_exprparser.lo mod_ssi_expr.lo \
- mod_ssi.lo
-@@ -236,7 +239,8 @@
- connections-glue.c configfile-glue.c http-header-glue.c \
- network_write.c network_linux_sendfile.c \
- network_freebsd_sendfile.c network_writev.c \
-- network_solaris_sendfilev.c network_openssl.c splaytree.c
-+ network_solaris_sendfilev.c network_openssl.c splaytree.c \
-+ http_resp.c http_resp_parser.c
- am__objects_2 = buffer.$(OBJEXT) log.$(OBJEXT) keyvalue.$(OBJEXT) \
- chunk.$(OBJEXT) http_chunk.$(OBJEXT) stream.$(OBJEXT) \
- fdevent.$(OBJEXT) stat_cache.$(OBJEXT) plugin.$(OBJEXT) \
-@@ -254,7 +258,8 @@
- network_linux_sendfile.$(OBJEXT) \
- network_freebsd_sendfile.$(OBJEXT) network_writev.$(OBJEXT) \
- network_solaris_sendfilev.$(OBJEXT) network_openssl.$(OBJEXT) \
-- splaytree.$(OBJEXT)
-+ splaytree.$(OBJEXT) http_resp.$(OBJEXT) \
-+ http_resp_parser.$(OBJEXT)
- @NO_RDYNAMIC_FALSE@am__objects_3 = $(am__objects_2)
- am__objects_4 = server.$(OBJEXT) response.$(OBJEXT) \
- connections.$(OBJEXT) network.$(OBJEXT) configfile.$(OBJEXT) \
-@@ -282,8 +287,8 @@
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
--LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+LINK = $(LIBTOOL) --tag=CC --mode=link "$(CCLD)" $(AM_CFLAGS) \
-+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
- SOURCES = $(liblightcomp_la_SOURCES) $(mod_access_la_SOURCES) \
- $(mod_accesslog_la_SOURCES) $(mod_alias_la_SOURCES) \
- $(mod_auth_la_SOURCES) $(mod_cgi_la_SOURCES) \
-@@ -296,11 +301,12 @@
- $(mod_rewrite_la_SOURCES) $(mod_rrdtool_la_SOURCES) \
- $(mod_scgi_la_SOURCES) $(mod_secdownload_la_SOURCES) \
- $(mod_setenv_la_SOURCES) $(mod_simple_vhost_la_SOURCES) \
-- $(mod_ssi_la_SOURCES) $(mod_staticfile_la_SOURCES) \
-- $(mod_status_la_SOURCES) $(mod_trigger_b4_dl_la_SOURCES) \
-- $(mod_userdir_la_SOURCES) $(mod_usertrack_la_SOURCES) \
-- $(mod_webdav_la_SOURCES) $(lemon_SOURCES) $(lighttpd_SOURCES) \
-- $(proc_open_SOURCES) $(spawn_fcgi_SOURCES)
-+ $(mod_sql_vhost_core_la_SOURCES) $(mod_ssi_la_SOURCES) \
-+ $(mod_staticfile_la_SOURCES) $(mod_status_la_SOURCES) \
-+ $(mod_trigger_b4_dl_la_SOURCES) $(mod_userdir_la_SOURCES) \
-+ $(mod_usertrack_la_SOURCES) $(mod_webdav_la_SOURCES) \
-+ $(lemon_SOURCES) $(lighttpd_SOURCES) $(proc_open_SOURCES) \
-+ $(spawn_fcgi_SOURCES)
- DIST_SOURCES = $(am__liblightcomp_la_SOURCES_DIST) \
- $(mod_access_la_SOURCES) $(mod_accesslog_la_SOURCES) \
- $(mod_alias_la_SOURCES) $(mod_auth_la_SOURCES) \
-@@ -313,7 +319,8 @@
- $(mod_redirect_la_SOURCES) $(mod_rewrite_la_SOURCES) \
- $(mod_rrdtool_la_SOURCES) $(mod_scgi_la_SOURCES) \
- $(mod_secdownload_la_SOURCES) $(mod_setenv_la_SOURCES) \
-- $(mod_simple_vhost_la_SOURCES) $(mod_ssi_la_SOURCES) \
-+ $(mod_simple_vhost_la_SOURCES) \
-+ $(mod_sql_vhost_core_la_SOURCES) $(mod_ssi_la_SOURCES) \
- $(mod_staticfile_la_SOURCES) $(mod_status_la_SOURCES) \
- $(mod_trigger_b4_dl_la_SOURCES) $(mod_userdir_la_SOURCES) \
- $(mod_usertrack_la_SOURCES) $(mod_webdav_la_SOURCES) \
-@@ -375,7 +382,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -418,6 +424,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-@@ -479,7 +486,7 @@
+ common_src=buffer.c log.c \
+ keyvalue.c chunk.c \
+@@ -46,7 +52,7 @@
network_write.c network_linux_sendfile.c \
network_freebsd_sendfile.c network_writev.c \
network_solaris_sendfilev.c network_openssl.c \
- splaytree.c
+ splaytree.c http_resp.c http_resp_parser.c
+
+ src = server.c response.c connections.c network.c \
+ configfile.c configparser.c request.c proc_open.c
+@@ -82,9 +88,9 @@
- src = server.c response.c connections.c network.c configfile.c \
- configparser.c request.c proc_open.c $(am__append_2)
-@@ -491,10 +498,11 @@
- #mod_httptls_la_LIBADD = $(common_libadd)
- lib_LTLIBRARIES = $(am__append_1) mod_flv_streaming.la mod_evasive.la \
- mod_webdav.la mod_cml.la mod_trigger_b4_dl.la \
-- mod_mysql_vhost.la mod_cgi.la mod_scgi.la mod_staticfile.la \
-- mod_dirlisting.la mod_indexfile.la mod_setenv.la mod_alias.la \
-- mod_userdir.la mod_rrdtool.la mod_usertrack.la mod_proxy.la \
-- mod_ssi.la mod_secdownload.la mod_expire.la mod_evhost.la \
-+ mod_mysql_vhost.la mod_sql_vhost_core.la mod_cgi.la \
-+ mod_scgi.la mod_staticfile.la mod_dirlisting.la \
-+ mod_indexfile.la mod_setenv.la mod_alias.la mod_userdir.la \
-+ mod_rrdtool.la mod_usertrack.la mod_proxy.la mod_ssi.la \
-+ mod_secdownload.la mod_expire.la mod_evhost.la \
- mod_simple_vhost.la mod_fastcgi.la mod_access.la \
- mod_compress.la mod_auth.la mod_rewrite.la mod_redirect.la \
- mod_status.la mod_accesslog.la
-@@ -511,9 +519,9 @@
- mod_evasive_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
- mod_evasive_la_LIBADD = $(common_libadd)
+ lib_LTLIBRARIES += mod_webdav.la
mod_webdav_la_SOURCES = mod_webdav.c
-mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
+mod_webdav_la_CFLAGS = $(AM_CFLAGS) $(XML_CFLAGS) $(SQLITE_CFLAGS)
mod_webdav_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
-mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS)
+mod_webdav_la_LIBADD = $(common_libadd) $(XML_LIBS) $(SQLITE_LIBS) $(UUID_LIB)
+
+ lib_LTLIBRARIES += mod_cml.la
mod_cml_la_SOURCES = mod_cml.c mod_cml_lua.c mod_cml_funcs.c
- mod_cml_la_CFLAGS = $(AM_CFLAGS) $(LUA_CFLAGS)
- mod_cml_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
-@@ -525,6 +533,9 @@
- mod_mysql_vhost_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
+@@ -103,6 +109,11 @@
mod_mysql_vhost_la_LIBADD = $(MYSQL_LIBS) $(common_libadd)
mod_mysql_vhost_la_CPPFLAGS = $(MYSQL_INCLUDE)
+
++lib_LTLIBRARIES += mod_sql_vhost_core.la
+mod_sql_vhost_core_la_SOURCES = mod_sql_vhost_core.c
+mod_sql_vhost_core_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
+mod_sql_vhost_core_la_LIBADD = $(common_libadd)
++
+ lib_LTLIBRARIES += mod_cgi.la
mod_cgi_la_SOURCES = mod_cgi.c
mod_cgi_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
- mod_cgi_la_LIBADD = $(common_libadd)
-@@ -608,7 +619,8 @@
+@@ -240,7 +251,8 @@
mod_ssi.h mod_ssi_expr.h inet_ntop_cache.h \
configparser.h mod_ssi_exprparser.h \
sys-mmap.h sys-socket.h mod_cml.h mod_cml_funcs.h \
- splaytree.h proc_open.h
+ splaytree.h proc_open.h http_resp.h mod_sql_vhost_core.h \
-+ sys-files.h sys-process.h sys-strings.h
-
- lighttpd_SOURCES = $(src)
- lighttpd_LDADD = $(PCRE_LIB) $(DL_LIB) $(SENDFILE_LIB) $(ATTR_LIB) $(common_libadd) $(SSL_LIB) $(FAM_LIBS)
-@@ -739,6 +751,8 @@
- $(LINK) -rpath $(libdir) $(mod_setenv_la_LDFLAGS) $(mod_setenv_la_OBJECTS) $(mod_setenv_la_LIBADD) $(LIBS)
- mod_simple_vhost.la: $(mod_simple_vhost_la_OBJECTS) $(mod_simple_vhost_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(mod_simple_vhost_la_LDFLAGS) $(mod_simple_vhost_la_OBJECTS) $(mod_simple_vhost_la_LIBADD) $(LIBS)
-+mod_sql_vhost_core.la: $(mod_sql_vhost_core_la_OBJECTS) $(mod_sql_vhost_core_la_DEPENDENCIES)
-+ $(LINK) -rpath $(libdir) $(mod_sql_vhost_core_la_LDFLAGS) $(mod_sql_vhost_core_la_OBJECTS) $(mod_sql_vhost_core_la_LIBADD) $(LIBS)
- mod_ssi.la: $(mod_ssi_la_OBJECTS) $(mod_ssi_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(mod_ssi_la_LDFLAGS) $(mod_ssi_la_OBJECTS) $(mod_ssi_la_LIBADD) $(LIBS)
- mod_staticfile.la: $(mod_staticfile_la_OBJECTS) $(mod_staticfile_la_DEPENDENCIES)
-@@ -863,6 +877,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_auth.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_auth_digest.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_chunk.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_resp.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_resp_parser.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet_ntop_cache.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/joblist.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyvalue.Po@am__quote@
-@@ -890,6 +906,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-fdevent_solaris_devpoll.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-http-header-glue.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-http_chunk.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-http_resp.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-http_resp_parser.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-inet_ntop_cache.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-joblist.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblightcomp_la-keyvalue.Plo@am__quote@
-@@ -932,6 +950,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_secure_download.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_setenv.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_simple_vhost.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_sql_vhost_core.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_ssi.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_ssi_expr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_ssi_exprparser.Plo@am__quote@
-@@ -1247,6 +1266,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblightcomp_la_CFLAGS) $(CFLAGS) -c -o liblightcomp_la-splaytree.lo `test -f 'splaytree.c' || echo '$(srcdir)/'`splaytree.c
-
-+liblightcomp_la-http_resp.lo: http_resp.c
-+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblightcomp_la_CFLAGS) $(CFLAGS) -MT liblightcomp_la-http_resp.lo -MD -MP -MF "$(DEPDIR)/liblightcomp_la-http_resp.Tpo" -c -o liblightcomp_la-http_resp.lo `test -f 'http_resp.c' || echo '$(srcdir)/'`http_resp.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/liblightcomp_la-http_resp.Tpo" "$(DEPDIR)/liblightcomp_la-http_resp.Plo"; else rm -f "$(DEPDIR)/liblightcomp_la-http_resp.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='http_resp.c' object='liblightcomp_la-http_resp.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblightcomp_la_CFLAGS) $(CFLAGS) -c -o liblightcomp_la-http_resp.lo `test -f 'http_resp.c' || echo '$(srcdir)/'`http_resp.c
-+
-+liblightcomp_la-http_resp_parser.lo: http_resp_parser.c
-+@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblightcomp_la_CFLAGS) $(CFLAGS) -MT liblightcomp_la-http_resp_parser.lo -MD -MP -MF "$(DEPDIR)/liblightcomp_la-http_resp_parser.Tpo" -c -o liblightcomp_la-http_resp_parser.lo `test -f 'http_resp_parser.c' || echo '$(srcdir)/'`http_resp_parser.c; \
-+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/liblightcomp_la-http_resp_parser.Tpo" "$(DEPDIR)/liblightcomp_la-http_resp_parser.Plo"; else rm -f "$(DEPDIR)/liblightcomp_la-http_resp_parser.Tpo"; exit 1; fi
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='http_resp_parser.c' object='liblightcomp_la-http_resp_parser.lo' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblightcomp_la_CFLAGS) $(CFLAGS) -c -o liblightcomp_la-http_resp_parser.lo `test -f 'http_resp_parser.c' || echo '$(srcdir)/'`http_resp_parser.c
-+
- mod_cml_la-mod_cml.lo: mod_cml.c
- @am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mod_cml_la_CFLAGS) $(CFLAGS) -MT mod_cml_la-mod_cml.lo -MD -MP -MF "$(DEPDIR)/mod_cml_la-mod_cml.Tpo" -c -o mod_cml_la-mod_cml.lo `test -f 'mod_cml.c' || echo '$(srcdir)/'`mod_cml.c; \
- @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/mod_cml_la-mod_cml.Tpo" "$(DEPDIR)/mod_cml_la-mod_cml.Plo"; else rm -f "$(DEPDIR)/mod_cml_la-mod_cml.Tpo"; exit 1; fi
-@@ -1506,14 +1539,19 @@
- @CROSS_COMPILING_TRUE@mod_ssi_exprparser.c mod_ssi_exprparser.h:
- @CROSS_COMPILING_FALSE@configparser.y: lemon
- @CROSS_COMPILING_FALSE@mod_ssi_exprparser.y: lemon
-+@CROSS_COMPILING_FALSE@http_resp_parser.y: lemon
-
- @CROSS_COMPILING_FALSE@configparser.c configparser.h: configparser.y
- @CROSS_COMPILING_FALSE@ rm -f configparser.h
--@CROSS_COMPILING_FALSE@ $(LEMON) -q $(srcdir)/configparser.y $(srcdir)/lempar.c
-+@CROSS_COMPILING_FALSE@ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
-+
-+@CROSS_COMPILING_FALSE@http_resp_parser.c http_resp_parser.h: http_resp_parser.y
-+@CROSS_COMPILING_FALSE@ rm -f http_resp_parser.h
-+@CROSS_COMPILING_FALSE@ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
-
- @CROSS_COMPILING_FALSE@mod_ssi_exprparser.c mod_ssi_exprparser.h: mod_ssi_exprparser.y
- @CROSS_COMPILING_FALSE@ rm -f mod_ssi_exprparser.h
--@CROSS_COMPILING_FALSE@ $(LEMON) -q $(srcdir)/mod_ssi_exprparser.y $(srcdir)/lempar.c
-+@CROSS_COMPILING_FALSE@ $(LEMON) -q $(srcdir)/$< $(srcdir)/lempar.c
++ sys-files.h sys-process.h sys-strings.h http_resp_parser.h
- configfile.c: configparser.h
- mod_ssi_expr.c: mod_ssi_exprparser.h
---- lighttpd-1.4.11/src/array.c 2005-11-18 13:58:32.000000000 +0200
+ DEFS= @DEFS@ -DLIBRARY_DIR="\"$(libdir)\""
+
+@@ -267,4 +279,4 @@
+ #ajp_SOURCES = ajp.c
+
+ noinst_HEADERS = $(hdr)
+-EXTRA_DIST = mod_skeleton.c configparser.y mod_ssi_exprparser.y lempar.c
++EXTRA_DIST = mod_skeleton.c configparser.y mod_ssi_exprparser.y lempar.c http_resp_parser.y
+--- ../lighttpd-1.4.11/src/array.c 2005-11-18 13:58:32.000000000 +0200
+++ lighttpd-1.4.12/src/array.c 2006-07-11 22:07:51.000000000 +0300
@@ -11,12 +11,12 @@
return 0;
}
#endif
---- lighttpd-1.4.11/src/array.h 2005-09-23 21:24:18.000000000 +0300
+--- ../lighttpd-1.4.11/src/array.h 2005-09-23 21:24:18.000000000 +0300
+++ lighttpd-1.4.12/src/array.h 2006-07-11 22:07:51.000000000 +0300
@@ -16,7 +16,7 @@
#define DATA_UNSET \
int usage; /* fair-balancing needs the no. of connections active on this host */
int last_used_ndx; /* round robin */
} data_fastcgi;
---- lighttpd-1.4.11/src/base.h 2006-01-11 16:51:04.000000000 +0200
-+++ lighttpd-1.4.12/src/base.h 2006-07-11 22:07:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/base.h 2006-01-11 16:51:04.000000000 +0200
++++ lighttpd-1.4.12/src/base.h 2006-07-15 22:43:21.000000000 +0300
@@ -2,7 +2,6 @@
#define _BASE_H_
/* solaris and NetBSD 1.3.x again */
#if (!defined(HAVE_STDINT_H)) && (!defined(HAVE_INTTYPES_H)) && (!defined(uint32_t))
-# define uint32_t u_int32_t
-+//# define uint32_t u_int32_t
++/* # define uint32_t u_int32_t */
+typedef unsigned __int32 uint32_t;
#endif
config_values_type_t type;
config_scope_type_t scope;
} config_values_t;
-@@ -142,40 +137,40 @@
+@@ -118,18 +113,6 @@
+ short factor;
+ } fcgi_connections;
+
+-
+-typedef union {
+-#ifdef HAVE_IPV6
+- struct sockaddr_in6 ipv6;
+-#endif
+- struct sockaddr_in ipv4;
+-#ifdef HAVE_SYS_UN_H
+- struct sockaddr_un un;
+-#endif
+- struct sockaddr plain;
+-} sock_addr;
+-
+ /* fcgi_response_header contains ... */
+ #define HTTP_STATUS BV(0)
+ #define HTTP_CONNECTION BV(1)
+@@ -142,40 +125,40 @@
/* the request-line */
buffer *request;
buffer *uri;
HTTP_TRANSFER_ENCODING_IDENTITY, HTTP_TRANSFER_ENCODING_CHUNKED
} transfer_encoding;
} response;
-@@ -191,21 +186,21 @@
+@@ -191,21 +174,21 @@
typedef struct {
buffer *path;
buffer *basedir; /* path = "(basedir)(.*)" */
#ifdef HAVE_FAM_H
int dir_version;
int dir_ndx;
-@@ -215,8 +210,8 @@
+@@ -215,8 +198,8 @@
} stat_cache_entry;
typedef struct {
buffer *dir_name; /* for building the dirname from the filename */
#ifdef HAVE_FAM_H
splay_tree *dirs; /* the nodes of the tree are fam_dir_entry */
-@@ -228,7 +223,7 @@
+@@ -228,7 +211,7 @@
typedef struct {
array *mimetypes;
/* virtual-servers */
buffer *document_root;
buffer *server_name;
-@@ -236,7 +231,7 @@
+@@ -236,7 +219,7 @@
buffer *server_tag;
buffer *dirlist_encoding;
buffer *errorfile_prefix;
unsigned short max_keep_alive_requests;
unsigned short max_keep_alive_idle;
unsigned short max_read_idle;
-@@ -244,16 +239,17 @@
+@@ -244,16 +227,17 @@
unsigned short use_xattr;
unsigned short follow_symlink;
unsigned short range_requests;
/* server wide */
buffer *ssl_pemfile;
buffer *ssl_ca_file;
-@@ -268,22 +264,22 @@
+@@ -268,22 +252,22 @@
/* configside */
unsigned short global_kbytes_per_second; /* */
#ifdef USE_OPENSSL
SSL_CTX *ssl_ctx;
#endif
-@@ -291,18 +287,18 @@
+@@ -291,18 +275,18 @@
/* the order of the items should be the same as they are processed
* read before write as we use this later */
} connection_state_t;
typedef enum { COND_RESULT_UNSET, COND_RESULT_FALSE, COND_RESULT_TRUE } cond_result_t;
-@@ -315,88 +311,88 @@
+@@ -315,88 +299,88 @@
typedef struct {
connection_state_t state;
#ifdef USE_OPENSSL
SSL *ssl;
#endif
-@@ -439,39 +435,48 @@
+@@ -439,39 +423,48 @@
size_t size;
} buffer_plugin;
} stat_cache_engine;
unsigned short enable_cores;
} server_config;
-@@ -480,14 +485,14 @@
+@@ -480,14 +473,14 @@
sock_addr addr;
int fd;
int fde_ndx;
#ifdef USE_OPENSSL
SSL_CTX *ssl_ctx;
#endif
-@@ -495,37 +500,37 @@
+@@ -495,37 +488,37 @@
typedef struct {
server_socket **ptr;
size_t max_conns;
/* buffers */
-@@ -533,13 +538,13 @@
+@@ -533,13 +526,13 @@
buffer *response_header;
buffer *response_range;
buffer *tmp_buf;
/* caches */
#ifdef HAVE_IPV6
inet_ntop_cache_type inet_ntop_cache[INET_NTOP_CACHE_MAX];
-@@ -547,31 +552,31 @@
+@@ -547,31 +540,31 @@
mtime_cache_type mtime_cache[FILE_CACHE_MAX];
array *split_vals;
stat_cache *stat_cache;
/**
-@@ -588,18 +593,20 @@
+@@ -588,18 +581,20 @@
* fastcgi.backend.<key>.disconnects = ...
*/
array *status;
} server;
---- lighttpd-1.4.11/src/buffer.c 2006-01-13 00:00:45.000000000 +0200
+--- ../lighttpd-1.4.11/src/buffer.c 2006-01-13 00:00:45.000000000 +0200
+++ lighttpd-1.4.12/src/buffer.c 2006-07-11 22:07:52.000000000 +0300
@@ -12,20 +12,20 @@
+
return 0;
}
---- lighttpd-1.4.11/src/buffer.h 2006-01-13 00:00:45.000000000 +0200
+--- ../lighttpd-1.4.11/src/buffer.h 2006-01-13 00:00:45.000000000 +0200
+++ lighttpd-1.4.12/src/buffer.h 2006-07-11 22:07:52.000000000 +0300
@@ -12,27 +12,44 @@
#define SEGFAULT() do { fprintf(stderr, "%s.%d: aborted\n", __FILE__, __LINE__); abort(); } while(0)
#define UNUSED(x) ( (void)(x) )
---- lighttpd-1.4.11/src/chunk.c 2005-11-18 15:18:19.000000000 +0200
+--- ../lighttpd-1.4.11/src/chunk.c 2005-11-18 15:18:19.000000000 +0200
+++ lighttpd-1.4.12/src/chunk.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,16 +1,14 @@
/**
break;
}
---- lighttpd-1.4.11/src/chunk.h 2005-11-01 09:32:21.000000000 +0200
+--- ../lighttpd-1.4.11/src/chunk.h 2005-11-01 09:32:21.000000000 +0200
+++ lighttpd-1.4.12/src/chunk.h 2006-07-11 22:07:51.000000000 +0300
@@ -6,7 +6,7 @@
chunk *unused;
size_t unused_chunks;
---- lighttpd-1.4.11/src/configfile-glue.c 2006-03-03 20:14:56.000000000 +0200
+--- ../lighttpd-1.4.11/src/configfile-glue.c 2006-03-03 20:14:56.000000000 +0200
+++ lighttpd-1.4.12/src/configfile-glue.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,4 +1,5 @@
#include <string.h>
+#endif
+}
+
---- lighttpd-1.4.11/src/configfile.c 2006-02-15 14:26:42.000000000 +0200
-+++ lighttpd-1.4.12/src/configfile.c 2006-07-11 22:07:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/configfile.c 2006-02-15 14:26:42.000000000 +0200
++++ lighttpd-1.4.12/src/configfile.c 2006-07-15 22:43:21.000000000 +0300
@@ -2,7 +2,6 @@
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <stdio.h>
-@@ -13,21 +12,23 @@
+@@ -13,21 +12,24 @@
#include "log.h"
#include "stream.h"
#include "plugin.h"
#include "proc_open.h"
+#include "sys-files.h"
++#include "sys-process.h"
+
+#ifndef PATH_MAX
+/* win32 */
{ "server.bind", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 0 */
{ "server.errorlog", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 1 */
{ "server.errorfile-prefix", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 2 */
-@@ -38,7 +39,7 @@
+@@ -38,7 +40,7 @@
{ "server.tag", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 7 */
{ "server.use-ipv6", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 8 */
{ "server.modules", NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_SERVER }, /* 9 */
{ "server.event-handler", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 10 */
{ "server.pid-file", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 11 */
{ "server.max-request-size", NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 12 */
-@@ -49,7 +50,7 @@
+@@ -49,7 +51,7 @@
{ "server.max-keep-alive-requests", NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 17 */
{ "server.name", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 18 */
{ "server.max-keep-alive-idle", NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 19 */
{ "server.max-read-idle", NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 20 */
{ "server.max-write-idle", NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION }, /* 21 */
{ "server.error-handler-404", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 22 */
-@@ -60,19 +61,19 @@
+@@ -60,19 +62,19 @@
{ "mimetype.use-xattr", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 27 */
{ "mimetype.assign", NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_CONNECTION }, /* 28 */
{ "ssl.pemfile", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_SERVER }, /* 29 */
{ "server.errorlog-use-syslog", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 39 */
{ "server.range-requests", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 40 */
{ "server.stat-cache-engine", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 41 */
-@@ -80,7 +81,8 @@
+@@ -80,7 +82,8 @@
{ "server.network-backend", NULL, T_CONFIG_STRING, T_CONFIG_SCOPE_CONNECTION }, /* 43 */
{ "server.upload-dirs", NULL, T_CONFIG_ARRAY, T_CONFIG_SCOPE_CONNECTION }, /* 44 */
{ "server.core-files", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 45 */
{ "server.host", "use server.bind instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
{ "server.docroot", "use server.document-root instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
{ "server.virtual-root", "load mod_simple_vhost and use simple-vhost.server-root instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
-@@ -90,11 +92,11 @@
+@@ -90,11 +93,11 @@
{ "server.groupid", "use server.groupname instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
{ "server.use-keep-alive", "use server.max-keep-alive-requests = 0 instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
{ "server.force-lower-case-files", "use server.force-lowercase-filenames instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
/* 0 */
cv[0].destination = srv->srvconf.bindhost;
cv[1].destination = srv->srvconf.errorlog_file;
-@@ -102,33 +104,33 @@
+@@ -102,33 +105,33 @@
cv[4].destination = srv->srvconf.username;
cv[5].destination = srv->srvconf.groupname;
cv[6].destination = &(srv->srvconf.port);
s = calloc(1, sizeof(specific_config));
assert(s);
s->document_root = buffer_init();
-@@ -154,17 +156,18 @@
+@@ -154,17 +157,18 @@
s->global_kbytes_per_second = 0;
s->global_bytes_per_second_cnt = 0;
s->global_bytes_per_second_cnt_ptr = &s->global_bytes_per_second_cnt;
cv[17].destination = &(s->max_keep_alive_requests);
cv[18].destination = s->server_name;
cv[19].destination = &(s->max_keep_alive_idle);
-@@ -179,23 +182,23 @@
+@@ -179,23 +183,23 @@
cv[28].destination = s->mimetypes;
cv[29].destination = s->ssl_pemfile;
cv[30].destination = &(s->is_ssl);
if (buffer_is_empty(stat_cache_string)) {
srv->srvconf.stat_cache_engine = STAT_CACHE_ENGINE_SIMPLE;
} else if (buffer_is_equal_string(stat_cache_string, CONST_STR_LEN("simple"))) {
-@@ -205,22 +208,22 @@
+@@ -205,22 +209,22 @@
} else if (buffer_is_equal_string(stat_cache_string, CONST_STR_LEN("disable"))) {
srv->srvconf.stat_cache_engine = STAT_CACHE_ENGINE_NONE;
} else {
PATCH(allow_http11);
PATCH(mimetypes);
PATCH(document_root);
-@@ -236,20 +239,21 @@
+@@ -236,20 +240,21 @@
PATCH(kbytes_per_second);
PATCH(global_kbytes_per_second);
PATCH(global_bytes_per_second_cnt);
PATCH(ssl_pemfile);
PATCH(ssl_ca_file);
return 0;
-@@ -257,22 +261,22 @@
+@@ -257,22 +262,22 @@
int config_patch_connection(server *srv, connection *con, comp_key_t comp) {
size_t i, j;
if (buffer_is_equal_string(du->key, CONST_STR_LEN("server.document-root"))) {
PATCH(document_root);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("server.range-requests"))) {
-@@ -315,11 +319,13 @@
+@@ -315,11 +320,13 @@
PATCH(log_response_header);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("debug.log-condition-handling"))) {
PATCH(log_condition_handling);
PATCH(force_lowercase_filenames);
} else if (buffer_is_equal_string(du->key, CONST_STR_LEN("server.kbytes-per-second"))) {
PATCH(global_kbytes_per_second);
-@@ -328,7 +334,7 @@
+@@ -328,7 +335,7 @@
}
}
}
return 0;
}
#undef PATCH
-@@ -336,15 +342,15 @@
+@@ -336,15 +343,15 @@
typedef struct {
int foo;
int bar;
int in_key;
int in_brace;
int in_cond;
-@@ -362,7 +368,7 @@
+@@ -362,7 +369,7 @@
}
if (0 != stream_open(&(t->s), t->file)) {
"opening configfile ", t->file, "failed:", strerror(errno));
buffer_free(t->file);
return -1;
-@@ -373,7 +379,7 @@
+@@ -373,7 +380,7 @@
t->size = t->s.size;
t->line = 1;
t->line_pos = 1;
t->in_key = 1;
t->in_brace = 0;
t->in_cond = 0;
-@@ -401,7 +407,7 @@
+@@ -401,7 +408,7 @@
static int config_skip_comment(tokenizer_t *t) {
int i;
assert(t->input[t->offset] == '#');
(t->input[t->offset + i] != '\n' && t->input[t->offset + i] != '\r');
i++);
t->offset += i;
-@@ -411,44 +417,44 @@
+@@ -411,44 +418,44 @@
static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer *token) {
int tid = 0;
size_t i;
"only =~ and == are allowed in the condition");
return -1;
}
-@@ -456,51 +462,51 @@
+@@ -456,51 +463,51 @@
t->in_cond = 0;
} else if (t->in_key) {
tid = TK_ASSIGN;
break;
case '\t':
case ' ':
-@@ -546,10 +552,10 @@
+@@ -546,10 +553,10 @@
case ',':
if (t->in_brace > 0) {
tid = TK_COMMA;
t->offset++;
t->line_pos++;
break;
-@@ -557,70 +563,70 @@
+@@ -557,70 +564,70 @@
/* search for the terminating " */
start = t->input + t->offset + 1;
buffer_copy_string(token, "");
break;
case '+':
-@@ -637,96 +643,88 @@
+@@ -637,96 +644,88 @@
case '{':
t->offset++;
if (strcmp(token->ptr, "include") == 0) {
tid = TK_INCLUDE;
} else if (strcmp(token->ptr, "include_shell") == 0) {
-@@ -738,14 +736,14 @@
+@@ -738,14 +737,14 @@
} else {
tid = TK_LKEY;
}
"invalid character in variable name");
return -1;
}
-@@ -753,16 +751,16 @@
+@@ -753,16 +752,16 @@
break;
}
}
return 1;
} else if (t->offset < t->size) {
fprintf(stderr, "%s.%d: %d, %s\n",
-@@ -781,10 +779,11 @@
+@@ -781,10 +780,11 @@
pParser = configparserAlloc( malloc );
lasttoken = buffer_init();
token = buffer_init();
token = buffer_init();
}
buffer_free(token);
-@@ -797,14 +796,14 @@
+@@ -797,14 +797,14 @@
}
}
configparserFree(pParser, free);
"parser failed somehow near here:", lasttoken);
ret = -1;
}
-@@ -821,7 +820,7 @@
+@@ -821,7 +821,7 @@
t->offset = 0;
t->line = 1;
t->line_pos = 1;
t->in_key = 1;
t->in_brace = 0;
t->in_cond = 0;
-@@ -844,7 +843,7 @@
+@@ -844,7 +844,7 @@
}
if (0 != stream_open(&s, filename)) {
"opening configfile ", filename, "failed:", strerror(errno));
ret = -1;
} else {
-@@ -866,7 +865,7 @@
+@@ -866,7 +866,7 @@
char oldpwd[PATH_MAX];
if (NULL == getcwd(oldpwd, sizeof(oldpwd))) {
"cannot get cwd", strerror(errno));
return -1;
}
-@@ -879,7 +878,7 @@
+@@ -879,7 +879,7 @@
}
if (0 != proc_open_buffer(&proc, cmd, NULL, out, NULL)) {
"opening", source, "failed:", strerror(errno));
ret = -1;
} else {
-@@ -896,13 +895,12 @@
+@@ -896,13 +896,12 @@
static void context_init(server *srv, config_t *context) {
context->srv = srv;
context->ok = 1;
buffer_free(context->basedir);
}
-@@ -918,18 +916,15 @@
+@@ -918,18 +917,15 @@
context_init(srv, &context);
context.all_configs = srv->config_context;
dc = data_config_init();
buffer_copy_string(dc->key, "global");
-@@ -941,10 +936,10 @@
- /* default context */
- srv->config = dc->value;
- dpid = data_integer_init();
-- dpid->value = getpid();
-+ dpid->value = /* getpid() */0;
+@@ -944,7 +940,7 @@
+ dpid->value = getpid();
buffer_copy_string(dpid->key, "var.PID");
array_insert_unique(srv->config, (data_unset *)dpid);
-
dcwd = data_string_init();
buffer_prepare_copy(dcwd->value, 1024);
if (NULL != getcwd(dcwd->value->ptr, dcwd->value->size - 1)) {
-@@ -968,7 +963,7 @@
+@@ -968,7 +964,7 @@
} else {
return -1;
}
if (NULL != (modules = (data_array *)array_get_element(srv->config, "server.modules"))) {
data_string *ds;
data_array *prepends;
-@@ -1026,22 +1021,23 @@
+@@ -1026,22 +1022,23 @@
buffer_copy_string(modules->key, "server.modules");
array_insert_unique(srv->config, (data_unset *)modules);
}
/* - poll is most reliable
* - select works everywhere
* - linux-* are experimental
-@@ -1067,20 +1063,21 @@
+@@ -1067,20 +1064,21 @@
#endif
{ FDEVENT_HANDLER_UNSET, NULL }
};
return -1;
}
-@@ -1088,18 +1085,18 @@
+@@ -1088,18 +1086,18 @@
buffer_copy_string_buffer(srv->tmp_buf, srv->srvconf.changeroot);
buffer_append_string_buffer(srv->tmp_buf, s->document_root);
if (0 == stat(srv->tmp_buf->ptr, &st1)) {
int is_lower = 0;
-@@ -1107,68 +1104,68 @@
+@@ -1107,68 +1105,68 @@
is_lower = buffer_is_equal(srv->tmp_buf, s->document_root);
/* lower-case existed, check upper-case */
return -1;
}
}
-@@ -1176,19 +1173,19 @@
+@@ -1176,19 +1174,19 @@
if (s->is_ssl) {
if (buffer_is_empty(s->ssl_pemfile)) {
/* PEM file is require */
+
return 0;
}
---- lighttpd-1.4.11/src/configfile.h 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/configfile.h 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/configfile.h 2006-07-11 22:07:51.000000000 +0300
@@ -9,7 +9,7 @@
server *srv;
data_config *current; /* current started with { */
buffer *basedir;
} config_t;
---- lighttpd-1.4.11/src/configparser.c 2006-02-01 19:51:15.000000000 +0200
+--- ../lighttpd-1.4.11/src/configparser.c 2006-02-01 19:51:15.000000000 +0200
+++ lighttpd-1.4.12/src/configparser.c 2006-07-11 22:08:02.000000000 +0300
@@ -24,52 +24,34 @@
dc->parent = ctx->current;
**
** This is what we do if the grammar does define ERROR:
**
---- lighttpd-1.4.11/src/configparser.y 2006-01-26 18:46:25.000000000 +0200
+--- ../lighttpd-1.4.11/src/configparser.y 2006-01-26 18:46:25.000000000 +0200
+++ lighttpd-1.4.12/src/configparser.y 2006-07-11 22:07:53.000000000 +0300
@@ -21,52 +21,34 @@
dc->parent = ctx->current;
array(A) ::= LPARAN aelements(B) RPARAN. {
A = B;
B = NULL;
---- lighttpd-1.4.11/src/connections-glue.c 2005-09-12 10:04:23.000000000 +0300
+--- ../lighttpd-1.4.11/src/connections-glue.c 2005-09-12 10:04:23.000000000 +0300
+++ lighttpd-1.4.12/src/connections-glue.c 2006-07-11 22:07:51.000000000 +0300
@@ -13,7 +13,7 @@
case CON_STATE_REQUEST_END: return "req-end";
return 0;
}
---- lighttpd-1.4.11/src/connections.c 2006-03-05 22:14:53.000000000 +0200
-+++ lighttpd-1.4.12/src/connections.c 2006-07-11 22:07:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/connections.c 2006-03-05 22:14:53.000000000 +0200
++++ lighttpd-1.4.12/src/connections.c 2006-07-15 22:43:21.000000000 +0300
@@ -2,7 +2,6 @@
#include <stdlib.h>
#endif
#ifdef HAVE_SYS_FILIO_H
-@@ -35,6 +34,7 @@
+@@ -35,15 +34,16 @@
#endif
#include "sys-socket.h"
+#include "sys-files.h"
typedef struct {
- PLUGIN_DATA;
-@@ -43,7 +43,7 @@
+- PLUGIN_DATA;
++ PLUGIN_DATA;
+ } plugin_data;
+
static connection *connections_get_new_connection(server *srv) {
connections *conns = srv->conns;
size_t i;
- return -1;
- }
- buffer_prepare_copy(b, toread);
-+ oldlen = chunkqueue_length(con->read_queue);
++ oldlen = chunkqueue_length(con->read_queue);
- len = read(con->fd, b->ptr, b->size - 1);
- }
-#endif
-
- if (len < 0) {
-- con->is_readable = 0;
++ switch(network_read_chunkqueue(srv, con, con->read_queue)) {
++ case NETWORK_STATUS_SUCCESS:
++ break;
++ case NETWORK_STATUS_WAIT_FOR_EVENT:
++ con->is_readable = 0;
++ return NETWORK_STATUS_WAIT_FOR_EVENT;
++ case NETWORK_STATUS_INTERRUPTED:
++ con->is_readable = 1;
++ return NETWORK_STATUS_WAIT_FOR_EVENT;
++ case NETWORK_STATUS_CONNECTION_CLOSE:
++ /* pipelining */
++ con->is_readable = 0;
++ return NETWORK_STATUS_CONNECTION_CLOSE;
++ case NETWORK_STATUS_FATAL_ERROR:
+ con->is_readable = 0;
-
-#ifdef USE_OPENSSL
- if (srv_sock->is_ssl) {
- log_error_write(srv, __FILE__, __LINE__, "sds", "SSL:",
- r, ERR_error_string(ssl_err, NULL));
- }
-+ switch(network_read_chunkqueue(srv, con, con->read_queue)) {
-+ case NETWORK_STATUS_SUCCESS:
-+ break;
-+ case NETWORK_STATUS_WAIT_FOR_EVENT:
-+ con->is_readable = 0;
-+ return NETWORK_STATUS_WAIT_FOR_EVENT;
-+ case NETWORK_STATUS_INTERRUPTED:
-+ con->is_readable = 1;
-+ return NETWORK_STATUS_WAIT_FOR_EVENT;
-+ case NETWORK_STATUS_CONNECTION_CLOSE:
-+ /* pipelining */
-+ con->is_readable = 0;
-+ return NETWORK_STATUS_CONNECTION_CLOSE;
-+ case NETWORK_STATUS_FATAL_ERROR:
-+ con->is_readable = 0;
-+
-+ connection_set_state(srv, con, CON_STATE_ERROR);
-+ return NETWORK_STATUS_FATAL_ERROR;
-+ default:
-+ SEGFAULT();
-+ break;
-+ }
- switch(errno) {
- default:
- log_error_write(srv, __FILE__, __LINE__, "ssd", "connection closed - read failed: ", strerror(errno), errno);
- }
-#endif
-- connection_set_state(srv, con, CON_STATE_ERROR);
+ connection_set_state(srv, con, CON_STATE_ERROR);
-
- return -1;
- } else if (len == 0) {
- con->is_readable = 0;
- /* the other end close the connection -> KEEP-ALIVE */
--
++ return NETWORK_STATUS_FATAL_ERROR;
++ default:
++ SEGFAULT();
++ break;
++ }
+
- /* pipelining */
--
++ newlen = chunkqueue_length(con->read_queue);
+
- return -2;
- } else if ((size_t)len < b->size - 1) {
- /* we got less then expected, wait for the next fd-event */
-#endif
-
- return 0;
-+ newlen = chunkqueue_length(con->read_queue);
-+
+ con->bytes_read += (newlen - oldlen);
+
+ return NETWORK_STATUS_SUCCESS;
}
static int connection_handle_write(server *srv, connection *con) {
-- switch(network_write_chunkqueue(srv, con, con->write_queue)) {
+ switch(network_write_chunkqueue(srv, con, con->write_queue)) {
- case 0:
-+ switch(network_write_chunkqueue(srv, con, con->write_queue)) {
+ case NETWORK_STATUS_SUCCESS:
if (con->file_finished) {
connection_set_state(srv, con, CON_STATE_RESPONSE_END);
if (cq->first == cq->last &&
- cq->first->mem->used == 0) {
-+ (NULL == cq->first ||
++ (NULL == cq->first ||
+ cq->first->mem->used == 0)) {
/* conn-closed, leave here */
connection_set_state(srv, con, CON_STATE_ERROR);
+
-+ return 0;
++ return 0;
}
default:
break;
if (-1 == (cnt = accept(srv_socket->fd, (struct sockaddr *) &cnt_addr, &cnt_len))) {
+#ifdef _WIN32
-+ errno = WSAGetLastError();
++ errno = WSAGetLastError();
+#endif
if ((errno != EAGAIN) &&
-+ (errno != EWOULDBLOCK) &&
++ (errno != EWOULDBLOCK) &&
(errno != EINTR)) {
- log_error_write(srv, __FILE__, __LINE__, "ssd", "accept failed:", strerror(errno), errno);
+ log_error_write(srv, __FILE__, __LINE__, "ssd", "accept failed:", strerror(errno), srv_socket->fd);
(con->is_writable == 0) &&
(con->traffic_limit_reached == 0)) {
fdevent_event_add(srv->ev, &(con->fde_ndx), con->fd, FDEVENT_OUT);
---- lighttpd-1.4.11/src/crc32.h 2005-09-30 20:18:59.000000000 +0300
+--- ../lighttpd-1.4.11/src/crc32.h 2005-09-30 20:18:59.000000000 +0300
+++ lighttpd-1.4.12/src/crc32.h 2006-07-11 22:07:53.000000000 +0300
@@ -6,6 +6,7 @@
#endif
uint32_t generate_crc32c(char *string, size_t length);
#endif
---- lighttpd-1.4.11/src/data_array.c 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_array.c 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/data_array.c 2006-07-11 22:07:52.000000000 +0300
@@ -17,16 +17,16 @@
+
return ds;
}
---- lighttpd-1.4.11/src/data_config.c 2005-08-17 12:53:19.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_config.c 2005-08-17 12:53:19.000000000 +0300
+++ lighttpd-1.4.12/src/data_config.c 2006-07-11 22:07:51.000000000 +0300
@@ -17,26 +17,26 @@
+
return ds;
}
---- lighttpd-1.4.11/src/data_count.c 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_count.c 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/data_count.c 2006-07-11 22:07:51.000000000 +0300
@@ -16,53 +16,53 @@
+
return ds;
}
---- lighttpd-1.4.11/src/data_fastcgi.c 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_fastcgi.c 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/data_fastcgi.c 2006-07-11 22:07:53.000000000 +0300
@@ -17,53 +17,53 @@
+
return ds;
}
---- lighttpd-1.4.11/src/data_integer.c 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_integer.c 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/data_integer.c 2006-07-11 22:07:51.000000000 +0300
@@ -16,15 +16,15 @@
+
return ds;
}
---- lighttpd-1.4.11/src/data_string.c 2005-08-23 17:36:12.000000000 +0300
+--- ../lighttpd-1.4.11/src/data_string.c 2005-08-23 17:36:12.000000000 +0300
+++ lighttpd-1.4.12/src/data_string.c 2006-07-11 22:07:53.000000000 +0300
@@ -17,16 +17,16 @@
+
return ds;
}
---- lighttpd-1.4.11/src/etag.c 2005-08-11 01:26:40.000000000 +0300
+--- ../lighttpd-1.4.11/src/etag.c 2005-08-11 01:26:40.000000000 +0300
+++ lighttpd-1.4.12/src/etag.c 2006-07-11 22:07:51.000000000 +0300
@@ -14,19 +14,19 @@
buffer_append_off_t(etag, st->st_size);
+
return 0;
}
---- lighttpd-1.4.11/src/etag.h 2005-08-11 01:26:40.000000000 +0300
+--- ../lighttpd-1.4.11/src/etag.h 2005-08-11 01:26:40.000000000 +0300
+++ lighttpd-1.4.12/src/etag.h 2006-07-11 22:07:51.000000000 +0300
@@ -3,13 +3,12 @@
+
#endif
---- lighttpd-1.4.11/src/fastcgi.h 2005-08-11 01:26:40.000000000 +0300
+--- ../lighttpd-1.4.11/src/fastcgi.h 2005-08-11 01:26:40.000000000 +0300
+++ lighttpd-1.4.12/src/fastcgi.h 2006-07-11 22:07:51.000000000 +0300
@@ -1,4 +1,4 @@
-/*
unsigned char reserved[7];
} FCGI_UnknownTypeBody;
---- lighttpd-1.4.11/src/fdevent.c 2005-11-15 10:51:05.000000000 +0200
+--- ../lighttpd-1.4.11/src/fdevent.c 2005-11-15 10:51:05.000000000 +0200
+++ lighttpd-1.4.12/src/fdevent.c 2006-07-11 22:07:53.000000000 +0300
@@ -2,7 +2,6 @@
return -1;
}
---- lighttpd-1.4.11/src/fdevent.h 2005-09-27 11:26:33.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent.h 2005-09-27 11:26:33.000000000 +0300
+++ lighttpd-1.4.12/src/fdevent.h 2006-07-11 22:07:51.000000000 +0300
@@ -17,13 +17,13 @@
# include <sys/epoll.h>
int (*fcntl_set)(struct fdevents *ev, int fd);
} fdevents;
---- lighttpd-1.4.11/src/fdevent_freebsd_kqueue.c 2005-09-01 10:46:24.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent_freebsd_kqueue.c 2005-09-01 10:46:24.000000000 +0300
+++ lighttpd-1.4.12/src/fdevent_freebsd_kqueue.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
return -1;
}
---- lighttpd-1.4.11/src/fdevent_linux_rtsig.c 2005-11-21 19:56:11.000000000 +0200
-+++ lighttpd-1.4.12/src/fdevent_linux_rtsig.c 2006-07-11 22:07:53.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent_linux_rtsig.c 2005-11-21 19:56:11.000000000 +0200
++++ lighttpd-1.4.12/src/fdevent_linux_rtsig.c 2006-07-15 22:43:21.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-@@ -26,19 +25,19 @@
+@@ -14,6 +13,7 @@
+ #include "fdevent.h"
+ #include "settings.h"
+ #include "buffer.h"
++#include "sys-process.h"
+
+ #ifdef USE_LINUX_SIGIO
+ static void fdevent_linux_rtsig_free(fdevents *ev) {
+@@ -26,19 +26,19 @@
static int fdevent_linux_rtsig_event_del(fdevents *ev, int fde_ndx, int fd) {
if (fde_ndx < 0) return -1;
if (ev->unused.size == 0) {
ev->unused.size = 16;
ev->unused.ptr = malloc(sizeof(*(ev->unused.ptr)) * ev->unused.size);
-@@ -46,29 +45,29 @@
+@@ -46,29 +46,29 @@
ev->unused.size += 16;
ev->unused.ptr = realloc(ev->unused.ptr, sizeof(*(ev->unused.ptr)) * ev->unused.size);
}
return 0;
}
#endif
-@@ -78,21 +77,21 @@
+@@ -78,21 +78,21 @@
if (fde_ndx != -1) {
if (ev->pollfds[fde_ndx].fd == fd) {
ev->pollfds[fde_ndx].events = events;
return k;
} else {
if (ev->size == 0) {
-@@ -102,12 +101,12 @@
+@@ -102,12 +102,12 @@
ev->size += 16;
ev->pollfds = realloc(ev->pollfds, sizeof(*ev->pollfds) * ev->size);
}
return ev->used++;
}
}
-@@ -115,20 +114,20 @@
+@@ -115,20 +115,20 @@
static int fdevent_linux_rtsig_poll(fdevents *ev, int timeout_ms) {
struct timespec ts;
int r;
} else if (r == SIGIO) {
struct sigaction act;
-@@ -140,7 +139,7 @@
+@@ -140,7 +140,7 @@
/* re-enable the signal queue */
act.sa_handler = SIG_DFL;
sigaction(ev->signum, &act, NULL);
ev->in_sigio = 0;
r = poll(ev->pollfds, ev->used, timeout_ms);
-@@ -162,12 +161,12 @@
+@@ -162,12 +162,12 @@
if (ev->siginfo.si_band == POLLERR) {
fprintf(stderr, "event: %d %02lx %02x %s\n", ev->siginfo.si_fd, ev->siginfo.si_band, errno, strerror(errno));
}
return ev->siginfo.si_band & 0x3f;
} else {
if (ndx >= ev->used) {
-@@ -188,13 +187,13 @@
+@@ -188,13 +188,13 @@
static int fdevent_linux_rtsig_fcntl_set(fdevents *ev, int fd) {
static pid_t pid = 0;
return fcntl(fd, F_SETFL, O_ASYNC | O_NONBLOCK | O_RDWR);
}
-@@ -205,12 +204,12 @@
+@@ -205,12 +205,12 @@
return -1;
} else {
size_t i;
return i;
}
}
-@@ -219,34 +218,34 @@
+@@ -219,34 +219,34 @@
ev->type = FDEVENT_HANDLER_LINUX_RTSIG;
#define SET(x) \
ev->x = fdevent_linux_rtsig_##x;
return 0;
}
#else
---- lighttpd-1.4.11/src/fdevent_linux_sysepoll.c 2005-09-30 20:29:27.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent_linux_sysepoll.c 2005-09-30 20:29:27.000000000 +0300
+++ lighttpd-1.4.12/src/fdevent_linux_sysepoll.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
return -1;
}
#endif
---- lighttpd-1.4.11/src/fdevent_poll.c 2005-11-18 13:59:16.000000000 +0200
+--- ../lighttpd-1.4.11/src/fdevent_poll.c 2005-11-18 13:59:16.000000000 +0200
+++ lighttpd-1.4.12/src/fdevent_poll.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
return 0;
}
---- lighttpd-1.4.11/src/fdevent_select.c 2005-08-31 11:12:46.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent_select.c 2005-08-31 11:12:46.000000000 +0300
+++ lighttpd-1.4.12/src/fdevent_select.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,18 +1,19 @@
-#include <sys/time.h>
return 0;
}
---- lighttpd-1.4.11/src/fdevent_solaris_devpoll.c 2005-09-01 10:45:26.000000000 +0300
+--- ../lighttpd-1.4.11/src/fdevent_solaris_devpoll.c 2005-09-01 10:45:26.000000000 +0300
+++ lighttpd-1.4.12/src/fdevent_solaris_devpoll.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
return -1;
}
#endif
---- lighttpd-1.4.11/src/http-header-glue.c 2006-02-08 15:31:36.000000000 +0200
+--- ../lighttpd-1.4.11/src/http-header-glue.c 2006-02-08 15:31:36.000000000 +0200
+++ lighttpd-1.4.12/src/http-header-glue.c 2006-07-11 22:07:53.000000000 +0300
@@ -45,20 +45,20 @@
# ifdef HAVE_STRUCT_SOCKADDR_STORAGE
}
}
---- lighttpd-1.4.11/src/http_auth.c 2006-02-01 13:02:52.000000000 +0200
+--- ../lighttpd-1.4.11/src/http_auth.c 2006-02-01 13:02:52.000000000 +0200
+++ lighttpd-1.4.12/src/http_auth.c 2006-07-11 22:07:53.000000000 +0300
@@ -22,7 +22,6 @@
#include <string.h>
+
return 0;
}
---- lighttpd-1.4.11/src/http_auth.h 2005-08-14 17:12:31.000000000 +0300
+--- ../lighttpd-1.4.11/src/http_auth.h 2005-08-14 17:12:31.000000000 +0300
+++ lighttpd-1.4.12/src/http_auth.h 2006-07-11 22:07:53.000000000 +0300
@@ -9,22 +9,26 @@
# include <ldap.h>
mod_auth_plugin_config conf; /* this is only used as long as no handler_ctx is setup */
} mod_auth_plugin_data;
---- lighttpd-1.4.11/src/http_auth_digest.h 2006-01-05 00:54:01.000000000 +0200
+--- ../lighttpd-1.4.11/src/http_auth_digest.h 2006-01-05 00:54:01.000000000 +0200
+++ lighttpd-1.4.12/src/http_auth_digest.h 2006-07-11 22:07:53.000000000 +0300
@@ -12,7 +12,7 @@
#ifdef USE_OPENSSL
#endif
#define OUT
---- lighttpd-1.4.11/src/http_chunk.c 2005-08-11 01:26:50.000000000 +0300
+--- ../lighttpd-1.4.11/src/http_chunk.c 2005-08-11 01:26:50.000000000 +0300
+++ lighttpd-1.4.12/src/http_chunk.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,7 +1,7 @@
/**
+
return chunkqueue_length(con->write_queue);
}
---- lighttpd-1.4.11/src/http_resp.c 1970-01-01 03:00:00.000000000 +0300
-+++ lighttpd-1.4.12/src/http_resp.c 2006-07-11 22:07:53.000000000 +0300
-@@ -0,0 +1,261 @@
+--- ../lighttpd-1.4.11/src/http_resp.c 1970-01-01 03:00:00.000000000 +0300
++++ lighttpd-1.4.12/src/http_resp.c 2006-07-15 22:43:21.000000000 +0300
+@@ -0,0 +1,274 @@
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+ chunkqueue *cq;
+
+ chunk *c; /* current chunk in the chunkqueue */
-+ size_t offset; /* current offset in current chunk */
++ size_t offset; /* current offset in current chunk */
+
-+ chunk *lookup_c;
-+ size_t lookup_offset;
++ chunk *lookup_c;
++ size_t lookup_offset;
+
-+ int is_key;
-+ int is_statusline;
++ int is_key;
++ int is_statusline;
+} http_resp_tokenizer_t;
+
+http_resp *http_response_init(void) {
-+ http_resp *resp = calloc(1, sizeof(*resp));
++ http_resp *resp = calloc(1, sizeof(*resp));
+
-+ resp->reason = buffer_init();
-+ resp->headers = array_init();
++ resp->reason = buffer_init();
++ resp->headers = array_init();
+
-+ return resp;
++ return resp;
+}
+
+void http_response_reset(http_resp *resp) {
-+ if (!resp) return;
++ if (!resp) return;
+
-+ buffer_reset(resp->reason);
-+ array_reset(resp->headers);
++ buffer_reset(resp->reason);
++ array_reset(resp->headers);
+
+}
+
+void http_response_free(http_resp *resp) {
-+ if (!resp) return;
++ if (!resp) return;
+
-+ buffer_free(resp->reason);
-+ array_free(resp->headers);
++ buffer_free(resp->reason);
++ array_free(resp->headers);
+
-+ free(resp);
++ free(resp);
+}
+
+static int http_resp_get_next_char(http_resp_tokenizer_t *t, unsigned char *c) {
-+ if (t->offset == t->c->mem->used - 1) {
-+ /* end of chunk, open next chunk */
++ if (t->offset == t->c->mem->used - 1) {
++ /* end of chunk, open next chunk */
+
-+ if (!t->c->next) return -1;
++ if (!t->c->next) return -1;
+
-+ t->c = t->c->next;
-+ t->offset = 0;
-+ }
++ t->c = t->c->next;
++ t->offset = 0;
++ }
+
-+ *c = t->c->mem->ptr[t->offset++];
++ *c = t->c->mem->ptr[t->offset++];
+
-+ t->lookup_offset = t->offset;
-+ t->lookup_c = t->c;
++ t->lookup_offset = t->offset;
++ t->lookup_c = t->c;
+
-+ //fprintf(stderr, "%s.%d: get: %c (%d) at offset: %d\r\n", __FILE__, __LINE__, *c > 31 ? *c : ' ', *c, t->offset - 1);
++#if 0
++ fprintf(stderr, "%s.%d: get: %c (%d) at offset: %d\r\n", __FILE__, __LINE__, *c > 31 ? *c : ' ', *c, t->offset - 1);
++#endif
+
-+ return 0;
++ return 0;
+}
+
+static int http_resp_lookup_next_char(http_resp_tokenizer_t *t, unsigned char *c) {
-+ if (t->lookup_offset == t->lookup_c->mem->used - 1) {
-+ /* end of chunk, open next chunk */
++ if (t->lookup_offset == t->lookup_c->mem->used - 1) {
++ /* end of chunk, open next chunk */
+
-+ if (!t->lookup_c->next) return -1;
++ if (!t->lookup_c->next) return -1;
+
-+ t->lookup_c = t->lookup_c->next;
-+ t->lookup_offset = 0;
-+ }
-+
-+ *c = t->lookup_c->mem->ptr[t->lookup_offset++];
-+
-+ //fprintf(stderr, "%s.%d: lookup: %c (%d) at offset: %d\r\n", __FILE__, __LINE__, *c > 31 ? *c : ' ', *c, t->lookup_offset - 1);
++ t->lookup_c = t->lookup_c->next;
++ t->lookup_offset = 0;
++ }
+
++ *c = t->lookup_c->mem->ptr[t->lookup_offset++];
++#if 0
++ fprintf(stderr, "%s.%d: lookup: %c (%d) at offset: %d\r\n", __FILE__, __LINE__, *c > 31 ? *c : ' ', *c, t->lookup_offset - 1);
++#endif
+
-+ return 0;
++ return 0;
+}
+
+
+static int http_resp_tokenizer(
-+ http_resp_tokenizer_t *t,
-+ int *token_id,
-+ buffer *token
++ http_resp_tokenizer_t *t,
++ int *token_id,
++ buffer *token
+) {
-+ unsigned char c;
-+ int tid = 0;
-+
-+ /* push the token to the parser */
-+
-+ while (tid == 0 && 0 == http_resp_get_next_char(t, &c)) {
-+ switch (c) {
-+ case ':':
-+ tid = TK_COLON;
-+
-+ t->is_key = 0;
-+
-+ break;
-+ case ' ':
-+ case '\t':
-+ /* ignore WS */
-+
-+ break;
-+ case '\r':
-+ if (0 != http_resp_lookup_next_char(t, &c)) return -1;
-+
-+ if (c == '\n') {
-+ tid = TK_CRLF;
-+
-+ t->c = t->lookup_c;
-+ t->offset = t->lookup_offset;
-+
-+ t->is_statusline = 0;
-+ t->is_key = 1;
-+ } else {
-+ fprintf(stderr, "%s.%d: CR with out LF\r\n", __FILE__, __LINE__);
-+ return -1;
-+ }
-+ break;
-+ case '\n':
-+ tid = TK_CRLF;
-+
-+ t->is_statusline = 0;
-+ t->is_key = 1;
-+
-+ break;
-+ default:
-+ while (c >= 32 && c != 127 && c != 255) {
-+ if (t->is_statusline) {
-+ if (c == ':') {t->is_statusline = 0; break; } /* this is not a status line by a real header */
-+ if (c == 32) break; /* the space is a splitter in the statusline */
-+ } else {
-+ if (t->is_key) {
-+ if (c == ':') break; /* the : is the splitter between key and value */
-+ }
-+ }
-+ if (0 != http_resp_lookup_next_char(t, &c)) return -1;
-+ }
-+
-+ if (t->c == t->lookup_c &&
-+ t->offset == t->lookup_offset + 1) {
-+
-+ fprintf(stderr, "%s.%d: invalid char in string\n", __FILE__, __LINE__);
-+ return -1;
-+ }
-+
-+ tid = TK_STRING;
-+
-+ /* the lookup points to the first invalid char */
-+ t->lookup_offset--;
-+
-+ /* no overlapping string */
-+ if (t->c == t->lookup_c) {
-+ buffer_copy_string_len(token, t->c->mem->ptr + t->offset - 1, t->lookup_offset - t->offset + 1);
-+ } else {
-+ /* first chunk */
-+ buffer_copy_string_len(token, t->c->mem->ptr + t->offset - 1, t->c->mem->used - t->offset);
-+
-+ /* chunks in the middle */
-+ for (t->c = t->c->next; t->c != t->lookup_c; t->c = t->c->next) {
-+ buffer_append_string_buffer(token, t->c->mem);
-+ t->offset = t->c->mem->used - 1;
-+ }
-+
-+ /* last chunk */
-+ buffer_append_string_len(token, t->c->mem->ptr, t->lookup_offset);
-+ }
-+
-+ t->offset = t->lookup_offset;
-+
-+ break;
-+ }
++ unsigned char c;
++ int tid = 0;
++
++ /* push the token to the parser */
++
++ while (tid == 0 && 0 == http_resp_get_next_char(t, &c)) {
++ switch (c) {
++ case ':':
++ tid = TK_COLON;
++
++ t->is_key = 0;
++
++ break;
++ case ' ':
++ case '\t':
++ /* ignore WS */
++
++ break;
++ case '\r':
++ if (0 != http_resp_lookup_next_char(t, &c)) return -1;
++
++ if (c == '\n') {
++ tid = TK_CRLF;
++
++ t->c = t->lookup_c;
++ t->offset = t->lookup_offset;
++
++ t->is_statusline = 0;
++ t->is_key = 1;
++ } else {
++ fprintf(stderr, "%s.%d: CR with out LF\r\n", __FILE__, __LINE__);
++ return -1;
++ }
++ break;
++ case '\n':
++ tid = TK_CRLF;
++
++ t->is_statusline = 0;
++ t->is_key = 1;
++
++ break;
++ default:
++ while (c >= 32 && c != 127 && c != 255) {
++ if (t->is_statusline) {
++ if (c == ':') { t->is_statusline = 0; break; } /* this is not a status line by a real header */
++ if (c == 32) break; /* the space is a splitter in the statusline */
++ } else {
++ if (t->is_key) {
++ if (c == ':') break; /* the : is the splitter between key and value */
++ }
++ }
++ if (0 != http_resp_lookup_next_char(t, &c)) return -1;
++ }
++
++ if (t->c == t->lookup_c &&
++ t->offset == t->lookup_offset + 1) {
++
++ fprintf(stderr, "%s.%d: invalid char in string\n", __FILE__, __LINE__);
++ return -1;
++ }
++
++ tid = TK_STRING;
++
++ /* the lookup points to the first invalid char */
++ t->lookup_offset--;
++
++ /* no overlapping string */
++ if (t->c == t->lookup_c) {
++ buffer_copy_string_len(token, t->c->mem->ptr + t->offset - 1, t->lookup_offset - t->offset + 1);
++ } else {
++ /* first chunk */
++ buffer_copy_string_len(token, t->c->mem->ptr + t->offset - 1, t->c->mem->used - t->offset);
++
++ /* chunks in the middle */
++ for (t->c = t->c->next; t->c != t->lookup_c; t->c = t->c->next) {
++ buffer_append_string_buffer(token, t->c->mem);
++ t->offset = t->c->mem->used - 1;
++ }
++
++ /* last chunk */
++ buffer_append_string_len(token, t->c->mem->ptr, t->lookup_offset);
++ }
++
++ t->offset = t->lookup_offset;
++
++ break;
++ }
+ }
+
-+ if (tid) {
++ if (tid) {
+ *token_id = tid;
+
-+ return 1;
-+ }
++ return 1;
++ }
+
-+ return -1;
++ return -1;
+}
+
+parse_status_t http_response_parse_cq(chunkqueue *cq, http_resp *resp) {
-+ http_resp_tokenizer_t t;
++ http_resp_tokenizer_t t;
+ void *pParser = NULL;
+ int token_id = 0;
+ buffer *token = NULL;
+ http_resp_ctx_t context;
-+ parse_status_t ret = PARSE_UNSET;
-+ int last_token_id = 0;
++ parse_status_t ret = PARSE_UNSET;
++ int last_token_id = 0;
+
+ t.cq = cq;
-+ t.c = cq->first;
-+ t.offset = t.c->offset;
-+ t.is_key = 0;
-+ t.is_statusline = 1;
++ t.c = cq->first;
++ t.offset = t.c->offset;
++ t.is_key = 0;
++ t.is_statusline = 1;
+
+ context.ok = 1;
-+ context.errmsg = buffer_init();
-+ context.resp = resp;
++ context.errmsg = buffer_init();
++ context.resp = resp;
+
+ pParser = http_resp_parserAlloc( malloc );
+ token = buffer_init();
-+ /* http_resp_parserTrace(stderr, "http-response: "); */
++#if 0
++ http_resp_parserTrace(stderr, "http-response: ");
++#endif
+
+ while((1 == http_resp_tokenizer(&t, &token_id, token)) && context.ok) {
+ http_resp_parser(pParser, token_id, token, &context);
+
+ token = buffer_init();
+
-+ if (last_token_id == TK_CRLF &&
-+ token_id == TK_CRLF) break;
++ /* CRLF CRLF ... the header end sequence */
++ if (last_token_id == TK_CRLF &&
++ token_id == TK_CRLF) break;
+
-+ last_token_id = token_id;
++ last_token_id = token_id;
+ }
+
-+ /* oops, the parser failed */
-+ if (context.ok == 0) {
-+ ret = PARSE_ERROR;
++ /* oops, the parser failed */
++ if (context.ok == 0) {
++ ret = PARSE_ERROR;
+
-+ fprintf(stderr, "%s.%d: parsing failed at: ...%20s\r\n",
-+ __FILE__, __LINE__, t.c->mem->ptr + t.offset);
-+ }
++ fprintf(stderr, "%s.%d: parsing failed at: ...%20s\r\n",
++ __FILE__, __LINE__, t.c->mem->ptr + t.offset);
++ }
+
+ http_resp_parser(pParser, 0, token, &context);
+ http_resp_parserFree(pParser, free );
+
-+ if (context.ok == 0) {
-+ /* we are missing the some tokens */
++ if (context.ok == 0) {
++ /* we are missing the some tokens */
+
-+ if (ret == PARSE_UNSET) ret = PARSE_NEED_MORE;
-+ } else {
-+ chunk *c;
++ if (!buffer_is_empty(context.errmsg)) {
++ fprintf(stderr, "%s.%d: hmm, %20s\r\n",
++ __FILE__, __LINE__, context.errmsg->ptr);
++ }
+
-+ for (c = cq->first; c != t.c; c = c->next) {
-+ c->offset = c->mem->used - 1;
-+ }
++ if (ret == PARSE_UNSET) {
++ ret = buffer_is_empty(context.errmsg) ? PARSE_NEED_MORE : PARSE_ERROR;
++ }
++ } else {
++ chunk *c;
++
++ for (c = cq->first; c != t.c; c = c->next) {
++ c->offset = c->mem->used - 1;
++ }
+
-+ c->offset = t.offset;
++ c->offset = t.offset;
+
-+ ret = PARSE_SUCCESS;
-+ }
++ ret = PARSE_SUCCESS;
++ }
+
-+ buffer_free(token);
++ buffer_free(token);
++ buffer_free(context.errmsg);
+
-+ return ret;
++ return ret;
+}
+
---- lighttpd-1.4.11/src/http_resp.h 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/src/http_resp.h 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/src/http_resp.h 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,34 @@
+#ifndef _HTTP_RESP_H_
+parse_status_t http_response_parse_cq(chunkqueue *cq, http_resp *http_response);
+
+#endif
---- lighttpd-1.4.11/src/http_resp_parser.c 1970-01-01 03:00:00.000000000 +0300
-+++ lighttpd-1.4.12/src/http_resp_parser.c 2006-07-11 22:08:02.000000000 +0300
-@@ -0,0 +1,894 @@
+--- ../lighttpd-1.4.11/src/http_resp_parser.c 1970-01-01 03:00:00.000000000 +0300
++++ lighttpd-1.4.12/src/http_resp_parser.c 2006-07-15 22:44:07.000000000 +0300
+@@ -0,0 +1,895 @@
+/* Driver template for the LEMON parser generator.
+** The author disclaims copyright to this source code.
+*/
+ } else {
+ char *err;
+ resp->status = strtol(ds->value->ptr, &err, 10);
-+
-+ if (*err != '\0') {
++
++ if (*err != '\0' && *err != ' ') {
+ buffer_copy_string(ctx->errmsg, "expected a number: ");
+ buffer_append_string_buffer(ctx->errmsg, ds->value);
++ buffer_append_string(ctx->errmsg, err);
+
+ ctx->ok = 0;
+ }
-+
+ }
+
+ yymsp[-1].minor.yy12 = NULL;
+ case 4:
+#line 93 "./http_resp_parser.y"
+{
-+ buffer_copy_string_buffer(yygotominor.yy0, yymsp[0].minor.yy0);
++ yygotominor.yy0 = yymsp[0].minor.yy0;
++ yymsp[0].minor.yy0 = NULL;
+}
-+#line 634 "http_resp_parser.c"
++#line 635 "http_resp_parser.c"
+ break;
+ case 5:
-+#line 97 "./http_resp_parser.y"
++#line 98 "./http_resp_parser.y"
+{
+ yygotominor.yy0 = yymsp[-1].minor.yy0;
+
+
+ yymsp[-1].minor.yy0 = NULL;
+}
-+#line 646 "http_resp_parser.c"
++#line 647 "http_resp_parser.c"
+ break;
+ case 6:
-+#line 106 "./http_resp_parser.y"
++#line 107 "./http_resp_parser.y"
+{
+ yygotominor.yy12 = yymsp[-1].minor.yy12;
+
+
+ yymsp[-1].minor.yy12 = NULL;
+}
-+#line 657 "http_resp_parser.c"
++#line 658 "http_resp_parser.c"
+ break;
+ case 7:
-+#line 114 "./http_resp_parser.y"
++#line 115 "./http_resp_parser.y"
+{
+ yygotominor.yy12 = array_init();
+
+ array_insert_unique(yygotominor.yy12, (data_unset *)yymsp[0].minor.yy9);
+}
-+#line 666 "http_resp_parser.c"
++#line 667 "http_resp_parser.c"
+ break;
+ case 8:
-+#line 119 "./http_resp_parser.y"
++#line 120 "./http_resp_parser.y"
+{
+ yygotominor.yy9 = data_string_init();
+
+ buffer_copy_string_buffer(yygotominor.yy9->key, yymsp[-3].minor.yy0);
+ buffer_copy_string_buffer(yygotominor.yy9->value, yymsp[-1].minor.yy0);
+}
-+#line 676 "http_resp_parser.c"
++#line 677 "http_resp_parser.c"
+ yy_destructor(3,&yymsp[-2].minor);
+ yy_destructor(1,&yymsp[0].minor);
+ break;
+
+ ctx->ok = 0;
+
-+#line 711 "http_resp_parser.c"
++#line 712 "http_resp_parser.c"
+ http_resp_parserARG_STORE; /* Suppress warning about unused %extra_argument variable */
+}
+
+ }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
+ return;
+}
---- lighttpd-1.4.11/src/inet_ntop_cache.c 2005-08-11 01:26:38.000000000 +0300
+--- ../lighttpd-1.4.11/src/inet_ntop_cache.c 2005-08-11 01:26:38.000000000 +0300
+++ lighttpd-1.4.12/src/inet_ntop_cache.c 2006-07-11 22:07:52.000000000 +0300
@@ -8,7 +8,7 @@
#include "sys-socket.h"
return srv->inet_ntop_cache[i].b2;
#else
UNUSED(srv);
---- lighttpd-1.4.11/src/joblist.c 2005-08-11 01:26:41.000000000 +0300
+--- ../lighttpd-1.4.11/src/joblist.c 2005-08-11 01:26:41.000000000 +0300
+++ lighttpd-1.4.12/src/joblist.c 2006-07-11 22:07:51.000000000 +0300
@@ -7,7 +7,7 @@
return 0;
}
---- lighttpd-1.4.11/src/keyvalue.c 2006-03-02 16:08:06.000000000 +0200
+--- ../lighttpd-1.4.11/src/keyvalue.c 2006-03-02 16:08:06.000000000 +0200
+++ lighttpd-1.4.12/src/keyvalue.c 2006-07-11 22:07:51.000000000 +0300
@@ -87,7 +87,8 @@
{ 504, "Gateway Timeout" },
+
free(kvb);
}
---- lighttpd-1.4.11/src/keyvalue.h 2006-03-02 16:08:06.000000000 +0200
+--- ../lighttpd-1.4.11/src/keyvalue.h 2006-03-02 16:08:06.000000000 +0200
+++ lighttpd-1.4.12/src/keyvalue.h 2006-07-11 22:07:52.000000000 +0300
@@ -9,19 +9,19 @@
# include <pcre.h>
char *realm;
httpauth_type type;
} httpauth_keyvalue;
---- lighttpd-1.4.11/src/lemon.c 2005-09-01 00:21:34.000000000 +0300
+--- ../lighttpd-1.4.11/src/lemon.c 2005-09-01 00:21:34.000000000 +0300
+++ lighttpd-1.4.12/src/lemon.c 2006-07-11 22:07:51.000000000 +0300
@@ -579,7 +579,7 @@
*/
(sizeof(x4node) + sizeof(x4node*))*64 );
if( x4a->tbl==0 ){
free(x4a);
---- lighttpd-1.4.11/src/lempar.c 2005-08-11 01:26:40.000000000 +0300
+--- ../lighttpd-1.4.11/src/lempar.c 2005-08-11 01:26:40.000000000 +0300
+++ lighttpd-1.4.12/src/lempar.c 2006-07-11 22:07:51.000000000 +0300
@@ -8,10 +8,10 @@
/* Next is all token values, in a form suitable for use by makeheaders.
**
** This is what we do if the grammar does define ERROR:
**
---- lighttpd-1.4.11/src/log.c 2005-11-07 15:01:35.000000000 +0200
-+++ lighttpd-1.4.12/src/log.c 2006-07-11 22:07:53.000000000 +0300
-@@ -5,7 +5,7 @@
+--- ../lighttpd-1.4.11/src/log.c 2005-11-07 15:01:35.000000000 +0200
++++ lighttpd-1.4.12/src/log.c 2006-07-15 22:43:21.000000000 +0300
+@@ -5,7 +5,6 @@
#include <errno.h>
#include <fcntl.h>
#include <time.h>
-#include <unistd.h>
-+//#include <unistd.h>
#include <string.h>
#include <stdlib.h>
-@@ -16,6 +16,10 @@
+@@ -16,6 +15,10 @@
#include "config.h"
#endif
#ifdef HAVE_SYSLOG_H
#include <syslog.h>
#endif
-@@ -23,6 +27,8 @@
+@@ -23,6 +26,8 @@
#include "log.h"
#include "array.h"
#ifdef HAVE_VALGRIND_VALGRIND_H
#include <valgrind/valgrind.h>
#endif
-@@ -31,38 +37,38 @@
+@@ -31,38 +36,38 @@
# define O_LARGEFILE 0
#endif
return -1;
}
#ifdef FD_CLOEXEC
-@@ -71,15 +77,15 @@
+@@ -71,15 +76,15 @@
#endif
srv->errorlog_mode = ERRORLOG_FILE;
}
/* move stderr to /dev/null */
if (close_stderr &&
-1 != (fd = open("/dev/null", O_WRONLY))) {
-@@ -90,33 +96,33 @@
+@@ -90,33 +95,33 @@
return 0;
}
srv->errorlog_mode = ERRORLOG_SYSLOG;
#endif
} else {
-@@ -125,15 +131,15 @@
+@@ -125,15 +130,15 @@
srv->errorlog_fd = new_fd;
}
}
switch(srv->errorlog_mode) {
case ERRORLOG_FILE:
close(srv->errorlog_fd);
-@@ -146,13 +152,13 @@
+@@ -146,13 +151,13 @@
case ERRORLOG_STDERR:
break;
}
switch(srv->errorlog_mode) {
case ERRORLOG_FILE:
case ERRORLOG_STDERR:
-@@ -161,7 +167,7 @@
+@@ -161,7 +166,7 @@
buffer_prepare_copy(srv->ts_debug_str, 255);
strftime(srv->ts_debug_str->ptr, srv->ts_debug_str->size - 1, "%Y-%m-%d %H:%M:%S", localtime(&(srv->cur_ts)));
srv->ts_debug_str->used = strlen(srv->ts_debug_str->ptr) + 1;
srv->last_generated_debug_ts = srv->cur_ts;
}
-@@ -173,19 +179,19 @@
+@@ -173,19 +178,19 @@
BUFFER_COPY_STRING_CONST(srv->errorlog_buf, "(");
break;
}
switch(*fmt) {
case 's': /* string */
s = va_arg(ap, char *);
-@@ -227,7 +233,7 @@
+@@ -227,7 +232,7 @@
break;
case '(':
case ')':
case '>':
case ',':
case ' ':
-@@ -236,7 +242,7 @@
+@@ -236,7 +241,7 @@
}
}
va_end(ap);
switch(srv->errorlog_mode) {
case ERRORLOG_FILE:
BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "\n");
-@@ -246,11 +252,13 @@
+@@ -246,11 +251,13 @@
BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "\n");
write(STDERR_FILENO, srv->errorlog_buf->ptr, srv->errorlog_buf->used - 1);
break;
return 0;
}
---- lighttpd-1.4.11/src/log.h 2005-08-11 01:26:36.000000000 +0300
+--- ../lighttpd-1.4.11/src/log.h 2005-08-11 01:26:36.000000000 +0300
+++ lighttpd-1.4.12/src/log.h 2006-07-11 22:07:53.000000000 +0300
@@ -9,5 +9,5 @@
int log_error_close(server *srv);
-
+
#endif
---- lighttpd-1.4.11/src/md5.h 2005-11-17 16:20:40.000000000 +0200
+--- ../lighttpd-1.4.11/src/md5.h 2005-11-17 16:20:40.000000000 +0200
+++ lighttpd-1.4.12/src/md5.h 2006-07-11 22:07:53.000000000 +0300
@@ -30,9 +30,15 @@
# include <inttypes.h>
/* MD5 context. */
typedef struct {
---- lighttpd-1.4.11/src/mod_access.c 2006-01-14 19:44:54.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_access.c 2006-01-14 19:44:54.000000000 +0200
+++ lighttpd-1.4.12/src/mod_access.c 2006-07-11 22:07:53.000000000 +0300
@@ -8,126 +8,125 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_accesslog.c 2006-01-31 14:01:43.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_accesslog.c 2006-01-31 14:01:43.000000000 +0200
+++ lighttpd-1.4.12/src/mod_accesslog.c 2006-07-11 22:07:53.000000000 +0300
@@ -6,8 +6,7 @@
#include <ctype.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_alias.c 2006-03-01 23:18:51.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_alias.c 2006-03-01 23:18:51.000000000 +0200
+++ lighttpd-1.4.12/src/mod_alias.c 2006-07-11 22:07:51.000000000 +0300
@@ -8,6 +8,7 @@
#include "buffer.h"
+
return 0;
}
---- lighttpd-1.4.11/src/mod_auth.c 2006-02-15 20:01:31.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_auth.c 2006-02-15 20:01:31.000000000 +0200
+++ lighttpd-1.4.12/src/mod_auth.c 2006-07-11 22:07:53.000000000 +0300
@@ -5,168 +5,167 @@
#include <string.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_cgi.c 2006-02-22 15:15:10.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_cgi.c 2006-02-22 15:15:10.000000000 +0200
+++ lighttpd-1.4.12/src/mod_cgi.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,21 +1,8 @@
#include <sys/types.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_cml.c 2006-01-30 13:51:48.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_cml.c 2006-01-30 13:51:48.000000000 +0200
+++ lighttpd-1.4.12/src/mod_cml.c 2006-07-11 22:07:51.000000000 +0300
@@ -4,7 +4,6 @@
#include <stdlib.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_cml.h 2006-01-30 13:51:35.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_cml.h 2006-01-30 13:51:35.000000000 +0200
+++ lighttpd-1.4.12/src/mod_cml.h 2006-07-11 22:07:51.000000000 +0300
@@ -16,10 +16,10 @@
} plugin_data;
int cache_parse_lua(server *srv, connection *con, plugin_data *p, buffer *fn);
---- lighttpd-1.4.11/src/mod_cml_funcs.c 2005-11-17 16:15:08.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_cml_funcs.c 2005-11-17 16:15:08.000000000 +0200
+++ lighttpd-1.4.12/src/mod_cml_funcs.c 2006-07-11 22:07:52.000000000 +0300
@@ -4,8 +4,7 @@
#include <stdlib.h>
return 1;
}
#endif
---- lighttpd-1.4.11/src/mod_cml_lua.c 2006-01-30 13:56:40.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_cml_lua.c 2006-01-30 13:56:40.000000000 +0200
+++ lighttpd-1.4.12/src/mod_cml_lua.c 2006-07-11 22:07:53.000000000 +0300
@@ -23,7 +23,7 @@
#ifdef USE_OPENSSL
return ret /* cache-error */;
}
#else
---- lighttpd-1.4.11/src/mod_compress.c 2005-11-18 13:49:14.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_compress.c 2005-11-18 13:49:14.000000000 +0200
+++ lighttpd-1.4.12/src/mod_compress.c 2006-07-11 22:07:53.000000000 +0300
@@ -2,7 +2,6 @@
#include <sys/stat.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_dirlisting.c 2006-01-13 00:00:45.000000000 +0200
-+++ lighttpd-1.4.12/src/mod_dirlisting.c 2006-07-11 22:07:53.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_dirlisting.c 2006-01-13 00:00:45.000000000 +0200
++++ lighttpd-1.4.12/src/mod_dirlisting.c 2006-07-15 22:43:21.000000000 +0300
@@ -1,11 +1,9 @@
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#include "base.h"
-@@ -31,6 +29,9 @@
+@@ -17,6 +15,9 @@
+ #include "response.h"
+ #include "stat_cache.h"
+ #include "stream.h"
++#include "etag.h"
++
++#include "sys-strings.h"
+
+ /**
+ * this is a dirlisting for a lighttpd plugin
+@@ -27,10 +28,13 @@
+ #include <sys/syslimits.h>
+ #endif
+
+-#ifdef HAVE_ATTR_ATTRIBUTES_H
++#ifdef HAVE_XATTR
#include <attr/attributes.h>
#endif
/* plugin config for all request/connections */
typedef struct {
-@@ -54,7 +55,7 @@
+@@ -54,7 +58,7 @@
unsigned short hide_readme_file;
unsigned short show_header;
unsigned short hide_header_file;
excludes_buffer *excludes;
buffer *external_css;
-@@ -63,13 +64,13 @@
+@@ -63,13 +67,14 @@
typedef struct {
PLUGIN_DATA;
buffer *tmp_buf;
buffer *content_charset;
-
++ buffer *path;
+
plugin_config **config_storage;
-
} plugin_data;
excludes_buffer *excludes_buffer_init(void) {
-@@ -146,44 +147,44 @@
+@@ -146,44 +151,46 @@
/* init the plugin data */
INIT_FUNC(mod_dirlisting_init) {
plugin_data *p;
p->tmp_buf = buffer_init();
p->content_charset = buffer_init();
-
++ p->path = buffer_init();
+
return p;
}
-
+
buffer_free(p->tmp_buf);
++ buffer_free(p->path);
buffer_free(p->content_charset);
-
+
return HANDLER_GO_ON;
}
-@@ -215,10 +216,10 @@
+@@ -215,10 +222,10 @@
if (0 != excludes_buffer_append(s->excludes,
((data_string *)(da->value->data[j]))->value)) {
#ifdef HAVE_PCRE_H
"pcre support is missing, please install libpcre and the headers");
#endif
}
-@@ -233,8 +234,8 @@
+@@ -233,8 +240,8 @@
SETDEFAULTS_FUNC(mod_dirlisting_set_defaults) {
plugin_data *p = p_d;
size_t i = 0;
{ "dir-listing.exclude", NULL, T_CONFIG_LOCAL, T_CONFIG_SCOPE_CONNECTION }, /* 0 */
{ "dir-listing.activate", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 1 */
{ "dir-listing.hide-dotfiles", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 2 */
-@@ -245,18 +246,18 @@
+@@ -245,18 +252,18 @@
{ "dir-listing.show-header", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 7 */
{ "dir-listing.hide-header-file", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 8 */
{ "server.dir-listing", NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 9 */
s = calloc(1, sizeof(plugin_config));
s->excludes = excludes_buffer_init();
s->dir_listing = 0;
-@@ -267,7 +268,7 @@
+@@ -267,7 +274,7 @@
s->show_header = 0;
s->hide_header_file = 0;
s->encoding = buffer_init();
cv[0].destination = s->excludes;
cv[1].destination = &(s->dir_listing);
cv[2].destination = &(s->hide_dot_files);
-@@ -292,60 +293,57 @@
+@@ -292,60 +299,57 @@
return HANDLER_GO_ON;
}
typedef struct {
size_t namelen;
-@@ -432,7 +430,7 @@
+@@ -432,7 +436,7 @@
static void http_list_directory_header(server *srv, connection *con, plugin_data *p, buffer *out) {
UNUSED(srv);
BUFFER_APPEND_STRING_CONST(out,
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n"
"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">\n"
-@@ -492,11 +490,11 @@
+@@ -492,11 +496,11 @@
if (p->conf.show_header) {
stream s;
/* if we have a HEADER file, display it in <pre class="header"></pre> */
if (-1 != stream_open(&s, p->tmp_buf)) {
BUFFER_APPEND_STRING_CONST(out, "<pre class=\"header\">");
buffer_append_string_encoded(out, s.start, s.size, ENCODING_MINIMAL_XML);
-@@ -531,21 +529,21 @@
+@@ -531,21 +535,21 @@
static void http_list_directory_footer(server *srv, connection *con, plugin_data *p, buffer *out) {
UNUSED(srv);
if (-1 != stream_open(&s, p->tmp_buf)) {
BUFFER_APPEND_STRING_CONST(out, "<pre class=\"readme\">");
buffer_append_string_encoded(out, s.start, s.size, ENCODING_MINIMAL_XML);
-@@ -553,7 +551,7 @@
+@@ -553,7 +557,7 @@
}
stream_close(&s);
}
BUFFER_APPEND_STRING_CONST(out,
"<div class=\"foot\">"
);
-@@ -595,7 +593,7 @@
+@@ -576,7 +580,6 @@
+ buffer *out;
+ struct dirent *dent;
+ struct stat st;
+- char *path, *path_file;
+ size_t i;
+ int hide_dotfiles = p->conf.hide_dot_files;
+ dirls_list_t dirs, files, *list;
+@@ -586,6 +589,7 @@
+ size_t k;
+ const char *content_type;
+ long name_max;
++
+ #ifdef HAVE_XATTR
+ char attrval[128];
+ int attrlen;
+@@ -594,10 +598,10 @@
+ struct tm tm;
#endif
- if (dir->used == 0) return -1;
+- if (dir->used == 0) return -1;
-
-+
- i = dir->used - 1;
+- i = dir->used - 1;
++ /* empty pathname, never ... */
++ if (buffer_is_empty(dir)) return -1;
++ /* max-length for the opendir */
#ifdef HAVE_PATHCONF
-@@ -606,19 +604,24 @@
+ if (-1 == (name_max = pathconf(dir->ptr, _PC_NAME_MAX))) {
+ #ifdef NAME_MAX
+@@ -606,22 +610,24 @@
name_max = 256; /* stupid default */
#endif
}
name_max = NAME_MAX;
#endif
-
+- path = malloc(dir->used + name_max);
+- assert(path);
+- strcpy(path, dir->ptr);
+- path_file = path + i;
+
+- if (NULL == (dp = opendir(path))) {
+- log_error_write(srv, __FILE__, __LINE__, "sbs",
++ buffer_copy_string_buffer(p->path, dir);
++ PATHNAME_APPEND_SLASH(p->path);
+
- path = malloc(dir->used + name_max);
- assert(path);
- strcpy(path, dir->ptr);
+#ifdef _WIN32
-+ /* append \*.* to the path and keep the \ as part of the pathname */
-+ strcat(path, "\\*.*");
-+ i++;
++ /* append *.* to the path */
++ buffer_append_string(path, "*.*");
+#endif
- path_file = path + i;
-
- if (NULL == (dp = opendir(path))) {
-- log_error_write(srv, __FILE__, __LINE__, "sbs",
++
++ if (NULL == (dp = opendir(p->path->ptr))) {
+ log_error_write(srv, __FILE__, __LINE__, "sbs",
"opendir failed:", dir, strerror(errno));
- free(path);
-@@ -633,7 +636,7 @@
+- free(path);
+ return -1;
+ }
+
+@@ -633,7 +639,7 @@
assert(files.ent);
files.size = DIRLIST_BLOB_SIZE;
files.used = 0;
while ((dent = readdir(dp)) != NULL) {
unsigned short exclude_match = 0;
-@@ -686,15 +689,17 @@
+@@ -686,15 +692,21 @@
#endif
i = strlen(dent->d_name);
*/
if (i > (size_t)name_max) continue;
-
-+
- memcpy(path_file, dent->d_name, i + 1);
+- memcpy(path_file, dent->d_name, i + 1);
- if (stat(path, &st) != 0)
-+ if (stat(path, &st) != 0) {
-+ fprintf(stderr, "%s.%d: %s, %s\r\n", __FILE__, __LINE__, path, strerror(errno));
++
++ /* build the dirname */
++ buffer_copy_string_buffer(p->path, dir);
++ PATHNAME_APPEND_SLASH(p->path);
++ buffer_append_string(p->path, dent->d_name);
++
++ if (stat(p->path->ptr, &st) != 0) {
++ fprintf(stderr, "%s.%d: %s, %s\r\n", __FILE__, __LINE__, p->path->ptr, strerror(errno));
continue;
-+ }
++ }
list = &files;
if (S_ISDIR(st.st_mode))
-@@ -740,7 +745,7 @@
+@@ -740,7 +752,7 @@
#else
strftime(datebuf, sizeof(datebuf), "%Y-%b-%d %H:%M:%S", localtime(&(tmp->mtime)));
#endif
BUFFER_APPEND_STRING_CONST(out, "<tr><td class=\"n\"><a href=\"");
buffer_append_string_encoded(out, DIRLIST_ENT_NAME(tmp), tmp->namelen, ENCODING_REL_URI_PART);
BUFFER_APPEND_STRING_CONST(out, "/\">");
-@@ -758,7 +763,7 @@
+@@ -757,18 +769,22 @@
+ tmp = files.ent[i];
content_type = NULL;
++
#ifdef HAVE_XATTR
-
-+
if (con->conf.use_xattr) {
- memcpy(path_file, DIRLIST_ENT_NAME(tmp), tmp->namelen + 1);
+- memcpy(path_file, DIRLIST_ENT_NAME(tmp), tmp->namelen + 1);
++ /* build the dirname */
++ buffer_copy_string_buffer(p->path, dir);
++ PATHNAME_APPEND_SLASH(p->path);
++ buffer_append_string_len(p->path, DIRLIST_ENT_NAME(tmp), tmp->namelen);
++
attrlen = sizeof(attrval) - 1;
-@@ -768,7 +773,7 @@
+- if (attr_get(path, "Content-Type", attrval, &attrlen, 0) == 0) {
++ if (attr_get(p->path->ptr, "Content-Type", attrval, &attrlen, 0) == 0) {
+ attrval[attrlen] = '\0';
+ content_type = attrval;
}
}
#endif
if (content_type == NULL) {
content_type = "application/octet-stream";
for (k = 0; k < con->conf.mimetypes->used; k++) {
-@@ -788,7 +793,7 @@
+@@ -788,7 +804,7 @@
}
}
}
#ifdef HAVE_LOCALTIME_R
localtime_r(&(tmp->mtime), &tm);
strftime(datebuf, sizeof(datebuf), "%Y-%b-%d %H:%M:%S", &tm);
-@@ -837,36 +842,36 @@
+@@ -814,7 +830,6 @@
+
+ free(files.ent);
+ free(dirs.ent);
+- free(path);
+
+ http_list_directory_footer(srv, con, p, out);
+
+@@ -837,36 +852,55 @@
URIHANDLER_FUNC(mod_dirlisting_subrequest) {
plugin_data *p = p_d;
stat_cache_entry *sce = NULL;
-
-+
- UNUSED(srv);
+- UNUSED(srv);
-
+- if (con->physical.path->used == 0) return HANDLER_GO_ON;
+- if (con->uri.path->used == 0) return HANDLER_GO_ON;
++ buffer *mtime;
++ data_string *ds;
+
- if (con->physical.path->used == 0) return HANDLER_GO_ON;
- if (con->uri.path->used == 0) return HANDLER_GO_ON;
++ if (con->uri.path->used < 2) return HANDLER_GO_ON;
if (con->uri.path->ptr[con->uri.path->used - 2] != '/') return HANDLER_GO_ON;
-
++ if (con->physical.path->used == 0) return HANDLER_GO_ON;
+
mod_dirlisting_patch_connection(srv, con, p);
if (!p->conf.dir_listing) return HANDLER_GO_ON;
-
++
++ if (HANDLER_ERROR == stat_cache_get_entry(srv, con, con->physical.path, &sce)) {
++ /* just a second ago the file was still there */
++ return HANDLER_GO_ON;
++ }
++
++ if (!S_ISDIR(sce->st.st_mode)) return HANDLER_GO_ON;
+
if (con->conf.log_request_handling) {
log_error_write(srv, __FILE__, __LINE__, "s", "-- handling the request as Dir-Listing");
log_error_write(srv, __FILE__, __LINE__, "sb", "URI :", con->uri.path);
}
-
+- if (HANDLER_ERROR == stat_cache_get_entry(srv, con, con->physical.path, &sce)) {
+- fprintf(stderr, "%s.%d: %s\n", __FILE__, __LINE__, con->physical.path->ptr);
+- SEGFAULT();
+
- if (HANDLER_ERROR == stat_cache_get_entry(srv, con, con->physical.path, &sce)) {
- fprintf(stderr, "%s.%d: %s\n", __FILE__, __LINE__, con->physical.path->ptr);
- SEGFAULT();
++ /* perhaps this a cachable request
++ * - we use the etag of the directory
++ * */
++
++ etag_mutate(con->physical.etag, sce->etag);
++ response_header_overwrite(srv, con, CONST_STR_LEN("ETag"), CONST_BUF_LEN(con->physical.etag));
++
++ /* prepare header */
++ if (NULL == (ds = (data_string *)array_get_element(con->response.headers, "Last-Modified"))) {
++ mtime = strftime_cache_get(srv, sce->st.st_mtime);
++ response_header_overwrite(srv, con, CONST_STR_LEN("Last-Modified"), CONST_BUF_LEN(mtime));
++ } else {
++ mtime = ds->value;
}
-
-+
- if (!S_ISDIR(sce->st.st_mode)) return HANDLER_GO_ON;
+- if (!S_ISDIR(sce->st.st_mode)) return HANDLER_GO_ON;
-
++
++ if (HANDLER_FINISHED == http_response_handle_cachable(srv, con, mtime)) {
++ return HANDLER_FINISHED;
++ }
+
if (http_list_directory(srv, con, p, con->physical.path)) {
/* dirlisting failed */
/* not found */
return HANDLER_FINISHED;
}
-@@ -876,13 +881,13 @@
+@@ -876,13 +910,13 @@
int mod_dirlisting_plugin_init(plugin *p) {
p->version = LIGHTTPD_VERSION_ID;
p->name = buffer_init_string("dirlisting");
+
return 0;
}
---- lighttpd-1.4.11/src/mod_evasive.c 2006-01-04 15:24:51.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_evasive.c 2006-01-04 15:24:51.000000000 +0200
+++ lighttpd-1.4.12/src/mod_evasive.c 2006-07-11 22:07:53.000000000 +0300
@@ -31,100 +31,97 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_evhost.c 2005-08-17 10:42:03.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_evhost.c 2005-08-17 10:42:03.000000000 +0300
+++ lighttpd-1.4.12/src/mod_evhost.c 2006-07-11 22:07:51.000000000 +0300
@@ -7,10 +7,12 @@
#include "response.h"
return 0;
}
---- lighttpd-1.4.11/src/mod_expire.c 2005-11-03 09:52:13.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_expire.c 2005-11-03 09:52:13.000000000 +0200
+++ lighttpd-1.4.12/src/mod_expire.c 2006-07-11 22:07:52.000000000 +0300
@@ -12,8 +12,8 @@
#include "stat_cache.h"
+
return 0;
}
---- lighttpd-1.4.11/src/mod_fastcgi.c 2006-03-09 13:18:39.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_fastcgi.c 2006-03-09 13:18:39.000000000 +0200
+++ lighttpd-1.4.12/src/mod_fastcgi.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,4 @@
#include <sys/types.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_flv_streaming.c 2006-03-07 14:06:26.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_flv_streaming.c 2006-03-07 14:06:26.000000000 +0200
+++ lighttpd-1.4.12/src/mod_flv_streaming.c 2006-07-11 22:07:52.000000000 +0300
@@ -23,35 +23,35 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_indexfile.c 2005-09-30 01:08:53.000000000 +0300
-+++ lighttpd-1.4.12/src/mod_indexfile.c 2006-07-11 22:07:53.000000000 +0300
-@@ -20,51 +20,51 @@
+--- ../lighttpd-1.4.11/src/mod_indexfile.c 2005-09-30 01:08:53.000000000 +0300
++++ lighttpd-1.4.12/src/mod_indexfile.c 2006-07-15 22:43:21.000000000 +0300
+@@ -12,6 +12,8 @@
+
+ #include "stat_cache.h"
+
++#include "sys-strings.h"
++#include "sys-files.h"
+ /* plugin config for all request/connections */
+
+ typedef struct {
+@@ -20,51 +22,51 @@
typedef struct {
PLUGIN_DATA;
return HANDLER_GO_ON;
}
-@@ -73,131 +73,128 @@
+@@ -73,131 +75,139 @@
SETDEFAULTS_FUNC(mod_indexfile_set_defaults) {
plugin_data *p = p_d;
size_t i = 0;
+
mod_indexfile_patch_connection(srv, con, p);
-
++
++ /* is the physical-path really a dir ? */
++ if (HANDLER_ERROR == stat_cache_get_entry(srv, con, con->physical.path, &sce)) {
++ return HANDLER_GO_ON;
++ }
++
++ if (!S_ISDIR(sce->st.st_mode)) {
++ return HANDLER_GO_ON;
++ }
+
if (con->conf.log_request_handling) {
log_error_write(srv, __FILE__, __LINE__, "s", "-- handling the request as Indexfile");
log_error_write(srv, __FILE__, __LINE__, "sb", "URI :", con->uri.path);
}
-
++
+
/* indexfile */
for (k = 0; k < p->conf.indexfiles->used; k++) {
buffer_copy_string_buffer(p->tmp_buf, con->physical.doc_root);
} else {
buffer_copy_string_buffer(p->tmp_buf, con->physical.path);
++ PATHNAME_APPEND_SLASH(p->tmp_buf);
}
buffer_append_string_buffer(p->tmp_buf, ds->value);
-
/* not found */
return HANDLER_GO_ON;
}
-@@ -207,13 +204,13 @@
+@@ -207,13 +217,13 @@
int mod_indexfile_plugin_init(plugin *p) {
p->version = LIGHTTPD_VERSION_ID;
p->name = buffer_init_string("indexfile");
+
return 0;
}
---- lighttpd-1.4.11/src/mod_mysql_vhost.c 2006-01-14 20:35:10.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_mysql_vhost.c 2006-01-14 20:35:10.000000000 +0200
+++ lighttpd-1.4.12/src/mod_mysql_vhost.c 2006-07-11 22:07:52.000000000 +0300
@@ -1,13 +1,18 @@
-#include <unistd.h>
return 0;
}
#else
---- lighttpd-1.4.11/src/mod_proxy.c 2006-01-31 13:01:22.000000000 +0200
-+++ lighttpd-1.4.12/src/mod_proxy.c 2006-07-11 22:07:52.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_proxy.c 2006-01-31 13:01:22.000000000 +0200
++++ lighttpd-1.4.12/src/mod_proxy.c 2006-07-15 22:43:21.000000000 +0300
@@ -1,6 +1,5 @@
#include <sys/types.h>
#define data_proxy data_fastcgi
#define data_proxy_init data_fastcgi_init
-@@ -38,16 +42,16 @@
+@@ -38,22 +42,25 @@
#define PROXY_RETRY_TIMEOUT 60
/**
* TODO: - delay upstream read if write_queue is too large
* (to prevent memory eating, like in apache). Shoud be
* configurable).
-@@ -66,26 +70,31 @@
+ * - persistent connection with upstream servers
+ * - HTTP/1.1
+ */
++
++
++
+ typedef enum {
+ PROXY_BALANCE_UNSET,
+ PROXY_BALANCE_FAIR,
+@@ -66,26 +73,33 @@
int debug;
proxy_balance_t balance;
buffer *balance_buf;
-
+
++ http_resp *resp;
++
+ array *ignore_headers;
+
plugin_config **config_storage;
+ PROXY_STATE_CONNECT,
+ PROXY_STATE_PREPARE_WRITE,
+ PROXY_STATE_WRITE,
-+ PROXY_STATE_RESPONSE_HEADER,
-+ PROXY_STATE_RESPONSE_CONTENT,
++ PROXY_STATE_RESPONSE_HEADER,
++ PROXY_STATE_RESPONSE_CONTENT,
+ PROXY_STATE_ERROR
} proxy_connection_state_t;
enum { PROXY_STDOUT, PROXY_END_REQUEST };
-@@ -93,19 +102,20 @@
+@@ -93,19 +107,17 @@
typedef struct {
proxy_connection_state_t state;
time_t state_timestamp;
+
data_proxy *host;
-
-+
- buffer *response;
- buffer *response_header;
+- buffer *response;
+- buffer *response_header;
chunkqueue *wb;
-
-+ chunkqueue *rb;
++ chunkqueue *rb;
+
int fd; /* fd to the proxy process */
int fde_ndx; /* index into the fd-event buffer */
connection *remote_conn; /* dump pointer */
plugin_data *plugin_data; /* dump pointer */
} handler_ctx;
-@@ -116,21 +126,22 @@
+@@ -116,69 +128,88 @@
static handler_ctx * handler_ctx_init() {
handler_ctx * hctx;
hctx->state = PROXY_STATE_INIT;
hctx->host = NULL;
-
-+
- hctx->response = buffer_init();
- hctx->response_header = buffer_init();
+- hctx->response = buffer_init();
+- hctx->response_header = buffer_init();
hctx->wb = chunkqueue_init();
-+ hctx->rb = chunkqueue_init();
++ hctx->rb = chunkqueue_init();
hctx->fd = -1;
hctx->fde_ndx = -1;
return hctx;
}
-@@ -138,47 +149,70 @@
- buffer_free(hctx->response);
- buffer_free(hctx->response_header);
+ static void handler_ctx_free(handler_ctx *hctx) {
+- buffer_free(hctx->response);
+- buffer_free(hctx->response_header);
chunkqueue_free(hctx->wb);
-
-+ chunkqueue_free(hctx->rb);
++ chunkqueue_free(hctx->rb);
+
free(hctx);
}
+
p = calloc(1, sizeof(*p));
-
+- p->parse_response = buffer_init();
+
- p->parse_response = buffer_init();
p->balance_buf = buffer_init();
-
+ p->ignore_headers = array_init();
++ p->resp = http_response_init();
+
+ for (i = 0; hop2hop_headers[i]; i++) {
+ data_string *ds;
+
-+ if (NULL == (ds = (data_string *)array_get_unused_element(p->ignore_headers, TYPE_STRING))) {
++ if (NULL == (ds = (data_string *)array_get_unused_element(p->ignore_headers, TYPE_STRING))) {
+ ds = data_string_init();
+ }
+
++ buffer_copy_string(ds->key, hop2hop_headers[i]);
+ buffer_copy_string(ds->value, hop2hop_headers[i]);
+ array_insert_unique(p->ignore_headers, (data_unset *)ds);
+ }
+
UNUSED(srv);
- buffer_free(p->parse_response);
- buffer_free(p->balance_buf);
+- buffer_free(p->parse_response);
+- buffer_free(p->balance_buf);
-
-+
if (p->config_storage) {
size_t i;
for (i = 0; i < srv->config_context->used; i++) {
}
-
+
-+ free(p->ignore_headers);
++ array_free(p->ignore_headers);
++ buffer_free(p->balance_buf);
++ http_response_free(p->resp);
+
free(p);
-
return HANDLER_GO_ON;
}
-@@ -186,37 +220,38 @@
+@@ -186,37 +217,38 @@
plugin_data *p = p_d;
data_unset *du;
size_t i = 0;
if (buffer_is_empty(p->balance_buf)) {
s->balance = PROXY_BALANCE_FAIR;
} else if (buffer_is_equal_string(p->balance_buf, CONST_STR_LEN("fair"))) {
-@@ -226,7 +261,7 @@
+@@ -226,99 +258,99 @@
} else if (buffer_is_equal_string(p->balance_buf, CONST_STR_LEN("hash"))) {
s->balance = PROXY_BALANCE_HASH;
} else {
- log_error_write(srv, __FILE__, __LINE__, "sb",
+- "proxy.balance has to be one of: fair, round-robin, hash, but not:", p->balance_buf);
+ log_error_write(srv, __FILE__, __LINE__, "sb",
- "proxy.balance has to be one of: fair, round-robin, hash, but not:", p->balance_buf);
++ "proxy.balance has to be one of: fair, round-robin, hash, but not:", p->balance_buf);
return HANDLER_ERROR;
}
-@@ -234,91 +269,91 @@
+
if (NULL != (du = array_get_element(ca, "proxy.server"))) {
size_t j;
data_array *da = (data_array *)du;
array_insert_unique(dfa->value, (data_unset *)df);
array_insert_unique(s->extensions, (data_unset *)dfa);
} else {
-@@ -328,19 +363,19 @@
+@@ -328,19 +360,19 @@
}
}
}
if (hctx->fd != -1) {
fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd);
fdevent_unregister(srv->ev, hctx->fd);
-@@ -348,47 +383,56 @@
+@@ -348,47 +380,56 @@
close(hctx->fd);
srv->cur_fds--;
}
if (-1 == connect(proxy_fd, proxy_addr, servlen)) {
- if (errno == EINPROGRESS || errno == EALREADY) {
+#ifdef _WIN32
-+ errno = WSAGetLastError();
++ errno = WSAGetLastError();
+#endif
-+ switch(errno) {
++ switch(errno) {
+#ifdef _WIN32
-+ case WSAEWOULDBLOCK:
++ case WSAEWOULDBLOCK:
+#endif
-+ case EINPROGRESS:
-+ case EALREADY:
++ case EINPROGRESS:
++ case EALREADY:
if (p->conf.debug) {
- log_error_write(srv, __FILE__, __LINE__, "sd",
+ log_error_write(srv, __FILE__, __LINE__, "sd",
return -1;
}
}
-+ fprintf(stderr, "%s.%d: connected fd = %d\r\n", __FILE__, __LINE__, proxy_fd);
++ fprintf(stderr, "%s.%d: connected fd = %d\r\n", __FILE__, __LINE__, proxy_fd);
if (p->conf.debug) {
- log_error_write(srv, __FILE__, __LINE__, "sd",
+ log_error_write(srv, __FILE__, __LINE__, "sd",
"connect succeeded: ", proxy_fd);
}
-@@ -422,25 +466,26 @@
+@@ -396,51 +437,52 @@
+ }
+
+ void proxy_set_header(connection *con, const char *key, const char *value) {
+- data_string *ds_dst;
++ data_string *ds_dst;
+
+- if (NULL == (ds_dst = (data_string *)array_get_unused_element(con->request.headers, TYPE_STRING))) {
+- ds_dst = data_string_init();
+- }
+-
+- buffer_copy_string(ds_dst->key, key);
+- buffer_copy_string(ds_dst->value, value);
+- array_insert_unique(con->request.headers, (data_unset *)ds_dst);
++ if (NULL == (ds_dst = (data_string *)array_get_unused_element(con->request.headers, TYPE_STRING))) {
++ ds_dst = data_string_init();
++ }
++
++ buffer_copy_string(ds_dst->key, key);
++ buffer_copy_string(ds_dst->value, value);
++ array_insert_unique(con->request.headers, (data_unset *)ds_dst);
+ }
+
+ void proxy_append_header(connection *con, const char *key, const char *value) {
+- data_string *ds_dst;
++ data_string *ds_dst;
+
+- if (NULL == (ds_dst = (data_string *)array_get_unused_element(con->request.headers, TYPE_STRING))) {
+- ds_dst = data_string_init();
+- }
+-
+- buffer_copy_string(ds_dst->key, key);
+- buffer_append_string(ds_dst->value, value);
+- array_insert_unique(con->request.headers, (data_unset *)ds_dst);
++ if (NULL == (ds_dst = (data_string *)array_get_unused_element(con->request.headers, TYPE_STRING))) {
++ ds_dst = data_string_init();
++ }
++
++ buffer_copy_string(ds_dst->key, key);
++ buffer_append_string(ds_dst->value, value);
++ array_insert_unique(con->request.headers, (data_unset *)ds_dst);
+ }
+
static int proxy_create_env(server *srv, handler_ctx *hctx) {
size_t i;
!buffer_is_empty(con->request.http_host)) {
proxy_set_header(con, "X-Host", con->request.http_host->ptr);
}
-@@ -449,24 +494,26 @@
+@@ -449,24 +491,25 @@
/* request header */
for (i = 0; i < con->request.headers->used; i++) {
data_string *ds;
+
ds = (data_string *)con->request.headers->data[i];
-
-+
- if (ds->value->used && ds->key->used) {
+- if (ds->value->used && ds->key->used) {
- if (buffer_is_equal_string(ds->key, CONST_STR_LEN("Connection"))) continue;
-
+- buffer_append_string_buffer(b, ds->key);
+- BUFFER_APPEND_STRING_CONST(b, ": ");
+- buffer_append_string_buffer(b, ds->value);
+- BUFFER_APPEND_STRING_CONST(b, "\r\n");
+- }
+
-+ /* don't copy hop-to-hop headers */
-+ if (array_get_element(p->ignore_headers, ds->key->ptr)) continue;
++ if (buffer_is_empty(ds->value) || buffer_is_empty(ds->key)) continue;
+
- buffer_append_string_buffer(b, ds->key);
- BUFFER_APPEND_STRING_CONST(b, ": ");
- buffer_append_string_buffer(b, ds->value);
- BUFFER_APPEND_STRING_CONST(b, "\r\n");
- }
++ if (!buffer_is_equal_string(ds->key, CONST_STR_LEN("Connection"))) continue;
++ if (!buffer_is_equal_string(ds->key, CONST_STR_LEN("Keep-Alive"))) continue;
++
++ buffer_append_string_buffer(b, ds->key);
++ BUFFER_APPEND_STRING_CONST(b, ": ");
++ buffer_append_string_buffer(b, ds->value);
++ BUFFER_APPEND_STRING_CONST(b, "\r\n");
}
-
+
if (con->request.content_length) {
chunkqueue *req_cq = con->request_content_queue;
chunk *req_c;
-@@ -479,7 +526,7 @@
+@@ -479,7 +522,7 @@
/* we announce toWrite octects
* now take all the request_content chunk that we need to fill this request
switch (req_c->type) {
case FILE_CHUNK:
-@@ -507,223 +554,125 @@
+@@ -507,223 +550,161 @@
req_c->offset += weHave;
req_cq->bytes_out += weHave;
-
- UNUSED(srv);
+static void chunkqueue_print(chunkqueue *cq) {
-+ chunk *c;
++ chunk *c;
- /* \r\n -> \0\0 */
-
-
- array_insert_unique(con->response.headers, (data_unset *)ds);
- }
-- }
++ for (c = cq->first; c; c = c->next) {
++ fprintf(stderr, "%s", c->mem->ptr + c->offset);
+ }
-
- return 0;
-+ for (c = cq->first; c; c = c->next) {
-+ fprintf(stderr, "%s", c->mem->ptr + c->offset);
-+ }
-+ fprintf(stderr, "\r\n");
++ fprintf(stderr, "\r\n");
}
-
- log_error_write(srv, __FILE__, __LINE__, "sd",
- "ioctl failed: ",
- proxy_fd);
-- return -1;
-- }
--
-+ chunkqueue *next_queue = NULL;
-+ chunk *c = NULL;
++ chunkqueue *next_queue = NULL;
++ chunk *c = NULL;
++
++ switch(srv->network_backend_read(srv, con, proxy_fd, hctx->rb)) {
++ case NETWORK_STATUS_SUCCESS:
++ /* we got content */
++ break;
++ case NETWORK_STATUS_WAIT_FOR_EVENT:
++ /* the ioctl will return WAIT_FOR_EVENT on a read */
++ if (0 == con->file_started) return -1;
++ case NETWORK_STATUS_CONNECTION_CLOSE:
++ /* we are done, get out of here */
++ con->file_finished = 1;
++
++ /* close the chunk-queue with a empty chunk */
++
++ return 1;
++ default:
++ /* oops */
+ return -1;
+ }
+
++ /* looks like we got some content
++ *
++ * split off the header from the incoming stream
++ */
- if (p->conf.debug) {
- log_error_write(srv, __FILE__, __LINE__, "sd",
- "proxy - have to read:", b);
- }
--
++ if (hctx->state == PROXY_STATE_RESPONSE_HEADER) {
++ size_t i;
++ int have_content_length = 0;
+
- if (b > 0) {
- if (hctx->response->used == 0) {
- /* avoid too small buffer */
- log_error_write(srv, __FILE__, __LINE__, "sdsbs",
- "demux: Response buffer len", hctx->response->used, ":", hctx->response, ":");
-#endif
--
++ http_response_reset(p->resp);
+
- if (0 == con->got_response) {
- con->got_response = 1;
- buffer_prepare_copy(hctx->response_header, 128);
- if (con->request.http_version == HTTP_VERSION_1_1 &&
- !(con->parsed_response & HTTP_CONTENT_LENGTH)) {
- con->response.transfer_encoding = HTTP_TRANSFER_ENCODING_CHUNKED;
-- }
++ /* the response header is not fully received yet,
++ *
++ * extract the http-response header from the rb-cq
++ */
++ switch (http_response_parse_cq(hctx->rb, p->resp)) {
++ case PARSE_ERROR:
++ /* parsing failed */
++
++ con->http_status = 502; /* Bad Gateway */
++ return 1;
++ case PARSE_NEED_MORE:
++ return 0;
++ case PARSE_SUCCESS:
++ con->http_status = p->resp->status;
++
++ chunkqueue_remove_finished_chunks(hctx->rb);
++
++ /* copy the http-headers */
++ for (i = 0; i < p->resp->headers->used; i++) {
++ const char *ign[] = { "Status", "Connection", NULL };
++ size_t j;
++ data_string *ds;
++
++ data_string *header = (data_string *)p->resp->headers->data[i];
++
++ /* some headers are ignored by default */
++ for (j = 0; ign[j]; j++) {
++ if (0 == strcasecmp(ign[j], header->key->ptr)) break;
+ }
-
- con->file_started = 1;
- if (blen) {
- http_chunk_append_mem(srv, con, c + 4, blen + 1);
- joblist_append(srv, con);
-- }
++ if (ign[j]) continue;
++
++ if (0 == buffer_caseless_compare(CONST_BUF_LEN(header->key), CONST_STR_LEN("Location"))) {
++ /* CGI/1.1 rev 03 - 7.2.1.2 */
++ if (con->http_status == 0) con->http_status = 302;
++ } else if (0 == buffer_caseless_compare(CONST_BUF_LEN(header->key), CONST_STR_LEN("Content-Length"))) {
++ have_content_length = 1;
+ }
- hctx->response->used = 0;
-- }
++
++ if (NULL == (ds = (data_string *)array_get_unused_element(con->response.headers, TYPE_STRING))) {
++ ds = data_response_init();
++ }
++ buffer_copy_string_buffer(ds->key, header->key);
++ buffer_copy_string_buffer(ds->value, header->value);
++
++ array_insert_unique(con->response.headers, (data_unset *)ds);
+ }
- } else {
- http_chunk_append_mem(srv, con, hctx->response->ptr, hctx->response->used);
- joblist_append(srv, con);
- hctx->response->used = 0;
-- }
++
++ con->file_started = 1;
++
++ if (con->request.http_version == HTTP_VERSION_1_1 &&
++ !have_content_length) {
++ con->response.transfer_encoding = HTTP_TRANSFER_ENCODING_CHUNKED;
++ }
++
++ hctx->state = PROXY_STATE_RESPONSE_CONTENT;
++ break;
+ }
-
- } else {
- /* reading from upstream done */
-+ switch(srv->network_backend_read(srv, con, proxy_fd, hctx->rb)) {
-+ case NETWORK_STATUS_SUCCESS:
-+ /* we got content */
-+ break;
-+ case NETWORK_STATUS_CONNECTION_CLOSE:
-+ /* we are done, get out of here */
- con->file_finished = 1;
+- con->file_finished = 1;
-
-+
-+ /* close the chunk-queue with a empty chunk */
- http_chunk_append_mem(srv, con, NULL, 0);
- joblist_append(srv, con);
+- http_chunk_append_mem(srv, con, NULL, 0);
+- joblist_append(srv, con);
-
- fin = 1;
+ }
+-
+- return fin;
+
-+ return 1;
-+ default:
-+ /* oops */
-+ return -1;
-+ }
-+
-+ /* looks like we got some content
-+ *
-+ * split off the header from the incoming stream
-+ */
-+
-+ if (hctx->state == PROXY_STATE_RESPONSE_HEADER) {
-+ http_resp *resp = http_response_init();
-+
-+ /* the response header is not fully received yet,
-+ *
-+ * extract the http-response header from the rb-cq
-+ */
-+ fprintf(stderr, "%s.%d: network-read\r\n", __FILE__, __LINE__);
-+ chunkqueue_print(hctx->rb);
-+
-+ switch (http_response_parse_cq(hctx->rb, resp)) {
-+ case PARSE_ERROR:
-+ /* parsing failed */
-+
-+ con->http_status = 502; /* Bad Gateway */
-+ return 1;
-+ case PARSE_NEED_MORE:
-+ return 0;
-+ case PARSE_SUCCESS:
-+ con->http_status = resp->status;
-+
-+ fprintf(stderr, "%s.%d: parsing done\r\n", __FILE__, __LINE__);
-+ chunkqueue_print(hctx->rb);
-+
-+ con->file_started = 1;
-+
-+ hctx->state = PROXY_STATE_RESPONSE_CONTENT;
-+ break;
-+ }
-+ }
-+
-+ /* FIXME: pass the response-header to the other plugins to
-+ * setup the filter-queue
-+ *
-+ * - use next-queue instead of con->write_queue
-+ */
++ /* FIXME: pass the response-header to the other plugins to
++ * setup the filter-queue
++ *
++ * - use next-queue instead of con->write_queue
++ */
+
-+ next_queue = con->write_queue;
++ next_queue = con->write_queue;
+
-+ assert(hctx->state == PROXY_STATE_RESPONSE_CONTENT);
++ assert(hctx->state == PROXY_STATE_RESPONSE_CONTENT);
+
-+ /* FIXME: if we have a content-length or chunked-encoding
-+ * handle it.
-+ *
-+ * for now we wait for EOF on the socket */
++ /* FIXME: if we have a content-length or chunked-encoding
++ * handle it.
++ *
++ * for now we wait for EOF on the socket */
+
-+ /* copy the content to the next cq */
-+ for (c = hctx->rb->first; c; c = c->next) {
-+ http_chunk_append_mem(srv, con, c->mem->ptr + c->offset, c->mem->used - c->offset);
++ /* copy the content to the next cq */
++ for (c = hctx->rb->first; c; c = c->next) {
++ http_chunk_append_mem(srv, con, c->mem->ptr + c->offset, c->mem->used - c->offset);
+
-+ c->offset = c->mem->used - 1;
- }
--
-- return fin;
++ c->offset = c->mem->used - 1;
++ }
+
-+ chunkqueue_remove_finished_chunks(hctx->rb);
++ chunkqueue_remove_finished_chunks(hctx->rb);
++ joblist_append(srv, con);
+
+ return 0;
}
-@@ -731,12 +680,12 @@
+@@ -731,12 +712,12 @@
data_proxy *host= hctx->host;
plugin_data *p = hctx->plugin_data;
connection *con = hctx->remote_conn;
int ret;
-
- if (!host ||
+- (!host->host->used || !host->port)) return -1;
+-
+
+ if (!host ||
- (!host->host->used || !host->port)) return -1;
--
++ (!host->host->used || !host->port)) return -1;
+
switch(hctx->state) {
case PROXY_STATE_INIT:
if (-1 == (hctx->fd = socket(AF_INET, SOCK_STREAM, 0))) {
-@@ -744,19 +693,19 @@
+@@ -744,19 +725,19 @@
return HANDLER_ERROR;
}
hctx->fde_ndx = -1;
case PROXY_STATE_CONNECT:
/* try to finish the connect() */
if (hctx->state == PROXY_STATE_INIT) {
-@@ -764,16 +713,16 @@
+@@ -764,16 +745,16 @@
switch (proxy_establish_connection(srv, hctx)) {
case 1:
proxy_set_state(srv, hctx, PROXY_STATE_CONNECT);
return HANDLER_ERROR;
default:
/* everything is ok, go on */
-@@ -782,152 +731,152 @@
+@@ -782,152 +763,152 @@
} else {
int socket_error;
socklen_t socket_error_len = sizeof(socket_error);
- log_error_write(srv, __FILE__, __LINE__, "s", "proxy - connect - delayed success");
+ log_error_write(srv, __FILE__, __LINE__, "s", "proxy - connect - delayed success");
}
-+ fprintf(stderr, "%s.%d: connected fd = %d\r\n", __FILE__, __LINE__, hctx->fd);
}
-
+
- } else {
- fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT);
+ switch(ret) {
-+ case NETWORK_STATUS_FATAL_ERROR:
++ case NETWORK_STATUS_FATAL_ERROR:
+ log_error_write(srv, __FILE__, __LINE__, "ssd", "write failed:", strerror(errno), errno);
- return HANDLER_WAIT_FOR_EVENT;
- }
+ return HANDLER_ERROR;
-+ case NETWORK_STATUS_WAIT_FOR_EVENT:
++ case NETWORK_STATUS_WAIT_FOR_EVENT:
+
+ fdevent_event_add(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT);
+
+
return HANDLER_WAIT_FOR_EVENT;
- case PROXY_STATE_READ:
++ case PROXY_STATE_RESPONSE_CONTENT:
+ case PROXY_STATE_RESPONSE_HEADER:
/* waiting for a response */
+
*/
return HANDLER_WAIT_FOR_FD;
-@@ -938,7 +887,7 @@
+@@ -938,7 +919,7 @@
default:
break;
}
if (con->file_started == 1) {
return HANDLER_FINISHED;
} else {
-@@ -951,13 +900,14 @@
+@@ -951,13 +932,14 @@
handler_ctx *hctx = ctx;
connection *con = hctx->remote_conn;
plugin_data *p = hctx->plugin_data;
+
if ((revents & FDEVENT_IN) &&
- hctx->state == PROXY_STATE_READ) {
-+ (hctx->state == PROXY_STATE_RESPONSE_HEADER ||
-+ hctx->state == PROXY_STATE_RESPONSE_CONTENT)) {
++ (hctx->state == PROXY_STATE_RESPONSE_HEADER ||
++ hctx->state == PROXY_STATE_RESPONSE_CONTENT)) {
if (p->conf.debug) {
- log_error_write(srv, __FILE__, __LINE__, "sd",
"proxy: fdevent-in", hctx->state);
}
-@@ -966,10 +916,10 @@
+@@ -965,11 +947,15 @@
+ case 0:
break;
case 1:
++ log_error_write(srv, __FILE__, __LINE__, "sd",
++ "proxy: request done", hctx->fd);
hctx->host->usage--;
-
++
++ http_chunk_append_mem(srv, con, NULL, 0);
+
/* we are done */
proxy_connection_close(srv, hctx);
joblist_append(srv, con);
return HANDLER_FINISHED;
case -1:
-@@ -982,53 +932,53 @@
+@@ -982,53 +968,53 @@
/* response might have been already started, kill the connection */
connection_set_state(srv, con, CON_STATE_ERROR);
}
return HANDLER_FINISHED;
}
-@@ -1038,13 +988,13 @@
+@@ -1038,13 +1024,13 @@
joblist_append(srv, con);
} else if (revents & FDEVENT_ERR) {
/* kill all connections to the proxy process */
return HANDLER_FINISHED;
}
-@@ -1058,44 +1008,49 @@
+@@ -1058,44 +1044,48 @@
buffer *fn;
data_array *extension = NULL;
size_t path_info_offset;
s_len = fn->used - 1;
-
-
-+
+
path_info_offset = 0;
if (0 != (pi_offset = strchr(fn->ptr + ct_len + 1, '/'))) {
path_info_offset = pi_offset - fn->ptr;
}
-@@ -1106,12 +1061,14 @@
+@@ -1106,12 +1096,14 @@
break;
}
}
log_error_write(srv, __FILE__, __LINE__, "s", "proxy - ext found");
}
-@@ -1120,34 +1077,34 @@
+@@ -1120,34 +1112,34 @@
/* hash balancing */
if (p->conf.debug) {
}
}
-@@ -1155,19 +1112,20 @@
+@@ -1155,19 +1147,20 @@
case PROXY_BALANCE_FAIR:
/* fair balancing */
if (p->conf.debug) {
}
}
-@@ -1175,89 +1133,100 @@
+@@ -1175,89 +1168,100 @@
case PROXY_BALANCE_RR:
/* round robin */
if (p->conf.debug) {
proxy_connection_close(srv, con->plugin_ctx[p->id]);
return HANDLER_GO_ON;
-@@ -1276,11 +1245,11 @@
+@@ -1276,11 +1280,11 @@
size_t i, n, k;
for (i = 0; i < srv->config_context->used; i++) {
plugin_config *s = p->config_storage[i];
for (k = 0; k < s->extensions->used; k++) {
data_array *extension = (data_array *)s->extensions->data[k];
-@@ -1290,8 +1259,8 @@
+@@ -1290,8 +1294,8 @@
if (!host->is_disabled ||
srv->cur_ts - host->disable_ts < 5) continue;
"proxy - re-enabled:",
host->host, host->port);
-@@ -1317,8 +1286,8 @@
+@@ -1317,8 +1321,8 @@
p->handle_uri_clean = mod_proxy_check_extension;
p->handle_subrequest = mod_proxy_handle_subrequest;
p->handle_trigger = mod_proxy_trigger;
+
return 0;
}
---- lighttpd-1.4.11/src/mod_redirect.c 2006-02-08 15:38:06.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_redirect.c 2006-02-08 15:38:06.000000000 +0200
+++ lighttpd-1.4.12/src/mod_redirect.c 2006-07-11 22:07:52.000000000 +0300
@@ -22,35 +22,35 @@
PLUGIN_DATA;
+
return 0;
}
---- lighttpd-1.4.11/src/mod_rewrite.c 2005-09-29 20:59:10.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_rewrite.c 2005-09-29 20:59:10.000000000 +0300
+++ lighttpd-1.4.12/src/mod_rewrite.c 2006-07-11 22:07:51.000000000 +0300
@@ -13,24 +13,8 @@
#endif
+
return 0;
}
---- lighttpd-1.4.11/src/mod_rrdtool.c 2005-08-22 01:52:24.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_rrdtool.c 2005-08-22 01:52:24.000000000 +0300
+++ lighttpd-1.4.12/src/mod_rrdtool.c 2006-07-11 22:07:52.000000000 +0300
@@ -5,7 +5,6 @@
#include <stdlib.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_scgi.c 2006-03-04 17:15:26.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_scgi.c 2006-03-04 17:15:26.000000000 +0200
+++ lighttpd-1.4.12/src/mod_scgi.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,5 +1,4 @@
#include <sys/types.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_secure_download.c 2005-12-14 14:37:29.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_secure_download.c 2005-12-14 14:37:29.000000000 +0200
+++ lighttpd-1.4.12/src/mod_secure_download.c 2006-07-11 22:07:51.000000000 +0300
@@ -25,7 +25,7 @@
#ifdef USE_OPENSSL
+
return 0;
}
---- lighttpd-1.4.11/src/mod_setenv.c 2006-01-14 20:33:12.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_setenv.c 2006-01-14 20:33:12.000000000 +0200
+++ lighttpd-1.4.12/src/mod_setenv.c 2006-07-11 22:07:53.000000000 +0300
@@ -18,25 +18,25 @@
typedef struct {
+
return 0;
}
---- lighttpd-1.4.11/src/mod_simple_vhost.c 2005-11-18 15:16:13.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_simple_vhost.c 2005-11-18 15:16:13.000000000 +0200
+++ lighttpd-1.4.12/src/mod_simple_vhost.c 2006-07-11 22:07:52.000000000 +0300
@@ -10,6 +10,8 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_skeleton.c 2005-10-02 18:30:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_skeleton.c 2005-10-02 18:30:51.000000000 +0300
+++ lighttpd-1.4.12/src/mod_skeleton.c 2006-07-11 22:07:51.000000000 +0300
@@ -14,13 +14,13 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_sql_vhost_core.c 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_sql_vhost_core.c 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/src/mod_sql_vhost_core.c 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,209 @@
+#include <stdio.h>
+ return 0;
+}
+
---- lighttpd-1.4.11/src/mod_sql_vhost_core.h 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_sql_vhost_core.h 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/src/mod_sql_vhost_core.h 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,49 @@
+#ifndef _MOD_SQL_VHOST_CORE_H_
+
+
+#endif
---- lighttpd-1.4.11/src/mod_ssi.c 2006-03-04 17:09:48.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_ssi.c 2006-03-04 17:09:48.000000000 +0200
+++ lighttpd-1.4.12/src/mod_ssi.c 2006-07-11 22:07:53.000000000 +0300
@@ -6,7 +6,6 @@
#include <string.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_ssi.h 2005-08-11 01:26:39.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_ssi.h 2005-08-11 01:26:39.000000000 +0300
+++ lighttpd-1.4.12/src/mod_ssi.h 2006-07-11 22:07:53.000000000 +0300
@@ -19,23 +19,23 @@
} plugin_data;
int ssi_eval_expr(server *srv, connection *con, plugin_data *p, const char *expr);
---- lighttpd-1.4.11/src/mod_ssi_expr.c 2005-08-11 01:26:48.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_ssi_expr.c 2005-08-11 01:26:48.000000000 +0300
+++ lighttpd-1.4.12/src/mod_ssi_expr.c 2006-07-11 22:07:52.000000000 +0300
@@ -11,9 +11,9 @@
const char *input;
+#endif
return context.val.bo;
}
---- lighttpd-1.4.11/src/mod_ssi_expr.h 2005-08-11 01:26:48.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_ssi_expr.h 2005-08-11 01:26:48.000000000 +0300
+++ lighttpd-1.4.12/src/mod_ssi_expr.h 2006-07-11 22:07:52.000000000 +0300
@@ -5,16 +5,16 @@
void *srv;
} ssi_ctx_t;
---- lighttpd-1.4.11/src/mod_ssi_exprparser.c 2005-10-03 00:40:25.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_ssi_exprparser.c 2005-10-03 00:40:25.000000000 +0300
+++ lighttpd-1.4.12/src/mod_ssi_exprparser.c 2006-07-11 22:08:02.000000000 +0300
@@ -18,10 +18,10 @@
/* Next is all token values, in a form suitable for use by makeheaders.
**
** This is what we do if the grammar does define ERROR:
**
---- lighttpd-1.4.11/src/mod_staticfile.c 2006-02-15 14:31:14.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_staticfile.c 2006-02-15 14:31:14.000000000 +0200
+++ lighttpd-1.4.12/src/mod_staticfile.c 2006-07-11 22:07:51.000000000 +0300
@@ -14,9 +14,11 @@
#include "http_chunk.h"
+
return 0;
}
---- lighttpd-1.4.11/src/mod_status.c 2006-01-10 21:45:32.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_status.c 2006-01-10 21:45:32.000000000 +0200
+++ lighttpd-1.4.12/src/mod_status.c 2006-07-11 22:07:53.000000000 +0300
@@ -4,7 +4,6 @@
#include <fcntl.h>
+
return 0;
}
---- lighttpd-1.4.11/src/mod_trigger_b4_dl.c 2005-09-23 22:53:55.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_trigger_b4_dl.c 2005-09-23 22:53:55.000000000 +0300
+++ lighttpd-1.4.12/src/mod_trigger_b4_dl.c 2006-07-11 22:07:51.000000000 +0300
@@ -24,18 +24,18 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_userdir.c 2005-10-28 16:48:28.000000000 +0300
+--- ../lighttpd-1.4.11/src/mod_userdir.c 2005-10-28 16:48:28.000000000 +0300
+++ lighttpd-1.4.12/src/mod_userdir.c 2006-07-11 22:07:52.000000000 +0300
@@ -10,6 +10,7 @@
#include "response.h"
+
return 0;
}
---- lighttpd-1.4.11/src/mod_usertrack.c 2006-01-31 15:01:20.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_usertrack.c 2006-01-31 15:01:20.000000000 +0200
+++ lighttpd-1.4.12/src/mod_usertrack.c 2006-07-11 22:07:53.000000000 +0300
@@ -24,44 +24,44 @@
+
return 0;
}
---- lighttpd-1.4.11/src/mod_webdav.c 2006-03-03 01:28:58.000000000 +0200
+--- ../lighttpd-1.4.11/src/mod_webdav.c 2006-03-03 01:28:58.000000000 +0200
+++ lighttpd-1.4.12/src/mod_webdav.c 2006-07-11 22:07:53.000000000 +0300
@@ -3,13 +3,10 @@
#include <ctype.h>
+
return 0;
}
---- lighttpd-1.4.11/src/network.c 2006-03-04 16:45:46.000000000 +0200
+--- ../lighttpd-1.4.11/src/network.c 2006-03-04 16:45:46.000000000 +0200
+++ lighttpd-1.4.12/src/network.c 2006-07-11 22:07:51.000000000 +0300
@@ -1,14 +1,14 @@
#include <sys/types.h>
+ }
return ret;
}
---- lighttpd-1.4.11/src/network.h 2005-08-11 01:26:42.000000000 +0300
+--- ../lighttpd-1.4.11/src/network.h 2005-08-11 01:26:42.000000000 +0300
+++ lighttpd-1.4.12/src/network.h 2006-07-11 22:07:51.000000000 +0300
@@ -3,7 +3,8 @@
int network_init(server *srv);
int network_close(server *srv);
---- lighttpd-1.4.11/src/network_backends.h 2005-10-24 15:13:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_backends.h 2005-10-24 15:13:51.000000000 +0300
+++ lighttpd-1.4.12/src/network_backends.h 2006-07-11 22:07:52.000000000 +0300
@@ -43,16 +43,52 @@
# define USE_AIX_SENDFILE
#endif
#endif
---- lighttpd-1.4.11/src/network_freebsd_sendfile.c 2005-10-22 12:28:18.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_freebsd_sendfile.c 2005-10-22 12:28:18.000000000 +0300
+++ lighttpd-1.4.12/src/network_freebsd_sendfile.c 2006-07-11 22:07:52.000000000 +0300
@@ -26,142 +26,61 @@
}
#endif
---- lighttpd-1.4.11/src/network_linux_sendfile.c 2006-02-15 20:02:36.000000000 +0200
-+++ lighttpd-1.4.12/src/network_linux_sendfile.c 2006-07-11 22:07:53.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_linux_sendfile.c 2006-02-15 20:02:36.000000000 +0200
++++ lighttpd-1.4.12/src/network_linux_sendfile.c 2006-07-15 22:43:21.000000000 +0300
@@ -26,122 +26,54 @@
/* on linux 2.4.29 + debian/ubuntu we have crashes if this is enabled */
#undef HAVE_POSIX_FADVISE
if (c->offset == c->file.length) {
chunk_finished = 1;
-@@ -222,19 +154,19 @@
+@@ -222,24 +154,24 @@
c->file.fd = -1;
}
}
break;
}
}
---- lighttpd-1.4.11/src/network_openssl.c 2005-11-17 14:53:29.000000000 +0200
+
+- return chunks_written;
++ return NETWORK_STATUS_SUCCESS;
+ }
+
+ #endif
+--- ../lighttpd-1.4.11/src/network_openssl.c 2005-11-17 14:53:29.000000000 +0200
+++ lighttpd-1.4.12/src/network_openssl.c 2006-07-11 22:07:52.000000000 +0300
@@ -23,17 +23,87 @@
#include "log.h"
chunks_written++;
}
---- lighttpd-1.4.11/src/network_solaris_sendfilev.c 2005-10-22 12:28:27.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_solaris_sendfilev.c 2005-10-22 12:28:27.000000000 +0300
+++ lighttpd-1.4.12/src/network_solaris_sendfilev.c 2006-07-11 22:07:53.000000000 +0300
@@ -29,114 +29,34 @@
#endif
}
#endif
---- lighttpd-1.4.11/src/network_write.c 2005-10-22 12:27:56.000000000 +0300
-+++ lighttpd-1.4.12/src/network_write.c 2006-07-11 22:07:51.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_write.c 2005-10-22 12:27:56.000000000 +0300
++++ lighttpd-1.4.12/src/network_write.c 2006-07-15 22:43:21.000000000 +0300
@@ -1,11 +1,11 @@
#include <sys/types.h>
#include <sys/stat.h>
#ifdef HAVE_SYS_FILIO_H
# include <sys/filio.h>
#endif
-@@ -24,47 +27,86 @@
+@@ -24,47 +27,84 @@
#include <sys/resource.h>
#endif
+* as vectors
+*/
+NETWORK_BACKEND_READ(read) {
-+ int toread;
-+ buffer *b;
-+ off_t r;
-+
-+ /* check how much we have to read */
-+ if (ioctl(fd, FIONREAD, &toread)) {
-+ log_error_write(srv, __FILE__, __LINE__, "sd",
-+ "ioctl failed: ",
-+ fd);
-+ return NETWORK_STATUS_FATAL_ERROR;
-+ }
++ int toread;
++ buffer *b;
++ off_t r;
+
-+ if (toread == 0) return NETWORK_STATUS_WAIT_FOR_EVENT;
++ /* use a chunk-size of 8k */
++ do {
++ toread = 8192;
+
-+ /*
-+ * our chunk queue is quiet large already
-+ *
-+ * let's buffer it to disk
-+ */
++ b = chunkqueue_get_append_buffer(cq);
+
-+ b = chunkqueue_get_append_buffer(cq);
++ buffer_prepare_copy(b, toread);
+
-+ buffer_prepare_copy(b, toread);
++ if (-1 == (r = read(fd, b->ptr, toread))) {
++ switch (errno) {
++ case EAGAIN:
++ return NETWORK_STATUS_WAIT_FOR_EVENT;
++ default:
++ log_error_write(srv, __FILE__, __LINE__, "sds",
++ "unexpected end-of-file (perhaps the proxy process died):",
++ fd, strerror(errno));
++ return NETWORK_STATUS_FATAL_ERROR;
++ }
++ }
+
-+ if (-1 == (r = read(fd, b->ptr, toread))) {
-+ log_error_write(srv, __FILE__, __LINE__, "sds",
-+ "unexpected end-of-file (perhaps the proxy process died):",
-+ fd, strerror(errno));
-+ return NETWORK_STATUS_FATAL_ERROR;
-+ }
++ if (r == 0) {
++ return NETWORK_STATUS_CONNECTION_CLOSE;
++ }
+
-+ /* this should be catched by the b > 0 above */
-+ assert(r);
-+ b->used += r + 1;
-+ b->ptr[b->used - 1] = '\0';
++ /* this should be catched by the b > 0 above */
++ assert(r);
++ b->used += r + 1;
++ b->ptr[b->used - 1] = '\0';
++ } while (r == toread);
+
-+ return NETWORK_STATUS_SUCCESS;
++ return NETWORK_STATUS_SUCCESS;
+}
+
+NETWORK_BACKEND_WRITE(write) {
break;
}
case FILE_CHUNK: {
-@@ -76,93 +118,89 @@
+@@ -76,93 +116,89 @@
size_t toSend;
stat_cache_entry *sce = NULL;
int ifd;
- p->write = network_write_write_chunkset;
-}
#endif
---- lighttpd-1.4.11/src/network_writev.c 2006-02-15 01:02:36.000000000 +0200
-+++ lighttpd-1.4.12/src/network_writev.c 2006-07-11 22:07:52.000000000 +0300
+--- ../lighttpd-1.4.11/src/network_writev.c 2006-02-15 01:02:36.000000000 +0200
++++ lighttpd-1.4.12/src/network_writev.c 2006-07-15 22:43:21.000000000 +0300
@@ -28,10 +28,10 @@
#ifndef UIO_MAXIOV
# define UIO_MAXIOV 512
# elif defined(__sun)
/* Solaris (and SunOS?) defines IOV_MAX instead */
-@@ -51,105 +51,119 @@
+@@ -51,105 +51,121 @@
#define LOCAL_BUFFERING 1
#endif
+ if ((r = writev(fd, chunks, num_chunks)) < 0) {
+ switch (errno) {
+ case EAGAIN:
++ return NETWORK_STATUS_WAIT_FOR_EVENT;
+ case EINTR:
-+ r = 0;
-+ break;
++ return NETWORK_STATUS_INTERRUPTED;
+ case EPIPE:
+ case ECONNRESET:
+ return NETWORK_STATUS_CONNECTION_CLOSE;
+ /* partially written */
+
+ tc->offset += r;
-+ break;
++
++ return NETWORK_STATUS_WAIT_FOR_EVENT;
+ }
+ }
+
++ /* all chunks have been pushed out */
+ return NETWORK_STATUS_SUCCESS;
+}
+
case FILE_CHUNK: {
ssize_t r;
off_t abs_offset;
-@@ -159,26 +173,26 @@
+@@ -159,26 +175,26 @@
#define KByte * 1024
#define MByte * 1024 KByte
#define GByte * 1024 MByte
* - new mmap as the we are at the end of the last one */
if (c->file.mmap.start == MAP_FAILED ||
abs_offset == (off_t)(c->file.mmap.offset + c->file.mmap.length)) {
-@@ -188,7 +202,7 @@
+@@ -188,7 +204,7 @@
* adaptive mem-mapping
* the problem:
* we mmap() the whole file. If someone has alot large files and 32bit
* mmap() call.
* solution:
* only mmap 16M in one chunk and move the window as soon as we have finished
-@@ -234,8 +248,8 @@
+@@ -234,8 +250,8 @@
if (-1 == c->file.fd) { /* open the file if not already open */
if (-1 == (c->file.fd = open(c->file.name->ptr, O_RDONLY))) {
log_error_write(srv, __FILE__, __LINE__, "sbs", "open failed for:", c->file.name, strerror(errno));
}
#ifdef FD_CLOEXEC
fcntl(c->file.fd, F_SETFD, FD_CLOEXEC);
-@@ -245,10 +259,10 @@
+@@ -245,10 +261,10 @@
if (MAP_FAILED == (c->file.mmap.start = mmap(0, to_mmap, PROT_READ, MAP_SHARED, c->file.fd, c->file.mmap.offset))) {
/* close it here, otherwise we'd have to set FD_CLOEXEC */
}
c->file.mmap.length = to_mmap;
-@@ -258,7 +272,7 @@
+@@ -258,7 +274,7 @@
#ifdef HAVE_MADVISE
/* don't advise files < 64Kb */
if (c->file.mmap.length > (64 KByte)) {
* detect this at runtime.i
*
* ignore the return value for now */
-@@ -274,12 +288,12 @@
+@@ -274,12 +290,12 @@
toSend = (c->file.mmap.offset + c->file.mmap.length) - (abs_offset);
if (toSend < 0) {
assert(toSend < 0);
}
-@@ -297,18 +311,18 @@
+@@ -297,18 +313,18 @@
break;
case EPIPE:
case ECONNRESET:
if (c->offset == c->file.length) {
chunk_finished = 1;
-@@ -318,26 +332,26 @@
+@@ -318,26 +334,26 @@
c->file.mmap.start = MAP_FAILED;
}
}
}
#endif
---- lighttpd-1.4.11/src/plugin.c 2006-02-08 14:00:54.000000000 +0200
+--- ../lighttpd-1.4.11/src/plugin.c 2006-02-08 14:00:54.000000000 +0200
+++ lighttpd-1.4.12/src/plugin.c 2006-07-11 22:07:52.000000000 +0300
@@ -13,27 +13,27 @@
#include <valgrind/valgrind.h>
free(srv->plugins.ptr);
srv->plugins.ptr = NULL;
srv->plugins.used = 0;
---- lighttpd-1.4.11/src/plugin.h 2005-08-15 12:28:56.000000000 +0300
+--- ../lighttpd-1.4.11/src/plugin.h 2005-08-15 12:28:56.000000000 +0300
+++ lighttpd-1.4.12/src/plugin.h 2006-07-11 22:07:52.000000000 +0300
@@ -12,6 +12,12 @@
+void *plugin_get_config(server *srv, const char *name);
#endif
---- lighttpd-1.4.11/src/proc_open.c 2005-08-11 01:26:39.000000000 +0300
+--- ../lighttpd-1.4.11/src/proc_open.c 2005-08-11 01:26:39.000000000 +0300
+++ lighttpd-1.4.12/src/proc_open.c 2006-07-11 22:07:53.000000000 +0300
@@ -13,13 +13,13 @@
#endif
for (;;) {
buffer_prepare_append(b, 512);
---- lighttpd-1.4.11/src/proc_open.h 2005-08-11 01:26:39.000000000 +0300
+--- ../lighttpd-1.4.11/src/proc_open.h 2005-08-11 01:26:39.000000000 +0300
+++ lighttpd-1.4.12/src/proc_open.h 2006-07-11 22:07:53.000000000 +0300
@@ -1,7 +1,7 @@
#include <windows.h>
typedef HANDLE descriptor_t;
typedef HANDLE proc_pid_t;
---- lighttpd-1.4.11/src/request.c 2006-03-05 11:58:09.000000000 +0200
+--- ../lighttpd-1.4.11/src/request.c 2006-03-05 11:58:09.000000000 +0200
+++ lighttpd-1.4.12/src/request.c 2006-07-11 22:07:52.000000000 +0300
@@ -10,15 +10,17 @@
#include "keyvalue.h"
+
return 0;
}
---- lighttpd-1.4.11/src/response.c 2006-03-04 16:41:39.000000000 +0200
+--- ../lighttpd-1.4.11/src/response.c 2006-03-04 16:41:39.000000000 +0200
+++ lighttpd-1.4.12/src/response.c 2006-07-11 22:07:52.000000000 +0300
@@ -7,7 +7,6 @@
#include <stdlib.h>
/* can't happen */
return HANDLER_COMEBACK;
}
---- lighttpd-1.4.11/src/server.c 2006-03-04 19:12:17.000000000 +0200
+--- ../lighttpd-1.4.11/src/server.c 2006-03-04 19:12:17.000000000 +0200
+++ lighttpd-1.4.12/src/server.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,11 +1,9 @@
#include <sys/types.h>
+
return 0;
}
---- lighttpd-1.4.11/src/settings.h 2005-08-11 01:26:41.000000000 +0300
+--- ../lighttpd-1.4.11/src/settings.h 2005-08-11 01:26:41.000000000 +0300
+++ lighttpd-1.4.12/src/settings.h 2006-07-11 22:07:53.000000000 +0300
@@ -9,24 +9,24 @@
/**
HANDLER_ERROR,
HANDLER_WAIT_FOR_FD
} handler_t;
---- lighttpd-1.4.11/src/spawn-fcgi.c 2006-03-07 14:18:10.000000000 +0200
+--- ../lighttpd-1.4.11/src/spawn-fcgi.c 2006-03-07 14:18:10.000000000 +0200
+++ lighttpd-1.4.12/src/spawn-fcgi.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,19 +1,16 @@
#include <sys/types.h>
return fcgi_spawn_connection(fcgi_app, addr, port, unixsocket, child_count, pid_fd, nofork);
}
#else
---- lighttpd-1.4.11/src/splaytree.c 2005-09-12 21:51:28.000000000 +0300
+--- ../lighttpd-1.4.11/src/splaytree.c 2005-09-12 21:51:28.000000000 +0300
+++ lighttpd-1.4.12/src/splaytree.c 2006-07-11 22:07:51.000000000 +0300
@@ -56,19 +56,19 @@
l->right = t->left; /* assemble */
r->left = t->right;
t->left = N.right;
---- lighttpd-1.4.11/src/splaytree.h 2005-09-12 21:51:13.000000000 +0300
+--- ../lighttpd-1.4.11/src/splaytree.h 2005-09-12 21:51:13.000000000 +0300
+++ lighttpd-1.4.12/src/splaytree.h 2006-07-11 22:07:51.000000000 +0300
@@ -19,6 +19,6 @@
/* This macro returns the size of a node. Unlike "x->size", */
+
#endif
---- lighttpd-1.4.11/src/stat_cache.c 2005-11-22 15:23:51.000000000 +0200
-+++ lighttpd-1.4.12/src/stat_cache.c 2006-07-11 22:07:52.000000000 +0300
+--- ../lighttpd-1.4.11/src/stat_cache.c 2005-11-22 15:23:51.000000000 +0200
++++ lighttpd-1.4.12/src/stat_cache.c 2006-07-15 22:43:21.000000000 +0300
@@ -6,7 +6,6 @@
#include <stdlib.h>
#include <string.h>
if (type->used == 0) continue;
/* check if the right side is the same */
-@@ -539,7 +527,7 @@
+@@ -538,8 +526,10 @@
+ stat_cache_attr_get(sce->content_type, name->ptr);
}
#endif
++ } else if (S_ISDIR(st.st_mode)) {
++ etag_create(sce->etag, &(sce->st));
}
-
+
#ifdef HAVE_FAM_H
if (sc->fam &&
(srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM)) {
-@@ -549,19 +537,19 @@
+@@ -549,19 +539,19 @@
fam_dir->fc = sc->fam;
buffer_copy_string_buffer(fam_dir->name, sc->dir_name);
fam_dir_entry_free(fam_dir);
} else {
int osize = 0;
-@@ -570,7 +558,7 @@
+@@ -570,7 +560,7 @@
osize = sc->dirs->size;
}
assert(sc->dirs);
assert(sc->dirs->data == fam_dir);
assert(osize == (sc->dirs->size - 1));
-@@ -578,9 +566,9 @@
+@@ -578,9 +568,9 @@
} else {
fam_dir = dir_node->data;
}
if (fam_dir) {
sce->dir_version = fam_dir->version;
sce->dir_ndx = dir_ndx;
-@@ -594,11 +582,11 @@
+@@ -594,11 +584,11 @@
}
/**
* and remove them in a second loop
*/
-@@ -639,9 +627,9 @@
+@@ -639,9 +629,9 @@
sc->files = splaytree_splay(sc->files, ndx);
node = sc->files;
size_t j;
int osize = splaytree_size(sc->files);
stat_cache_entry *sce = node->data;
-@@ -649,7 +637,7 @@
+@@ -649,7 +639,7 @@
stat_cache_entry_free(node->data);
sc->files = splaytree_delete(sc->files, ndx);
for (j = 0; j < ctrl.used; j++) {
if (ctrl.ptr[j] == ndx) {
ctrl.ptr[j] = ctrl.ptr[--ctrl.used];
---- lighttpd-1.4.11/src/stream.c 2005-09-23 21:50:15.000000000 +0300
+--- ../lighttpd-1.4.11/src/stream.c 2005-09-23 21:50:15.000000000 +0300
+++ lighttpd-1.4.12/src/stream.c 2006-07-11 22:07:53.000000000 +0300
@@ -1,7 +1,6 @@
#include <sys/types.h>
return 0;
}
---- lighttpd-1.4.11/src/sys-files.h 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/src/sys-files.h 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/src/sys-files.h 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,67 @@
+#ifndef _SYS_FILES_H_
+
+#endif
+
---- lighttpd-1.4.11/src/sys-mmap.h 2005-08-11 01:26:34.000000000 +0300
+--- ../lighttpd-1.4.11/src/sys-mmap.h 2005-08-11 01:26:34.000000000 +0300
+++ lighttpd-1.4.12/src/sys-mmap.h 2006-07-11 22:07:52.000000000 +0300
@@ -1,7 +1,7 @@
#ifndef WIN32_MMAP_H
#define MAP_FAILED -1
#define PROT_SHARED 0
---- lighttpd-1.4.11/src/sys-process.h 1970-01-01 03:00:00.000000000 +0300
-+++ lighttpd-1.4.12/src/sys-process.h 2006-07-11 22:07:52.000000000 +0300
-@@ -0,0 +1,16 @@
+--- ../lighttpd-1.4.11/src/sys-process.h 1970-01-01 03:00:00.000000000 +0300
++++ lighttpd-1.4.12/src/sys-process.h 2006-07-15 22:43:21.000000000 +0300
+@@ -0,0 +1,17 @@
+#ifndef _SYS_PROCESS_H_
+#define _SYS_PROCESS_H_
+
+#define pid_t int
+/* win32 has no fork() */
+#define kill(x, y)
++#define getpid() 0
+
+#else
+#include <sys/wait.h>
+
+#endif
+
---- lighttpd-1.4.11/src/sys-socket.h 2005-08-11 01:26:39.000000000 +0300
-+++ lighttpd-1.4.12/src/sys-socket.h 2006-07-11 22:07:52.000000000 +0300
+--- ../lighttpd-1.4.11/src/sys-socket.h 2005-08-11 01:26:39.000000000 +0300
++++ lighttpd-1.4.12/src/sys-socket.h 2006-07-15 22:43:21.000000000 +0300
@@ -1,15 +1,26 @@
#ifndef WIN32_SOCKET_H
#define WIN32_SOCKET_H
#else
#include <sys/socket.h>
#include <sys/ioctl.h>
-@@ -18,6 +29,11 @@
+@@ -18,7 +29,23 @@
#include <sys/un.h>
#include <arpa/inet.h>
#include <netdb.h>
#endif
---- lighttpd-1.4.11/src/sys-strings.h 1970-01-01 03:00:00.000000000 +0300
++typedef union {
++#ifdef HAVE_IPV6
++ struct sockaddr_in6 ipv6;
++#endif
++ struct sockaddr_in ipv4;
++#ifdef HAVE_SYS_UN_H
++ struct sockaddr_un un;
++#endif
++ struct sockaddr plain;
++} sock_addr;
++
+ #endif
+--- ../lighttpd-1.4.11/src/sys-strings.h 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/src/sys-strings.h 2006-07-11 22:07:51.000000000 +0300
@@ -0,0 +1,11 @@
+#ifndef _SYS_STRINGS_H_
+
+#endif
+
---- lighttpd-1.4.11/tests/LightyTest.pm 2006-01-14 20:32:31.000000000 +0200
+--- ../lighttpd-1.4.11/tests/LightyTest.pm 2006-01-14 20:32:31.000000000 +0200
+++ lighttpd-1.4.12/tests/LightyTest.pm 2006-07-11 22:07:53.000000000 +0300
@@ -87,14 +87,14 @@
# pre-process configfile if necessary
# check length
if (defined $resp_hdr{"content-length"}) {
$resp_body = substr($lines, 0, $resp_hdr{"content-length"});
---- lighttpd-1.4.11/tests/Makefile.am 2005-09-16 15:48:40.000000000 +0300
-+++ lighttpd-1.4.12/tests/Makefile.am 2006-07-11 22:07:53.000000000 +0300
-@@ -39,10 +39,15 @@
+--- ../lighttpd-1.4.11/tests/Makefile.am 2005-09-16 15:48:40.000000000 +0300
++++ lighttpd-1.4.12/tests/Makefile.am 2006-07-15 22:43:22.000000000 +0300
+@@ -39,10 +39,18 @@
mod-redirect.t \
mod-userdir.t \
mod-rewrite.t \
+ lowercase.t \
+ lowercase.conf \
+ proxy.conf \
-+ cachable.t
++ cachable.t \
++ default.conf \
++ proxy-backend-1.conf \
++ proxy-backend-2.conf
TESTS_ENVIRONMENT=$(srcdir)/wrapper.sh $(srcdir) $(top_builddir)
---- lighttpd-1.4.11/tests/Makefile.in 2006-03-07 14:21:03.000000000 +0200
-+++ lighttpd-1.4.12/tests/Makefile.in 2006-07-11 21:48:14.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -13,8 +13,6 @@
- # PARTICULAR PURPOSE.
-
- @SET_MAKE@
--SOURCES = $(fcgi_auth_SOURCES) $(fcgi_responder_SOURCES)
--
- srcdir = @srcdir@
- top_srcdir = @top_srcdir@
- VPATH = @srcdir@
-@@ -46,7 +44,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- am__fcgi_auth_SOURCES_DIST = fcgi-auth.c
-@@ -67,8 +65,8 @@
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
--LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+LINK = $(LIBTOOL) --tag=CC --mode=link "$(CCLD)" $(AM_CFLAGS) \
-+ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
- SOURCES = $(fcgi_auth_SOURCES) $(fcgi_responder_SOURCES)
- DIST_SOURCES = $(am__fcgi_auth_SOURCES_DIST) \
- $(am__fcgi_responder_SOURCES_DIST)
-@@ -134,7 +132,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -177,6 +174,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-@@ -253,10 +251,15 @@
- mod-redirect.t \
- mod-userdir.t \
- mod-rewrite.t \
-+ mod-proxy.t \
- request.t \
- mod-ssi.t \
- LightyTest.pm \
-- mod-setenv.t
-+ mod-setenv.t \
-+ lowercase.t \
-+ lowercase.conf \
-+ proxy.conf \
-+ cachable.t
-
- TESTS_ENVIRONMENT = $(srcdir)/wrapper.sh $(srcdir) $(top_builddir)
- EXTRA_DIST = wrapper.sh lighttpd.conf \
---- lighttpd-1.4.11/tests/bug-06.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/bug-06.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/bug-06.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,5 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/bug-12.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/bug-12.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/bug-12.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,5 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/cachable.t 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/tests/cachable.t 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/tests/cachable.t 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,112 @@
+#!/usr/bin/env perl
+
+ok($tf->stop_proc == 0, "Stopping lighttpd");
+
---- lighttpd-1.4.11/tests/condition.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/condition.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/condition.conf 2006-07-11 22:07:53.000000000 +0300
@@ -2,15 +2,15 @@
debug.log-request-handling = "enable"
server.name = "test3.example.org"
url.redirect = ("^" => "/match_4")
---- lighttpd-1.4.11/tests/core-keepalive.t 2005-11-17 15:54:19.000000000 +0200
+--- ../lighttpd-1.4.11/tests/core-keepalive.t 2005-11-17 15:54:19.000000000 +0200
+++ lighttpd-1.4.12/tests/core-keepalive.t 2006-07-11 22:07:53.000000000 +0300
@@ -40,7 +40,7 @@
EOF
);
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200 } , { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200 } ];
---- lighttpd-1.4.11/tests/docroot/123/Makefile.in 2006-03-07 14:21:03.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/123/Makefile.in 2006-07-11 21:48:15.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -100,7 +100,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -143,6 +142,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/docroot/Makefile.in 2006-03-07 14:21:04.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/Makefile.in 2006-07-11 21:48:15.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -109,7 +109,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -152,6 +151,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/docroot/www/Makefile.in 2006-03-07 14:21:05.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/www/Makefile.in 2006-07-11 21:48:15.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -109,7 +109,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -152,6 +151,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/docroot/www/dummydir/.svn/entries 2006-03-09 19:21:49.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/www/dummydir/.svn/entries 2006-07-11 22:07:54.000000000 +0300
+--- ../lighttpd-1.4.11/tests/docroot/www/dummydir/.svn/entries 2006-03-09 19:21:49.000000000 +0200
++++ lighttpd-1.4.12/tests/docroot/www/dummydir/.svn/entries 2006-07-15 22:43:22.000000000 +0300
@@ -9,5 +9,6 @@
last-author="jan"
kind="dir"
uuid="152afb58-edef-0310-8abb-c4023f1b3aa9"
- revision="1040"/>
+ repos="svn://svn.lighttpd.net/lighttpd"
-+ revision="1154"/>
++ revision="1173"/>
</wc-entries>
---- lighttpd-1.4.11/tests/docroot/www/expire/Makefile.in 2006-03-07 14:21:05.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/www/expire/Makefile.in 2006-07-11 21:48:15.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -100,7 +100,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -143,6 +142,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/docroot/www/go/Makefile.in 2006-03-07 14:21:06.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/www/go/Makefile.in 2006-07-11 21:48:16.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -100,7 +100,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -143,6 +142,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/docroot/www/indexfile/Makefile.in 2006-03-07 14:21:07.000000000 +0200
-+++ lighttpd-1.4.12/tests/docroot/www/indexfile/Makefile.in 2006-07-11 21:48:16.000000000 +0300
-@@ -1,4 +1,4 @@
--# Makefile.in generated by automake 1.9.5 from Makefile.am.
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
- # @configure_input@
-
- # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-@@ -42,7 +42,7 @@
- am__aclocal_m4_deps = $(top_srcdir)/configure.in
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
--mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = $(top_builddir)/config.h
- CONFIG_CLEAN_FILES =
- SOURCES =
-@@ -100,7 +100,6 @@
- LIBTOOL = @LIBTOOL@
- LN_S = @LN_S@
- LTLIBOBJS = @LTLIBOBJS@
--LUACONFIG = @LUACONFIG@
- LUA_CFLAGS = @LUA_CFLAGS@
- LUA_LIBS = @LUA_LIBS@
- MAINT = @MAINT@
-@@ -143,6 +142,7 @@
- ac_ct_F77 = @ac_ct_F77@
- ac_ct_RANLIB = @ac_ct_RANLIB@
- ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
- am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
- am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
- am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
---- lighttpd-1.4.11/tests/fastcgi-10.conf 2005-08-31 23:36:34.000000000 +0300
+--- ../lighttpd-1.4.11/tests/fastcgi-10.conf 2005-08-31 23:36:34.000000000 +0300
+++ lighttpd-1.4.12/tests/fastcgi-10.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,12 +1,12 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/fastcgi-13.conf 2006-01-03 12:38:17.000000000 +0200
+--- ../lighttpd-1.4.11/tests/fastcgi-13.conf 2006-01-03 12:38:17.000000000 +0200
+++ lighttpd-1.4.12/tests/fastcgi-13.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,5 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/fastcgi-auth.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/fastcgi-auth.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/fastcgi-auth.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,5 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/fastcgi-responder.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/fastcgi-responder.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/fastcgi-responder.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,5 +1,5 @@
-server.document-root = "@SRCDIR@/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "zzz.example.org"
}
---- lighttpd-1.4.11/tests/fcgi-responder.c 2005-08-11 01:26:55.000000000 +0300
+--- ../lighttpd-1.4.11/tests/fcgi-responder.c 2005-08-11 01:26:55.000000000 +0300
+++ lighttpd-1.4.12/tests/fcgi-responder.c 2006-07-11 22:07:53.000000000 +0300
@@ -6,11 +6,17 @@
int main () {
} else if (0 == strcmp(p, "die-at-end")) {
printf("Status: 200 OK\r\n\r\n");
num_requests--;
---- lighttpd-1.4.11/tests/lighttpd.conf 2006-03-09 15:26:58.000000000 +0200
+--- ../lighttpd-1.4.11/tests/lighttpd.conf 2006-03-09 15:26:58.000000000 +0200
+++ lighttpd-1.4.12/tests/lighttpd.conf 2006-07-11 22:07:53.000000000 +0300
@@ -1,80 +1,18 @@
-debug.log-request-handling = "enable"
simple-vhost.default-host = "www.example.org"
}
---- lighttpd-1.4.11/tests/lowercase.conf 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/tests/lowercase.conf 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/tests/lowercase.conf 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,80 @@
+server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
+$HTTP["host"] == "lowercase-exclude" {
+ static-file.exclude-extensions = ( ".jpg" )
+}
---- lighttpd-1.4.11/tests/lowercase.t 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/tests/lowercase.t 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/tests/lowercase.t 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,94 @@
+#!/usr/bin/env perl
+
+ok($tf->stop_proc == 0, "Stopping lighttpd");
+
---- lighttpd-1.4.11/tests/mod-fastcgi.t 2006-03-09 15:30:45.000000000 +0200
+--- ../lighttpd-1.4.11/tests/mod-fastcgi.t 2006-03-09 15:30:45.000000000 +0200
+++ lighttpd-1.4.12/tests/mod-fastcgi.t 2006-07-11 22:07:53.000000000 +0300
@@ -7,7 +7,7 @@
}
$t->{REQUEST} = ( <<EOF
GET /index.fcgi?die-at-end HTTP/1.0
Host: www.example.org
---- lighttpd-1.4.11/tests/mod-proxy.t 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/tests/mod-proxy.t 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/tests/mod-proxy.t 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,173 @@
+#!/usr/bin/env perl
+
+ok($tf_proxy->stop_proc == 0, "Stopping lighttpd proxy");
+
---- lighttpd-1.4.11/tests/proxy.conf 1970-01-01 03:00:00.000000000 +0300
+--- ../lighttpd-1.4.11/tests/proxy.conf 1970-01-01 03:00:00.000000000 +0300
+++ lighttpd-1.4.12/tests/proxy.conf 2006-07-11 22:07:53.000000000 +0300
@@ -0,0 +1,26 @@
+server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
+ proxy.balance = "fair"
+}
+
---- lighttpd-1.4.11/tests/var-include.conf 2005-08-27 17:44:19.000000000 +0300
+--- ../lighttpd-1.4.11/tests/var-include.conf 2005-08-27 17:44:19.000000000 +0300
+++ lighttpd-1.4.12/tests/var-include.conf 2006-07-11 22:07:53.000000000 +0300
@@ -2,15 +2,15 @@
debug.log-request-handling = "enable"