diff options
author | Arno Töll <arno@debian.org> | 2012-11-22 00:17:36 +0100 |
---|---|---|
committer | Arno Töll <arno@debian.org> | 2012-11-22 00:17:36 +0100 |
commit | fe77617887e7088009a30937542d0a6a55a4a398 (patch) | |
tree | ecf5c1a4ca5c33a4e83f379464e68152f0c3fca9 | |
parent | 018d43feb1e0cd33cb92a2b689e1d9bb3af96c67 (diff) | |
parent | 5b23e76990e58208a01c2a5362362575bc12b397 (diff) | |
download | lighttpd-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
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) @@ -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 @@ -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]') @@ -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 @@ -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 @@ -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@ @@ -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) ) @@ -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 |