summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArno Töll <arno@debian.org>2012-11-22 00:17:36 +0100
committerArno Töll <arno@debian.org>2012-11-22 00:17:36 +0100
commitfe77617887e7088009a30937542d0a6a55a4a398 (patch)
treeecf5c1a4ca5c33a4e83f379464e68152f0c3fca9
parent018d43feb1e0cd33cb92a2b689e1d9bb3af96c67 (diff)
parent5b23e76990e58208a01c2a5362362575bc12b397 (diff)
downloadlighttpd-fe77617887e7088009a30937542d0a6a55a4a398.tar.gz
Merge tag 'upstream/1.4.32'
Upstream version 1.4.32 Conflicts: Makefile.in NEWS SConstruct aclocal.m4 config.h.in configure configure.ac doc/Makefile.in doc/config/Makefile.in doc/config/conf.d/Makefile.in doc/config/vhosts.d/Makefile.in doc/initscripts/Makefile.in doc/outdated/Makefile.in doc/scripts/Makefile.in doc/systemd/Makefile.in ltmain.sh m4/libtool.m4 src/Makefile.in src/buffer.c src/configfile-glue.c src/configfile.c src/configparser.c src/connections.c src/fdevent.c src/keyvalue.c src/keyvalue.h src/lemon.c src/lempar.c src/lighttpd-angel.c src/md5.c src/mod_accesslog.c src/mod_cgi.c src/mod_compress.c src/mod_extforward.c src/mod_fastcgi.c src/mod_proxy.c src/mod_rewrite.c src/mod_scgi.c src/mod_setenv.c src/mod_ssi_expr.c src/mod_ssi_exprparser.c src/mod_webdav.c src/network.c src/network_writev.c src/plugin.h src/proc_open.c src/request.c src/response.c src/server.c src/stream.c tests/Makefile.in tests/core-404-handler.t tests/docroot/123/Makefile.in tests/docroot/Makefile.in tests/docroot/www/Makefile.in tests/docroot/www/expire/Makefile.in tests/docroot/www/go/Makefile.in tests/docroot/www/indexfile/Makefile.in tests/fcgi-auth.c tests/fcgi-responder.c tests/mod-proxy.t tests/request.t tests/symlink.t
-rw-r--r--Makefile.in42
-rw-r--r--NEWS16
-rw-r--r--SConstruct2
-rw-r--r--aclocal.m495
-rwxr-xr-xar-lib270
-rw-r--r--config.h.in6
-rwxr-xr-xconfigure248
-rw-r--r--configure.ac13
-rw-r--r--doc/Makefile.in51
-rw-r--r--doc/config/Makefile.in36
-rw-r--r--doc/config/conf.d/Makefile.in25
-rw-r--r--doc/config/vhosts.d/Makefile.in25
-rw-r--r--doc/initscripts/Makefile.in25
-rw-r--r--doc/outdated/Makefile.in25
-rw-r--r--doc/scripts/Makefile.in25
-rw-r--r--doc/systemd/Makefile.in25
-rw-r--r--ltmain.sh4
-rw-r--r--m4/libtool.m428
-rw-r--r--src/Makefile.in33
-rw-r--r--src/buffer.c12
-rw-r--r--src/configfile-glue.c8
-rw-r--r--src/configfile.c2
-rw-r--r--src/configparser.c86
-rw-r--r--src/connections.c14
-rw-r--r--src/fdevent.c2
-rw-r--r--src/keyvalue.c1
-rw-r--r--src/keyvalue.h1
-rw-r--r--src/lemon.c6
-rw-r--r--src/lempar.c6
-rw-r--r--src/lighttpd-angel.c1
-rw-r--r--src/md5.c36
-rw-r--r--src/mod_accesslog.c2
-rw-r--r--src/mod_cgi.c4
-rw-r--r--src/mod_compress.c64
-rw-r--r--src/mod_extforward.c6
-rw-r--r--src/mod_fastcgi.c8
-rw-r--r--src/mod_proxy.c4
-rw-r--r--src/mod_rewrite.c2
-rw-r--r--src/mod_scgi.c8
-rw-r--r--src/mod_setenv.c2
-rw-r--r--src/mod_ssi_expr.c2
-rw-r--r--src/mod_ssi_exprparser.c44
-rw-r--r--src/mod_webdav.c4
-rw-r--r--src/network.c7
-rw-r--r--src/network_writev.c2
-rw-r--r--src/plugin.h2
-rw-r--r--src/proc_open.c2
-rw-r--r--src/request.c80
-rw-r--r--src/response.c2
-rw-r--r--src/server.c2
-rw-r--r--src/stream.c2
-rw-r--r--tests/Makefile.in36
-rwxr-xr-x[-rw-r--r--]tests/core-404-handler.t0
-rw-r--r--tests/docroot/123/Makefile.in25
-rw-r--r--tests/docroot/Makefile.in36
-rw-r--r--tests/docroot/www/Makefile.in36
-rw-r--r--tests/docroot/www/expire/Makefile.in25
-rw-r--r--tests/docroot/www/go/Makefile.in25
-rw-r--r--tests/docroot/www/indexfile/Makefile.in25
-rw-r--r--tests/fcgi-auth.c2
-rw-r--r--tests/fcgi-responder.c2
-rwxr-xr-xtests/mod-proxy.t2
-rwxr-xr-xtests/request.t58
-rwxr-xr-x[-rw-r--r--]tests/symlink.t0
64 files changed, 1262 insertions, 428 deletions
diff --git a/Makefile.in b/Makefile.in
index 26da2e5..fc2e37b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -38,8 +55,8 @@ subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/distribute.sh.in $(top_srcdir)/configure AUTHORS \
- COPYING INSTALL NEWS compile config.guess config.sub depcomp \
- install-sh ltmain.sh missing
+ COPYING INSTALL NEWS ar-lib compile config.guess config.sub \
+ depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -68,6 +85,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -202,7 +224,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -502,13 +523,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -594,7 +612,7 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
diff --git a/NEWS b/NEWS
index 7d555fa..6d8e3c4 100644
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,21 @@
NEWS
====
-- 1.4.31 -
+- 1.4.32 -
+ * Code cleanup with clang/sparse (fixes #2437, thx kibi)
+ * Ignore EPIPE/ECONNRESET after SSL_shutdown
+ * Handle ENAMETOOLONG, return 404 Not Found (fixes #2396, thx dererkazo)
+ * configure.ac: remove old stuff, add some new to fix warnings in automake 1.12 (fixes #2419, thx blino)
+ * add PATCH method (fixes #2424)
+ * fix :port handling in $HTTP["host"] checks (fixes #2135. thx liming)
+ * network_server_init: fix double free and memleak on error (fixes #2440, thx kyprizel)
+ * detect "x-gzip"/"x-bzip2" as separate encodings, more strict encoding matching (fixes #2443)
+ * tests: make sure mod_proxy doesn't leave running processes (fixes #2435, thx kibi)
+ * mod_extforward: log address of untrusted proxy with debug.log-request-handling
+ * fix DoS in Connection header value split (reported by Jesse Sipprell, CVE-2012-5533)
+ * remove whitespace at end of header keys
+
+- 1.4.31 - 2012-05-31
* [ssl] fix segfault in counting renegotiations for openssl versions without TLSEXT/SNI (thx carpii for reporting)
* Move fdevent subsystem includes to implementation files to reduce conflicts (fixes #2373)
* [mod_compress] fix handling if etags are disabled but cache-dir is set - may lead to double response
diff --git a/SConstruct b/SConstruct
index 4223930..eb70cd2 100644
--- a/SConstruct
+++ b/SConstruct
@@ -5,7 +5,7 @@ import string
from stat import *
package = 'lighttpd'
-version = '1.4.31'
+version = '1.4.32'
def checkCHeaders(autoconf, hdrs):
p = re.compile('[^A-Z0-9]')
diff --git a/aclocal.m4 b/aclocal.m4
index b0e811a..9b96a23 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -198,7 +198,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.3], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -214,11 +214,72 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed. If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+ [am_cv_ar_interface=ar
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+ ])
+ ])
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ m4_default([$1],
+ [AC_MSG_ERROR([could not determine $AR interface])])
+ ;;
+esac
+AC_SUBST([AR])dnl
+])
+
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
@@ -953,34 +1014,6 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-AC_DEFUN([AM_C_PROTOTYPES],
-[AC_REQUIRE([AC_C_PROTOTYPES])
-AC_DIAGNOSE([obsolete],
- [$0: automatic de-ANSI-fication support is deprecated])
-if test "$ac_cv_prog_cc_stdc" != no; then
- U= ANSI2KNR=
-else
- U=_ ANSI2KNR=./ansi2knr
-fi
-# Ensure some checks needed by ansi2knr itself.
-AC_REQUIRE([AC_HEADER_STDC])
-AC_CHECK_HEADERS([string.h])
-AC_SUBST([U])dnl
-AC_SUBST([ANSI2KNR])dnl
-_AM_SUBST_NOTMAKE([ANSI2KNR])dnl
-])
-
-AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
-
# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
diff --git a/ar-lib b/ar-lib
new file mode 100755
index 0000000..0f62c6f
--- /dev/null
+++ b/ar-lib
@@ -0,0 +1,270 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2012-03-01.08; # UTC
+
+# Copyright (C) 2010, 2012 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda@lysator.liu.se>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+ echo "$me: $1" 1>&2
+ exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv in
+ mingw)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+ operation=$2
+ archive=$3
+ at_file_contents=`cat "$1"`
+ eval set x "$at_file_contents"
+ shift
+
+ for member
+ do
+ $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+ done
+}
+
+case $1 in
+ '')
+ func_error "no command. Try '$0 --help' for more information."
+ ;;
+ -h | --h*)
+ cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "$me, version $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test $# -lt 3; then
+ func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+ if test $# -lt 2; then
+ func_error "you must specify a program, an action and an archive"
+ fi
+ case $1 in
+ -lib | -LIB \
+ | -ltcg | -LTCG \
+ | -machine* | -MACHINE* \
+ | -subsystem* | -SUBSYSTEM* \
+ | -verbose | -VERBOSE \
+ | -wx* | -WX* )
+ AR="$AR $1"
+ shift
+ ;;
+ *)
+ action=$1
+ shift
+ break
+ ;;
+ esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+ case $action in
+ d*) delete=yes ;;
+ x*) extract=yes ;;
+ t*) list=yes ;;
+ q*) quick=yes ;;
+ r*) replace=yes ;;
+ s*) index=yes ;;
+ S*) ;; # the index is always updated implicitly
+ c*) create=yes ;;
+ u*) ;; # TODO: don't ignore the update modifier
+ v*) ;; # TODO: don't ignore the verbose modifier
+ *)
+ func_error "unknown action specified"
+ ;;
+ esac
+ action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+ yes,* | ,yes)
+ ;;
+ yesyes*)
+ func_error "more than one action specified"
+ ;;
+ *)
+ func_error "no action specified"
+ ;;
+esac
+
+if test -n "$delete"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -REMOVE "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+
+elif test -n "$extract"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ if test $# -gt 0; then
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -EXTRACT "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+ else
+ $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
+ do
+ $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+ done
+ fi
+
+elif test -n "$quick$replace"; then
+ if test ! -f "$orig_archive"; then
+ if test -z "$create"; then
+ echo "$me: creating $orig_archive"
+ fi
+ orig_archive=
+ else
+ orig_archive=$archive
+ fi
+
+ for member
+ do
+ case $1 in
+ @*)
+ func_file_conv "${1#@}"
+ set x "$@" "@$file"
+ ;;
+ *)
+ func_file_conv "$1"
+ set x "$@" "$file"
+ ;;
+ esac
+ shift
+ shift
+ done
+
+ if test -n "$orig_archive"; then
+ $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+ else
+ $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+ fi
+
+elif test -n "$list"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff --git a/config.h.in b/config.h.in
index 7501d85..8e14fa4 100644
--- a/config.h.in
+++ b/config.h.in
@@ -420,9 +420,6 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* Define to 1 if the C compiler supports function prototypes. */
-#undef PROTOTYPES
-
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
@@ -475,9 +472,6 @@
# undef __CHAR_UNSIGNED__
#endif
-/* Define like PROTOTYPES; this can be used by system headers. */
-#undef __PROTOTYPES
-
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
diff --git a/configure b/configure
index 85d1b79..95d4600 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for lighttpd 1.4.31.
+# Generated by GNU Autoconf 2.69 for lighttpd 1.4.32.
#
# Report bugs to <contact@lighttpd.net>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='lighttpd'
PACKAGE_TARNAME='lighttpd'
-PACKAGE_VERSION='1.4.31'
-PACKAGE_STRING='lighttpd 1.4.31'
+PACKAGE_VERSION='1.4.32'
+PACKAGE_STRING='lighttpd 1.4.32'
PACKAGE_BUGREPORT='contact@lighttpd.net'
PACKAGE_URL=''
@@ -677,18 +677,16 @@ NMEDIT
DSYMUTIL
MANIFEST_TOOL
RANLIB
-ac_ct_AR
-AR
DLLTOOL
OBJDUMP
NM
ac_ct_DUMPBIN
DUMPBIN
LIBTOOL
-ANSI2KNR
-U
NO_RDYNAMIC_FALSE
NO_RDYNAMIC_TRUE
+ac_ct_AR
+AR
LN_S
CPP
LD
@@ -1387,7 +1385,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures lighttpd 1.4.31 to adapt to many kinds of systems.
+\`configure' configures lighttpd 1.4.32 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1458,7 +1456,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of lighttpd 1.4.31:";;
+ short | recursive ) echo "Configuration of lighttpd 1.4.32:";;
esac
cat <<\_ACEOF
@@ -1604,7 +1602,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-lighttpd configure 1.4.31
+lighttpd configure 1.4.32
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2267,7 +2265,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by lighttpd $as_me 1.4.31, which was
+It was created by lighttpd $as_me 1.4.32, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3198,7 +3196,7 @@ fi
# Define the identity of the package.
PACKAGE='lighttpd'
- VERSION='1.4.31'
+ VERSION='1.4.32'
cat >>confdefs.h <<_ACEOF
@@ -5343,6 +5341,167 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
$as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar lib "link -lib"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar lib "link -lib"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_ar_interface=ar
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+ ;;
+esac
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
$as_echo_n "checking for library containing strerror... " >&6; }
@@ -5417,45 +5576,6 @@ fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for function prototypes" >&5
-$as_echo_n "checking for function prototypes... " >&6; }
-if test "$ac_cv_prog_cc_c89" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define PROTOTYPES 1" >>confdefs.h
-
-
-$as_echo "#define __PROTOTYPES 1" >>confdefs.h
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test "$ac_cv_prog_cc_stdc" != no; then
- U= ANSI2KNR=
-else
- U=_ ANSI2KNR=./ansi2knr
-fi
-# Ensure some checks needed by ansi2knr itself.
-
-for ac_header in string.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
-if test "x$ac_cv_header_string_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_STRING_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
# Check whether --enable-static was given.
if test "${enable_static+set}" = set; then :
enableval=$enable_static; p=${PACKAGE-default}
@@ -6265,10 +6385,6 @@ freebsd* | dragonfly*)
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -6307,7 +6423,7 @@ irix5* | irix6* | nonstopux*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -8904,7 +9020,7 @@ lt_prog_compiler_static=
lt_prog_compiler_static='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -11074,17 +11190,6 @@ freebsd* | dragonfly*)
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
@@ -11201,7 +11306,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
@@ -16330,6 +16435,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -16769,7 +16875,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by lighttpd $as_me 1.4.31, which was
+This file was extended by lighttpd $as_me 1.4.32, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16835,7 +16941,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-lighttpd config.status 1.4.31
+lighttpd config.status 1.4.32
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 04f1eaf..b79a9fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,14 +1,14 @@
dnl -*- Autoconf -*-
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57)
-AC_INIT([lighttpd], [1.4.31], [contact@lighttpd.net])
+AC_INIT([lighttpd], [1.4.32], [contact@lighttpd.net])
AC_CONFIG_SRCDIR([src/server.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE([-Wall -Wportability -Wno-override -Werror foreign dist-bzip2 tar-ustar])
+AM_INIT_AUTOMAKE([-Wall -Wportability -Wno-override foreign dist-bzip2 tar-ustar])
dnl enable with --enable-silent-rules or make V=0 (needs automake >= 1.11)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
@@ -24,6 +24,12 @@ dnl AC_PROG_CXX
AC_PROG_LN_S
AC_PROG_MAKE_SET
+dnl AM_PROG_AR is needed for some linker stuff
+dnl AC_USE_SYSTEM_EXTENSIONS requires autoconf 2.60
+m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS])
+dnl AM_PROG_AR requires automake 1.11 (and uses AC_COMPILE_IFELSE which wants AC_USE_SYSTEM_EXTENSIONS)
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+
dnl check environment
AC_AIX
AC_ISC_POSIX
@@ -38,9 +44,6 @@ AM_CONDITIONAL(NO_RDYNAMIC, test x$NO_RDYNAMIC = xyes)
AC_EXEEXT
-dnl more automake stuff
-AM_C_PROTOTYPES
-
dnl libtool
AC_DISABLE_STATIC
AC_ENABLE_SHARED
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 01ac18e..e0b7083 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -63,6 +80,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -215,7 +237,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -324,9 +345,18 @@ clean-libtool:
-rm -rf .libs _libs
install-man8: $(dist_man8_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
- @list='$(dist_man8_MANS)'; test -n "$(man8dir)" || exit 0; \
- { for i in $$list; do echo "$$i"; done; \
+ @list1='$(dist_man8_MANS)'; \
+ list2=''; \
+ test -n "$(man8dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.8[a-z]*$$/p'; \
+ fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
@@ -535,13 +565,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
diff --git a/doc/config/Makefile.in b/doc/config/Makefile.in
index 869a407..1948cf0 100644
--- a/doc/config/Makefile.in
+++ b/doc/config/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,6 +79,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -183,7 +205,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -454,13 +475,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
diff --git a/doc/config/conf.d/Makefile.in b/doc/config/conf.d/Makefile.in
index 1b3fc95..c461118 100644
--- a/doc/config/conf.d/Makefile.in
+++ b/doc/config/conf.d/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/doc/config/vhosts.d/Makefile.in b/doc/config/vhosts.d/Makefile.in
index a6e536d..2bb296f 100644
--- a/doc/config/vhosts.d/Makefile.in
+++ b/doc/config/vhosts.d/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/doc/initscripts/Makefile.in b/doc/initscripts/Makefile.in
index af8b522..cd4fa6f 100644
--- a/doc/initscripts/Makefile.in
+++ b/doc/initscripts/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/doc/outdated/Makefile.in b/doc/outdated/Makefile.in
index 1f56f68..83418d6 100644
--- a/doc/outdated/Makefile.in
+++ b/doc/outdated/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/doc/scripts/Makefile.in b/doc/scripts/Makefile.in
index 009fb20..2230f70 100644
--- a/doc/scripts/Makefile.in
+++ b/doc/scripts/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/doc/systemd/Makefile.in b/doc/systemd/Makefile.in
index 8f2b107..882103d 100644
--- a/doc/systemd/Makefile.in
+++ b/doc/systemd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/ltmain.sh b/ltmain.sh
index c7d06c3..33f642a 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.1
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1"
+VERSION="2.4.2 Debian-2.4.2-1.1"
TIMESTAMP=""
package_revision=1.3337
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 828104c..534d1cc 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2512,17 +2512,6 @@ freebsd* | dragonfly*)
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
@@ -2639,7 +2628,7 @@ linux*oldld* | linux*aout* | linux*coff*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
@@ -3255,10 +3244,6 @@ freebsd* | dragonfly*)
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3297,7 +3282,7 @@ irix5* | irix6* | nonstopux*)
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4049,7 +4034,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -4348,7 +4333,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -6241,9 +6226,6 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- gnu*)
- ;;
-
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6405,7 +6387,7 @@ if test "$_lt_caught_CXX_error" != yes; then
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
diff --git a/src/Makefile.in b/src/Makefile.in
index 559e1f2..705e7ef 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -18,6 +18,23 @@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -488,6 +505,11 @@ DIST_SOURCES = $(am__liblightcomp_la_SOURCES_DIST) \
$(mod_usertrack_la_SOURCES) $(mod_webdav_la_SOURCES) \
$(lemon_SOURCES) $(am__lighttpd_SOURCES_DIST) \
$(lighttpd_angel_SOURCES) $(proc_open_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
@@ -579,7 +601,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -863,7 +884,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
@@ -871,6 +891,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
else :; fi; \
done; \
test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
@@ -969,8 +991,11 @@ clean-noinstPROGRAMS:
rm -f $$list
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
diff --git a/src/buffer.c b/src/buffer.c
index 43fb71c..cff44fe 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -629,7 +629,7 @@ int buffer_copy_string_hex(buffer *b, const char *in, size_t in_len) {
}
/* everything except: ! ( ) * - . 0-9 A-Z _ a-z */
-const char encoded_chars_rel_uri_part[] = {
+static const char encoded_chars_rel_uri_part[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
@@ -652,7 +652,7 @@ const char encoded_chars_rel_uri_part[] = {
};
/* everything except: ! ( ) * - . / 0-9 A-Z _ a-z */
-const char encoded_chars_rel_uri[] = {
+static const char encoded_chars_rel_uri[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
@@ -674,7 +674,7 @@ const char encoded_chars_rel_uri[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* F0 - FF */
};
-const char encoded_chars_html[] = {
+static const char encoded_chars_html[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
@@ -696,7 +696,7 @@ const char encoded_chars_html[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* F0 - FF */
};
-const char encoded_chars_minimal_xml[] = {
+static const char encoded_chars_minimal_xml[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
@@ -718,7 +718,7 @@ const char encoded_chars_minimal_xml[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* F0 - FF */
};
-const char encoded_chars_hex[] = {
+static const char encoded_chars_hex[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
@@ -740,7 +740,7 @@ const char encoded_chars_hex[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* F0 - FF */
};
-const char encoded_chars_http_header[] = {
+static const char encoded_chars_http_header[] = {
/*
0 1 2 3 4 5 6 7 8 9 A B C D E F
*/
diff --git a/src/configfile-glue.c b/src/configfile-glue.c
index 782eb81..3efa46a 100644
--- a/src/configfile-glue.c
+++ b/src/configfile-glue.c
@@ -299,17 +299,13 @@ static cond_result_t config_check_cond_nocache(server *srv, connection *con, dat
ck_colon = strchr(dc->string->ptr, ':');
val_colon = strchr(l->ptr, ':');
- if (ck_colon == val_colon) {
- /* nothing to do with it */
- break;
- }
- if (ck_colon) {
+ if (NULL != ck_colon && NULL == val_colon) {
/* condition "host:port" but client send "host" */
buffer_copy_string_buffer(srv->cond_check_buf, l);
buffer_append_string_len(srv->cond_check_buf, CONST_STR_LEN(":"));
buffer_append_long(srv->cond_check_buf, sock_addr_get_port(&(srv_sock->addr)));
l = srv->cond_check_buf;
- } else if (!ck_colon) {
+ } else if (NULL != val_colon && NULL == ck_colon) {
/* condition "host" but client send "host:port" */
buffer_copy_string_len(srv->cond_check_buf, l->ptr, val_colon - l->ptr);
l = srv->cond_check_buf;
diff --git a/src/configfile.c b/src/configfile.c
index a03c9bd..bb71b95 100644
--- a/src/configfile.c
+++ b/src/configfile.c
@@ -1000,7 +1000,7 @@ int config_parse_file(server *srv, config_t *context, const char *fn) {
return ret;
}
-static char* getCWD() {
+static char* getCWD(void) {
char *s, *s1;
size_t len;
#ifdef PATH_MAX
diff --git a/src/configparser.c b/src/configparser.c
index 808cd66..a13d729 100644
--- a/src/configparser.c
+++ b/src/configparser.c
@@ -4,7 +4,7 @@
/* First off, code is include which follows the "include" declaration
** in the input file. */
#include <stdio.h>
-#line 5 "./configparser.y"
+#line 5 "../../src/configparser.y"
#include "configfile.h"
#include "buffer.h"
@@ -339,8 +339,8 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
+static FILE *yyTraceFILE = NULL;
+static char *yyTracePrompt = NULL;
#endif /* NDEBUG */
#ifndef NDEBUG
@@ -518,42 +518,42 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 23:
case 24:
case 25:
-#line 144 "./configparser.y"
+#line 144 "../../src/configparser.y"
{ buffer_free((yypminor->yy0)); }
#line 523 "configparser.c"
break;
case 35:
-#line 135 "./configparser.y"
+#line 135 "../../src/configparser.y"
{ (yypminor->yy41)->free((yypminor->yy41)); }
#line 528 "configparser.c"
break;
case 36:
-#line 136 "./configparser.y"
+#line 136 "../../src/configparser.y"
{ (yypminor->yy41)->free((yypminor->yy41)); }
#line 533 "configparser.c"
break;
case 37:
-#line 137 "./configparser.y"
+#line 137 "../../src/configparser.y"
{ (yypminor->yy41)->free((yypminor->yy41)); }
#line 538 "configparser.c"
break;
case 39:
-#line 138 "./configparser.y"
+#line 138 "../../src/configparser.y"
{ array_free((yypminor->yy40)); }
#line 543 "configparser.c"
break;
case 40:
-#line 139 "./configparser.y"
+#line 139 "../../src/configparser.y"
{ array_free((yypminor->yy40)); }
#line 548 "configparser.c"
break;
case 41:
-#line 140 "./configparser.y"
+#line 140 "../../src/configparser.y"
{ buffer_free((yypminor->yy43)); }
#line 553 "configparser.c"
break;
case 42:
-#line 141 "./configparser.y"
+#line 141 "../../src/configparser.y"
{ buffer_free((yypminor->yy43)); }
#line 558 "configparser.c"
break;
@@ -604,7 +604,7 @@ void configparserFree(
void (*freeProc)(void*) /* Function used to reclaim memory */
){
yyParser *pParser = (yyParser*)p;
- if( pParser==0 ) return;
+ if( pParser==NULL ) return;
while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
@@ -823,7 +823,7 @@ static void yy_reduce(
/* No destructor defined for global */
break;
case 5:
-#line 117 "./configparser.y"
+#line 117 "../../src/configparser.y"
{ yymsp[-1].minor.yy78 = NULL; }
#line 828 "configparser.c"
yy_destructor(1,&yymsp[0].minor);
@@ -838,7 +838,7 @@ static void yy_reduce(
yy_destructor(1,&yymsp[0].minor);
break;
case 9:
-#line 146 "./configparser.y"
+#line 146 "../../src/configparser.y"
{
if (ctx->ok) {
buffer_copy_string_buffer(yymsp[0].minor.yy41->key, yymsp[-2].minor.yy43);
@@ -866,7 +866,7 @@ static void yy_reduce(
yy_destructor(2,&yymsp[-1].minor);
break;
case 10:
-#line 170 "./configparser.y"
+#line 170 "../../src/configparser.y"
{
array *vars = ctx->current->value;
data_unset *du;
@@ -909,7 +909,7 @@ static void yy_reduce(
yy_destructor(3,&yymsp[-1].minor);
break;
case 11:
-#line 209 "./configparser.y"
+#line 209 "../../src/configparser.y"
{
if (strchr(yymsp[0].minor.yy0->ptr, '.') == NULL) {
yygotominor.yy43 = buffer_init_string("var.");
@@ -924,7 +924,7 @@ static void yy_reduce(
#line 924 "configparser.c"
break;
case 12:
-#line 221 "./configparser.y"
+#line 221 "../../src/configparser.y"
{
yygotominor.yy41 = configparser_merge_data(yymsp[-2].minor.yy41, yymsp[0].minor.yy41);
if (NULL == yygotominor.yy41) {
@@ -938,7 +938,7 @@ static void yy_reduce(
yy_destructor(5,&yymsp[-1].minor);
break;
case 13:
-#line 231 "./configparser.y"
+#line 231 "../../src/configparser.y"
{
yygotominor.yy41 = yymsp[0].minor.yy41;
yymsp[0].minor.yy41 = NULL;
@@ -946,7 +946,7 @@ static void yy_reduce(
#line 946 "configparser.c"
break;
case 14:
-#line 236 "./configparser.y"
+#line 236 "../../src/configparser.y"
{
yygotominor.yy41 = NULL;
if (strncmp(yymsp[0].minor.yy43->ptr, "env.", sizeof("env.") - 1) == 0) {
@@ -976,7 +976,7 @@ static void yy_reduce(
#line 976 "configparser.c"
break;
case 15:
-#line 263 "./configparser.y"
+#line 263 "../../src/configparser.y"
{
yygotominor.yy41 = (data_unset *)data_string_init();
buffer_copy_string_buffer(((data_string *)(yygotominor.yy41))->value, yymsp[0].minor.yy0);
@@ -986,7 +986,7 @@ static void yy_reduce(
#line 986 "configparser.c"
break;
case 16:
-#line 270 "./configparser.y"
+#line 270 "../../src/configparser.y"
{
yygotominor.yy41 = (data_unset *)data_integer_init();
((data_integer *)(yygotominor.yy41))->value = strtol(yymsp[0].minor.yy0->ptr, NULL, 10);
@@ -996,7 +996,7 @@ static void yy_reduce(
#line 996 "configparser.c"
break;
case 17:
-#line 276 "./configparser.y"
+#line 276 "../../src/configparser.y"
{
yygotominor.yy41 = (data_unset *)data_array_init();
array_free(((data_array *)(yygotominor.yy41))->value);
@@ -1006,7 +1006,7 @@ static void yy_reduce(
#line 1006 "configparser.c"
break;
case 18:
-#line 282 "./configparser.y"
+#line 282 "../../src/configparser.y"
{
yygotominor.yy40 = array_init();
}
@@ -1015,7 +1015,7 @@ static void yy_reduce(
yy_destructor(9,&yymsp[0].minor);
break;
case 19:
-#line 285 "./configparser.y"
+#line 285 "../../src/configparser.y"
{
yygotominor.yy40 = yymsp[-1].minor.yy40;
yymsp[-1].minor.yy40 = NULL;
@@ -1025,7 +1025,7 @@ static void yy_reduce(
yy_destructor(9,&yymsp[0].minor);
break;
case 20:
-#line 290 "./configparser.y"
+#line 290 "../../src/configparser.y"
{
if (buffer_is_empty(yymsp[0].minor.yy41->key) ||
NULL == array_get_element(yymsp[-2].minor.yy40, yymsp[0].minor.yy41->key->ptr)) {
@@ -1046,7 +1046,7 @@ static void yy_reduce(
yy_destructor(10,&yymsp[-1].minor);
break;
case 21:
-#line 307 "./configparser.y"
+#line 307 "../../src/configparser.y"
{
yygotominor.yy40 = yymsp[-1].minor.yy40;
yymsp[-1].minor.yy40 = NULL;
@@ -1055,7 +1055,7 @@ static void yy_reduce(
yy_destructor(10,&yymsp[0].minor);
break;
case 22:
-#line 312 "./configparser.y"
+#line 312 "../../src/configparser.y"
{
yygotominor.yy40 = array_init();
array_insert_unique(yygotominor.yy40, yymsp[0].minor.yy41);
@@ -1064,7 +1064,7 @@ static void yy_reduce(
#line 1064 "configparser.c"
break;
case 23:
-#line 318 "./configparser.y"
+#line 318 "../../src/configparser.y"
{
yygotominor.yy41 = yymsp[0].minor.yy41;
yymsp[0].minor.yy41 = NULL;
@@ -1072,7 +1072,7 @@ static void yy_reduce(
#line 1072 "configparser.c"
break;
case 24:
-#line 322 "./configparser.y"
+#line 322 "../../src/configparser.y"
{
buffer_copy_string_buffer(yymsp[0].minor.yy41->key, yymsp[-2].minor.yy43);
buffer_free(yymsp[-2].minor.yy43);
@@ -1090,7 +1090,7 @@ static void yy_reduce(
case 26:
break;
case 27:
-#line 334 "./configparser.y"
+#line 334 "../../src/configparser.y"
{
data_config *dc;
dc = (data_config *)array_get_element(ctx->srv->config_context, "global");
@@ -1101,7 +1101,7 @@ static void yy_reduce(
yy_destructor(12,&yymsp[0].minor);
break;
case 28:
-#line 341 "./configparser.y"
+#line 341 "../../src/configparser.y"
{
data_config *cur;
@@ -1119,7 +1119,7 @@ static void yy_reduce(
yy_destructor(14,&yymsp[0].minor);
break;
case 29:
-#line 352 "./configparser.y"
+#line 352 "../../src/configparser.y"
{
if (yymsp[-3].minor.yy78->context_ndx >= yymsp[0].minor.yy78->context_ndx) {
fprintf(stderr, "unreachable else condition\n");
@@ -1136,7 +1136,7 @@ static void yy_reduce(
yy_destructor(15,&yymsp[-1].minor);
break;
case 30:
-#line 364 "./configparser.y"
+#line 364 "../../src/configparser.y"
{
yygotominor.yy78 = yymsp[0].minor.yy78;
yymsp[0].minor.yy78 = NULL;
@@ -1144,7 +1144,7 @@ static void yy_reduce(
#line 1144 "configparser.c"
break;
case 31:
-#line 369 "./configparser.y"
+#line 369 "../../src/configparser.y"
{
data_config *cur;
@@ -1162,7 +1162,7 @@ static void yy_reduce(
yy_destructor(14,&yymsp[0].minor);
break;
case 32:
-#line 380 "./configparser.y"
+#line 380 "../../src/configparser.y"
{
data_config *dc;
buffer *b, *rvalue, *op;
@@ -1318,7 +1318,7 @@ static void yy_reduce(
yy_destructor(19,&yymsp[-2].minor);
break;
case 33:
-#line 529 "./configparser.y"
+#line 529 "../../src/configparser.y"
{
yygotominor.yy27 = CONFIG_COND_EQ;
}
@@ -1326,7 +1326,7 @@ static void yy_reduce(
yy_destructor(20,&yymsp[0].minor);
break;
case 34:
-#line 532 "./configparser.y"
+#line 532 "../../src/configparser.y"
{
yygotominor.yy27 = CONFIG_COND_MATCH;
}
@@ -1334,7 +1334,7 @@ static void yy_reduce(
yy_destructor(21,&yymsp[0].minor);
break;
case 35:
-#line 535 "./configparser.y"
+#line 535 "../../src/configparser.y"
{
yygotominor.yy27 = CONFIG_COND_NE;
}
@@ -1342,7 +1342,7 @@ static void yy_reduce(
yy_destructor(22,&yymsp[0].minor);
break;
case 36:
-#line 538 "./configparser.y"
+#line 538 "../../src/configparser.y"
{
yygotominor.yy27 = CONFIG_COND_NOMATCH;
}
@@ -1350,7 +1350,7 @@ static void yy_reduce(
yy_destructor(23,&yymsp[0].minor);
break;
case 37:
-#line 542 "./configparser.y"
+#line 542 "../../src/configparser.y"
{
yygotominor.yy43 = NULL;
if (ctx->ok) {
@@ -1370,7 +1370,7 @@ static void yy_reduce(
#line 1370 "configparser.c"
break;
case 38:
-#line 559 "./configparser.y"
+#line 559 "../../src/configparser.y"
{
if (ctx->ok) {
if (0 != config_parse_file(ctx->srv, ctx, yymsp[0].minor.yy43->ptr)) {
@@ -1384,7 +1384,7 @@ static void yy_reduce(
yy_destructor(24,&yymsp[-1].minor);
break;
case 39:
-#line 569 "./configparser.y"
+#line 569 "../../src/configparser.y"
{
if (ctx->ok) {
if (0 != config_parse_cmd(ctx->srv, ctx, yymsp[0].minor.yy43->ptr)) {
@@ -1424,7 +1424,7 @@ static void yy_parse_failed(
while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
-#line 108 "./configparser.y"
+#line 108 "../../src/configparser.y"
ctx->ok = 0;
diff --git a/src/connections.c b/src/connections.c
index faec09f..48ca60f 100644
--- a/src/connections.c
+++ b/src/connections.c
@@ -420,6 +420,7 @@ static int connection_handle_write_prepare(server *srv, connection *con) {
case HTTP_METHOD_POST:
case HTTP_METHOD_HEAD:
case HTTP_METHOD_PUT:
+ case HTTP_METHOD_PATCH:
case HTTP_METHOD_MKCOL:
case HTTP_METHOD_DELETE:
case HTTP_METHOD_COPY:
@@ -1712,11 +1713,18 @@ int connection_state_machine(server *srv, connection *con) {
ERR_error_string(err, NULL));
} while((err = ERR_get_error()));
} else if (errno != 0) { /* ssl bug (see lighttpd ticket #2213): sometimes errno == 0 */
- log_error_write(srv, __FILE__, __LINE__, "sddds", "SSL (error):",
+ switch(errno) {
+ case EPIPE:
+ case ECONNRESET:
+ break;
+ default:
+ log_error_write(srv, __FILE__, __LINE__, "sddds", "SSL (error):",
ssl_r, ret, errno,
strerror(errno));
+ break;
+ }
}
-
+
break;
default:
while((err = ERR_get_error())) {
@@ -1724,7 +1732,7 @@ int connection_state_machine(server *srv, connection *con) {
ssl_r, ret,
ERR_error_string(err, NULL));
}
-
+
break;
}
}
diff --git a/src/fdevent.c b/src/fdevent.c
index 0ba73b9..fdd178d 100644
--- a/src/fdevent.c
+++ b/src/fdevent.c
@@ -100,7 +100,7 @@ int fdevent_reset(fdevents *ev) {
return 0;
}
-static fdnode *fdnode_init() {
+static fdnode *fdnode_init(void) {
fdnode *fdn;
fdn = calloc(1, sizeof(*fdn));
diff --git a/src/keyvalue.c b/src/keyvalue.c
index 8ca739b..ba37611 100644
--- a/src/keyvalue.c
+++ b/src/keyvalue.c
@@ -22,6 +22,7 @@ static keyvalue http_methods[] = {
{ HTTP_METHOD_OPTIONS, "OPTIONS" },
{ HTTP_METHOD_MKCOL, "MKCOL" },
{ HTTP_METHOD_PUT, "PUT" },
+ { HTTP_METHOD_PATCH, "PATCH" },
{ HTTP_METHOD_DELETE, "DELETE" },
{ HTTP_METHOD_COPY, "COPY" },
{ HTTP_METHOD_MOVE, "MOVE" },
diff --git a/src/keyvalue.h b/src/keyvalue.h
index 209b2cf..43ef99b 100644
--- a/src/keyvalue.h
+++ b/src/keyvalue.h
@@ -20,6 +20,7 @@ typedef enum {
HTTP_METHOD_PROPFIND, /* WebDAV */
HTTP_METHOD_MKCOL,
HTTP_METHOD_PUT,
+ HTTP_METHOD_PATCH,
HTTP_METHOD_DELETE,
HTTP_METHOD_COPY,
HTTP_METHOD_MOVE,
diff --git a/src/lemon.c b/src/lemon.c
index 48df45f..c3d72eb 100644
--- a/src/lemon.c
+++ b/src/lemon.c
@@ -357,10 +357,10 @@ void Configtable_clear(/* int(*)(struct config *) */);
/* Allocate a new parser action */
struct action *Action_new(){
- static struct action *freelist = 0;
+ static struct action *freelist = NULL;
struct action *new;
- if( freelist==0 ){
+ if( freelist==NULL ){
int i;
int amt = 100;
freelist = (struct action *)malloc( sizeof(struct action)*amt );
@@ -404,7 +404,7 @@ void Action_add(app,type,sp,arg)
struct action **app;
enum e_action type;
struct symbol *sp;
-char *arg;
+void *arg;
{
struct action *new;
new = Action_new();
diff --git a/src/lempar.c b/src/lempar.c
index 26708ea..ef9bd94 100644
--- a/src/lempar.c
+++ b/src/lempar.c
@@ -158,8 +158,8 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
+static FILE *yyTraceFILE = NULL;
+static char *yyTracePrompt = NULL;
#endif /* NDEBUG */
#ifndef NDEBUG
@@ -310,7 +310,7 @@ void ParseFree(
void (*freeProc)(void*) /* Function used to reclaim memory */
){
yyParser *pParser = (yyParser*)p;
- if( pParser==0 ) return;
+ if( pParser==NULL ) return;
while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
diff --git a/src/lighttpd-angel.c b/src/lighttpd-angel.c
index d7dd1f4..948ca01 100644
--- a/src/lighttpd-angel.c
+++ b/src/lighttpd-angel.c
@@ -25,7 +25,6 @@ static siginfo_t last_sigterm_info;
static siginfo_t last_sighup_info;
static volatile sig_atomic_t start_process = 1;
-static volatile sig_atomic_t graceful_restart = 0;
static volatile pid_t pid = -1;
#define UNUSED(x) ( (void)(x) )
diff --git a/src/md5.c b/src/md5.c
index f13d866..16a8c27 100644
--- a/src/md5.c
+++ b/src/md5.c
@@ -110,8 +110,7 @@ Rotation is separate from addition to prevent recomputation.
/* MD5 initialization. Begins an MD5 operation, writing a new context.
*/
-void li_MD5_Init (context)
-li_MD5_CTX *context; /* context */
+void li_MD5_Init (li_MD5_CTX *context)
{
context->count[0] = context->count[1] = 0;
/* Load magic initialization constants.
@@ -126,10 +125,7 @@ li_MD5_CTX *context; /* context */
operation, processing another message block, and updating the
context.
*/
-void li_MD5_Update (context, _input, inputLen)
-li_MD5_CTX *context; /* context */
-const void *_input; /* input block */
-unsigned int inputLen; /* length of input block */
+void li_MD5_Update (li_MD5_CTX *context, const void *_input, unsigned int inputLen)
{
unsigned int i, ndx, partLen;
const unsigned char *input = (const unsigned char*) _input;
@@ -170,9 +166,7 @@ unsigned int inputLen; /* length of input block */
/* MD5 finalization. Ends an MD5 message-digest operation, writing the
the message digest and zeroizing the context.
*/
-void li_MD5_Final (digest, context)
-unsigned char digest[16]; /* message digest */
-li_MD5_CTX *context; /* context */
+void li_MD5_Final (unsigned char digest[16], li_MD5_CTX *context)
{
unsigned char bits[8];
unsigned int ndx, padLen;
@@ -199,9 +193,7 @@ li_MD5_CTX *context; /* context */
/* MD5 basic transformation. Transforms state based on block.
*/
-static void li_MD5Transform (state, block)
-UINT4 state[4];
-const unsigned char block[64];
+static void li_MD5Transform (UINT4 state[4], const unsigned char block[64])
{
UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
@@ -294,10 +286,7 @@ const unsigned char block[64];
/* Encodes input (UINT4) into output (unsigned char). Assumes len is
a multiple of 4.
*/
-static void Encode (output, input, len)
-unsigned char *output;
-UINT4 *input;
-unsigned int len;
+static void Encode (unsigned char *output, UINT4 *input, unsigned int len)
{
unsigned int i, j;
@@ -312,10 +301,7 @@ unsigned int len;
/* Decodes input (unsigned char) into output (UINT4). Assumes len is
a multiple of 4.
*/
-static void Decode (output, input, len)
-UINT4 *output;
-const unsigned char *input;
-unsigned int len;
+static void Decode (UINT4 *output, const unsigned char *input, unsigned int len)
{
unsigned int i, j;
@@ -327,10 +313,7 @@ unsigned int len;
/* Note: Replace "for loop" with standard memcpy if possible.
*/
#ifndef HAVE_MEMCPY
-static void MD5_memcpy (output, input, len)
-POINTER output;
-POINTER input;
-unsigned int len;
+static void MD5_memcpy (POINTER output, POINTER input, unsigned int len)
{
unsigned int i;
@@ -342,10 +325,7 @@ unsigned int len;
/* Note: Replace "for loop" with standard memset if possible.
*/
#ifndef HAVE_MEMSET
-static void MD5_memset (output, value, len)
-POINTER output;
-int value;
-unsigned int len;
+static void MD5_memset (POINTER output, int value, unsigned int len)
{
unsigned int i;
diff --git a/src/mod_accesslog.c b/src/mod_accesslog.c
index 8fa92ca..6d6c173 100644
--- a/src/mod_accesslog.c
+++ b/src/mod_accesslog.c
@@ -69,7 +69,7 @@ typedef struct {
*
*/
-const format_mapping fmap[] =
+static const format_mapping fmap[] =
{
{ '%', FORMAT_PERCENT },
{ 'h', FORMAT_REMOTE_HOST },
diff --git a/src/mod_cgi.c b/src/mod_cgi.c
index c50bfd1..5e65f4b 100644
--- a/src/mod_cgi.c
+++ b/src/mod_cgi.c
@@ -82,7 +82,7 @@ typedef struct {
buffer *response_header;
} handler_ctx;
-static handler_ctx * cgi_handler_ctx_init() {
+static handler_ctx * cgi_handler_ctx_init(void) {
handler_ctx *hctx = calloc(1, sizeof(*hctx));
assert(hctx);
@@ -1099,7 +1099,7 @@ static int cgi_create_env(server *srv, connection *con, plugin_data *p, buffer *
c->file.mmap.length = c->file.length;
- if (MAP_FAILED == (c->file.mmap.start = mmap(0, c->file.mmap.length, PROT_READ, MAP_SHARED, c->file.fd, 0))) {
+ if (MAP_FAILED == (c->file.mmap.start = mmap(NULL, c->file.mmap.length, PROT_READ, MAP_SHARED, c->file.fd, 0))) {
log_error_write(srv, __FILE__, __LINE__, "ssbd", "mmap failed: ",
strerror(errno), c->file.name, c->file.fd);
diff --git a/src/mod_compress.c b/src/mod_compress.c
index 455e97e..e4f53da 100644
--- a/src/mod_compress.c
+++ b/src/mod_compress.c
@@ -40,6 +40,8 @@
#define HTTP_ACCEPT_ENCODING_DEFLATE BV(2)
#define HTTP_ACCEPT_ENCODING_COMPRESS BV(3)
#define HTTP_ACCEPT_ENCODING_BZIP2 BV(4)
+#define HTTP_ACCEPT_ENCODING_X_GZIP BV(5)
+#define HTTP_ACCEPT_ENCODING_X_BZIP2 BV(6)
#ifdef __WIN32
# define mkdir(x,y) mkdir(x)
@@ -188,7 +190,9 @@ SETDEFAULTS_FUNC(mod_compress_setdefaults) {
data_string *ds = (data_string *)encodings_arr->data[j];
#ifdef USE_ZLIB
if (NULL != strstr(ds->value->ptr, "gzip"))
- s->allowed_encodings |= HTTP_ACCEPT_ENCODING_GZIP;
+ s->allowed_encodings |= HTTP_ACCEPT_ENCODING_GZIP | HTTP_ACCEPT_ENCODING_X_GZIP;
+ if (NULL != strstr(ds->value->ptr, "x-gzip"))
+ s->allowed_encodings |= HTTP_ACCEPT_ENCODING_X_GZIP;
if (NULL != strstr(ds->value->ptr, "deflate"))
s->allowed_encodings |= HTTP_ACCEPT_ENCODING_DEFLATE;
/*
@@ -198,17 +202,19 @@ SETDEFAULTS_FUNC(mod_compress_setdefaults) {
#endif
#ifdef USE_BZ2LIB
if (NULL != strstr(ds->value->ptr, "bzip2"))
- s->allowed_encodings |= HTTP_ACCEPT_ENCODING_BZIP2;
+ s->allowed_encodings |= HTTP_ACCEPT_ENCODING_BZIP2 | HTTP_ACCEPT_ENCODING_X_BZIP2;
+ if (NULL != strstr(ds->value->ptr, "x-bzip2"))
+ s->allowed_encodings |= HTTP_ACCEPT_ENCODING_X_BZIP2;
#endif
}
} else {
/* default encodings */
s->allowed_encodings = 0
#ifdef USE_ZLIB
- | HTTP_ACCEPT_ENCODING_GZIP | HTTP_ACCEPT_ENCODING_DEFLATE
+ | HTTP_ACCEPT_ENCODING_GZIP | HTTP_ACCEPT_ENCODING_X_GZIP | HTTP_ACCEPT_ENCODING_DEFLATE
#endif
#ifdef USE_BZ2LIB
- | HTTP_ACCEPT_ENCODING_BZIP2
+ | HTTP_ACCEPT_ENCODING_BZIP2 | HTTP_ACCEPT_ENCODING_X_BZIP2
#endif
;
}
@@ -434,12 +440,14 @@ static int deflate_file_to_file(server *srv, connection *con, plugin_data *p, bu
switch(type) {
case HTTP_ACCEPT_ENCODING_GZIP:
+ case HTTP_ACCEPT_ENCODING_X_GZIP:
buffer_append_string_len(p->ofn, CONST_STR_LEN("-gzip-"));
break;
case HTTP_ACCEPT_ENCODING_DEFLATE:
buffer_append_string_len(p->ofn, CONST_STR_LEN("-deflate-"));
break;
case HTTP_ACCEPT_ENCODING_BZIP2:
+ case HTTP_ACCEPT_ENCODING_X_BZIP2:
buffer_append_string_len(p->ofn, CONST_STR_LEN("-bzip2-"));
break;
default:
@@ -520,6 +528,7 @@ static int deflate_file_to_file(server *srv, connection *con, plugin_data *p, bu
switch(type) {
#ifdef USE_ZLIB
case HTTP_ACCEPT_ENCODING_GZIP:
+ case HTTP_ACCEPT_ENCODING_X_GZIP:
ret = deflate_file_to_buffer_gzip(srv, con, p, start, sce->st.st_size, sce->st.st_mtime);
break;
case HTTP_ACCEPT_ENCODING_DEFLATE:
@@ -528,6 +537,7 @@ static int deflate_file_to_file(server *srv, connection *con, plugin_data *p, bu
#endif
#ifdef USE_BZ2LIB
case HTTP_ACCEPT_ENCODING_BZIP2:
+ case HTTP_ACCEPT_ENCODING_X_BZIP2:
ret = deflate_file_to_buffer_bzip2(srv, con, p, start, sce->st.st_size);
break;
#endif
@@ -614,6 +624,7 @@ static int deflate_file_to_buffer(server *srv, connection *con, plugin_data *p,
switch(type) {
#ifdef USE_ZLIB
case HTTP_ACCEPT_ENCODING_GZIP:
+ case HTTP_ACCEPT_ENCODING_X_GZIP:
ret = deflate_file_to_buffer_gzip(srv, con, p, start, sce->st.st_size, sce->st.st_mtime);
break;
case HTTP_ACCEPT_ENCODING_DEFLATE:
@@ -622,6 +633,7 @@ static int deflate_file_to_buffer(server *srv, connection *con, plugin_data *p,
#endif
#ifdef USE_BZ2LIB
case HTTP_ACCEPT_ENCODING_BZIP2:
+ case HTTP_ACCEPT_ENCODING_X_BZIP2:
ret = deflate_file_to_buffer_bzip2(srv, con, p, start, sce->st.st_size);
break;
#endif
@@ -691,6 +703,20 @@ static int mod_compress_patch_connection(server *srv, connection *con, plugin_da
}
#undef PATCH
+static int mod_compress_contains_encoding(const char *headervalue, const char *encoding) {
+ const char *m;
+ for ( ;; ) {
+ m = strstr(headervalue, encoding);
+ if (NULL == m) return 0;
+ if (m == headervalue || m[-1] == ' ' || m[-1] == ',') return 1;
+
+ /* only partial match, search for next value */
+ m = strchr(m, ',');
+ if (NULL == m) return 0;
+ headervalue = m + 1;
+ }
+}
+
PHYSICALPATH_FUNC(mod_compress_physical) {
plugin_data *p = p_d;
size_t m;
@@ -750,10 +776,10 @@ PHYSICALPATH_FUNC(mod_compress_physical) {
if (sce->st.st_size < 128) return HANDLER_GO_ON;
/* check if mimetype is in compress-config */
- content_type = 0;
+ content_type = NULL;
if (sce->content_type->ptr) {
char *c;
- if ( (c = strchr(sce->content_type->ptr, ';')) != 0) {
+ if ( (c = strchr(sce->content_type->ptr, ';')) != NULL) {
content_type = srv->tmp_buf;
buffer_copy_string_len(content_type, sce->content_type->ptr, c - sce->content_type->ptr);
}
@@ -784,22 +810,26 @@ PHYSICALPATH_FUNC(mod_compress_physical) {
/* get client side support encodings */
#ifdef USE_ZLIB
- if (NULL != strstr(value, "gzip")) accept_encoding |= HTTP_ACCEPT_ENCODING_GZIP;
- if (NULL != strstr(value, "deflate")) accept_encoding |= HTTP_ACCEPT_ENCODING_DEFLATE;
- if (NULL != strstr(value, "compress")) accept_encoding |= HTTP_ACCEPT_ENCODING_COMPRESS;
+ if (mod_compress_contains_encoding(value, "gzip")) accept_encoding |= HTTP_ACCEPT_ENCODING_GZIP;
+ if (mod_compress_contains_encoding(value, "x-gzip")) accept_encoding |= HTTP_ACCEPT_ENCODING_X_GZIP;
+ if (mod_compress_contains_encoding(value, "deflate")) accept_encoding |= HTTP_ACCEPT_ENCODING_DEFLATE;
+ if (mod_compress_contains_encoding(value, "compress")) accept_encoding |= HTTP_ACCEPT_ENCODING_COMPRESS;
#endif
#ifdef USE_BZ2LIB
- if (NULL != strstr(value, "bzip2")) accept_encoding |= HTTP_ACCEPT_ENCODING_BZIP2;
+ if (mod_compress_contains_encoding(value, "bzip2")) accept_encoding |= HTTP_ACCEPT_ENCODING_BZIP2;
+ if (mod_compress_contains_encoding(value, "x-bzip2")) accept_encoding |= HTTP_ACCEPT_ENCODING_X_BZIP2;
#endif
- if (NULL != strstr(value, "identity")) accept_encoding |= HTTP_ACCEPT_ENCODING_IDENTITY;
+ if (mod_compress_contains_encoding(value, "identity")) accept_encoding |= HTTP_ACCEPT_ENCODING_IDENTITY;
/* find matching entries */
matched_encodings = accept_encoding & p->conf.allowed_encodings;
if (matched_encodings) {
- const char *dflt_gzip = "gzip";
- const char *dflt_deflate = "deflate";
- const char *dflt_bzip2 = "bzip2";
+ static const char dflt_gzip[] = "gzip";
+ static const char dflt_x_gzip[] = "x-gzip";
+ static const char dflt_deflate[] = "deflate";
+ static const char dflt_bzip2[] = "bzip2";
+ static const char dflt_x_bzip2[] = "x-bzip2";
const char *compression_name = NULL;
int compression_type = 0;
@@ -821,9 +851,15 @@ PHYSICALPATH_FUNC(mod_compress_physical) {
if (matched_encodings & HTTP_ACCEPT_ENCODING_BZIP2) {
compression_type = HTTP_ACCEPT_ENCODING_BZIP2;
compression_name = dflt_bzip2;
+ } else if (matched_encodings & HTTP_ACCEPT_ENCODING_X_BZIP2) {
+ compression_type = HTTP_ACCEPT_ENCODING_X_BZIP2;
+ compression_name = dflt_x_bzip2;
} else if (matched_encodings & HTTP_ACCEPT_ENCODING_GZIP) {
compression_type = HTTP_ACCEPT_ENCODING_GZIP;
compression_name = dflt_gzip;
+ } else if (matched_encodings & HTTP_ACCEPT_ENCODING_X_GZIP) {
+ compression_type = HTTP_ACCEPT_ENCODING_X_GZIP;
+ compression_name = dflt_x_gzip;
} else if (matched_encodings & HTTP_ACCEPT_ENCODING_DEFLATE) {
compression_type = HTTP_ACCEPT_ENCODING_DEFLATE;
compression_name = dflt_deflate;
diff --git a/src/mod_extforward.c b/src/mod_extforward.c
index d63bbb4..828bbfe 100644
--- a/src/mod_extforward.c
+++ b/src/mod_extforward.c
@@ -328,7 +328,7 @@ static struct addrinfo *ipstr_to_sockaddr(server *srv, const char *host) {
"could not resolve hostname ", host, " because ", gai_strerror(result), strerror(errno));
return NULL;
- } else if (res0 == 0) {
+ } else if (res0 == NULL) {
log_error_write(srv, __FILE__, __LINE__, "SSS",
"Problem in resolving hostname ", host, ": succeeded, but no information returned");
}
@@ -398,8 +398,8 @@ URIHANDLER_FUNC(mod_extforward_uri_handler) {
/* if the remote ip itself is not trusted, then do nothing */
if (IP_UNTRUSTED == is_proxy_trusted(dst_addr_str, p)) {
if (con->conf.log_request_handling) {
- log_error_write(srv, __FILE__, __LINE__, "s",
- "remote address is NOT a trusted proxy, skipping");
+ log_error_write(srv, __FILE__, __LINE__, "sss",
+ "remote address", dst_addr_str, "is NOT a trusted proxy, skipping");
}
return HANDLER_GO_ON;
diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c
index 4c11e36..de6bfd1 100644
--- a/src/mod_fastcgi.c
+++ b/src/mod_fastcgi.c
@@ -483,7 +483,7 @@ static int fastcgi_status_init(server *srv, buffer *b, fcgi_extension_host *host
return 0;
}
-static handler_ctx * handler_ctx_init() {
+static handler_ctx * handler_ctx_init(void) {
handler_ctx * hctx;
hctx = calloc(1, sizeof(*hctx));
@@ -521,7 +521,7 @@ static void handler_ctx_free(server *srv, handler_ctx *hctx) {
free(hctx);
}
-static fcgi_proc *fastcgi_process_init() {
+static fcgi_proc *fastcgi_process_init(void) {
fcgi_proc *f;
f = calloc(1, sizeof(*f));
@@ -545,7 +545,7 @@ static void fastcgi_process_free(fcgi_proc *f) {
free(f);
}
-static fcgi_extension_host *fastcgi_host_init() {
+static fcgi_extension_host *fastcgi_host_init(void) {
fcgi_extension_host *f;
f = calloc(1, sizeof(*f));
@@ -581,7 +581,7 @@ static void fastcgi_host_free(fcgi_extension_host *h) {
}
-static fcgi_exts *fastcgi_extensions_init() {
+static fcgi_exts *fastcgi_extensions_init(void) {
fcgi_exts *f;
f = calloc(1, sizeof(*f));
diff --git a/src/mod_proxy.c b/src/mod_proxy.c
index 06fe3db..09d4fc1 100644
--- a/src/mod_proxy.c
+++ b/src/mod_proxy.c
@@ -114,7 +114,7 @@ typedef struct {
/* ok, we need a prototype */
static handler_t proxy_handle_fdevent(server *srv, void *ctx, int revents);
-static handler_ctx * handler_ctx_init() {
+static handler_ctx * handler_ctx_init(void) {
handler_ctx * hctx;
@@ -1161,7 +1161,7 @@ static handler_t mod_proxy_check_extension(server *srv, connection *con, void *p
if (s_len > ct_len + 1) {
char *pi_offset;
- if (0 != (pi_offset = strchr(fn->ptr + ct_len + 1, '/'))) {
+ if (NULL != (pi_offset = strchr(fn->ptr + ct_len + 1, '/'))) {
path_info_offset = pi_offset - fn->ptr;
}
}
diff --git a/src/mod_rewrite.c b/src/mod_rewrite.c
index 058e756..9672c4e 100644
--- a/src/mod_rewrite.c
+++ b/src/mod_rewrite.c
@@ -45,7 +45,7 @@ typedef struct {
plugin_config conf;
} plugin_data;
-static handler_ctx * handler_ctx_init() {
+static handler_ctx * handler_ctx_init(void) {
handler_ctx * hctx;
hctx = calloc(1, sizeof(*hctx));
diff --git a/src/mod_scgi.c b/src/mod_scgi.c
index b13dbf4..6ae0782 100644
--- a/src/mod_scgi.c
+++ b/src/mod_scgi.c
@@ -347,7 +347,7 @@ static void reset_signals(void) {
signal(SIGUSR1, SIG_DFL);
}
-static handler_ctx * handler_ctx_init() {
+static handler_ctx * handler_ctx_init(void) {
handler_ctx * hctx;
hctx = calloc(1, sizeof(*hctx));
@@ -388,7 +388,7 @@ static void handler_ctx_free(handler_ctx *hctx) {
free(hctx);
}
-static scgi_proc *scgi_process_init() {
+static scgi_proc *scgi_process_init(void) {
scgi_proc *f;
f = calloc(1, sizeof(*f));
@@ -410,7 +410,7 @@ static void scgi_process_free(scgi_proc *f) {
free(f);
}
-static scgi_extension_host *scgi_host_init() {
+static scgi_extension_host *scgi_host_init(void) {
scgi_extension_host *f;
f = calloc(1, sizeof(*f));
@@ -442,7 +442,7 @@ static void scgi_host_free(scgi_extension_host *h) {
}
-static scgi_exts *scgi_extensions_init() {
+static scgi_exts *scgi_extensions_init(void) {
scgi_exts *f;
f = calloc(1, sizeof(*f));
diff --git a/src/mod_setenv.c b/src/mod_setenv.c
index 4419b61..d9cf94d 100644
--- a/src/mod_setenv.c
+++ b/src/mod_setenv.c
@@ -30,7 +30,7 @@ typedef struct {
plugin_config conf;
} plugin_data;
-static handler_ctx * handler_ctx_init() {
+static handler_ctx * handler_ctx_init(void) {
handler_ctx * hctx;
hctx = calloc(1, sizeof(*hctx));
diff --git a/src/mod_ssi_expr.c b/src/mod_ssi_expr.c
index c5d8581..f839987 100644
--- a/src/mod_ssi_expr.c
+++ b/src/mod_ssi_expr.c
@@ -19,7 +19,7 @@ typedef struct {
int in_cond;
} ssi_tokenizer_t;
-ssi_val_t *ssi_val_init() {
+ssi_val_t *ssi_val_init(void) {
ssi_val_t *s;
s = calloc(1, sizeof(*s));
diff --git a/src/mod_ssi_exprparser.c b/src/mod_ssi_exprparser.c
index 36b0c74..cd88eda 100644
--- a/src/mod_ssi_exprparser.c
+++ b/src/mod_ssi_exprparser.c
@@ -4,7 +4,7 @@
/* First off, code is include which follows the "include" declaration
** in the input file. */
#include <stdio.h>
-#line 6 "./mod_ssi_exprparser.y"
+#line 6 "../../src/mod_ssi_exprparser.y"
#include "mod_ssi_expr.h"
#include "buffer.h"
@@ -212,8 +212,8 @@ typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
+static FILE *yyTraceFILE = NULL;
+static char *yyTracePrompt = NULL;
#endif /* NDEBUG */
#ifndef NDEBUG
@@ -347,7 +347,7 @@ static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
case 10:
case 11:
case 12:
-#line 22 "./mod_ssi_exprparser.y"
+#line 22 "../../src/mod_ssi_exprparser.y"
{ buffer_free((yypminor->yy0)); }
#line 352 "mod_ssi_exprparser.c"
break;
@@ -398,7 +398,7 @@ void ssiexprparserFree(
void (*freeProc)(void*) /* Function used to reclaim memory */
){
yyParser *pParser = (yyParser*)p;
- if( pParser==0 ) return;
+ if( pParser==NULL ) return;
while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
(*freeProc)((void*)pParser);
}
@@ -578,7 +578,7 @@ static void yy_reduce(
** break;
*/
case 0:
-#line 29 "./mod_ssi_exprparser.y"
+#line 29 "../../src/mod_ssi_exprparser.y"
{
ctx->val.bo = ssi_val_tobool(yymsp[0].minor.yy29);
ctx->val.type = SSI_TYPE_BOOL;
@@ -588,7 +588,7 @@ static void yy_reduce(
#line 588 "mod_ssi_exprparser.c"
break;
case 1:
-#line 36 "./mod_ssi_exprparser.y"
+#line 36 "../../src/mod_ssi_exprparser.y"
{
int cmp;
@@ -617,14 +617,14 @@ static void yy_reduce(
#line 617 "mod_ssi_exprparser.c"
break;
case 2:
-#line 61 "./mod_ssi_exprparser.y"
+#line 61 "../../src/mod_ssi_exprparser.y"
{
yygotominor.yy29 = yymsp[0].minor.yy29;
}
#line 624 "mod_ssi_exprparser.c"
break;
case 3:
-#line 64 "./mod_ssi_exprparser.y"
+#line 64 "../../src/mod_ssi_exprparser.y"
{
int e;
@@ -639,7 +639,7 @@ static void yy_reduce(
yy_destructor(1,&yymsp[-1].minor);
break;
case 4:
-#line 75 "./mod_ssi_exprparser.y"
+#line 75 "../../src/mod_ssi_exprparser.y"
{
int e;
@@ -654,7 +654,7 @@ static void yy_reduce(
yy_destructor(2,&yymsp[-1].minor);
break;
case 5:
-#line 86 "./mod_ssi_exprparser.y"
+#line 86 "../../src/mod_ssi_exprparser.y"
{
int e;
@@ -668,7 +668,7 @@ static void yy_reduce(
yy_destructor(9,&yymsp[-1].minor);
break;
case 6:
-#line 95 "./mod_ssi_exprparser.y"
+#line 95 "../../src/mod_ssi_exprparser.y"
{
yygotominor.yy29 = yymsp[-1].minor.yy29;
}
@@ -677,7 +677,7 @@ static void yy_reduce(
yy_destructor(11,&yymsp[0].minor);
break;
case 7:
-#line 99 "./mod_ssi_exprparser.y"
+#line 99 "../../src/mod_ssi_exprparser.y"
{
yygotominor.yy29 = ssi_val_init();
yygotominor.yy29->str = yymsp[0].minor.yy19;
@@ -686,14 +686,14 @@ static void yy_reduce(
#line 686 "mod_ssi_exprparser.c"
break;
case 8:
-#line 105 "./mod_ssi_exprparser.y"
+#line 105 "../../src/mod_ssi_exprparser.y"
{
yygotominor.yy19 = yymsp[0].minor.yy0;
}
#line 693 "mod_ssi_exprparser.c"
break;
case 9:
-#line 109 "./mod_ssi_exprparser.y"
+#line 109 "../../src/mod_ssi_exprparser.y"
{
yygotominor.yy19 = yymsp[-1].minor.yy19;
buffer_append_string_buffer(yygotominor.yy19, yymsp[0].minor.yy0);
@@ -702,37 +702,37 @@ static void yy_reduce(
#line 702 "mod_ssi_exprparser.c"
break;
case 10:
-#line 115 "./mod_ssi_exprparser.y"
+#line 115 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_EQ; }
#line 707 "mod_ssi_exprparser.c"
yy_destructor(3,&yymsp[0].minor);
break;
case 11:
-#line 116 "./mod_ssi_exprparser.y"
+#line 116 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_NE; }
#line 713 "mod_ssi_exprparser.c"
yy_destructor(4,&yymsp[0].minor);
break;
case 12:
-#line 117 "./mod_ssi_exprparser.y"
+#line 117 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_LE; }
#line 719 "mod_ssi_exprparser.c"
yy_destructor(8,&yymsp[0].minor);
break;
case 13:
-#line 118 "./mod_ssi_exprparser.y"
+#line 118 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_GE; }
#line 725 "mod_ssi_exprparser.c"
yy_destructor(6,&yymsp[0].minor);
break;
case 14:
-#line 119 "./mod_ssi_exprparser.y"
+#line 119 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_LT; }
#line 731 "mod_ssi_exprparser.c"
yy_destructor(7,&yymsp[0].minor);
break;
case 15:
-#line 120 "./mod_ssi_exprparser.y"
+#line 120 "../../src/mod_ssi_exprparser.y"
{ yygotominor.yy8 = SSI_COND_GT; }
#line 737 "mod_ssi_exprparser.c"
yy_destructor(5,&yymsp[0].minor);
@@ -764,7 +764,7 @@ static void yy_parse_failed(
while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
/* Here code is inserted which will be executed whenever the
** parser fails */
-#line 14 "./mod_ssi_exprparser.y"
+#line 14 "../../src/mod_ssi_exprparser.y"
ctx->ok = 0;
diff --git a/src/mod_webdav.c b/src/mod_webdav.c
index 4b11996..2231ab8 100644
--- a/src/mod_webdav.c
+++ b/src/mod_webdav.c
@@ -939,7 +939,7 @@ typedef struct {
char *prop;
} webdav_property;
-webdav_property live_properties[] = {
+static webdav_property live_properties[] = {
{ "DAV:", "creationdate" },
{ "DAV:", "displayname" },
{ "DAV:", "getcontentlanguage" },
@@ -1721,7 +1721,7 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) {
return HANDLER_ERROR;
}
- if (MAP_FAILED == (c->file.mmap.start = mmap(0, c->file.length, PROT_READ, MAP_SHARED, c->file.fd, 0))) {
+ if (MAP_FAILED == (c->file.mmap.start = mmap(NULL, c->file.length, PROT_READ, MAP_SHARED, c->file.fd, 0))) {
log_error_write(srv, __FILE__, __LINE__, "ssbd", "mmap failed: ",
strerror(errno), c->file.name, c->file.fd);
close(c->file.fd);
diff --git a/src/network.c b/src/network.c
index bd30e2d..f59f60d 100644
--- a/src/network.c
+++ b/src/network.c
@@ -397,11 +397,6 @@ static int network_server_init(server *srv, buffer *host_token, specific_config
}
#else
- buffer_free(srv_socket->srv_token);
- free(srv_socket);
-
- buffer_free(b);
-
log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
"ssl requested but openssl support is not compiled in");
@@ -458,6 +453,8 @@ error_free_socket:
buffer_free(srv_socket->srv_token);
free(srv_socket);
+ buffer_free(b);
+
return -1;
}
diff --git a/src/network_writev.c b/src/network_writev.c
index 65bb19d..d21cc4f 100644
--- a/src/network_writev.c
+++ b/src/network_writev.c
@@ -240,7 +240,7 @@ int network_write_chunkqueue_writev(server *srv, connection *con, int fd, chunkq
#endif
}
- if (MAP_FAILED == (c->file.mmap.start = mmap(0, to_mmap, PROT_READ, MAP_SHARED, c->file.fd, c->file.mmap.offset))) {
+ if (MAP_FAILED == (c->file.mmap.start = mmap(NULL, to_mmap, PROT_READ, MAP_SHARED, c->file.fd, c->file.mmap.offset))) {
/* close it here, otherwise we'd have to set FD_CLOEXEC */
log_error_write(srv, __FILE__, __LINE__, "ssbd", "mmap failed:",
diff --git a/src/plugin.h b/src/plugin.h
index aa64bee..cadce54 100644
--- a/src/plugin.h
+++ b/src/plugin.h
@@ -11,7 +11,7 @@
static handler_t x(server *srv, connection *con, void *p_d)
#define INIT_FUNC(x) \
- static void *x()
+ static void *x(void)
#define FREE_FUNC SERVER_FUNC
#define TRIGGER_FUNC SERVER_FUNC
diff --git a/src/proc_open.c b/src/proc_open.c
index 3c065d0..e9393e0 100644
--- a/src/proc_open.c
+++ b/src/proc_open.c
@@ -331,7 +331,7 @@ int proc_open_buffer(const char *command, buffer *in, buffer *out, buffer *err)
/* {{{ test */
#ifdef DEBUG_PROC_OPEN
-int main() {
+int main(void) {
proc_handler_t proc;
buffer *in = buffer_init(), *out = buffer_init(), *err = buffer_init();
int wstatus;
diff --git a/src/request.c b/src/request.c
index e76a98f..8c6c170 100644
--- a/src/request.c
+++ b/src/request.c
@@ -209,9 +209,11 @@ static int request_check_hostname(server *srv, connection *con, buffer *host) {
#endif
static int http_request_split_value(array *vals, buffer *b) {
- char *s;
size_t i;
int state = 0;
+
+ const char *current;
+ const char *token_start = NULL, *token_end = NULL;
/*
* parse
*
@@ -222,53 +224,52 @@ static int http_request_split_value(array *vals, buffer *b) {
if (b->used == 0) return 0;
- s = b->ptr;
-
- for (i =0; i < b->used - 1; ) {
- char *start = NULL, *end = NULL;
+ current = b->ptr;
+ for (i = 0; i < b->used; ++i, ++current) {
data_string *ds;
switch (state) {
- case 0: /* ws */
-
- /* skip ws */
- for (; (*s == ' ' || *s == '\t') && i < b->used - 1; i++, s++);
-
-
- state = 1;
- break;
- case 1: /* value */
- start = s;
-
- for (; *s != ',' && i < b->used - 1; i++, s++);
- if (start == s) break; /* empty fields are skipped */
- end = s - 1;
-
- for (; end > start && (*end == ' ' || *end == '\t'); end--);
- if (start == end) break; /* empty fields are skipped */
-
- if (NULL == (ds = (data_string *)array_get_unused_element(vals, TYPE_STRING))) {
- ds = data_string_init();
+ case 0: /* find start of a token */
+ switch (*current) {
+ case ' ':
+ case '\t': /* skip white space */
+ case ',': /* skip empty token */
+ break;
+ case '\0': /* end of string */
+ return 0;
+ default:
+ /* found real data, switch to state 1 to find the end of the token */
+ token_start = token_end = current;
+ state = 1;
+ break;
}
+ break;
+ case 1: /* find end of token and last non white space character */
+ switch (*current) {
+ case ' ':
+ case '\t':
+ /* space - don't update token_end */
+ break;
+ case ',':
+ case '\0': /* end of string also marks the end of a token */
+ if (NULL == (ds = (data_string *)array_get_unused_element(vals, TYPE_STRING))) {
+ ds = data_string_init();
+ }
- buffer_copy_string_len(ds->value, start, end-start+1);
- array_insert_unique(vals, (data_unset *)ds);
+ buffer_copy_string_len(ds->value, token_start, token_end-token_start+1);
+ array_insert_unique(vals, (data_unset *)ds);
- if (*s == ',') {
state = 0;
- i++;
- s++;
- } else {
- /* end of string */
-
- state = 2;
+ break;
+ default:
+ /* no white space, update token_end to include current character */
+ token_end = current;
+ break;
}
break;
- default:
- i++;
- break;
}
}
+
return 0;
}
@@ -642,10 +643,11 @@ int http_request_parse(server *srv, connection *con) {
/* skip WS */
continue;
case ':':
- /* ok, done */
+ /* ok, done; handle the colon the usual way */
i += j - 1;
got_colon = 1;
+ is_ws_after_key = 1; /* we already know the key length */
break;
default:
@@ -1022,7 +1024,7 @@ int http_request_parse(server *srv, connection *con) {
i++;
first = i+1;
is_key = 1;
- value = 0;
+ value = NULL;
#if 0
/**
* for Bug 1230 keep the key_len a live
diff --git a/src/response.c b/src/response.c
index e829cfd..fd1ab19 100644
--- a/src/response.c
+++ b/src/response.c
@@ -611,6 +611,8 @@ handler_t http_response_prepare(server *srv, connection *con) {
buffer_reset(con->physical.path);
return HANDLER_FINISHED;
+ case ENAMETOOLONG:
+ /* file name to be read was too long. return 404 */
case ENOENT:
con->http_status = 404;
diff --git a/src/server.c b/src/server.c
index 2878d18..590a9d5 100644
--- a/src/server.c
+++ b/src/server.c
@@ -68,7 +68,7 @@
#ifdef HAVE_GETUID
# ifndef HAVE_ISSETUGID
-static int l_issetugid() {
+static int l_issetugid(void) {
return (geteuid() != getuid() || getegid() != getgid());
}
diff --git a/src/stream.c b/src/stream.c
index f91e73c..c29a5ca 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -34,7 +34,7 @@ int stream_open(stream *f, buffer *fn) {
return -1;
}
- f->start = mmap(0, f->size, PROT_READ, MAP_SHARED, fd, 0);
+ f->start = mmap(NULL, f->size, PROT_READ, MAP_SHARED, fd, 0);
close(fd);
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 31b1531..4da3984 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -97,6 +114,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -220,7 +242,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -687,13 +708,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
diff --git a/tests/core-404-handler.t b/tests/core-404-handler.t
index 599ade2..599ade2 100644..100755
--- a/tests/core-404-handler.t
+++ b/tests/core-404-handler.t
diff --git a/tests/docroot/123/Makefile.in b/tests/docroot/123/Makefile.in
index 84ecb7e..263d661 100644
--- a/tests/docroot/123/Makefile.in
+++ b/tests/docroot/123/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/tests/docroot/Makefile.in b/tests/docroot/Makefile.in
index 81f34d2..b367eec 100644
--- a/tests/docroot/Makefile.in
+++ b/tests/docroot/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,6 +79,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -183,7 +205,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -453,13 +474,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
diff --git a/tests/docroot/www/Makefile.in b/tests/docroot/www/Makefile.in
index e999de7..c3d3af9 100644
--- a/tests/docroot/www/Makefile.in
+++ b/tests/docroot/www/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -62,6 +79,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -183,7 +205,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
@@ -458,13 +479,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
diff --git a/tests/docroot/www/expire/Makefile.in b/tests/docroot/www/expire/Makefile.in
index 183765e..bfe85ea 100644
--- a/tests/docroot/www/expire/Makefile.in
+++ b/tests/docroot/www/expire/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/tests/docroot/www/go/Makefile.in b/tests/docroot/www/go/Makefile.in
index 4dc1c3a..3e55ae6 100644
--- a/tests/docroot/www/go/Makefile.in
+++ b/tests/docroot/www/go/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/tests/docroot/www/indexfile/Makefile.in b/tests/docroot/www/indexfile/Makefile.in
index 1771a01..f456239 100644
--- a/tests/docroot/www/indexfile/Makefile.in
+++ b/tests/docroot/www/indexfile/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -55,6 +72,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -143,7 +165,6 @@ SQLITE_CFLAGS = @SQLITE_CFLAGS@
SQLITE_LIBS = @SQLITE_LIBS@
SSL_LIB = @SSL_LIB@
STRIP = @STRIP@
-U = @U@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
diff --git a/tests/fcgi-auth.c b/tests/fcgi-auth.c
index 26bbd0f..d340b2e 100644
--- a/tests/fcgi-auth.c
+++ b/tests/fcgi-auth.c
@@ -10,7 +10,7 @@
#include <unistd.h>
#include <string.h>
-int main () {
+int main (void) {
char* p;
while (FCGI_Accept() >= 0) {
diff --git a/tests/fcgi-responder.c b/tests/fcgi-responder.c
index 81f8ca8..de04d0e 100644
--- a/tests/fcgi-responder.c
+++ b/tests/fcgi-responder.c
@@ -10,7 +10,7 @@
#include <unistd.h>
#include <string.h>
-int main () {
+int main (void) {
int num_requests = 2;
while (num_requests > 0 &&
diff --git a/tests/mod-proxy.t b/tests/mod-proxy.t
index 0c7283e..13690a4 100755
--- a/tests/mod-proxy.t
+++ b/tests/mod-proxy.t
@@ -82,5 +82,7 @@ exit 0;
cleanup:
$tf_real->endspawnfcgi($php_child) if $php_child != -1;
+$tf_real->stop_proc;
+$tf_proxy->stop_proc;
die();
diff --git a/tests/request.t b/tests/request.t
index c4bd958..9358975 100755
--- a/tests/request.t
+++ b/tests/request.t
@@ -8,7 +8,7 @@ BEGIN {
use strict;
use IO::Socket;
-use Test::More tests => 46;
+use Test::More tests => 52;
use LightyTest;
my $tf = LightyTest->new();
@@ -429,5 +429,61 @@ EOF
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 403 } ];
ok($tf->handle_http($t) == 0, 'static file with forbidden pathinfo');
+
+print "\nConnection header\n";
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection : close
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, spaces before ":"');
+
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection: ,close
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, leading comma');
+
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection: close,,TE
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, no value between two commas');
+
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection: close, ,TE
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, space between two commas');
+
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection: close,
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, comma after value');
+
+$t->{REQUEST} = ( <<EOF
+GET /12345.txt HTTP/1.1
+Connection: close,
+Host: 123.example.org
+EOF
+ );
+$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 200, 'HTTP-Content' => '12345'."\n", 'Content-Type' => 'text/plain', 'Connection' => 'close' } ];
+ok($tf->handle_http($t) == 0, 'Connection-header, comma and space after value');
+
ok($tf->stop_proc == 0, "Stopping lighttpd");
diff --git a/tests/symlink.t b/tests/symlink.t
index 9b275bd..9b275bd 100644..100755
--- a/tests/symlink.t
+++ b/tests/symlink.t