]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
BUGFIX: max_user_ip was broken: initialising to -1 meant that the ACL appeared
authorrobertc <>
Sun, 23 Apr 2006 17:10:29 +0000 (17:10 +0000)
committerrobertc <>
Sun, 23 Apr 2006 17:10:29 +0000 (17:10 +0000)
        already configured to the parser, and thus it never configured to a
valid value. Fixed with a test case to ensure that a normal ACL line
will parse the -s and the limit values correctly, and a separat test
that the defaults are as expected.

57 files changed:
aclocal.m4
configure
lib/libTrie/configure
src/ACLDomainData.cc
src/ACLHTTPStatus.cc
src/ACLIP.cc
src/ACLIntRange.cc
src/ACLMaxConnection.cc
src/ACLMaxUserIP.cc
src/ACLMaxUserIP.h
src/ACLMethodData.cc
src/ACLProtocolData.cc
src/ACLRegexData.cc
src/ACLStringData.cc
src/ACLTimeData.cc
src/ACLUserData.cc
src/ConfigParser.cc [new file with mode: 0644]
src/ConfigParser.h
src/Makefile.am
src/Makefile.in
src/acl.cc
src/acl_noncore.cc [new file with mode: 0644]
src/asn.cc
src/auth/basic/auth_basic.cc
src/auth/digest/auth_digest.cc
src/auth/negotiate/auth_negotiate.cc
src/auth/ntlm/auth_ntlm.cc
src/cache_cf.cc
src/cache_manager.cc
src/client_side_request.cc
src/dns_internal.cc
src/enums.h
src/errorpage.cc
src/external_acl.cc
src/fqdncache.cc
src/fs/ufs/store_dir_ufs.cc
src/ftp.cc
src/helper.cc
src/icp_v2.cc
src/internal.cc
src/ipcache.cc
src/main.cc
src/mem.cc
src/net_db.cc
src/protos.h
src/repl/heap/store_repl_heap.cc
src/structs.h
src/tests/stub_cache_cf.cc
src/tests/testACLMaxUserIP.cc [new file with mode: 0644]
src/tests/testACLMaxUserIP.h [new file with mode: 0644]
src/tests/testHeader_ConfigParser.cc [new file with mode: 0644]
src/tests/testHeader_wordlist.cc [new file with mode: 0644]
src/tools.cc
src/typedefs.h
src/url.cc
src/wordlist.cc [new file with mode: 0644]
src/wordlist.h [new file with mode: 0644]

index c0cc002924f2a069120866f68df4586bc44dcb19..d4bf8833c18f3ed735765c81bbaa7d6a4401deef 100644 (file)
@@ -13,7 +13,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 48 AC_PROG_LIBTOOL
+# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -1593,6 +1593,18 @@ linux*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  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
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -2368,7 +2380,7 @@ linux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -3377,7 +3389,7 @@ case $host_os in
        ;;
     esac
     ;;
-  netbsd*)
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -5001,7 +5013,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
            ;;
        esac
        ;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
@@ -5353,6 +5365,12 @@ ifelse([$1],[CXX],[
   cygwin* | mingw*)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
+  kfreebsd*-gnu)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  linux*)
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+  ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
@@ -5549,12 +5567,13 @@ EOF
   $echo "local: *; };" >> $output_objdir/$libname.ver~
          $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
        fi
+       _LT_AC_TAGVAR(link_all_deplibs, $1)=no
       else
        _LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -5884,11 +5903,20 @@ _LT_EOF
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+      
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
       ;;
 
     hpux9*)
@@ -5986,7 +6014,7 @@ _LT_EOF
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -6531,7 +6559,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
     # at 6.2 and later dlopen does load deplibs.
     libltdl_cv_sys_dlopen_deplibs=yes
     ;;
-  netbsd*)
+  netbsd* | netbsdelf*-gnu)
     libltdl_cv_sys_dlopen_deplibs=yes
     ;;
   openbsd*)
index d8a7af05bbcea0c1259638a0a02a16d6eff8312d..b58db4d8263447ea37786d97d9b0bf74b5823b9d 100755 (executable)
--- a/configure
+++ b/configure
@@ -1363,7 +1363,7 @@ esac
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
@@ -2842,8 +2842,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2901,8 +2900,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3018,8 +3016,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3073,8 +3070,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3119,8 +3115,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3164,8 +3159,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3632,8 +3626,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3691,8 +3684,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3763,8 +3755,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3808,8 +3799,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4455,7 +4445,7 @@ linux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -4572,7 +4562,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4575 "configure"' > conftest.$ac_ext
+  echo '#line 4565 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4692,8 +4682,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5022,8 +5011,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5193,8 +5181,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5261,8 +5248,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5707,7 +5693,7 @@ fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:5710:" \
+echo "$as_me:5696:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -5753,8 +5739,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_f77_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5803,8 +5788,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_f77_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6770,11 +6754,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6773: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6757: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6777: \$? = $ac_status" >&5
+   echo "$as_me:6761: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7038,11 +7022,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7041: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7025: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7045: \$? = $ac_status" >&5
+   echo "$as_me:7029: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7142,11 +7126,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7145: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7129: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7149: \$? = $ac_status" >&5
+   echo "$as_me:7133: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7397,12 +7381,13 @@ EOF
   $echo "local: *; };" >> $output_objdir/$libname.ver~
          $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
        fi
+       link_all_deplibs=no
       else
        ld_shlibs=no
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -7618,8 +7603,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7679,8 +7663,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7834,11 +7817,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
       archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       hardcode_shlibpath_var=no
+      link_all_deplibs=no
       ;;
 
     hpux9*)
@@ -7936,7 +7928,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       link_all_deplibs=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -8622,6 +8614,18 @@ linux*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  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
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -8947,8 +8951,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9051,8 +9054,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9117,8 +9119,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9211,8 +9212,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9277,8 +9277,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9344,8 +9343,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9411,8 +9409,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9487,7 +9484,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9490 "configure"
+#line 9487 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9587,7 +9584,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 9590 "configure"
+#line 9587 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10670,8 +10667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10732,8 +10728,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11165,7 +11160,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
        ;;
     esac
     ;;
-  netbsd*)
+  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -11818,7 +11813,7 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
            ;;
        esac
        ;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
        ;;
       osf3* | osf4* | osf5*)
        case $cc_basename in
@@ -11927,11 +11922,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11930: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11925: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11934: \$? = $ac_status" >&5
+   echo "$as_me:11929: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -12031,11 +12026,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12034: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12029: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:12038: \$? = $ac_status" >&5
+   echo "$as_me:12033: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12103,6 +12098,12 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   cygwin* | mingw*)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
+  kfreebsd*-gnu)
+    link_all_deplibs_CXX=no
+  ;;
+  linux*)
+    link_all_deplibs_CXX=no
+  ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
@@ -12578,6 +12579,18 @@ linux*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  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
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -13601,11 +13614,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13604: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13617: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13608: \$? = $ac_status" >&5
+   echo "$as_me:13621: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13705,11 +13718,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13708: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13721: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13712: \$? = $ac_status" >&5
+   echo "$as_me:13725: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13960,12 +13973,13 @@ EOF
   $echo "local: *; };" >> $output_objdir/$libname.ver~
          $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
        fi
+       link_all_deplibs_F77=no
       else
        ld_shlibs_F77=no
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -14171,8 +14185,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_f77_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14222,8 +14235,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_f77_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_f77_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14377,13 +14389,22 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd* | dragonfly*)
       archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_F77='-R$libdir'
       hardcode_direct_F77=yes
       hardcode_shlibpath_var_F77=no
       ;;
 
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
+      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_F77='-R$libdir'
+      hardcode_direct_F77=yes
+      hardcode_shlibpath_var_F77=no
+      link_all_deplibs_F77=no
+      ;;
+
     hpux9*)
       if test "$GCC" = yes; then
        archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -14479,7 +14500,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       link_all_deplibs_F77=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -15165,6 +15186,18 @@ linux*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  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
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -15908,11 +15941,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15911: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15944: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15915: \$? = $ac_status" >&5
+   echo "$as_me:15948: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16176,11 +16209,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16179: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16212: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16183: \$? = $ac_status" >&5
+   echo "$as_me:16216: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16280,11 +16313,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16283: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16316: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16287: \$? = $ac_status" >&5
+   echo "$as_me:16320: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16535,12 +16568,13 @@ EOF
   $echo "local: *; };" >> $output_objdir/$libname.ver~
          $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
        fi
+       link_all_deplibs_GCJ=no
       else
        ld_shlibs_GCJ=no
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -16756,8 +16790,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16817,8 +16850,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16972,11 +17004,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd* | dragonfly*)
+      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec_GCJ='-R$libdir'
+      hardcode_direct_GCJ=yes
+      hardcode_shlibpath_var_GCJ=no
+      ;;
+
+    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
+    kfreebsd*-gnu)
       archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec_GCJ='-R$libdir'
       hardcode_direct_GCJ=yes
       hardcode_shlibpath_var_GCJ=no
+      link_all_deplibs_GCJ=no
       ;;
 
     hpux9*)
@@ -17074,7 +17115,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       link_all_deplibs_GCJ=yes
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
        archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -17760,6 +17801,18 @@ linux*)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  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
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 knetbsd*-gnu)
   version_type=linux
   need_lib_prefix=no
@@ -19021,8 +19074,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19091,8 +19143,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19163,8 +19214,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19224,8 +19274,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19284,8 +19333,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19356,8 +19404,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19455,8 +19502,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19581,8 +19627,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21707,8 +21752,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22754,8 +22798,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22827,8 +22870,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22882,8 +22924,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22954,8 +22995,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23009,8 +23049,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23077,8 +23116,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23401,8 +23439,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23572,8 +23609,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23693,8 +23729,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23761,8 +23796,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -23912,8 +23946,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24113,8 +24146,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24180,8 +24212,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24223,8 +24254,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24281,8 +24311,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24406,8 +24435,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24470,8 +24498,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24542,8 +24569,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24595,8 +24621,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24670,8 +24695,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24741,8 +24765,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24792,8 +24815,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24867,8 +24889,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -24946,8 +24967,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25005,8 +25025,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25073,8 +25092,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25136,8 +25154,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25177,8 +25194,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25234,8 +25250,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25275,8 +25290,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25340,8 +25354,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25372,10 +25385,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -25511,8 +25522,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25599,8 +25609,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25683,8 +25692,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25772,8 +25780,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25839,8 +25846,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25922,8 +25928,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -25989,8 +25994,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26080,8 +26084,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26112,10 +26115,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -26285,8 +26286,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26369,8 +26369,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26458,8 +26457,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26525,8 +26523,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26608,8 +26605,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26675,8 +26671,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26766,8 +26761,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -26798,10 +26792,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -26971,8 +26963,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27059,8 +27050,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27147,8 +27137,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27235,8 +27224,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27319,8 +27307,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27408,8 +27395,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27475,8 +27461,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27558,8 +27543,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27625,8 +27609,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27716,8 +27699,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -27748,10 +27730,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -27921,8 +27901,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28009,8 +27988,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28097,8 +28075,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28185,8 +28162,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28273,8 +28249,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28357,8 +28332,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28446,8 +28420,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28513,8 +28486,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28596,8 +28568,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28663,8 +28634,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28754,8 +28724,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -28786,10 +28755,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -28959,8 +28926,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29047,8 +29013,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29135,8 +29100,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29223,8 +29187,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29311,8 +29274,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29398,8 +29360,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29481,8 +29442,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29570,8 +29530,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29637,8 +29596,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29720,8 +29678,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29787,8 +29744,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29878,8 +29834,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -29910,10 +29865,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -30081,8 +30034,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30168,8 +30120,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30251,8 +30202,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30340,8 +30290,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30407,8 +30356,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30490,8 +30438,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30557,8 +30504,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30648,8 +30594,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30680,10 +30625,8 @@ See \`config.log' for more details." >&2;}
 esac
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
+  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -30851,8 +30794,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -30938,8 +30880,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31002,8 +30943,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31084,8 +31024,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31226,8 +31165,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31370,8 +31308,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31438,8 +31375,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31504,8 +31440,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31572,8 +31507,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31648,8 +31582,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31723,8 +31656,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31791,8 +31723,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31874,8 +31805,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -31947,8 +31877,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32014,8 +31943,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32083,8 +32011,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32162,8 +32089,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32228,8 +32154,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32298,8 +32223,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32369,8 +32293,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32443,8 +32366,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32515,8 +32437,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32606,8 +32527,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32683,8 +32603,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32756,8 +32675,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32836,8 +32754,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32913,8 +32830,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -32987,8 +32903,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -33055,8 +32970,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -33123,8 +33037,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -33446,8 +33359,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -33534,8 +33446,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -33958,8 +33869,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34072,8 +33982,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34588,8 +34497,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34647,8 +34555,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34792,8 +34699,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34869,8 +34775,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -34947,8 +34852,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -36260,11 +36164,6 @@ esac
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -36303,6 +36202,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
         fi;;
       esac
     done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
@@ -36816,9 +36721,6 @@ if test "$no_recursion" != yes; then
 
   # Remove --cache-file and --srcdir arguments so they do not pile up.
   ac_sub_configure_args=
-  # Add --quiet option if used
-  test "$silent" = yes &&
-    ac_sub_configure_args="$ac_sub_configure_args --quiet"
   ac_prev=
   for ac_arg in $ac_configure_args; do
     if test -n "$ac_prev"; then
@@ -36985,7 +36887,7 @@ echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
    { (exit 1); exit 1; }; }
     fi
 
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
index 187c593ba096d74c9f295f8000df64ec98bba4bb..a59517e8dcb8ac3b7f6465578f9639c87bac4ee6 100755 (executable)
@@ -973,7 +973,7 @@ esac
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
@@ -1735,8 +1735,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -1794,8 +1793,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -1866,8 +1864,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -1911,8 +1908,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_cxx_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2312,8 +2308,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2371,8 +2366,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2488,8 +2482,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2543,8 +2536,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2589,8 +2581,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -2634,8 +2625,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3600,8 +3590,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3915,8 +3904,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4086,8 +4074,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4152,8 +4139,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
+        { ac_try='test -z "$ac_c_werror_flag"                   || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5066,11 +5052,6 @@ esac
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -5109,6 +5090,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
         fi;;
       esac
     done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
index 8fac5b5e52ed2ef03688cb5a111798c3ef825fa9..f2be463379e73148af062174612ff49e1196a941 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLDomainData.cc,v 1.11 2005/05/08 22:35:03 hno Exp $
+ * $Id: ACLDomainData.cc,v 1.12 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -38,6 +38,7 @@
 #include "ACLDomainData.h"
 #include "authenticate.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
 
 template<class T>
 inline void
index ed32909a1010fbd2537044376a2f177361f2e026..6f67d4674c1a43067f1d5c149c248165d88d11f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLHTTPStatus.cc,v 1.1 2005/09/25 20:58:23 hno Exp $
+ * $Id: ACLHTTPStatus.cc,v 1.2 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -42,6 +42,7 @@
 
 #include "ACLHTTPStatus.h"
 #include "HttpReply.h"
+#include "wordlist.h"
 
 static void aclParseHTTPStatusList(SplayNode<acl_httpstatus_data *> **curlist);
 static int aclHTTPStatusCompare(acl_httpstatus_data * const &a, acl_httpstatus_data * const &b);
index c60aac157ad3b30b5e67c41b0c5e5e3207f555e6..0350e730a805ca0d7ab2e27190811a8a1f919ebe 100644 (file)
@@ -37,6 +37,7 @@
 #include "ACLIP.h"
 #include "ACLChecklist.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 void *
 ACLIP::operator new (size_t byteCount)
index ee8ac169886c3e1838f81b56f9c4dbee957cb2a6..2ddb1d4f605bd6795fd2711415ada187264896ec 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLIntRange.cc,v 1.6 2005/05/08 23:31:06 hno Exp $
+ * $Id: ACLIntRange.cc,v 1.7 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Robert Collins
@@ -36,6 +36,7 @@
 
 #include "squid.h"
 #include "ACLIntRange.h"
+#include "wordlist.h"
 
 /* explicit instantiation required for some systems */
 
index d8306a2aecf83dc4834480ad50ede9f0ddabe33f..3cc3041630a8a21d5532ae8a050eeee2c033fbab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLMaxConnection.cc,v 1.5 2005/05/06 01:57:55 hno Exp $
+ * $Id: ACLMaxConnection.cc,v 1.6 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -36,6 +36,7 @@
 
 #include "squid.h"
 #include "ACLMaxConnection.h"
+#include "wordlist.h"
 
 ACL::Prototype ACLMaxConnection::RegistryProtoype(&ACLMaxConnection::RegistryEntry_, "maxconn");
 
index d081e86500b02b06bd8a79de20afb5eff6f92412..4269219d7eccbde598f548ac4aa5fb8dac0a8ba2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLMaxUserIP.cc,v 1.9 2006/03/10 22:40:24 hno Exp $
+ * $Id: ACLMaxUserIP.cc,v 1.10 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -38,6 +38,8 @@
 #include "ACLMaxUserIP.h"
 #include "AuthUserRequest.h"
 #include "authenticate.h"
+#include "wordlist.h"
+#include "ConfigParser.h"
 
 ACL::Prototype ACLMaxUserIP::RegistryProtoype(&ACLMaxUserIP::RegistryEntry_, "max_user_ip");
 
@@ -49,7 +51,7 @@ ACLMaxUserIP::clone() const
     return new ACLMaxUserIP(*this);
 }
 
-ACLMaxUserIP::ACLMaxUserIP (char const *theClass) : class_ (theClass), maximum(-1)
+ACLMaxUserIP::ACLMaxUserIP (char const *theClass) : class_ (theClass), maximum(0)
 {}
 
 ACLMaxUserIP::ACLMaxUserIP (ACLMaxUserIP const & old) :class_ (old.class_), maximum (old.maximum), flags (old.flags)
@@ -84,7 +86,7 @@ ACLMaxUserIP::parse()
         return;
     }
 
-    char *t = strtokFile();
+    char *t = ConfigParser::strtokFile();
 
     if (!t)
         return;
@@ -94,7 +96,7 @@ ACLMaxUserIP::parse()
     if (strcmp("-s", t) == 0) {
         debug(28, 5) ("aclParseUserMaxIP: Going strict\n");
         flags.strict = 1;
-        t = strtokFile();
+        t = ConfigParser::strtokFile();
     }
 
     if (!t)
index 5206f95bcd9bef5510fd7753cc54235189e2d9fc..a797c63f789fc12a61978616d9a861670aec1e6a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACLMaxUserIP.h,v 1.7 2005/05/06 02:37:36 hno Exp $
+ * $Id: ACLMaxUserIP.h,v 1.8 2006/04/23 11:10:31 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -58,6 +58,10 @@ public:
     virtual bool valid () const;
     virtual bool requiresRequest() const {return true;}
 
+    int getMaximum() const {return maximum;}
+
+    int getStrict() const {return flags.strict;}
+
 private:
     static Prototype RegistryProtoype;
     static ACLMaxUserIP RegistryEntry_;
index a86b1d61cc5eec8ce4c19aa4d50bf535bd987601..54bab8d372d05d73b170d4570c0a2d2c05385e33 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLMethodData.cc,v 1.7 2005/05/08 09:15:39 serassio Exp $
+ * $Id: ACLMethodData.cc,v 1.8 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "ACLMethodData.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
 
 ACLMethodData::ACLMethodData() : values (NULL)
 {}
index f6b5eab0fc85c1d50c652e1d2cda57cd65e9ef1f..e934258395f5f1977d2707bc73a4181aeb21da4b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLProtocolData.cc,v 1.6 2005/05/08 06:36:45 hno Exp $
+ * $Id: ACLProtocolData.cc,v 1.7 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "ACLProtocolData.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
 
 ACLProtocolData::ACLProtocolData() : values (NULL)
 {}
index 24031ed80d34e83049d499f2b3ed437bd31aa4ec..962b33d09a51ad2ba6076ade490d1cd34f9e83a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLRegexData.cc,v 1.8 2005/05/08 06:36:45 hno Exp $
+ * $Id: ACLRegexData.cc,v 1.9 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -39,6 +39,8 @@
 #include "authenticate.h"
 #include "ACLChecklist.h"
 #include "ACL.h"
+#include "wordlist.h"
+#include "ConfigParser.h"
 
 static void aclDestroyRegexList(relist * data);
 void
@@ -125,7 +127,7 @@ aclParseRegexList(relist **curlist)
     for (Tail = (relist **)curlist; *Tail; Tail = &((*Tail)->next))
 
         ;
-    while ((t = strtokFile())) {
+    while ((t = ConfigParser::strtokFile())) {
         if (strcmp(t, "-i") == 0) {
             flags |= REG_ICASE;
             continue;
index f704fe5a13cb9a23281c4a3258952feade93b2ea..27a079bf12dbaad5aa323790af8df21984aa1000 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLStringData.cc,v 1.7 2005/05/08 22:35:03 hno Exp $
+ * $Id: ACLStringData.cc,v 1.8 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "ACLStringData.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
 
 
 ACLStringData::ACLStringData() : values (NULL)
index 347846e690359b1592fa40061679f97752f72942..8e6f0b451d43bb1b404c6135e3d9cb3b26e673f5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLTimeData.cc,v 1.10 2005/05/08 06:36:45 hno Exp $
+ * $Id: ACLTimeData.cc,v 1.11 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -38,6 +38,7 @@
 #include "ACLTimeData.h"
 #include "authenticate.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
 
 ACLTimeData::ACLTimeData () : weekbits (0), start (0), stop (0), next (NULL) {}
 
index e14aa525cdaae8fd9762e8840cada2149d1248c9..4d1226d856b2c871bfc4c366288cc39ccb62b960 100644 (file)
@@ -38,6 +38,8 @@
 #include "ACLUserData.h"
 #include "authenticate.h"
 #include "ACLChecklist.h"
+#include "wordlist.h"
+#include "ConfigParser.h"
 
 template<class T>
 inline void
@@ -129,7 +131,7 @@ ACLUserData::parse()
     debug(28, 2) ("aclParseUserList: parsing user list\n");
     char *t = NULL;
 
-    if ((t = strtokFile())) {
+    if ((t = ConfigParser::strtokFile())) {
         debug(28, 5) ("aclParseUserList: First token is %s\n", t);
 
         if (strcmp("-i", t) == 0) {
@@ -152,7 +154,7 @@ ACLUserData::parse()
 
     debug(28, 4) ("aclParseUserList: parsing user list\n");
 
-    while ((t = strtokFile())) {
+    while ((t = ConfigParser::strtokFile())) {
         debug(28, 6) ("aclParseUserList: Got token: %s\n", t);
 
         if (flags.case_insensitive)
diff --git a/src/ConfigParser.cc b/src/ConfigParser.cc
new file mode 100644 (file)
index 0000000..ed77085
--- /dev/null
@@ -0,0 +1,121 @@
+
+/*
+ * $Id: ConfigParser.cc,v 1.1 2006/04/23 11:10:31 robertc Exp $
+ *
+ *
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  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 of the License, 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, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ *
+ * Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
+ */
+
+#include "ConfigParser.h"
+#include "globals.h"
+
+void
+ConfigParser::Destruct()
+{
+    shutting_down = 1;
+    fatalf("Bungled %s line %d: %s",
+           cfg_filename, config_lineno, config_input_line);
+}
+
+char *
+ConfigParser::strtokFile(void)
+{
+    static int fromFile = 0;
+    static FILE *wordFile = NULL;
+
+    char *t, *fn;
+    LOCAL_ARRAY(char, buf, 256);
+
+strtok_again:
+
+    if (!fromFile) {
+        t = (strtok(NULL, w_space));
+
+        if (!t || *t == '#') {
+            return NULL;
+        } else if (*t == '\"' || *t == '\'') {
+            /* quote found, start reading from file */
+            fn = ++t;
+
+            while (*t && *t != '\"' && *t != '\'')
+                t++;
+
+            *t = '\0';
+
+            if ((wordFile = fopen(fn, "r")) == NULL) {
+                debug(28, 0) ("strtokFile: %s not found\n", fn);
+                return (NULL);
+            }
+
+#ifdef _SQUID_WIN32_
+            setmode(fileno(wordFile), O_TEXT);
+
+#endif
+
+            fromFile = 1;
+        } else {
+            return t;
+        }
+    }
+
+    /* fromFile */
+    if (fgets(buf, 256, wordFile) == NULL) {
+        /* stop reading from file */
+        fclose(wordFile);
+        wordFile = NULL;
+        fromFile = 0;
+        goto strtok_again;
+    } else {
+        char *t2, *t3;
+        t = buf;
+        /* skip leading and trailing white space */
+        t += strspn(buf, w_space);
+        t2 = t + strcspn(t, w_space);
+        t3 = t2 + strspn(t2, w_space);
+
+        while (*t3 && *t3 != '#') {
+            t2 = t3 + strcspn(t3, w_space);
+            t3 = t2 + strspn(t2, w_space);
+        }
+
+        *t2 = '\0';
+        /* skip comments */
+
+        if (*t == '#')
+            goto strtok_again;
+
+        /* skip blank lines */
+        if (!*t)
+            goto strtok_again;
+
+        return t;
+    }
+}
+
index 17f5d5068b74863a129ed3c1491d6c73e46bbbc5..d01d02d6669799d4aab6fd59f1e2854d3490d7d6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ConfigParser.h,v 1.2 2005/11/21 23:10:22 wessels Exp $
+ * $Id: ConfigParser.h,v 1.3 2006/04/23 11:10:31 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
  * Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
  */
 
-#ifndef SQUID_CONFIGPARSER_H_
-#define SQUID_CONFIGPARSER_H_
+#ifndef SQUID_CONFIGPARSER_H
+#define SQUID_CONFIGPARSER_H
+
+#include "squid.h"
 
 class ConfigParser
 {
 
 public:
+    static void Destruct();
     static void ParseUShort(u_short *var);
     static void ParseBool(bool *var);
     static void ParseString(char **var);
     static void ParseString(String *var);
     static void ParseWordList(wordlist **list);
+    static char * strtokFile();
 };
 
-#endif /* SQUID_CONFIGPARSER_H_ */
+#endif /* SQUID_CONFIGPARSER_H */
index fddd90642e5e61796a3104a202b91834f1d7882d..b8c3bde92b45d48b44ec6261d38cd97ad17eeb5c 100644 (file)
@@ -1,7 +1,7 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.133 2006/04/23 09:18:30 serassio Exp $
+#  $Id: Makefile.am,v 1.134 2006/04/23 11:10:31 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
@@ -347,6 +347,7 @@ squid_SOURCES = \
        access_log.cc \
        AccessLogEntry.h \
        acl.cc \
+       acl_noncore.cc \
        ACL.h \
        ACLChecklist.cc \
        ACLChecklist.h \
@@ -386,6 +387,7 @@ squid_SOURCES = \
        comm_kqueue.cc \
        CommRead.h \
        ConfigOption.cc \
+       ConfigParser.cc \
        ConfigParser.h \
        ConnectionDetail.h \
        debug.cc \
@@ -545,6 +547,8 @@ squid_SOURCES = \
        wais.cc \
        wccp.cc \
        whois.cc \
+       wordlist.cc \
+       wordlist.h \
        $(WIN32_SOURCE)
 
 noinst_HEADERS = ACLChecklist.cci \
@@ -999,6 +1003,7 @@ TESTSOURCES= \
 
 check_PROGRAMS+= \
        tests/testAuth \
+       tests/testACLMaxUserIP \
        tests/testBoilerplate \
        tests/testHeaders \
        tests/testStore \
@@ -1006,6 +1011,7 @@ check_PROGRAMS+= \
 
 tests_testAuth_SOURCES= tests/testAuth.cc tests/testMain.cc  tests/testAuth.h $(TESTSOURCES) \
        AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
+       ConfigParser.cc \
        tests/stub_acl.cc tests/stub_cache_cf.cc \
        tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
        tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
@@ -1019,10 +1025,11 @@ tests_testAuth_SOURCES= tests/testAuth.cc tests/testMain.cc  tests/testAuth.h $(
        tests/stub_http.cc \
        HttpMsg.cc \
        tests/stub_mime.cc \
-       tests/stub_access_log.cc
+       tests/stub_access_log.cc \
+       wordlist.cc
 ##     acl.cc cache_cf.cc tools.cc \
 ##     helper.cc String.cc cbdata.cc HttpHeaderTools.cc store.cc cache_manager.cc \
-##     HttpHeader.cc url.cc event.cc mem.cc HttpRequest.cc Packer.cc access_log.cc \
+##     HttpHeader.cc url.cc mem.cc HttpRequest.cc Packer.cc access_log.cc \
 ##     MemBuf.cc StatHist.cc logfile.cc
 
 tests_testAuth_LDADD= \
@@ -1036,6 +1043,68 @@ tests_testAuth_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
        @AUTH_OBJS@ \
        @SQUID_CPPUNIT_LA@
 
+## Tests for the ACLMaxUserIP class
+## acl needs wordlist. wordlist needs MemBug
+## MemBuf needs mem, MemBuf needs event,
+## event needs cbdata.
+## ACLMaxUserUP needs authenticate.cc
+## authenticate.cc needs AuthUser, AuthScheme, AuthUserRequest, AuthConfig
+## ACLMaxUserIP needs ACLChecklist
+## AuthUser request needs HttpHeader, which brings in 
+##     ETag.cc \
+##     HttpHeader.cc \
+##     HttpHeaderTools.cc \
+##     HttpHdrContRange.cc \
+##     HttpHdrCc.cc \
+##     HttpHdrRange.cc \
+##     HttpHdrSc.cc \
+##     HttpHdrScTarget.cc \
+##     Packer.cc \
+##     StatHist.cc \
+##     String.cc \
+tests_testACLMaxUserIP_SOURCES= \
+       acl.cc \
+       ACLChecklist.cc \
+       ACLMaxUserIP.cc \
+       ACLProxyAuth.cc \
+       ACLRegexData.cc \
+       ACLUserData.cc \
+       authenticate.cc \
+       AuthConfig.cc \
+       AuthUser.cc \
+       AuthUserRequest.cc \
+       AuthScheme.cc \
+       cbdata.cc \
+       ConfigParser.cc \
+       event.cc \
+       ETag.cc \
+       HttpHeader.cc \
+       HttpHeaderTools.cc \
+       HttpHdrContRange.cc \
+       HttpHdrRange.cc \
+       HttpHdrCc.cc \
+       HttpHdrSc.cc \
+       HttpHdrScTarget.cc \
+       Packer.cc \
+       StatHist.cc \
+       String.cc \
+       tests/stub_cache_manager.cc \
+       tests/stub_store.cc \
+       tests/testACLMaxUserIP.cc \
+       tests/testACLMaxUserIP.h \
+       tests/testMain.cc \
+       mem.cc \
+       MemBuf.cc \
+       wordlist.cc \
+       $(TESTSOURCES)
+tests_testACLMaxUserIP_LDADD= \
+       -L../lib -lmiscutil \
+       @SQUID_CPPUNIT_LA@ \
+       @SSLLIB@
+tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
+tests_testACLMaxUserIP_DEPENDENCIES = \
+       @SQUID_CPPUNIT_LA@
+
 ## a demonstration test that does nothing but shows the salient points
 ## involved in writing tests.
 tests_testBoilerplate_SOURCES= tests/testBoilerplate.cc tests/testMain.cc tests/testBoilerplate.h $(TESTSOURCES)
@@ -1055,10 +1124,12 @@ tests_testBoilerplate_DEPENDENCIES = \
 ## RBC 20060422.
 HEADERS_TO_TEST = \
        tests/testHeader_ACL.cc \
+       tests/testHeader_ConfigParser.cc \
        tests/testHeader_dlink.cc \
        tests/testHeader_HttpHeader.cc \
        tests/testHeader_HttpHeaderRange.cc \
-       tests/testHeader_HttpReply.cc
+       tests/testHeader_HttpReply.cc \
+       tests/testHeader_wordlist.cc
 tests_testHeaders_SOURCES= tests/testMain.cc $(HEADERS_TO_TEST)
 tests_testHeaders_LDADD= \
        @SQUID_CPPUNIT_LA@ \
@@ -1073,6 +1144,7 @@ STORE_TEST_SOURCES=\
        $(TESTSOURCES) \
        $(DELAY_POOL_SOURCE) \
        CacheDigest.cc \
+       ConfigParser.cc \
        HttpMsg.cc \
        store_dir.cc \
        store.cc \
@@ -1092,10 +1164,12 @@ STORE_TEST_SOURCES=\
        tests/stub_store_client.cc \
        tests/stub_tools.cc \
        HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc \
        MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
        HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc \
+       wordlist.cc
 
 ## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
 ## first line - what we are testing.
@@ -1122,7 +1196,7 @@ tests_testStore_LDFLAGS = $(LIBADD_DL)
 tests_testStore_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
        @SQUID_CPPUNIT_LA@
 
-SWAP_TEST_SOURCES=\
+SWAP_TEST_SOURCES = \
        tests/stub_store_rebuild.cc \
        tests/stub_internal.cc \
        fd.cc \
index f9f69a3a29d0b3a01e7b7dfa6c89ad6e6bc68bd3..a12e5390dc6bded0cca3e3c86ff7542cb7ddc877 100644 (file)
@@ -17,7 +17,7 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.371 2006/04/23 09:22:41 serassio Exp $
+#  $Id: Makefile.in,v 1.372 2006/04/23 11:10:31 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
@@ -48,8 +48,9 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 check_PROGRAMS = tests/testAuth$(EXEEXT) \
-       tests/testBoilerplate$(EXEEXT) tests/testHeaders$(EXEEXT) \
-       tests/testStore$(EXEEXT) @STORE_TESTS@
+       tests/testACLMaxUserIP$(EXEEXT) tests/testBoilerplate$(EXEEXT) \
+       tests/testHeaders$(EXEEXT) tests/testStore$(EXEEXT) \
+       @STORE_TESTS@ $(am__empty)
 @USE_ICAP_CLIENT_TRUE@am__append_1 = ICAP
 EXTRA_PROGRAMS = DiskIO/DiskDaemon/diskd$(EXEEXT) unlinkd$(EXEEXT) \
        pinger$(EXEEXT) dnsserver$(EXEEXT) recv-announce$(EXEEXT) \
@@ -136,10 +137,10 @@ am_recv_announce_OBJECTS = recv-announce.$(OBJEXT) SquidNew.$(OBJEXT)
 recv_announce_OBJECTS = $(am_recv_announce_OBJECTS)
 recv_announce_LDADD = $(LDADD)
 recv_announce_DEPENDENCIES =
-am__squid_SOURCES_DIST = access_log.cc AccessLogEntry.h acl.cc ACL.h \
-       ACLChecklist.cc ACLChecklist.h ACLARP.cc ACLARP.h ACLASN.cc \
-       ACLASN.h ACLDestinationASN.h ACLSourceASN.h ACLBrowser.cc \
-       ACLBrowser.h ACLData.h ACLDestinationDomain.cc \
+am__squid_SOURCES_DIST = access_log.cc AccessLogEntry.h acl.cc \
+       acl_noncore.cc ACL.h ACLChecklist.cc ACLChecklist.h ACLARP.cc \
+       ACLARP.h ACLASN.cc ACLASN.h ACLDestinationASN.h ACLSourceASN.h \
+       ACLBrowser.cc ACLBrowser.h ACLData.h ACLDestinationDomain.cc \
        ACLDestinationDomain.h ACLDestinationIP.cc ACLDestinationIP.h \
        ACLDomainData.h ACLDomainData.cc ACLExtUser.h ACLExtUser.cc \
        ACLHTTPStatus.h ACLHTTPStatus.cc ACLIntRange.cc ACLIntRange.h \
@@ -166,16 +167,16 @@ am__squid_SOURCES_DIST = access_log.cc AccessLogEntry.h acl.cc ACL.h \
        ClientBody.cc ClientRequestContext.h clientStream.cc \
        clientStream.h comm.cc comm.h CommIO.h comm_select.cc \
        comm_poll.cc comm_epoll.cc comm_kqueue.cc CommRead.h \
-       ConfigOption.cc ConfigParser.h ConnectionDetail.h debug.cc \
-       Debug.h defines.h CommonPool.h CompositePoolNode.h \
-       delay_pools.cc DelayId.cc DelayId.h DelayIdComposite.h \
-       DelayBucket.cc DelayBucket.h DelayConfig.cc DelayConfig.h \
-       DelayPool.cc DelayPool.h DelayPools.h DelaySpec.cc DelaySpec.h \
-       DelayTagged.cc DelayTagged.h DelayUser.cc DelayUser.h \
-       DelayVector.cc DelayVector.h NullDelayId.cc NullDelayId.h \
-       disk.cc DiskIO/DiskIOModule.cc DiskIO/ReadRequest.cc \
-       DiskIO/ReadRequest.h DiskIO/WriteRequest.cc \
-       DiskIO/WriteRequest.h DiskIO/DiskFile.h \
+       ConfigOption.cc ConfigParser.cc ConfigParser.h \
+       ConnectionDetail.h debug.cc Debug.h defines.h CommonPool.h \
+       CompositePoolNode.h delay_pools.cc DelayId.cc DelayId.h \
+       DelayIdComposite.h DelayBucket.cc DelayBucket.h DelayConfig.cc \
+       DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
+       DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
+       DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
+       NullDelayId.cc NullDelayId.h disk.cc DiskIO/DiskIOModule.cc \
+       DiskIO/ReadRequest.cc DiskIO/ReadRequest.h \
+       DiskIO/WriteRequest.cc DiskIO/WriteRequest.h DiskIO/DiskFile.h \
        DiskIO/DiskIOStrategy.h DiskIO/IORequestor.h \
        DiskIO/DiskIOModule.h dlink.h dns_internal.cc dns.cc enums.h \
        errorpage.cc ElementList.h ESI.cc ESI.h ESIAssign.cc \
@@ -219,7 +220,8 @@ am__squid_SOURCES_DIST = access_log.cc AccessLogEntry.h acl.cc ACL.h \
        StoreMetaURL.h StoreMetaVary.cc StoreMetaVary.h StoreSearch.h \
        StoreSwapLogData.cc StoreSwapLogData.h Server.h Server.cc \
        structs.h SwapDir.cc SwapDir.h tools.cc typedefs.h unlinkd.cc \
-       url.cc urn.cc useragent.cc wais.cc wccp.cc whois.cc win32.cc
+       url.cc urn.cc useragent.cc wais.cc wccp.cc whois.cc \
+       wordlist.cc wordlist.h win32.cc
 am__objects_1 = ACLARP.$(OBJEXT)
 @ENABLE_ARP_ACL_TRUE@am__objects_2 = $(am__objects_1)
 am__objects_3 = $(am__objects_2) ACLASN.$(OBJEXT) ACLBrowser.$(OBJEXT) \
@@ -268,8 +270,8 @@ am__objects_17 = ACLCertificateData.$(OBJEXT) ACLCertificate.$(OBJEXT) \
 am__objects_20 = win32.$(OBJEXT)
 @ENABLE_WIN32SPECIFIC_TRUE@am__objects_21 = $(am__objects_20)
 am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) \
-       ACLChecklist.$(OBJEXT) $(am__objects_3) asn.$(OBJEXT) \
-       authenticate.$(OBJEXT) AuthConfig.$(OBJEXT) \
+       acl_noncore.$(OBJEXT) ACLChecklist.$(OBJEXT) $(am__objects_3) \
+       asn.$(OBJEXT) authenticate.$(OBJEXT) AuthConfig.$(OBJEXT) \
        AuthScheme.$(OBJEXT) AuthUser.$(OBJEXT) \
        AuthUserRequest.$(OBJEXT) cache_cf.$(OBJEXT) \
        CacheDigest.$(OBJEXT) cache_manager.$(OBJEXT) carp.$(OBJEXT) \
@@ -277,10 +279,11 @@ am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) \
        client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
        ClientBody.$(OBJEXT) clientStream.$(OBJEXT) comm.$(OBJEXT) \
        comm_select.$(OBJEXT) comm_poll.$(OBJEXT) comm_epoll.$(OBJEXT) \
-       comm_kqueue.$(OBJEXT) ConfigOption.$(OBJEXT) debug.$(OBJEXT) \
-       $(am__objects_5) disk.$(OBJEXT) $(am__objects_6) \
-       $(am__objects_7) errorpage.$(OBJEXT) $(am__objects_9) \
-       ETag.$(OBJEXT) event.$(OBJEXT) external_acl.$(OBJEXT) \
+       comm_kqueue.$(OBJEXT) ConfigOption.$(OBJEXT) \
+       ConfigParser.$(OBJEXT) debug.$(OBJEXT) $(am__objects_5) \
+       disk.$(OBJEXT) $(am__objects_6) $(am__objects_7) \
+       errorpage.$(OBJEXT) $(am__objects_9) ETag.$(OBJEXT) \
+       event.$(OBJEXT) external_acl.$(OBJEXT) \
        ExternalACLEntry.$(OBJEXT) fd.$(OBJEXT) fde.$(OBJEXT) \
        filemap.$(OBJEXT) forward.$(OBJEXT) fqdncache.$(OBJEXT) \
        ftp.$(OBJEXT) gopher.$(OBJEXT) helper.$(OBJEXT) \
@@ -315,7 +318,7 @@ am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) \
        Server.$(OBJEXT) SwapDir.$(OBJEXT) tools.$(OBJEXT) \
        $(am__objects_19) url.$(OBJEXT) urn.$(OBJEXT) \
        useragent.$(OBJEXT) wais.$(OBJEXT) wccp.$(OBJEXT) \
-       whois.$(OBJEXT) $(am__objects_21)
+       whois.$(OBJEXT) wordlist.$(OBJEXT) $(am__objects_21)
 nodist_squid_OBJECTS = repl_modules.$(OBJEXT) globals.$(OBJEXT) \
        string_arrays.$(OBJEXT)
 squid_OBJECTS = $(am_squid_OBJECTS) $(nodist_squid_OBJECTS)
@@ -325,12 +328,29 @@ squidclient_OBJECTS = $(am_squidclient_OBJECTS)
 squidclient_LDADD = $(LDADD)
 squidclient_DEPENDENCIES =
 am__objects_25 = ../test-suite/test_tools.$(OBJEXT) globals.$(OBJEXT)
+am_tests_testACLMaxUserIP_OBJECTS = acl.$(OBJEXT) \
+       ACLChecklist.$(OBJEXT) ACLMaxUserIP.$(OBJEXT) \
+       ACLProxyAuth.$(OBJEXT) ACLRegexData.$(OBJEXT) \
+       ACLUserData.$(OBJEXT) authenticate.$(OBJEXT) \
+       AuthConfig.$(OBJEXT) AuthUser.$(OBJEXT) \
+       AuthUserRequest.$(OBJEXT) AuthScheme.$(OBJEXT) \
+       cbdata.$(OBJEXT) ConfigParser.$(OBJEXT) event.$(OBJEXT) \
+       ETag.$(OBJEXT) HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
+       HttpHdrContRange.$(OBJEXT) HttpHdrRange.$(OBJEXT) \
+       HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+       HttpHdrScTarget.$(OBJEXT) Packer.$(OBJEXT) StatHist.$(OBJEXT) \
+       String.$(OBJEXT) tests/stub_cache_manager.$(OBJEXT) \
+       tests/stub_store.$(OBJEXT) tests/testACLMaxUserIP.$(OBJEXT) \
+       tests/testMain.$(OBJEXT) mem.$(OBJEXT) MemBuf.$(OBJEXT) \
+       wordlist.$(OBJEXT) $(am__objects_25)
+tests_testACLMaxUserIP_OBJECTS = $(am_tests_testACLMaxUserIP_OBJECTS)
 am_tests_testAuth_OBJECTS = tests/testAuth.$(OBJEXT) \
        tests/testMain.$(OBJEXT) $(am__objects_25) \
        AuthScheme.$(OBJEXT) authenticate.$(OBJEXT) AuthUser.$(OBJEXT) \
        AuthUserRequest.$(OBJEXT) AuthConfig.$(OBJEXT) \
-       tests/stub_acl.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \
-       tests/stub_helper.$(OBJEXT) cbdata.$(OBJEXT) String.$(OBJEXT) \
+       ConfigParser.$(OBJEXT) tests/stub_acl.$(OBJEXT) \
+       tests/stub_cache_cf.$(OBJEXT) tests/stub_helper.$(OBJEXT) \
+       cbdata.$(OBJEXT) String.$(OBJEXT) \
        tests/stub_cache_manager.$(OBJEXT) tests/stub_store.$(OBJEXT) \
        HttpHeaderTools.$(OBJEXT) HttpHeader.$(OBJEXT) acl.$(OBJEXT) \
        event.$(OBJEXT) mem.$(OBJEXT) MemBuf.$(OBJEXT) \
@@ -344,7 +364,8 @@ am_tests_testAuth_OBJECTS = tests/testAuth.$(OBJEXT) \
        tests/stub_MemObject.$(OBJEXT) mem_node.$(OBJEXT) \
        stmem.$(OBJEXT) tests/stub_comm.$(OBJEXT) \
        tests/stub_http.$(OBJEXT) HttpMsg.$(OBJEXT) \
-       tests/stub_mime.$(OBJEXT) tests/stub_access_log.$(OBJEXT)
+       tests/stub_mime.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \
+       wordlist.$(OBJEXT)
 tests_testAuth_OBJECTS = $(am_tests_testAuth_OBJECTS)
 am_tests_testBoilerplate_OBJECTS = tests/testBoilerplate.$(OBJEXT) \
        tests/testMain.$(OBJEXT) $(am__objects_25)
@@ -363,28 +384,29 @@ am__tests_testCoss_SOURCES_DIST = tests/testCoss.cc tests/testMain.cc \
        DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
        DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
        DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
-       NullDelayId.cc NullDelayId.h CacheDigest.cc HttpMsg.cc \
-       store_dir.cc store.cc store_key_md5.cc string_arrays.c \
-       Parsing.cc ConfigOption.cc SwapDir.cc AuthScheme.cc \
-       authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
-       tests/stub_acl.cc tests/stub_cache_cf.cc tests/stub_helper.cc \
-       cbdata.cc String.cc tests/stub_cache_manager.cc \
-       tests/stub_comm.cc tests/stub_http.cc mem_node.cc stmem.cc \
-       tests/stub_mime.cc tests/stub_store_client.cc \
-       tests/stub_tools.cc HttpHeaderTools.cc HttpHeader.cc acl.cc \
-       event.cc mem.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
+       NullDelayId.cc NullDelayId.h CacheDigest.cc ConfigParser.cc \
+       HttpMsg.cc store_dir.cc store.cc store_key_md5.cc \
+       string_arrays.c Parsing.cc ConfigOption.cc SwapDir.cc \
+       AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc \
+       AuthConfig.cc tests/stub_acl.cc tests/stub_cache_cf.cc \
+       tests/stub_helper.cc cbdata.cc String.cc \
+       tests/stub_cache_manager.cc tests/stub_comm.cc \
+       tests/stub_http.cc mem_node.cc stmem.cc tests/stub_mime.cc \
+       tests/stub_store_client.cc tests/stub_tools.cc \
+       HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
        ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc HttpHdrScTarget.cc \
        url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc \
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc wordlist.cc \
        DiskIO/DiskIOModule.cc DiskIO/ReadRequest.cc \
        DiskIO/ReadRequest.h DiskIO/WriteRequest.cc \
        DiskIO/WriteRequest.h DiskIO/DiskFile.h \
        DiskIO/DiskIOStrategy.h DiskIO/IORequestor.h \
        DiskIO/DiskIOModule.h
 am__objects_26 = $(am__objects_25) $(am__objects_5) \
-       CacheDigest.$(OBJEXT) HttpMsg.$(OBJEXT) store_dir.$(OBJEXT) \
-       store.$(OBJEXT) store_key_md5.$(OBJEXT) \
+       CacheDigest.$(OBJEXT) ConfigParser.$(OBJEXT) HttpMsg.$(OBJEXT) \
+       store_dir.$(OBJEXT) store.$(OBJEXT) store_key_md5.$(OBJEXT) \
        string_arrays.$(OBJEXT) Parsing.$(OBJEXT) \
        ConfigOption.$(OBJEXT) SwapDir.$(OBJEXT) AuthScheme.$(OBJEXT) \
        authenticate.$(OBJEXT) AuthUser.$(OBJEXT) \
@@ -396,15 +418,15 @@ am__objects_26 = $(am__objects_25) $(am__objects_5) \
        tests/stub_mime.$(OBJEXT) tests/stub_store_client.$(OBJEXT) \
        tests/stub_tools.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
        HttpHeader.$(OBJEXT) acl.$(OBJEXT) event.$(OBJEXT) \
-       mem.$(OBJEXT) MemBuf.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
-       Packer.$(OBJEXT) ACLChecklist.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
-       HttpHdrSc.$(OBJEXT) HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) \
-       ACLProxyAuth.$(OBJEXT) ACLRegexData.$(OBJEXT) \
-       ACLUserData.$(OBJEXT) StatHist.$(OBJEXT) \
-       HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \
+       mem.$(OBJEXT) acl_noncore.$(OBJEXT) MemBuf.$(OBJEXT) \
+       HttpHdrContRange.$(OBJEXT) Packer.$(OBJEXT) \
+       ACLChecklist.$(OBJEXT) HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \
+       HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) ACLProxyAuth.$(OBJEXT) \
+       ACLRegexData.$(OBJEXT) ACLUserData.$(OBJEXT) \
+       StatHist.$(OBJEXT) HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \
        tests/stub_errorpage.$(OBJEXT) \
        tests/stub_HttpRequest.$(OBJEXT) \
-       tests/stub_access_log.$(OBJEXT)
+       tests/stub_access_log.$(OBJEXT) wordlist.$(OBJEXT)
 am__objects_27 = tests/stub_store_rebuild.$(OBJEXT) \
        tests/stub_internal.$(OBJEXT) fd.$(OBJEXT) disk.$(OBJEXT) \
        filemap.$(OBJEXT) HttpBody.$(OBJEXT) HttpReply.$(OBJEXT) \
@@ -423,10 +445,12 @@ tests_testCoss_OBJECTS = $(am_tests_testCoss_OBJECTS)
 am__DEPENDENCIES_2 = DiskIO/Blocking/BlockingDiskIOModule.o \
        repl/lru/store_repl_lru.o
 am__objects_28 = tests/testHeader_ACL.$(OBJEXT) \
+       tests/testHeader_ConfigParser.$(OBJEXT) \
        tests/testHeader_dlink.$(OBJEXT) \
        tests/testHeader_HttpHeader.$(OBJEXT) \
        tests/testHeader_HttpHeaderRange.$(OBJEXT) \
-       tests/testHeader_HttpReply.$(OBJEXT)
+       tests/testHeader_HttpReply.$(OBJEXT) \
+       tests/testHeader_wordlist.$(OBJEXT)
 am_tests_testHeaders_OBJECTS = tests/testMain.$(OBJEXT) \
        $(am__objects_28)
 tests_testHeaders_OBJECTS = $(am_tests_testHeaders_OBJECTS)
@@ -444,20 +468,21 @@ am__tests_testNull_SOURCES_DIST = tests/testNull.cc tests/testMain.cc \
        DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
        DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
        DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
-       NullDelayId.cc NullDelayId.h CacheDigest.cc HttpMsg.cc \
-       store_dir.cc store.cc store_key_md5.cc string_arrays.c \
-       Parsing.cc ConfigOption.cc SwapDir.cc AuthScheme.cc \
-       authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
-       tests/stub_acl.cc tests/stub_cache_cf.cc tests/stub_helper.cc \
-       cbdata.cc String.cc tests/stub_cache_manager.cc \
-       tests/stub_comm.cc tests/stub_http.cc mem_node.cc stmem.cc \
-       tests/stub_mime.cc tests/stub_store_client.cc \
-       tests/stub_tools.cc HttpHeaderTools.cc HttpHeader.cc acl.cc \
-       event.cc mem.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
+       NullDelayId.cc NullDelayId.h CacheDigest.cc ConfigParser.cc \
+       HttpMsg.cc store_dir.cc store.cc store_key_md5.cc \
+       string_arrays.c Parsing.cc ConfigOption.cc SwapDir.cc \
+       AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc \
+       AuthConfig.cc tests/stub_acl.cc tests/stub_cache_cf.cc \
+       tests/stub_helper.cc cbdata.cc String.cc \
+       tests/stub_cache_manager.cc tests/stub_comm.cc \
+       tests/stub_http.cc mem_node.cc stmem.cc tests/stub_mime.cc \
+       tests/stub_store_client.cc tests/stub_tools.cc \
+       HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
        ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc HttpHdrScTarget.cc \
        url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc \
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc wordlist.cc \
        DiskIO/DiskIOModule.cc DiskIO/ReadRequest.cc \
        DiskIO/ReadRequest.h DiskIO/WriteRequest.cc \
        DiskIO/WriteRequest.h DiskIO/DiskFile.h \
@@ -479,20 +504,21 @@ am__tests_testStore_SOURCES_DIST = tests/testStore.cc \
        DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
        DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
        DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
-       NullDelayId.cc NullDelayId.h CacheDigest.cc HttpMsg.cc \
-       store_dir.cc store.cc store_key_md5.cc string_arrays.c \
-       Parsing.cc ConfigOption.cc SwapDir.cc AuthScheme.cc \
-       authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
-       tests/stub_acl.cc tests/stub_cache_cf.cc tests/stub_helper.cc \
-       cbdata.cc String.cc tests/stub_cache_manager.cc \
-       tests/stub_comm.cc tests/stub_http.cc mem_node.cc stmem.cc \
-       tests/stub_mime.cc tests/stub_store_client.cc \
-       tests/stub_tools.cc HttpHeaderTools.cc HttpHeader.cc acl.cc \
-       event.cc mem.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
+       NullDelayId.cc NullDelayId.h CacheDigest.cc ConfigParser.cc \
+       HttpMsg.cc store_dir.cc store.cc store_key_md5.cc \
+       string_arrays.c Parsing.cc ConfigOption.cc SwapDir.cc \
+       AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc \
+       AuthConfig.cc tests/stub_acl.cc tests/stub_cache_cf.cc \
+       tests/stub_helper.cc cbdata.cc String.cc \
+       tests/stub_cache_manager.cc tests/stub_comm.cc \
+       tests/stub_http.cc mem_node.cc stmem.cc tests/stub_mime.cc \
+       tests/stub_store_client.cc tests/stub_tools.cc \
+       HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
        ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc HttpHdrScTarget.cc \
        url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc wordlist.cc
 am_tests_testStore_OBJECTS = tests/testStore.$(OBJEXT) \
        tests/testStoreController.$(OBJEXT) \
        tests/testStoreHashIndex.$(OBJEXT) tests/testMain.$(OBJEXT) \
@@ -514,20 +540,21 @@ am__tests_testUfs_SOURCES_DIST = tests/testUfs.cc tests/testMain.cc \
        DelayConfig.h DelayPool.cc DelayPool.h DelayPools.h \
        DelaySpec.cc DelaySpec.h DelayTagged.cc DelayTagged.h \
        DelayUser.cc DelayUser.h DelayVector.cc DelayVector.h \
-       NullDelayId.cc NullDelayId.h CacheDigest.cc HttpMsg.cc \
-       store_dir.cc store.cc store_key_md5.cc string_arrays.c \
-       Parsing.cc ConfigOption.cc SwapDir.cc AuthScheme.cc \
-       authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
-       tests/stub_acl.cc tests/stub_cache_cf.cc tests/stub_helper.cc \
-       cbdata.cc String.cc tests/stub_cache_manager.cc \
-       tests/stub_comm.cc tests/stub_http.cc mem_node.cc stmem.cc \
-       tests/stub_mime.cc tests/stub_store_client.cc \
-       tests/stub_tools.cc HttpHeaderTools.cc HttpHeader.cc acl.cc \
-       event.cc mem.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
+       NullDelayId.cc NullDelayId.h CacheDigest.cc ConfigParser.cc \
+       HttpMsg.cc store_dir.cc store.cc store_key_md5.cc \
+       string_arrays.c Parsing.cc ConfigOption.cc SwapDir.cc \
+       AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc \
+       AuthConfig.cc tests/stub_acl.cc tests/stub_cache_cf.cc \
+       tests/stub_helper.cc cbdata.cc String.cc \
+       tests/stub_cache_manager.cc tests/stub_comm.cc \
+       tests/stub_http.cc mem_node.cc stmem.cc tests/stub_mime.cc \
+       tests/stub_store_client.cc tests/stub_tools.cc \
+       HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc MemBuf.cc HttpHdrContRange.cc Packer.cc \
        ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc HttpHdrScTarget.cc \
        url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc \
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc wordlist.cc \
        DiskIO/DiskIOModule.cc DiskIO/ReadRequest.cc \
        DiskIO/ReadRequest.h DiskIO/WriteRequest.cc \
        DiskIO/WriteRequest.h DiskIO/DiskFile.h \
@@ -670,12 +697,12 @@ SOURCES = $(libAIO_a_SOURCES) $(libBlocking_a_SOURCES) \
        $(pinger_SOURCES) $(nodist_pinger_SOURCES) \
        $(recv_announce_SOURCES) $(squid_SOURCES) \
        $(EXTRA_squid_SOURCES) $(nodist_squid_SOURCES) \
-       $(squidclient_SOURCES) $(tests_testAuth_SOURCES) \
-       $(tests_testBoilerplate_SOURCES) $(tests_testCoss_SOURCES) \
-       $(tests_testHeaders_SOURCES) $(tests_testNull_SOURCES) \
-       $(tests_testStore_SOURCES) $(tests_testUfs_SOURCES) \
-       $(ufsdump_SOURCES) $(nodist_ufsdump_SOURCES) \
-       $(unlinkd_SOURCES)
+       $(squidclient_SOURCES) $(tests_testACLMaxUserIP_SOURCES) \
+       $(tests_testAuth_SOURCES) $(tests_testBoilerplate_SOURCES) \
+       $(tests_testCoss_SOURCES) $(tests_testHeaders_SOURCES) \
+       $(tests_testNull_SOURCES) $(tests_testStore_SOURCES) \
+       $(tests_testUfs_SOURCES) $(ufsdump_SOURCES) \
+       $(nodist_ufsdump_SOURCES) $(unlinkd_SOURCES)
 DIST_SOURCES = $(libAIO_a_SOURCES) $(libBlocking_a_SOURCES) \
        $(libDiskDaemon_a_SOURCES) $(libDiskThreads_a_SOURCES) \
        $(DiskIO_DiskDaemon_diskd_SOURCES) \
@@ -683,7 +710,8 @@ DIST_SOURCES = $(libAIO_a_SOURCES) $(libBlocking_a_SOURCES) \
        $(dnsserver_SOURCES) $(pinger_SOURCES) \
        $(recv_announce_SOURCES) $(am__squid_SOURCES_DIST) \
        $(EXTRA_squid_SOURCES) $(squidclient_SOURCES) \
-       $(tests_testAuth_SOURCES) $(tests_testBoilerplate_SOURCES) \
+       $(tests_testACLMaxUserIP_SOURCES) $(tests_testAuth_SOURCES) \
+       $(tests_testBoilerplate_SOURCES) \
        $(am__tests_testCoss_SOURCES_DIST) \
        $(tests_testHeaders_SOURCES) \
        $(am__tests_testNull_SOURCES_DIST) \
@@ -1153,6 +1181,7 @@ squid_SOURCES = \
        access_log.cc \
        AccessLogEntry.h \
        acl.cc \
+       acl_noncore.cc \
        ACL.h \
        ACLChecklist.cc \
        ACLChecklist.h \
@@ -1192,6 +1221,7 @@ squid_SOURCES = \
        comm_kqueue.cc \
        CommRead.h \
        ConfigOption.cc \
+       ConfigParser.cc \
        ConfigParser.h \
        ConnectionDetail.h \
        debug.cc \
@@ -1351,6 +1381,8 @@ squid_SOURCES = \
        wais.cc \
        wccp.cc \
        whois.cc \
+       wordlist.cc \
+       wordlist.h \
        $(WIN32_SOURCE)
 
 noinst_HEADERS = ACLChecklist.cci \
@@ -1691,6 +1723,7 @@ TESTSOURCES = \
 
 tests_testAuth_SOURCES = tests/testAuth.cc tests/testMain.cc  tests/testAuth.h $(TESTSOURCES) \
        AuthScheme.cc authenticate.cc AuthUser.cc AuthUserRequest.cc AuthConfig.cc \
+       ConfigParser.cc \
        tests/stub_acl.cc tests/stub_cache_cf.cc \
        tests/stub_helper.cc cbdata.cc String.cc tests/stub_cache_manager.cc \
        tests/stub_store.cc HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
@@ -1704,7 +1737,8 @@ tests_testAuth_SOURCES = tests/testAuth.cc tests/testMain.cc  tests/testAuth.h $
        tests/stub_http.cc \
        HttpMsg.cc \
        tests/stub_mime.cc \
-       tests/stub_access_log.cc
+       tests/stub_access_log.cc \
+       wordlist.cc
 
 tests_testAuth_LDADD = \
        @AUTH_LINKOBJS@ @AUTH_OBJS@ \
@@ -1718,6 +1752,51 @@ tests_testAuth_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a \
        @AUTH_OBJS@ \
        @SQUID_CPPUNIT_LA@
 
+tests_testACLMaxUserIP_SOURCES = \
+       acl.cc \
+       ACLChecklist.cc \
+       ACLMaxUserIP.cc \
+       ACLProxyAuth.cc \
+       ACLRegexData.cc \
+       ACLUserData.cc \
+       authenticate.cc \
+       AuthConfig.cc \
+       AuthUser.cc \
+       AuthUserRequest.cc \
+       AuthScheme.cc \
+       cbdata.cc \
+       ConfigParser.cc \
+       event.cc \
+       ETag.cc \
+       HttpHeader.cc \
+       HttpHeaderTools.cc \
+       HttpHdrContRange.cc \
+       HttpHdrRange.cc \
+       HttpHdrCc.cc \
+       HttpHdrSc.cc \
+       HttpHdrScTarget.cc \
+       Packer.cc \
+       StatHist.cc \
+       String.cc \
+       tests/stub_cache_manager.cc \
+       tests/stub_store.cc \
+       tests/testACLMaxUserIP.cc \
+       tests/testACLMaxUserIP.h \
+       tests/testMain.cc \
+       mem.cc \
+       MemBuf.cc \
+       wordlist.cc \
+       $(TESTSOURCES)
+
+tests_testACLMaxUserIP_LDADD = \
+       -L../lib -lmiscutil \
+       @SQUID_CPPUNIT_LA@ \
+       @SSLLIB@
+
+tests_testACLMaxUserIP_LDFLAGS = $(LIBADD_DL)
+tests_testACLMaxUserIP_DEPENDENCIES = \
+       @SQUID_CPPUNIT_LA@
+
 tests_testBoilerplate_SOURCES = tests/testBoilerplate.cc tests/testMain.cc tests/testBoilerplate.h $(TESTSOURCES)
 tests_testBoilerplate_LDADD = \
        -L../lib -lmiscutil \
@@ -1730,10 +1809,12 @@ tests_testBoilerplate_DEPENDENCIES = \
 
 HEADERS_TO_TEST = \
        tests/testHeader_ACL.cc \
+       tests/testHeader_ConfigParser.cc \
        tests/testHeader_dlink.cc \
        tests/testHeader_HttpHeader.cc \
        tests/testHeader_HttpHeaderRange.cc \
-       tests/testHeader_HttpReply.cc
+       tests/testHeader_HttpReply.cc \
+       tests/testHeader_wordlist.cc
 
 tests_testHeaders_SOURCES = tests/testMain.cc $(HEADERS_TO_TEST)
 tests_testHeaders_LDADD = \
@@ -1750,6 +1831,7 @@ STORE_TEST_SOURCES = \
        $(TESTSOURCES) \
        $(DELAY_POOL_SOURCE) \
        CacheDigest.cc \
+       ConfigParser.cc \
        HttpMsg.cc \
        store_dir.cc \
        store.cc \
@@ -1769,10 +1851,12 @@ STORE_TEST_SOURCES = \
        tests/stub_store_client.cc \
        tests/stub_tools.cc \
        HttpHeaderTools.cc HttpHeader.cc acl.cc event.cc mem.cc \
+       acl_noncore.cc \
        MemBuf.cc HttpHdrContRange.cc Packer.cc ACLChecklist.cc HttpHdrCc.cc HttpHdrSc.cc \
        HttpHdrScTarget.cc url.cc ACLProxyAuth.cc ACLRegexData.cc ACLUserData.cc \
        StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \
-       tests/stub_HttpRequest.cc tests/stub_access_log.cc
+       tests/stub_HttpRequest.cc tests/stub_access_log.cc \
+       wordlist.cc
 
 tests_testStore_SOURCES = tests/testStore.cc \
        tests/testStoreController.cc \
@@ -2217,7 +2301,11 @@ tests/$(am__dirstamp):
 tests/$(DEPDIR)/$(am__dirstamp):
        @$(mkdir_p) tests/$(DEPDIR)
        @: > tests/$(DEPDIR)/$(am__dirstamp)
-tests/testAuth.$(OBJEXT): tests/$(am__dirstamp) \
+tests/stub_cache_manager.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
+tests/stub_store.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
+tests/testACLMaxUserIP.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/testMain.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
@@ -2229,16 +2317,17 @@ tests/testMain.$(OBJEXT): tests/$(am__dirstamp) \
        @: > ../test-suite/$(DEPDIR)/$(am__dirstamp)
 ../test-suite/test_tools.$(OBJEXT): ../test-suite/$(am__dirstamp) \
        ../test-suite/$(DEPDIR)/$(am__dirstamp)
+tests/testACLMaxUserIP$(EXEEXT): $(tests_testACLMaxUserIP_OBJECTS) $(tests_testACLMaxUserIP_DEPENDENCIES) tests/$(am__dirstamp)
+       @rm -f tests/testACLMaxUserIP$(EXEEXT)
+       $(CXXLINK) $(tests_testACLMaxUserIP_LDFLAGS) $(tests_testACLMaxUserIP_OBJECTS) $(tests_testACLMaxUserIP_LDADD) $(LIBS)
+tests/testAuth.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
 tests/stub_acl.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/stub_cache_cf.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/stub_helper.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_cache_manager.$(OBJEXT): tests/$(am__dirstamp) \
-       tests/$(DEPDIR)/$(am__dirstamp)
-tests/stub_store.$(OBJEXT): tests/$(am__dirstamp) \
-       tests/$(DEPDIR)/$(am__dirstamp)
 tests/stub_errorpage.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/stub_HttpRequest.$(OBJEXT): tests/$(am__dirstamp) \
@@ -2278,6 +2367,8 @@ tests/testCoss$(EXEEXT): $(tests_testCoss_OBJECTS) $(tests_testCoss_DEPENDENCIES
        $(CXXLINK) $(tests_testCoss_LDFLAGS) $(tests_testCoss_OBJECTS) $(tests_testCoss_LDADD) $(LIBS)
 tests/testHeader_ACL.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
+tests/testHeader_ConfigParser.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
 tests/testHeader_dlink.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/testHeader_HttpHeader.$(OBJEXT): tests/$(am__dirstamp) \
@@ -2286,6 +2377,8 @@ tests/testHeader_HttpHeaderRange.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
 tests/testHeader_HttpReply.$(OBJEXT): tests/$(am__dirstamp) \
        tests/$(DEPDIR)/$(am__dirstamp)
+tests/testHeader_wordlist.$(OBJEXT): tests/$(am__dirstamp) \
+       tests/$(DEPDIR)/$(am__dirstamp)
 tests/testHeaders$(EXEEXT): $(tests_testHeaders_OBJECTS) $(tests_testHeaders_DEPENDENCIES) tests/$(am__dirstamp)
        @rm -f tests/testHeaders$(EXEEXT)
        $(CXXLINK) $(tests_testHeaders_LDFLAGS) $(tests_testHeaders_OBJECTS) $(tests_testHeaders_LDADD) $(LIBS)
@@ -2374,14 +2467,17 @@ mostlyclean-compile:
        -rm -f tests/stub_store_rebuild.$(OBJEXT)
        -rm -f tests/stub_store_swapout.$(OBJEXT)
        -rm -f tests/stub_tools.$(OBJEXT)
+       -rm -f tests/testACLMaxUserIP.$(OBJEXT)
        -rm -f tests/testAuth.$(OBJEXT)
        -rm -f tests/testBoilerplate.$(OBJEXT)
        -rm -f tests/testCoss.$(OBJEXT)
        -rm -f tests/testHeader_ACL.$(OBJEXT)
+       -rm -f tests/testHeader_ConfigParser.$(OBJEXT)
        -rm -f tests/testHeader_HttpHeader.$(OBJEXT)
        -rm -f tests/testHeader_HttpHeaderRange.$(OBJEXT)
        -rm -f tests/testHeader_HttpReply.$(OBJEXT)
        -rm -f tests/testHeader_dlink.$(OBJEXT)
+       -rm -f tests/testHeader_wordlist.$(OBJEXT)
        -rm -f tests/testMain.$(OBJEXT)
        -rm -f tests/testNull.$(OBJEXT)
        -rm -f tests/testStore.$(OBJEXT)
@@ -2437,6 +2533,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CacheDigest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ClientBody.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigOption.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigParser.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DelayBucket.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DelayConfig.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DelayId.Po@am__quote@
@@ -2495,6 +2592,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SwapDir.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access_log.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl_noncore.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/authenticate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_cf.Po@am__quote@
@@ -2591,6 +2689,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wccp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/whois.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wordlist.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/$(DEPDIR)/DiskIOModule.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/$(DEPDIR)/ReadRequest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/$(DEPDIR)/WriteRequest.Po@am__quote@
@@ -2639,14 +2738,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_store_rebuild.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_store_swapout.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_tools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testACLMaxUserIP.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testAuth.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testBoilerplate.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testCoss.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_ACL.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_ConfigParser.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_HttpHeader.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_HttpHeaderRange.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_HttpReply.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_dlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testHeader_wordlist.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testMain.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testNull.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testStore.Po@am__quote@
index 4a847c506efb38ac287fb6e6ec925ec7d2752a4b..3964ca5af4ed3f3f9c0e432e9b37c644a1513cb2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: acl.cc,v 1.317 2006/04/22 13:53:21 robertc Exp $
+ * $Id: acl.cc,v 1.318 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -36,6 +36,7 @@
 #include "ACL.h"
 #include "ACLChecklist.h"
 #include "HttpRequest.h"
+#include "ConfigParser.h"
 
 const char *AclMatchedName = NULL;
 
@@ -78,7 +79,7 @@ ACL::Factory (char const *type)
     return result;
 }
 
-ACL::ACL () {}
+ACL::ACL () :cfgline(NULL) {}
 
 bool ACL::valid () const
 {
@@ -98,7 +99,7 @@ ACL::ParseAclLine(ACL ** head)
 
     if ((t = strtok(NULL, w_space)) == NULL) {
         debug(28, 0) ("aclParseAclLine: missing ACL name.\n");
-        self_destruct();
+        ConfigParser::Destruct();
         return;
     }
 
@@ -108,13 +109,13 @@ ACL::ParseAclLine(ACL ** head)
 
     if ((theType = strtok(NULL, w_space)) == NULL) {
         debug(28, 0) ("aclParseAclLine: missing ACL type.\n");
-        self_destruct();
+        ConfigParser::Destruct();
         return;
     }
 
     if (!Prototype::Registered (theType)) {
         debug(28, 0) ("aclParseAclLine: Invalid ACL type '%s'\n", theType);
-        self_destruct();
+        ConfigParser::Destruct();
         return;
     }
 
@@ -127,7 +128,7 @@ ACL::ParseAclLine(ACL ** head)
     } else {
         if (strcmp (A->typeString(),theType) ) {
             debug(28, 0) ("aclParseAclLine: ACL '%s' already exists with different type.\n", A->name);
-            self_destruct();
+            ConfigParser::Destruct();
             return;
         }
 
@@ -169,180 +170,12 @@ ACL::ParseAclLine(ACL ** head)
     *head = A;
 }
 
-/* does name lookup, returns page_id */
-err_type
-aclGetDenyInfoPage(acl_deny_info_list ** head, const char *name)
-{
-    acl_deny_info_list *A = NULL;
-    acl_name_list *L = NULL;
-
-    debug(28,9)("aclGetDenyInfoPage: got called for %s\n",name);
-
-    A = *head;
-
-    if (NULL == *head) {               /* empty list */
-        debug(28,9)("aclGetDenyInfoPage: called for an empty list\n");
-        return ERR_NONE;
-    }
-
-    while (A) {
-        L = A->acl_list;
-
-        if (NULL == L) {               /* empty list should never happen, but in case */
-            debug(28,3)("aclGetDenyInfoPage: "
-                        "WARNING, unexpected codepath taken\n");
-            continue;
-        }
-
-        while (L) {
-            if (!strcmp(name, L->name)) {
-                debug(28,8)("aclGetDenyInfoPage: match on %s\n",name);
-                return A->err_page_id;
-            }
-
-            L = L->next;
-        }
-
-        A = A->next;
-    }
-
-    debug(28,8)("aclGetDenyInfoPage: no match\n");
-    return ERR_NONE;
-}
-
-/* does name lookup, returns if it is a proxy_auth acl */
-int
-aclIsProxyAuth(const char *name)
-{
-    debug(28,5)("aclIsProxyAuth: called for %s\n",name);
-
-    if (NULL == name)
-        return false;
-
-    ACL *a;
-
-    if ((a = ACL::FindByName(name))) {
-        debug(28,5)("aclIsProxyAuth: returning %d\n",a->isProxyAuth());
-        return a->isProxyAuth();
-    }
-
-    debug(28,3)("aclIsProxyAuth: WARNING, called for nonexistent ACL\n");
-    return false;
-}
-
 bool
 ACL::isProxyAuth() const
 {
     return false;
 }
 
-/* maex@space.net (05.09.96)
- *    get the info for redirecting "access denied" to info pages
- *      TODO (probably ;-)
- *      currently there is no optimization for
- *      - more than one deny_info line with the same url
- *      - a check, whether the given acl really is defined
- *      - a check, whether an acl is added more than once for the same url
- */
-
-void
-aclParseDenyInfoLine(acl_deny_info_list ** head)
-{
-    char *t = NULL;
-    acl_deny_info_list *A = NULL;
-    acl_deny_info_list *B = NULL;
-    acl_deny_info_list **T = NULL;
-    acl_name_list *L = NULL;
-    acl_name_list **Tail = NULL;
-
-    /* first expect a page name */
-
-    if ((t = strtok(NULL, w_space)) == NULL) {
-        debug(28, 0) ("aclParseDenyInfoLine: %s line %d: %s\n",
-                      cfg_filename, config_lineno, config_input_line);
-        debug(28, 0) ("aclParseDenyInfoLine: missing 'error page' parameter.\n");
-        return;
-    }
-
-    A = (acl_deny_info_list *)memAllocate(MEM_ACL_DENY_INFO_LIST);
-    A->err_page_id = errorReservePageId(t);
-    A->err_page_name = xstrdup(t);
-    A->next = (acl_deny_info_list *) NULL;
-    /* next expect a list of ACL names */
-    Tail = &A->acl_list;
-
-    while ((t = strtok(NULL, w_space))) {
-        L = (acl_name_list *)memAllocate(MEM_ACL_NAME_LIST);
-        xstrncpy(L->name, t, ACL_NAME_SZ);
-        *Tail = L;
-        Tail = &L->next;
-    }
-
-    if (A->acl_list == NULL) {
-        debug(28, 0) ("aclParseDenyInfoLine: %s line %d: %s\n",
-                      cfg_filename, config_lineno, config_input_line);
-        debug(28, 0) ("aclParseDenyInfoLine: deny_info line contains no ACL's, skipping\n");
-        memFree(A, MEM_ACL_DENY_INFO_LIST);
-        return;
-    }
-
-    for (B = *head, T = head; B; T = &B->next, B = B->next)
-
-        ;      /* find the tail */
-    *T = A;
-}
-
-void
-aclParseAccessLine(acl_access ** head)
-{
-    char *t = NULL;
-    acl_access *A = NULL;
-    acl_access *B = NULL;
-    acl_access **T = NULL;
-
-    /* first expect either 'allow' or 'deny' */
-
-    if ((t = strtok(NULL, w_space)) == NULL) {
-        debug(28, 0) ("aclParseAccessLine: %s line %d: %s\n",
-                      cfg_filename, config_lineno, config_input_line);
-        debug(28, 0) ("aclParseAccessLine: missing 'allow' or 'deny'.\n");
-        return;
-    }
-
-    A = new acl_access;
-
-    if (!strcmp(t, "allow"))
-        A->allow = ACCESS_ALLOWED;
-    else if (!strcmp(t, "deny"))
-        A->allow = ACCESS_DENIED;
-    else {
-        debug(28, 0) ("aclParseAccessLine: %s line %d: %s\n",
-                      cfg_filename, config_lineno, config_input_line);
-        debug(28, 0) ("aclParseAccessLine: expecting 'allow' or 'deny', got '%s'.\n", t);
-        delete A;
-        return;
-    }
-
-    aclParseAclList(&A->aclList);
-
-    if (A->aclList == NULL) {
-        debug(28, 0) ("%s line %d: %s\n",
-                      cfg_filename, config_lineno, config_input_line);
-        debug(28, 0) ("aclParseAccessLine: Access line contains no ACL's, skipping\n");
-        delete A;
-        return;
-    }
-
-    A->cfgline = xstrdup(config_input_line);
-    /* Append to the end of this list */
-
-    for (B = *head, T = head; B; T = &B->next, B = B->next)
-
-        ;
-    *T = A;
-
-    /* We lock _acl_access structures in ACLChecklist::check() */
-}
 
 ACLList::ACLList() : op (1), _acl (NULL), next (NULL)
 {}
@@ -356,40 +189,6 @@ ACLList::negated(bool isNegated)
         op = 1;
 }
 
-void
-aclParseAclList(acl_list ** head)
-{
-    acl_list **Tail = head;    /* sane name in the use below */
-    ACL *a = NULL;
-    char *t;
-
-    /* next expect a list of ACL names, possibly preceeded
-     * by '!' for negation */
-
-    while ((t = strtok(NULL, w_space))) {
-        acl_list *L = new ACLList;
-
-        if (*t == '!') {
-            L->negated (true);
-            t++;
-        }
-
-        debug(28, 3) ("aclParseAccessLine: looking for ACL name '%s'\n", t);
-        a = ACL::FindByName(t);
-
-        if (a == NULL) {
-            debug(28, 0) ("aclParseAccessLine: ACL name '%s' not found.\n", t);
-            delete L;
-            self_destruct();
-            continue;
-        }
-
-        L->_acl = a;
-        *Tail = L;
-        Tail = &L->next;
-    }
-}
-
 /* ACL result caching routines */
 
 int
@@ -513,96 +312,12 @@ ACLList::matches (ACLChecklist *checklist) const
 /* Destroy functions */
 /*********************/
 
-void
-aclDestroyAcls(ACL ** head)
-{
-    ACL *next = NULL;
-
-    debug(28,8)("aclDestroyACLs: invoked\n");
-
-    for (ACL *a = *head; a; a = next) {
-        next = a->next;
-        delete a;
-    }
-
-    *head = NULL;
-}
-
 ACL::~ACL()
 {
     debug(28, 3) ("ACL::~ACL: '%s'\n", cfgline);
     safe_free(cfgline);
 }
 
-void
-aclDestroyAclList(acl_list ** head)
-{
-    acl_list *l;
-    debug(28,8)("aclDestroyAclList: invoked\n");
-
-    for (l = *head; l; l = *head) {
-        *head = l->next;
-        delete l;
-    }
-}
-
-void
-aclDestroyAccessList(acl_access ** list)
-{
-    acl_access *l = NULL;
-    acl_access *next = NULL;
-
-    for (l = *list; l; l = next) {
-        debug(28, 3) ("aclDestroyAccessList: '%s'\n", l->cfgline);
-        next = l->next;
-        aclDestroyAclList(&l->aclList);
-        safe_free(l->cfgline);
-        cbdataFree(l);
-    }
-
-    *list = NULL;
-}
-
-/* maex@space.net (06.09.1996)
- *    destroy an _acl_deny_info_list */
-
-void
-aclDestroyDenyInfoList(acl_deny_info_list ** list)
-{
-    acl_deny_info_list *a = NULL;
-    acl_deny_info_list *a_next = NULL;
-    acl_name_list *l = NULL;
-    acl_name_list *l_next = NULL;
-
-    debug(28,8)("aclDestroyDenyInfoList: invoked\n");
-
-    for (a = *list; a; a = a_next) {
-        for (l = a->acl_list; l; l = l_next) {
-            l_next = l->next;
-            safe_free(l);
-        }
-
-        a_next = a->next;
-        xfree(a->err_page_name);
-        memFree(a, MEM_ACL_DENY_INFO_LIST);
-    }
-
-    *list = NULL;
-}
-
-/*
- * This function traverses all ACL elements referenced
- * by an access list (presumably 'http_access').   If 
- * it finds a PURGE method ACL, then it returns TRUE,
- * otherwise FALSE.
- */
-/* XXX: refactor this more sensibly. perhaps have the parser detect it ? */
-int
-aclPurgeMethodInUse(acl_access * a)
-{
-    return a->containsPURGE();
-}
-
 #include "ACLStrategised.h"
 bool
 acl_access::containsPURGE() const
diff --git a/src/acl_noncore.cc b/src/acl_noncore.cc
new file mode 100644 (file)
index 0000000..57e4401
--- /dev/null
@@ -0,0 +1,340 @@
+/*
+ * $Id: acl_noncore.cc,v 1.1 2006/04/23 11:10:31 robertc Exp $
+ *
+ * DEBUG: section 28    Access Control
+ * AUTHOR: Duane Wessels
+ *
+ * This file contains ACL routines that are not part of the 
+ * ACL class, nor any other class yet, and that need to be
+ * factored into appropriate places. They are here to reduce 
+ * unneeded dependencies between the ACL class and the rest
+ * of squid.
+ * 
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  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 of the License, 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, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ */
+
+#include "squid.h"
+#include "ACL.h"
+#include "ACLChecklist.h"
+#include "HttpRequest.h"
+#include "ConfigParser.h"
+
+
+/* does name lookup, returns page_id */
+err_type
+aclGetDenyInfoPage(acl_deny_info_list ** head, const char *name)
+{
+    acl_deny_info_list *A = NULL;
+    acl_name_list *L = NULL;
+
+    debug(28,9)("aclGetDenyInfoPage: got called for %s\n",name);
+
+    A = *head;
+
+    if (NULL == *head) {               /* empty list */
+        debug(28,9)("aclGetDenyInfoPage: called for an empty list\n");
+        return ERR_NONE;
+    }
+
+    while (A) {
+        L = A->acl_list;
+
+        if (NULL == L) {               /* empty list should never happen, but in case */
+            debug(28,3)("aclGetDenyInfoPage: "
+                        "WARNING, unexpected codepath taken\n");
+            continue;
+        }
+
+        while (L) {
+            if (!strcmp(name, L->name)) {
+                debug(28,8)("aclGetDenyInfoPage: match on %s\n",name);
+                return A->err_page_id;
+            }
+
+            L = L->next;
+        }
+
+        A = A->next;
+    }
+
+    debug(28,8)("aclGetDenyInfoPage: no match\n");
+    return ERR_NONE;
+}
+
+/* does name lookup, returns if it is a proxy_auth acl */
+int
+aclIsProxyAuth(const char *name)
+{
+    debug(28,5)("aclIsProxyAuth: called for %s\n",name);
+
+    if (NULL == name)
+        return false;
+
+    ACL *a;
+
+    if ((a = ACL::FindByName(name))) {
+        debug(28,5)("aclIsProxyAuth: returning %d\n",a->isProxyAuth());
+        return a->isProxyAuth();
+    }
+
+    debug(28,3)("aclIsProxyAuth: WARNING, called for nonexistent ACL\n");
+    return false;
+}
+
+
+/* maex@space.net (05.09.96)
+ *    get the info for redirecting "access denied" to info pages
+ *      TODO (probably ;-)
+ *      currently there is no optimization for
+ *      - more than one deny_info line with the same url
+ *      - a check, whether the given acl really is defined
+ *      - a check, whether an acl is added more than once for the same url
+ */
+
+void
+aclParseDenyInfoLine(acl_deny_info_list ** head)
+{
+    char *t = NULL;
+    acl_deny_info_list *A = NULL;
+    acl_deny_info_list *B = NULL;
+    acl_deny_info_list **T = NULL;
+    acl_name_list *L = NULL;
+    acl_name_list **Tail = NULL;
+
+    /* first expect a page name */
+
+    if ((t = strtok(NULL, w_space)) == NULL) {
+        debug(28, 0) ("aclParseDenyInfoLine: %s line %d: %s\n",
+                      cfg_filename, config_lineno, config_input_line);
+        debug(28, 0) ("aclParseDenyInfoLine: missing 'error page' parameter.\n");
+        return;
+    }
+
+    A = (acl_deny_info_list *)memAllocate(MEM_ACL_DENY_INFO_LIST);
+    A->err_page_id = errorReservePageId(t);
+    A->err_page_name = xstrdup(t);
+    A->next = (acl_deny_info_list *) NULL;
+    /* next expect a list of ACL names */
+    Tail = &A->acl_list;
+
+    while ((t = strtok(NULL, w_space))) {
+        L = (acl_name_list *)memAllocate(MEM_ACL_NAME_LIST);
+        xstrncpy(L->name, t, ACL_NAME_SZ);
+        *Tail = L;
+        Tail = &L->next;
+    }
+
+    if (A->acl_list == NULL) {
+        debug(28, 0) ("aclParseDenyInfoLine: %s line %d: %s\n",
+                      cfg_filename, config_lineno, config_input_line);
+        debug(28, 0) ("aclParseDenyInfoLine: deny_info line contains no ACL's, skipping\n");
+        memFree(A, MEM_ACL_DENY_INFO_LIST);
+        return;
+    }
+
+    for (B = *head, T = head; B; T = &B->next, B = B->next)
+
+        ;      /* find the tail */
+    *T = A;
+}
+
+void
+aclParseAccessLine(acl_access ** head)
+{
+    char *t = NULL;
+    acl_access *A = NULL;
+    acl_access *B = NULL;
+    acl_access **T = NULL;
+
+    /* first expect either 'allow' or 'deny' */
+
+    if ((t = strtok(NULL, w_space)) == NULL) {
+        debug(28, 0) ("aclParseAccessLine: %s line %d: %s\n",
+                      cfg_filename, config_lineno, config_input_line);
+        debug(28, 0) ("aclParseAccessLine: missing 'allow' or 'deny'.\n");
+        return;
+    }
+
+    A = new acl_access;
+
+    if (!strcmp(t, "allow"))
+        A->allow = ACCESS_ALLOWED;
+    else if (!strcmp(t, "deny"))
+        A->allow = ACCESS_DENIED;
+    else {
+        debug(28, 0) ("aclParseAccessLine: %s line %d: %s\n",
+                      cfg_filename, config_lineno, config_input_line);
+        debug(28, 0) ("aclParseAccessLine: expecting 'allow' or 'deny', got '%s'.\n", t);
+        delete A;
+        return;
+    }
+
+    aclParseAclList(&A->aclList);
+
+    if (A->aclList == NULL) {
+        debug(28, 0) ("%s line %d: %s\n",
+                      cfg_filename, config_lineno, config_input_line);
+        debug(28, 0) ("aclParseAccessLine: Access line contains no ACL's, skipping\n");
+        delete A;
+        return;
+    }
+
+    A->cfgline = xstrdup(config_input_line);
+    /* Append to the end of this list */
+
+    for (B = *head, T = head; B; T = &B->next, B = B->next)
+
+        ;
+    *T = A;
+
+    /* We lock _acl_access structures in ACLChecklist::check() */
+}
+
+void
+aclParseAclList(acl_list ** head)
+{
+    acl_list **Tail = head;    /* sane name in the use below */
+    ACL *a = NULL;
+    char *t;
+
+    /* next expect a list of ACL names, possibly preceeded
+     * by '!' for negation */
+
+    while ((t = strtok(NULL, w_space))) {
+        acl_list *L = new ACLList;
+
+        if (*t == '!') {
+            L->negated (true);
+            t++;
+        }
+
+        debug(28, 3) ("aclParseAccessLine: looking for ACL name '%s'\n", t);
+        a = ACL::FindByName(t);
+
+        if (a == NULL) {
+            debug(28, 0) ("aclParseAccessLine: ACL name '%s' not found.\n", t);
+            delete L;
+            ConfigParser::Destruct();
+            continue;
+        }
+
+        L->_acl = a;
+        *Tail = L;
+        Tail = &L->next;
+    }
+}
+
+
+
+/*********************/
+/* Destroy functions */
+/*********************/
+
+void
+aclDestroyAcls(ACL ** head)
+{
+    ACL *next = NULL;
+
+    debug(28,8)("aclDestroyACLs: invoked\n");
+
+    for (ACL *a = *head; a; a = next) {
+        next = a->next;
+        delete a;
+    }
+
+    *head = NULL;
+}
+
+void
+aclDestroyAclList(acl_list ** head)
+{
+    acl_list *l;
+    debug(28,8)("aclDestroyAclList: invoked\n");
+
+    for (l = *head; l; l = *head) {
+        *head = l->next;
+        delete l;
+    }
+}
+
+void
+aclDestroyAccessList(acl_access ** list)
+{
+    acl_access *l = NULL;
+    acl_access *next = NULL;
+
+    for (l = *list; l; l = next) {
+        debug(28, 3) ("aclDestroyAccessList: '%s'\n", l->cfgline);
+        next = l->next;
+        aclDestroyAclList(&l->aclList);
+        safe_free(l->cfgline);
+        cbdataFree(l);
+    }
+
+    *list = NULL;
+}
+
+/* maex@space.net (06.09.1996)
+ *    destroy an _acl_deny_info_list */
+
+void
+aclDestroyDenyInfoList(acl_deny_info_list ** list)
+{
+    acl_deny_info_list *a = NULL;
+    acl_deny_info_list *a_next = NULL;
+    acl_name_list *l = NULL;
+    acl_name_list *l_next = NULL;
+
+    debug(28,8)("aclDestroyDenyInfoList: invoked\n");
+
+    for (a = *list; a; a = a_next) {
+        for (l = a->acl_list; l; l = l_next) {
+            l_next = l->next;
+            safe_free(l);
+        }
+
+        a_next = a->next;
+        xfree(a->err_page_name);
+        memFree(a, MEM_ACL_DENY_INFO_LIST);
+    }
+
+    *list = NULL;
+}
+
+/*
+ * This function traverses all ACL elements referenced
+ * by an access list (presumably 'http_access').   If 
+ * it finds a PURGE method ACL, then it returns TRUE,
+ * otherwise FALSE.
+ */
+/* XXX: refactor this more sensibly. perhaps have the parser detect it ? */
+int
+aclPurgeMethodInUse(acl_access * a)
+{
+    return a->containsPURGE();
+}
index f2b64f4f32221ed3726225a3497a42156612402c..fc5c338c9ed26738b0000d924b5272ec6bc6523c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: asn.cc,v 1.103 2006/02/17 18:10:59 wessels Exp $
+ * $Id: asn.cc,v 1.104 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 53    AS Number handling
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -45,6 +45,7 @@
 #include "ACLDestinationIP.h"
 #include "HttpReply.h"
 #include "forward.h"
+#include "wordlist.h"
 
 #define WHOIS_PORT 43
 #define        AS_REQBUF_SZ    4096
index 14aaf6e8b85cf050a9a76a6dec9f4b91b6e17a64..84217c87f8b6cf5ef0a66317680f5b7d7f0bceea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: auth_basic.cc,v 1.39 2005/11/04 23:09:44 hno Exp $
+ * $Id: auth_basic.cc,v 1.40 2006/04/23 11:10:32 robertc Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Duane Wessels
@@ -43,6 +43,7 @@
 #include "Store.h"
 #include "HttpReply.h"
 #include "basicScheme.h"
+#include "wordlist.h"
 
 static void
 authenticateStateFree(AuthenticateStateData * r)
index 9df9f1a70da93b7085d8e90a2e4d7b3c9519686c..c8a5e1722fc4140977d4c7c17c476ea3542787d1 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_digest.cc,v 1.43 2005/04/24 14:00:52 serassio Exp $
+ * $Id: auth_digest.cc,v 1.44 2006/04/23 11:10:33 robertc Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Robert Collins
@@ -45,6 +45,7 @@
 #include "Store.h"
 #include "HttpRequest.h"
 #include "HttpReply.h"
+#include "wordlist.h"
 /* TODO don't include this */
 #include "digestScheme.h"
 
index 571fe0d6d60e42b12a725478ffb43056f25818e5..693cd56343d2eb5c96f811f27914021e44ce5a2b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_negotiate.cc,v 1.6 2005/11/06 22:50:25 hno Exp $
+ * $Id: auth_negotiate.cc,v 1.7 2006/04/23 11:10:33 robertc Exp $
  *
  * DEBUG: section 29    Negotiate Authenticator
  * AUTHOR: Robert Collins, Henrik Nordstrom, Francesco Chemolli
@@ -47,6 +47,7 @@
 #include "HttpRequest.h"
 /* TODO remove this include */
 #include "negotiateScheme.h"
+#include "wordlist.h"
 
 static void
 authenticateNegotiateReleaseServer(auth_user_request_t * auth_user_request);
index 5dd45232e13c46ba4020d7cad59898bf821478ab..853db18100055f931c87586f5cee855d105ceb84 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_ntlm.cc,v 1.55 2006/02/26 15:08:32 serassio Exp $
+ * $Id: auth_ntlm.cc,v 1.56 2006/04/23 11:10:34 robertc Exp $
  *
  * DEBUG: section 29    NTLM Authenticator
  * AUTHOR: Robert Collins, Henrik Nordstrom, Francesco Chemolli
@@ -47,6 +47,7 @@
 #include "HttpRequest.h"
 /* TODO remove this include */
 #include "ntlmScheme.h"
+#include "wordlist.h"
 
 static void
 authenticateNTLMReleaseServer(auth_user_request_t * auth_user_request);
index 988d699ecc2546073b6692b266043f5b4bfa4523..e6a7ec0532bef06b6dbe554215f73fe296d69d4b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.cc,v 1.489 2006/04/22 01:53:52 hno Exp $
+ * $Id: cache_cf.cc,v 1.490 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -44,6 +44,7 @@
 #include "StoreFileSystem.h"
 #include "Parsing.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 #if SQUID_SNMP
 #include "snmp.h"
@@ -147,84 +148,7 @@ static void parse_b_size_t(size_t * var);
 void
 self_destruct(void)
 {
-    shutting_down = 1;
-    fatalf("Bungled %s line %d: %s",
-           cfg_filename, config_lineno, config_input_line);
-}
-
-void
-wordlistDestroy(wordlist ** list)
-{
-    wordlist *w = NULL;
-
-    while ((w = *list) != NULL) {
-        *list = w->next;
-        safe_free(w->key);
-        memFree(w, MEM_WORDLIST);
-    }
-
-    *list = NULL;
-}
-
-const char *
-wordlistAdd(wordlist ** list, const char *key)
-{
-    while (*list)
-        list = &(*list)->next;
-
-    *list = static_cast<wordlist *>(memAllocate(MEM_WORDLIST));
-
-    (*list)->key = xstrdup(key);
-
-    (*list)->next = NULL;
-
-    return (*list)->key;
-}
-
-void
-wordlistJoin(wordlist ** list, wordlist ** wl)
-{
-    while (*list)
-        list = &(*list)->next;
-
-    *list = *wl;
-
-    *wl = NULL;
-}
-
-void
-wordlistAddWl(wordlist ** list, wordlist * wl)
-{
-    while (*list)
-        list = &(*list)->next;
-
-    for (; wl; wl = wl->next, list = &(*list)->next) {
-        *list = static_cast<wordlist *>(memAllocate(MEM_WORDLIST));
-        (*list)->key = xstrdup(wl->key);
-        (*list)->next = NULL;
-    }
-}
-
-void
-wordlistCat(const wordlist * w, MemBuf * mb)
-{
-    while (NULL != w) {
-        mb->Printf("%s\n", w->key);
-        w = w->next;
-    }
-}
-
-wordlist *
-wordlistDup(const wordlist * w)
-{
-    wordlist *D = NULL;
-
-    while (NULL != w) {
-        wordlistAdd(&D, w->key);
-        w = w->next;
-    }
-
-    return D;
+    ConfigParser::Destruct();
 }
 
 /*
@@ -3111,76 +3035,7 @@ requirePathnameExists(const char *name, const char *path)
 char *
 strtokFile(void)
 {
-    static int fromFile = 0;
-    static FILE *wordFile = NULL;
-
-    char *t, *fn;
-    LOCAL_ARRAY(char, buf, 256);
-
-strtok_again:
-
-    if (!fromFile) {
-        t = (strtok(NULL, w_space));
-
-        if (!t || *t == '#') {
-            return NULL;
-        } else if (*t == '\"' || *t == '\'') {
-            /* quote found, start reading from file */
-            fn = ++t;
-
-            while (*t && *t != '\"' && *t != '\'')
-                t++;
-
-            *t = '\0';
-
-            if ((wordFile = fopen(fn, "r")) == NULL) {
-                debug(28, 0) ("strtokFile: %s not found\n", fn);
-                return (NULL);
-            }
-
-#ifdef _SQUID_WIN32_
-            setmode(fileno(wordFile), O_TEXT);
-
-#endif
-
-            fromFile = 1;
-        } else {
-            return t;
-        }
-    }
-
-    /* fromFile */
-    if (fgets(buf, 256, wordFile) == NULL) {
-        /* stop reading from file */
-        fclose(wordFile);
-        wordFile = NULL;
-        fromFile = 0;
-        goto strtok_again;
-    } else {
-        char *t2, *t3;
-        t = buf;
-        /* skip leading and trailing white space */
-        t += strspn(buf, w_space);
-        t2 = t + strcspn(t, w_space);
-        t3 = t2 + strspn(t2, w_space);
-
-        while (*t3 && *t3 != '#') {
-            t2 = t3 + strcspn(t3, w_space);
-            t3 = t2 + strspn(t2, w_space);
-        }
-
-        *t2 = '\0';
-        /* skip comments */
-
-        if (*t == '#')
-            goto strtok_again;
-
-        /* skip blank lines */
-        if (!*t)
-            goto strtok_again;
-
-        return t;
-    }
+    return ConfigParser::strtokFile();
 }
 
 #include "AccessLogEntry.h"
index e1cdddcba081476180c820e237608c317b50b15d..79cb86c93dac26ba1d668b864e50293b0e4581db 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_manager.cc,v 1.37 2006/02/17 20:15:35 wessels Exp $
+ * $Id: cache_manager.cc,v 1.38 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 16    Cache Manager Objects
  * AUTHOR: Duane Wessels
@@ -38,6 +38,7 @@
 #include "HttpRequest.h"
 #include "Store.h"
 #include "fde.h"
+#include "wordlist.h"
 
 #define MGR_PASSWD_SZ 128
 
index 9464f5ba31ba209daa6ac4193a70ca3f2a8b4e26..813855fdc821c2519d1e31e82088e05f610c76e8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_request.cc,v 1.60 2006/04/02 11:58:38 serassio Exp $
+ * $Id: client_side_request.cc,v 1.61 2006/04/23 11:10:31 robertc Exp $
  * 
  * DEBUG: section 85    Client-side Request Routines
  * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
@@ -54,6 +54,7 @@
 #include "HttpReply.h"
 #include "MemObject.h"
 #include "ClientRequestContext.h"
+#include "wordlist.h"
 
 #if ICAP_CLIENT
 #include "ICAP/ICAPClientReqmodPrecache.h"
index 863a8af8c9e6915313e672605c9c20579f21da36..81e2e02501d7ed3975c050d663ec0ddf633bbcd3 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dns_internal.cc,v 1.86 2005/11/20 18:39:22 serassio Exp $
+ * $Id: dns_internal.cc,v 1.87 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 78    DNS lookups; interacts with lib/rfc1035.c
  * AUTHOR: Duane Wessels
  *
  */
 
+#include "config.h"
 #include "squid.h"
 #include "Store.h"
 #include "comm.h"
 #include "MemBuf.h"
 
-#include "config.h"
+#include "wordlist.h"
 
 #if HAVE_ARPA_NAMESER_H
 #include <arpa/nameser.h>
index 84d2d4790784c92323860f526be0945b6c2432f8..4a2e8aed1e7dce651b43f974a20286215d38ca49 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: enums.h,v 1.248 2006/04/22 13:53:21 robertc Exp $
+ * $Id: enums.h,v 1.249 2006/04/23 11:10:31 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -473,7 +473,6 @@ typedef enum {
     MEM_NETDBENTRY,
     MEM_NET_DB_NAME,
     MEM_RELIST,
-    MEM_WORDLIST,
 #if !USE_DNSSERVERS
     MEM_IDNS_QUERY,
 #endif
index 203d818fd93064993ae3382ee5710336f85acd8b..ccf9dd08f41ae3d8ff6d38639445e5536757e44e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: errorpage.cc,v 1.209 2006/04/02 14:32:35 serassio Exp $
+ * $Id: errorpage.cc,v 1.210 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 4     Error Generation
  * AUTHOR: Duane Wessels
@@ -48,6 +48,7 @@
 #include "MemObject.h"
 #include "fde.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 /* local types */
 
index c7ee5a18593514d7ead70b5f2a7f626b49cce178..8df86d064380a083db4d11afa57a624170a69e5e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: external_acl.cc,v 1.67 2006/01/25 13:16:11 hno Exp $
+ * $Id: external_acl.cc,v 1.68 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 82    External ACL
  * AUTHOR: Henrik Nordstrom, MARA Systems AB
@@ -55,6 +55,7 @@
 #include "HttpRequest.h"
 #include "authenticate.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 #ifndef DEFAULT_EXTERNAL_ACL_TTL
 #define DEFAULT_EXTERNAL_ACL_TTL 1 * 60 * 60
index fbc47d558429ba91af0670e66019d3abc2efd36f..8165ac58cdca47e85353ce084cb8ce7852bb0764 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: fqdncache.cc,v 1.165 2005/10/23 14:10:45 serassio Exp $
+ * $Id: fqdncache.cc,v 1.166 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 35    FQDN Cache
  * AUTHOR: Harvest Derived
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "Store.h"
+#include "wordlist.h"
 
 #define FQDN_LOW_WATER       90
 #define FQDN_HIGH_WATER      95
index 1ee6628422dc1fa528eef8564835e10d2aa3eee6..b16b2cfef2f4d9f93746d94356c35608795422f8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_ufs.cc,v 1.70 2006/03/08 10:35:58 hno Exp $
+ * $Id: store_dir_ufs.cc,v 1.71 2006/04/23 11:10:34 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
@@ -213,7 +213,8 @@ UFSSwapDir::getOptionTree() const
 void
 UFSSwapDir::init()
 {
-    /* Parsing is finished - force to NULL, don't delete */
+    debugs(47, 3, "Initialising UFS SwapDir engine.");
+    /* Parsing must be finished by now - force to NULL, don't delete */
     currentIOOptions = NULL;
     static int started_clean_event = 0;
     static const char *errmsg =
@@ -241,7 +242,7 @@ UFSSwapDir::init()
 void
 UFSSwapDir::create()
 {
-    debug(47, 3) ("Creating swap space in %s\n", path);
+    debugs(47, 3, "Creating swap space in " << path);
     createDirectory(path, 0);
     createSwapSubDirs();
 }
index 6bcc0915ee50421e8185d4616cc6cb1d52a20c10..b2189077a0b8c99047bc728f90b987c57b34d778 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.cc,v 1.390 2006/04/09 12:21:52 serassio Exp $
+ * $Id: ftp.cc,v 1.391 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -50,6 +50,7 @@
 #include "forward.h"
 #include "Server.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 #if ICAP_CLIENT
 #include "ICAP/ICAPClientRespmodPrecache.h"
@@ -1631,7 +1632,7 @@ FtpStateData::ftpParseControlReply(char *buf, size_t len, int *codep, int *used)
             if (*s >= '0' && *s <= '9' && (*(s + 3) == '-' || *(s + 3) == ' '))
                 offset = 4;
 
-        list = (wordlist *)memAllocate(MEM_WORDLIST);
+        list = new wordlist();
 
         list->key = (char *)xmalloc(linelen - offset);
 
@@ -1982,7 +1983,7 @@ ftpTraverseDirectory(FtpStateData * ftpState)
 
     ftpState->pathcomps = w->next;
 
-    memFree(w, MEM_WORDLIST);
+    delete w;
 
     /* Check if we are to CWD or RETR */
     if (ftpState->pathcomps != NULL || ftpState->flags.isdir) {
index 1d9ae2cf2cf42f0fe73d921b947398914218efcb..8b2c29897be167ea3e7e385777cee79413c6b1f9 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.cc,v 1.72 2006/04/02 10:15:24 serassio Exp $
+ * $Id: helper.cc,v 1.73 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -38,6 +38,7 @@
 #include "Store.h"
 #include "comm.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 #define HELPER_MAX_ARGS 64
 
index 2e101624ac4cbdb0ae096d0aaeb7bdcb6f72b3e6..134f0fbfa29071152a8a6a69a43d108cebc1d981 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: icp_v2.cc,v 1.90 2006/02/17 18:10:59 wessels Exp $
+ * $Id: icp_v2.cc,v 1.91 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 12    Internet Cache Protocol
  * AUTHOR: Duane Wessels
@@ -41,6 +41,7 @@
 #include "ACLChecklist.h"
 #include "ACL.h"
 #include "AccessLogEntry.h"
+#include "wordlist.h"
 
 static void icpLogIcp(struct IN_ADDR, log_type, int, const char *, int);
 
index 937be9bdcb15384219074188409e5b7876cf9d7b..6a12912dea2dd274c2aa2505af5849fadeb6be19 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: internal.cc,v 1.38 2006/04/23 09:02:13 serassio Exp $
+ * $Id: internal.cc,v 1.39 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 76    Internal Squid Object handling
  * AUTHOR: Duane, Alex, Henrik
@@ -38,6 +38,7 @@
 #include "HttpRequest.h"
 #include "HttpReply.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 /* called when we "miss" on an internal object;
  * generate known dynamic objects, 
index 6c403e2a11de35b5decc9568e6cc75392cf9546e..41f6a563724b9cee7457dcb1ba0d17a2b28e4ebb 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ipcache.cc,v 1.252 2005/10/23 14:10:45 serassio Exp $
+ * $Id: ipcache.cc,v 1.253 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 14    IP Cache
  * AUTHOR: Harvest Derived
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "Store.h"
+#include "wordlist.h"
 
 typedef struct _ipcache_entry ipcache_entry;
 
index 1c2486a97d045253d7e9c46f55276b15e10fbcec..c7ba2d9e15ea020a3db92fb6b150dcfa826918ba 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.cc,v 1.416 2006/01/03 17:22:31 wessels Exp $
+ * $Id: main.cc,v 1.417 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -1141,7 +1141,9 @@ main(int argc, char **argv)
 
         eventRun();
 
-        /* Attempt any pending storedir IO */
+        /* Attempt any pending storedir IO
+        * Note: the storedir is roughly a reactor of its own.
+        */
         Store::Root().callback();
 
         comm_calliocallback();
index 659cc0accf7843d6f25afa643d04ca792ccc0655..3ce8be4cc099944e4cad80f5e717c77228c821df 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mem.cc,v 1.91 2006/04/22 05:29:19 robertc Exp $
+ * $Id: mem.cc,v 1.92 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 13    High Level Memory Pool Management
  * AUTHOR: Harvest Derived
@@ -388,7 +388,6 @@ Mem::Init(void)
     memDataInit(MEM_NETDBENTRY, "netdbEntry", sizeof(netdbEntry), 0);
     memDataInit(MEM_NET_DB_NAME, "net_db_name", sizeof(net_db_name), 0);
     memDataInit(MEM_RELIST, "relist", sizeof(relist), 0);
-    memDataInit(MEM_WORDLIST, "wordlist", sizeof(wordlist), 0);
     memDataInit(MEM_CLIENT_INFO, "ClientInfo", sizeof(ClientInfo), 0);
     memDataInit(MEM_MD5_DIGEST, "MD5 digest", MD5_DIGEST_CHARS, 0);
     MemPools[MEM_MD5_DIGEST]->setChunkSize(512 * 1024);
index a0ba10043d9bc77389d74f073395707772ff6e51..fd4177c29240799f928313e5cfe5f3185a9af5f6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: net_db.cc,v 1.184 2006/04/18 12:34:22 robertc Exp $
+ * $Id: net_db.cc,v 1.185 2006/04/23 11:10:31 robertc Exp $
  *
  * DEBUG: section 38    Network Measurement Database
  * AUTHOR: Duane Wessels
@@ -49,6 +49,7 @@
 #include "MemObject.h"
 #include "fde.h"
 #include "forward.h"
+#include "wordlist.h"
 
 #if USE_ICMP
 #include "StoreClient.h"
index 6207f480a9ce274539c5f14cd622b5766ee4bd48..0669db39dc5d27da9aaabf1fd56c46c8a9416b2c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.521 2006/04/22 06:03:42 robertc Exp $
+ * $Id: protos.h,v 1.522 2006/04/23 11:10:32 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -53,11 +53,6 @@ SQUIDCEXTERN int logTypeIsATcpHit(log_type);
  * cache_cf.c
  */
 SQUIDCEXTERN int parseConfigFile(const char *file_name);
-SQUIDCEXTERN const char *wordlistAdd(wordlist **, const char *);
-SQUIDCEXTERN void wordlistAddWl(wordlist **, wordlist *);
-SQUIDCEXTERN void wordlistJoin(wordlist **, wordlist **);
-SQUIDCEXTERN wordlist *wordlistDup(const wordlist *);
-SQUIDCEXTERN void wordlistDestroy(wordlist **);
 SQUIDCEXTERN void configFreeMemory(void);
 SQUIDCEXTERN void wordlistCat(const wordlist *, MemBuf * mb);
 SQUIDCEXTERN void self_destruct(void);
index fde8227e169b592dd09894b40dee85a8e8d2080c..b24cb8f07dd907f3918ab804097ca5fab3b983e7 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_repl_heap.cc,v 1.17 2004/12/20 16:30:47 robertc Exp $
+ * $Id: store_repl_heap.cc,v 1.18 2006/04/23 11:10:35 robertc Exp $
  *
  * DEBUG: section ?     HEAP based removal policies
  * AUTHOR: Henrik Nordstrom
@@ -46,6 +46,7 @@
 #include "store_heap_replacement.h"
 #include "Store.h"
 #include "MemObject.h"
+#include "wordlist.h"
 
 REMOVALPOLICYCREATE createRemovalPolicy_heap;
 
index eb7b1fe9078822588b3d5a921aaa712b09409ae7..d11d4ef1f9d0937e454798f8b0a2139d08e42aaa 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.538 2006/04/22 05:29:20 robertc Exp $
+ * $Id: structs.h,v 1.539 2006/04/23 11:10:32 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -110,12 +110,6 @@ struct _acl_size_t
     size_t size;
 };
 
-struct _wordlist
-{
-    char *key;
-    wordlist *next;
-};
-
 struct _ushortlist
 {
     u_short i;
index 082574a22ef357c3d8a72340112f8063a31d0de2..a39d46595d88d47ad6268f382dc0481e6554a672 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: stub_cache_cf.cc,v 1.2 2005/12/26 10:16:05 serassio Exp $
+ * $Id: stub_cache_cf.cc,v 1.3 2006/04/23 11:10:35 robertc Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Robert Collins
@@ -34,6 +34,7 @@
 
 #include "squid.h"
 #include "ConfigParser.h"
+#include "wordlist.h"
 
 void
 self_destruct(void)
@@ -95,27 +96,6 @@ parse_time_t(time_t * var)
     fatal("not implemented 6");
 }
 
-const char *
-wordlistAdd(wordlist ** list, const char *key)
-{
-    while (*list)
-        list = &(*list)->next;
-
-    *list = static_cast<wordlist *>(memAllocate(MEM_WORDLIST));
-
-    (*list)->key = xstrdup(key);
-
-    (*list)->next = NULL;
-
-    return (*list)->key;
-}
-
-void
-wordlistDestroy(wordlist ** list)
-{
-    fatal("not implemented 8");
-}
-
 char *
 strtokFile(void)
 {
diff --git a/src/tests/testACLMaxUserIP.cc b/src/tests/testACLMaxUserIP.cc
new file mode 100644 (file)
index 0000000..0b50294
--- /dev/null
@@ -0,0 +1,38 @@
+#include "squid.h"
+#include <stdexcept>
+
+#include "testACLMaxUserIP.h"
+#include "ACLMaxUserIP.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION( testACLMaxUserIP );
+
+
+void
+testACLMaxUserIP::testDefaults()
+{
+    ACLMaxUserIP anACL("max_user_ip");
+    /* 0 is not a valid maximum, so we start at 0 */
+    CPPUNIT_ASSERT(anACL.getMaximum() == 0);
+    /* and we have no option to turn strict OFF, so start ON. */
+    CPPUNIT_ASSERT(anACL.getStrict() == false);
+    /* an unparsed acl must not be valid - there is no sane default */
+    CPPUNIT_ASSERT(!anACL.valid());
+}
+
+
+void
+testACLMaxUserIP::testParseLine()
+{
+    /* a config line to pass with a lead-in token to seed the parser. */
+    char * line = xstrdup("token -s 1");
+    /* seed the parser */
+    strtok(line, w_space);
+    ACLMaxUserIP anACL("max_user_ip");
+    anACL.parse();
+    /* we want a maximum of one, and strict to be true */
+    CPPUNIT_ASSERT(anACL.getMaximum() == 1);
+    CPPUNIT_ASSERT(anACL.getStrict() == true);
+    /* the acl must be vaid */
+    CPPUNIT_ASSERT(anACL.valid());
+    xfree(line);
+}
diff --git a/src/tests/testACLMaxUserIP.h b/src/tests/testACLMaxUserIP.h
new file mode 100644 (file)
index 0000000..606f235
--- /dev/null
@@ -0,0 +1,28 @@
+
+#ifndef SQUID_SRC_TEST_ACLMAXUSERIP_H
+#define SQUID_SRC_TEST_ACLMAXUSERIP_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/*
+ * demonstration test file, as new idioms are made they will
+ * be shown in the testBoilerplate source.
+ */
+
+class testACLMaxUserIP : public CPPUNIT_NS::TestFixture
+{
+    CPPUNIT_TEST_SUITE( testACLMaxUserIP );
+    /* note the statement here and then the actual prototype below */
+    CPPUNIT_TEST( testDefaults );
+    CPPUNIT_TEST( testParseLine );
+    CPPUNIT_TEST_SUITE_END();
+
+public:
+
+protected:
+    void testDefaults();
+    void testParseLine();
+};
+
+#endif /* SQUID_SRC_TEST_ACLMAXUSERIP_H */
+
diff --git a/src/tests/testHeader_ConfigParser.cc b/src/tests/testHeader_ConfigParser.cc
new file mode 100644 (file)
index 0000000..0065908
--- /dev/null
@@ -0,0 +1,4 @@
+/* This test tests that the header below can be processed on its own with
+ * no other #includes. Dont add any!
+ */
+#include "ConfigParser.h"
diff --git a/src/tests/testHeader_wordlist.cc b/src/tests/testHeader_wordlist.cc
new file mode 100644 (file)
index 0000000..93b75f2
--- /dev/null
@@ -0,0 +1,4 @@
+/* This test tests that the header below can be processed on its own with
+ * no other #includes. Dont add any!
+ */
+#include "wordlist.h"
index 870e3046288c8869a872f722cdfaec67c2305e19..c6e333b4d9ceb3ba794c37338e65a62aa6948797 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.cc,v 1.265 2006/02/18 00:09:35 wessels Exp $
+ * $Id: tools.cc,v 1.266 2006/04/23 11:10:32 robertc Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -37,6 +37,7 @@
 #include "SwapDir.h"
 #include "fde.h"
 #include "MemBuf.h"
+#include "wordlist.h"
 
 #if HAVE_SYS_PRCTL_H
 #include <sys/prctl.h>
index 6c63e2a60549b595c775872dc391e1f431cd3038..405e6bd870027b2ba615e4dd76e81d38ba6db9f7 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: typedefs.h,v 1.180 2006/04/22 05:29:21 robertc Exp $
+ * $Id: typedefs.h,v 1.181 2006/04/23 11:10:32 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -83,8 +83,6 @@ typedef struct _acl_size_t acl_size_t;
 
 class ACLChecklist;
 
-typedef struct _wordlist wordlist;
-
 typedef struct _ushortlist ushortlist;
 
 typedef struct _relist relist;
@@ -271,6 +269,9 @@ typedef void IRCB(peer *, peer_t, protocol_t, void *, void *data);
 class FwdServer;
 typedef void PSC(FwdServer *, void *);
 typedef void RH(void *data, char *);
+/* in wordlist.h */
+
+class wordlist;
 typedef void UH(void *data, wordlist *);
 typedef int READ_HANDLER(int, char *, int);
 typedef int WRITE_HANDLER(int, const char *, int);
index 4d91debdbdbdce8cf9b7cc11930d9f8e3618e2bc..499d304789f0a1c319bbf3fc9db4ab0f9b9cace0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: url.cc,v 1.151 2006/04/23 09:02:13 serassio Exp $
+ * $Id: url.cc,v 1.152 2006/04/23 11:10:32 robertc Exp $
  *
  * DEBUG: section 23    URL Parsing
  * AUTHOR: Duane Wessels
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "HttpRequest.h"
+#include "wordlist.h"
 
 const char *RequestMethodStr[] =
     {
diff --git a/src/wordlist.cc b/src/wordlist.cc
new file mode 100644 (file)
index 0000000..a8d6010
--- /dev/null
@@ -0,0 +1,112 @@
+
+/*
+ * $Id: wordlist.cc,v 1.1 2006/04/23 11:10:32 robertc Exp $
+ *
+ * DEBUG: section 3     Configuration File Parsing
+ * AUTHOR: Harvest Derived
+ *
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  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 of the License, 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, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ */
+
+#include "wordlist.h"
+#include "MemBuf.h"
+
+void
+wordlistDestroy(wordlist ** list)
+{
+    wordlist *w = NULL;
+
+    while ((w = *list) != NULL) {
+        *list = w->next;
+        safe_free(w->key);
+        delete w;
+    }
+
+    *list = NULL;
+}
+
+const char *
+wordlistAdd(wordlist ** list, const char *key)
+{
+    while (*list)
+        list = &(*list)->next;
+
+    *list = new wordlist;
+
+    (*list)->key = xstrdup(key);
+
+    (*list)->next = NULL;
+
+    return (*list)->key;
+}
+
+void
+wordlistJoin(wordlist ** list, wordlist ** wl)
+{
+    while (*list)
+        list = &(*list)->next;
+
+    *list = *wl;
+
+    *wl = NULL;
+}
+
+void
+wordlistAddWl(wordlist ** list, wordlist * wl)
+{
+    while (*list)
+        list = &(*list)->next;
+
+    for (; wl; wl = wl->next, list = &(*list)->next) {
+        *list = new wordlist();
+        (*list)->key = xstrdup(wl->key);
+        (*list)->next = NULL;
+    }
+}
+
+void
+wordlistCat(const wordlist * w, MemBuf * mb)
+{
+    while (NULL != w) {
+        mb->Printf("%s\n", w->key);
+        w = w->next;
+    }
+}
+
+wordlist *
+wordlistDup(const wordlist * w)
+{
+    wordlist *D = NULL;
+
+    while (NULL != w) {
+        wordlistAdd(&D, w->key);
+        w = w->next;
+    }
+
+    return D;
+}
diff --git a/src/wordlist.h b/src/wordlist.h
new file mode 100644 (file)
index 0000000..806900d
--- /dev/null
@@ -0,0 +1,57 @@
+
+/*
+ * $Id: wordlist.h,v 1.1 2006/04/23 11:10:32 robertc Exp $
+ *
+ *
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  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 of the License, 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, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ */
+
+#ifndef SQUID_WORDLIST_H
+#define SQUID_WORDLIST_H
+
+#include "squid.h"
+#include "MemPool.h"
+
+class wordlist
+{
+
+public:
+    MEMPROXY_CLASS(wordlist);
+    char *key;
+    wordlist *next;
+};
+
+MEMPROXY_CLASS_INLINE(wordlist);
+
+SQUIDCEXTERN const char *wordlistAdd(wordlist **, const char *);
+SQUIDCEXTERN void wordlistAddWl(wordlist **, wordlist *);
+SQUIDCEXTERN void wordlistJoin(wordlist **, wordlist **);
+SQUIDCEXTERN wordlist *wordlistDup(const wordlist *);
+SQUIDCEXTERN void wordlistDestroy(wordlist **);
+
+#endif /* SQUID_WORDLIST_H */