]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
C++ conversion
authorrobertc <>
Mon, 14 Oct 2002 02:34:13 +0000 (02:34 +0000)
committerrobertc <>
Mon, 14 Oct 2002 02:34:13 +0000 (02:34 +0000)
202 files changed:
Makefile.in
aclocal.m4
configure
configure.in
contrib/Makefile.in
doc/Makefile.in
errors/Makefile.in
helpers/Makefile.in
helpers/basic_auth/LDAP/Makefile.in
helpers/basic_auth/MSNT/Makefile.in
helpers/basic_auth/Makefile.in
helpers/basic_auth/NCSA/Makefile.in
helpers/basic_auth/PAM/Makefile.in
helpers/basic_auth/SASL/Makefile.in
helpers/basic_auth/SMB/Makefile.in
helpers/basic_auth/YP/Makefile.in
helpers/basic_auth/getpwnam/Makefile.in
helpers/basic_auth/multi-domain-NTLM/Makefile.in
helpers/basic_auth/winbind/Makefile.in
helpers/digest_auth/Makefile.in
helpers/digest_auth/password/Makefile.in
helpers/external_acl/Makefile.in
helpers/external_acl/ip_user/Makefile.in
helpers/external_acl/ldap_group/Makefile.in
helpers/external_acl/unix_group/Makefile.in
helpers/external_acl/wbinfo_group/Makefile.in
helpers/external_acl/winbind_group/Makefile.in
helpers/ntlm_auth/Makefile.in
helpers/ntlm_auth/SMB/Makefile.in
helpers/ntlm_auth/SMB/smbval/Makefile.in
helpers/ntlm_auth/fakeauth/Makefile.in
helpers/ntlm_auth/no_check/Makefile.in
helpers/ntlm_auth/winbind/Makefile.in
icons/Makefile.in
include/Array.h
include/MemPool.h
include/Stack.h
include/config.h
include/hash.h
include/heap.h
include/md5.h
include/profiling.h
include/radix.h
include/rfc1035.h
include/rfc2617.h
include/snmp_debug.h
include/snmp_pdu.h
include/snmp_util.h
include/snmp_vars.h
include/splay.h
include/util.h
lib/Makefile.in
scripts/Makefile.in
snmplib/Makefile.in
src/CacheDigest.cc
src/HttpHdrCc.cc
src/HttpHdrContRange.cc
src/HttpHdrRange.cc
src/HttpHeader.cc
src/HttpHeader.h [new file with mode: 0644]
src/HttpHeaderTools.cc
src/HttpReply.cc
src/HttpRequest.cc
src/ICP.h [new file with mode: 0644]
src/IPInterception.h
src/Makefile.am
src/Makefile.in
src/MemBuf.cc
src/Packer.cc
src/ProfStats.cc
src/StatHist.cc
src/Store.h [new file with mode: 0644]
src/StoreClient.h
src/String.cc
src/access_log.cc
src/acl.cc
src/asn.cc
src/auth/Makefile.am
src/auth/Makefile.in
src/auth/basic/auth_basic.cc
src/auth/basic/auth_basic.h
src/auth/digest/auth_digest.cc
src/auth/digest/auth_digest.h
src/auth/ntlm/auth_ntlm.cc
src/auth/ntlm/auth_ntlm.h
src/auth_modules.sh
src/authenticate.cc
src/authenticate.h [new file with mode: 0644]
src/cache_cf.cc
src/cache_manager.cc
src/cachemgr.cc
src/carp.cc
src/cbdata.cc
src/cf.data.pre
src/cf_gen.cc
src/cf_gen_defines
src/client.cc
src/clientStream.cc
src/clientStream.h
src/client_db.cc
src/client_side.cc
src/client_side_reply.cc
src/client_side_request.cc
src/comm.cc
src/comm_kqueue.cc
src/comm_poll.cc
src/comm_select.cc
src/defines.h
src/disk.cc
src/dns.cc
src/dns_internal.cc
src/dnsserver.cc
src/enums.h
src/errorpage.cc
src/event.cc
src/external_acl.cc
src/fd.cc
src/filemap.cc
src/forward.cc
src/fqdncache.cc
src/fs/Makefile.am
src/fs/Makefile.in
src/fs/aufs/Makefile.in
src/fs/aufs/aiops.cc
src/fs/aufs/async_io.cc
src/fs/aufs/store_dir_aufs.cc
src/fs/aufs/store_io_aufs.cc
src/fs/coss/Makefile.in
src/fs/coss/async_io.cc
src/fs/coss/store_dir_coss.cc
src/fs/coss/store_io_coss.cc
src/fs/diskd/Makefile.am
src/fs/diskd/Makefile.in
src/fs/diskd/diskd.cc
src/fs/diskd/store_dir_diskd.cc
src/fs/diskd/store_io_diskd.cc
src/fs/null/Makefile.in
src/fs/ufs/Makefile.in
src/fs/ufs/store_dir_ufs.cc
src/fs/ufs/store_io_ufs.cc
src/ftp.cc
src/globals.h
src/gopher.cc
src/helper.cc
src/htcp.cc
src/htcp.h [new file with mode: 0644]
src/http.cc
src/http.h [new file with mode: 0644]
src/icp_v2.cc
src/icp_v3.cc
src/internal.cc
src/ipc.cc
src/ipcache.cc
src/leakfinder.cc
src/logfile.cc
src/main.cc
src/mem.cc
src/mime.cc
src/neighbors.cc
src/net_db.cc
src/pconn.cc
src/peer_digest.cc
src/peer_select.cc
src/pinger.cc
src/protos.h
src/recv-announce.cc
src/redirect.cc
src/refresh.cc
src/repl/Makefile.am
src/repl/Makefile.in
src/repl/heap/store_heap_replacement.cc
src/repl/heap/store_repl_heap.cc
src/repl/lru/store_repl_lru.cc
src/repl_modules.sh
src/snmp_agent.cc
src/snmp_core.cc
src/ssl.cc
src/ssl_support.cc
src/stat.cc
src/stmem.cc
src/store.cc
src/store_client.cc
src/store_digest.cc
src/store_dir.cc
src/store_io.cc
src/store_key_md5.cc
src/store_log.cc
src/store_modules.sh
src/store_rebuild.cc
src/store_swapin.cc
src/store_swapmeta.cc
src/store_swapout.cc
src/structs.h
src/test_cache_digest.cc
src/tools.cc
src/tunnel.cc
src/typedefs.h
src/ufscommon.cc
src/url.cc
src/urn.cc
src/wais.cc
src/whois.cc

index 402d7efddf829e8b9599382d747c3b0dbb51a178..8b602e5a7f01aeb3f1e908246c5205d11147b308 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,9 +15,8 @@
 @SET_MAKE@
 
 #
-# $Id: Makefile.in,v 1.29 2002/10/06 08:18:01 robertc Exp $
+# $Id: Makefile.in,v 1.30 2002/10/13 20:34:13 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,6 +65,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -78,7 +86,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -91,7 +98,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -108,6 +114,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -147,21 +154,22 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
        uninstall-info-recursive all-recursive install-data-recursive \
        install-exec-recursive installdirs-recursive install-recursive \
        uninstall-recursive check-recursive installcheck-recursive
-DIST_COMMON = README ./include/autoconf.h.in ./include/stamp-h.in \
-       COPYING ChangeLog INSTALL Makefile.am Makefile.in TODO \
-       acinclude.m4 aclocal.m4 cfgaux/compile cfgaux/config.guess \
-       cfgaux/config.sub cfgaux/depcomp cfgaux/install-sh \
-       cfgaux/missing cfgaux/mkinstalldirs configure configure.in
+DIST_COMMON = README ./include/autoconf.h.in COPYING ChangeLog INSTALL \
+       Makefile.am Makefile.in TODO acinclude.m4 aclocal.m4 \
+       cfgaux/compile cfgaux/config.guess cfgaux/config.sub \
+       cfgaux/depcomp cfgaux/install-sh cfgaux/missing \
+       cfgaux/mkinstalldirs configure configure.in
 all: all-recursive
 
 .SUFFIXES:
+
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
 
 $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
@@ -170,31 +178,23 @@ $(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4)
 
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
        cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-include/autoconf.h: include/stamp-h
-       @if test ! -f $@; then \
-               rm -f include/stamp-h; \
-               $(MAKE) include/stamp-h; \
-       else :; fi
-include/stamp-h: $(srcdir)/./include/autoconf.h.in $(top_builddir)/config.status
-       @rm -f include/stamp-h include/stamp-hT
-       @echo timestamp > include/stamp-hT 2> /dev/null
-       cd $(top_builddir) \
-         && CONFIG_FILES= CONFIG_HEADERS=include/autoconf.h \
-            $(SHELL) ./config.status
-       @mv include/stamp-hT include/stamp-h
-$(srcdir)/./include/autoconf.h.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/./include/stamp-h.in
+
+include/autoconf.h: include/stamp-h1
        @if test ! -f $@; then \
-               rm -f $(srcdir)/./include/stamp-h.in; \
-               $(MAKE) $(srcdir)/./include/stamp-h.in; \
+         rm -f include/stamp-h1; \
+         $(MAKE) include/stamp-h1; \
        else :; fi
-$(srcdir)/./include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-       @rm -f $(srcdir)/./include/stamp-h.in $(srcdir)/./include/stamp-h.inT
-       @echo timestamp > $(srcdir)/./include/stamp-h.inT 2> /dev/null
+
+include/stamp-h1: $(srcdir)/./include/autoconf.h.in $(top_builddir)/config.status
+       @rm -f include/stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status include/autoconf.h
+
+$(srcdir)/./include/autoconf.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4) 
        cd $(top_srcdir) && $(AUTOHEADER)
-       @mv $(srcdir)/./include/stamp-h.inT $(srcdir)/./include/stamp-h.in
+       touch $(srcdir)/./include/autoconf.h.in
 
 distclean-hdr:
-       -rm -f include/autoconf.h
+       -rm -f include/autoconf.h include/stamp-h1
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -204,7 +204,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -224,7 +224,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -252,16 +252,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -272,51 +275,61 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = .
-# Avoid unsightly `./'.
 distdir = $(PACKAGE)-$(VERSION)
 
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+
 GZIP_ENV = --best
+distcleancheck_listfiles = find . -type f -print
 
 distdir: $(DISTFILES)
-       -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
+       $(am__remove_distdir)
        mkdir $(distdir)
        $(mkinstalldirs) $(distdir)/./include $(distdir)/cfgaux $(distdir)/scripts
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -337,27 +350,33 @@ distdir: $(DISTFILES)
          ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
          ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
        || chmod -R a+r $(distdir)
-dist: distdir
+dist-gzip: distdir
        $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
+       $(am__remove_distdir)
 
 dist-bzip2: distdir
        $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-       -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
 # tarfile.
 distcheck: dist
-       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
+       $(am__remove_distdir)
        GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
        chmod -R a-w $(distdir); chmod a+w $(distdir)
        mkdir $(distdir)/=build
        mkdir $(distdir)/=inst
        chmod a-w $(distdir)
-       dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
+       dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
          && cd $(distdir)/=build \
          && ../configure --srcdir=.. --prefix=$$dc_install_base \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -365,17 +384,24 @@ distcheck: dist
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
          && $(MAKE) $(AM_MAKEFLAGS) uninstall \
          && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
-            || (echo "Error: files left after uninstall" 1>&2; \
-                exit 1) ) \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && $(MAKE) $(AM_MAKEFLAGS) distclean \
+             || { echo "ERROR: files left after uninstall:" ; \
+                  find $$dc_install_base -type f -print ; \
+                  exit 1; } >&2 ) \
+         && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
          && rm -f $(distdir).tar.gz \
-         && (test `find . -type f -print | wc -l` -eq 0 \
-            || (echo "Error: files left after distclean" 1>&2; \
-                exit 1) )
-       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
        @echo "$(distdir).tar.gz is ready for distribution" | \
          sed 'h;s/./=/g;p;x;p;x'
+distcleancheck: distclean
+       if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
 check-am: all-am
 check: check-recursive
 all-am: Makefile
@@ -393,6 +419,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -400,7 +427,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -410,12 +437,8 @@ clean: clean-recursive
 
 clean-am: clean-generic mostlyclean-am
 
-dist-all: distdir
-       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
-       -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
 distclean: distclean-recursive
-       -rm -f config.status config.cache config.log
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
 
 dvi: dvi-recursive
@@ -437,7 +460,8 @@ install-man:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
-
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf autom4te.cache
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
 mostlyclean: mostlyclean-recursive
@@ -450,10 +474,10 @@ uninstall-info: uninstall-info-recursive
 
 .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
        clean-generic clean-recursive dist dist-all dist-bzip2 \
-       distcheck distclean distclean-generic distclean-hdr \
-       distclean-recursive distclean-tags distdir dvi dvi-am \
-       dvi-recursive info info-am info-recursive install install-am \
-       install-data install-data-am install-data-recursive \
+       dist-gzip distcheck distclean distclean-generic distclean-hdr \
+       distclean-recursive distclean-tags distcleancheck distdir dvi \
+       dvi-am dvi-recursive info info-am info-recursive install \
+       install-am install-data install-data-am install-data-recursive \
        install-exec install-exec-am install-exec-recursive \
        install-info install-info-am install-info-recursive install-man \
        install-recursive install-strip installcheck installcheck-am \
index b8cffc1dc684eff97a670fcede285d481a4840fd..6bf721faca36999a2398236deab32155dc93d154 100644 (file)
@@ -1,6 +1,6 @@
-# aclocal.m4 generated automatically by aclocal 1.5
+# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
 
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -60,11 +60,30 @@ SQUID_DEFAULT_INCLUDES
 #endif
 ])
 
-# Do all the work for Automake.  This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
+# Do all the work for Automake.                            -*- Autoconf -*-
 
-# serial 5
+# This macro actually does too much some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 8
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -73,62 +92,52 @@ SQUID_DEFAULT_INCLUDES
 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
 
-# We require 2.13 because we rely on SHELL being computed by configure.
-AC_PREREQ([2.13])
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
-# The purpose of this macro is to provide the user with a means to
-# check macros which are provided without letting her know how the
-# information is coded.
-# If this macro is not defined by Autoconf, define it here.
-ifdef([AC_PROVIDE_IFELSE],
-      [],
-      [define([AC_PROVIDE_IFELSE],
-              [ifdef([AC_PROVIDE_$1],
-                     [$2], [$3])])])
+AC_PREREQ([2.52])
 
-
-# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
-# ----------------------------------------------
+# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
+# the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AC_PROG_INSTALL])dnl
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
 # test to see if srcdir already configured
-if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
-  AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
 fi
 
 # Define the identity of the package.
-PACKAGE=$1
-AC_SUBST(PACKAGE)dnl
-VERSION=$2
-AC_SUBST(VERSION)dnl
-ifelse([$3],,
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
+ AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
+
+_AM_IF_OPTION([no-define],,
 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
-
-# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
-# the ones we care about.
-ifdef([m4_pattern_allow],
-      [m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
-
-# Autoconf 2.50 always computes EXEEXT.  However we need to be
-# compatible with 2.13, for now.  So we always define EXEEXT, but we
-# don't compute it.
-AC_SUBST(EXEEXT)
-# Similar for OBJEXT -- only we only use OBJEXT if the user actually
-# requests that it be used.  This is a bit dumb.
-: ${OBJEXT=o}
-AC_SUBST(OBJEXT)
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal)
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
 AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
 AM_MISSING_PROG(AMTAR, tar)
@@ -138,9 +147,9 @@ AM_PROG_INSTALL_STRIP
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_PROVIDE_IFELSE([AC_PROG_][CC],
+
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_][CC],
                   [_AM_DEPENDENCIES(CC)],
                   [define([AC_PROG_][CC],
                           defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
@@ -149,11 +158,102 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
                   [define([AC_PROG_][CXX],
                           defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 ])
+])
+
+# Copyright 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+        [AM_AUTOMAKE_VERSION([1.6.3])])
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+
+# Copyright 2001, 2002  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
 #
 # Check to make sure that the build environment is sane.
 #
 
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 # serial 3
 
 # AM_SANITY_CHECK
@@ -197,8 +297,27 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
+#  -*- Autoconf -*-
 
-# serial 2
+
+# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 3
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -220,13 +339,29 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  am_backtick='`'
-  AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
+  AC_MSG_WARN([`missing' script is too old or missing])
 fi
 ])
 
 # AM_AUX_DIR_EXPAND
 
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -265,19 +400,59 @@ fi
 # absolute PATH.  The drawback is that using absolute paths prevent a
 # configured tree to be moved without reconfiguration.
 
+# Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])
+
 AC_DEFUN([AM_AUX_DIR_EXPAND], [
 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
+am_aux_dir=`cd $ac_aux_dir && pwd`
 ])
 
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 AC_SUBST(install_sh)])
 
+# AM_PROG_INSTALL_STRIP
+
+# Copyright 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 # One issue with vendor `install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
@@ -287,11 +462,35 @@ AC_SUBST(install_sh)])
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
 # serial 4                                             -*- Autoconf -*-
 
+# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
 
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@@ -303,9 +502,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
 
 # _AM_DEPENDENCIES(NAME)
-# ---------------------
+# ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX" or "OBJC".
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -320,7 +519,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
 
 ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                    [depcc="$$1"   am_compiler_list=])
 
@@ -382,8 +581,7 @@ else
   am_cv_$1_dependencies_compiler_type=none
 fi
 ])
-$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
-AC_SUBST([$1DEPMODE])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
 ])
 
 
@@ -401,7 +599,7 @@ else
   DEPDIR=_deps
 fi
 rmdir .deps 2>/dev/null
-AC_SUBST(DEPDIR)
+AC_SUBST([DEPDIR])
 ])
 
 
@@ -416,30 +614,48 @@ if test "x$enable_dependency_tracking" != xno; then
   AMDEPBACKSLASH='\'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-pushdef([subst], defn([AC_SUBST]))
-subst(AMDEPBACKSLASH)
-popdef([subst])
+AC_SUBST([AMDEPBACKSLASH])
 ])
 
-# Generate code to set up dependency tracking.
-# This macro should only be invoked once -- use via AC_REQUIRE.
-# Usage:
-# AM_OUTPUT_DEPENDENCY_COMMANDS
+# Generate code to set up dependency tracking.   -*- Autoconf -*-
 
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
-AC_OUTPUT_COMMANDS([
-test x"$AMDEP_TRUE" != x"" ||
-for mf in $CONFIG_FILES; do
-  case "$mf" in
-  Makefile) dirpart=.;;
-  */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
-  *) continue;;
-  esac
-  grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+#serial 2
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
   # Extract the definition of DEP_FILES from the Makefile without
   # running `make'.
   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@@ -463,14 +679,46 @@ for mf in $CONFIG_FILES; do
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
-    $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
 done
-], [AMDEP_TRUE="$AMDEP_TRUE"
-ac_aux_dir="$ac_aux_dir"])])
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright 2001 Free Software Foundation, Inc.             -*- Autoconf -*-
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 2
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -483,7 +731,7 @@ doit:
 END
 # If we don't find an include directive, just comment out the code.
 AC_MSG_CHECKING([for style of include used by $am_make])
-am__include='#'
+am__include="#"
 am__quote=
 _am_result=none
 # First try GNU make style include.
@@ -503,7 +751,7 @@ if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
       am__include=.include
-      am__quote='"'
+      am__quote="\""
       _am_result=BSD
    fi
 fi
@@ -513,23 +761,35 @@ AC_MSG_RESULT($_am_result)
 rm -f confinc confmf
 ])
 
-# serial 3
+# AM_CONDITIONAL                                              -*- Autoconf -*-
+
+# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# serial 5
+
+AC_PREREQ(2.52)
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
-#
-# FIXME: Once using 2.50, use this:
-# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_DEFUN([AM_CONDITIONAL],
-[ifelse([$1], [TRUE],
-        [errprint(__file__:__line__: [$0: invalid condition: $1
-])dnl
-m4exit(1)])dnl
-ifelse([$1], [FALSE],
-       [errprint(__file__:__line__: [$0: invalid condition: $1
-])dnl
-m4exit(1)])dnl
+[ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+        [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])
 AC_SUBST([$1_FALSE])
 if $2; then
@@ -538,78 +798,111 @@ if $2; then
 else
   $1_TRUE='#'
   $1_FALSE=
-fi])
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([conditional \"$1\" was never defined.
+Usually this means the macro was only invoked conditionally.])
+fi])])
 
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
+# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
 
-# serial 3
+# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+AC_PREREQ([2.52])
+
+# serial 6
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  We must strip everything past the first ":",
 # and everything past the last "/".
 
-AC_PREREQ([2.12])
-
-AC_DEFUN([AM_CONFIG_HEADER],
-[ifdef([AC_FOREACH],dnl
-        [dnl init our file count if it isn't already
-        m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
-        dnl prepare to store our destination file list for use in config.status
-        AC_FOREACH([_AM_File], [$1],
-                   [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
-                   m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
-                   dnl and add it to the list of files AC keeps track of, along
-                   dnl with our hook
-                   AC_CONFIG_HEADERS(_AM_File,
-dnl COMMANDS, [, INIT-CMDS]
-[# update the timestamp
-echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
-][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
-                   m4_popdef([_AM_Dest])])],dnl
-[AC_CONFIG_HEADER([$1])
-  AC_OUTPUT_COMMANDS(
-   ifelse(patsubst([$1], [[^ ]], []),
-         [],
-         [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
-          patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
-[am_indx=1
-for am_file in $1; do
-  case " \$CONFIG_HEADERS " in
-  *" \$am_file "*)
-    am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
-    if test -n "\$am_dir"; then
-      am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
-      for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
-        am_tmpdir=\$am_tmpdir\$am_subdir/
-        if test ! -d \$am_tmpdir; then
-          mkdir \$am_tmpdir
-        fi
-      done
-    fi
-    echo timestamp > "\$am_dir"stamp-h\$am_indx
-    ;;
-  esac
-  am_indx=\`expr \$am_indx + 1\`
-done])
-])]) # AM_CONFIG_HEADER
-
 # _AM_DIRNAME(PATH)
 # -----------------
 # Like AS_DIRNAME, only do it during macro expansion
 AC_DEFUN([_AM_DIRNAME],
-       [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
-             m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
-                   m4_if(m4_regexp([$1], [^/.*]), -1,
+       [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+             m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
+                   m4_if(regexp([$1], [^/.*]), -1,
                          [.],
-                         m4_patsubst([$1], [^\(/\).*], [\1])),
-                   m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
-             m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
-]) # _AM_DIRNAME
+                         patsubst([$1], [^\(/\).*], [\1])),
+                   patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
+             patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
+])# _AM_DIRNAME
+
+
+# The stamp files are numbered to have different names.
+# We could number them on a directory basis, but that's additional
+# complications, let's have a unique counter.
+m4_define([_AM_STAMP_Count], [0])
+
+
+# _AM_STAMP(HEADER)
+# -----------------
+# The name of the stamp file for HEADER.
+AC_DEFUN([_AM_STAMP],
+[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
+AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
+                               [:.*])))/stamp-h[]_AM_STAMP_Count])
+
+
+# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
+# ------------------------------------------------------------
+# We used to try to get a real timestamp in stamp-h.  But the fear is that
+# that will cause unnecessary cvs conflicts.
+AC_DEFUN([_AM_CONFIG_HEADER],
+[# Add the stamp file to the list of files AC keeps track of,
+# along with our hook.
+AC_CONFIG_HEADERS([$1],
+                  [# update the timestamp
+echo 'timestamp for $1' >"_AM_STAMP([$1])"
+$2],
+                  [$3])
+])# _AM_CONFIG_HEADER
+
+
+# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
+# --------------------------------------------------------------
+AC_DEFUN([AM_CONFIG_HEADER],
+[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
+])# AM_CONFIG_HEADER
 
 # Add --enable-maintainer-mode option to configure.
 # From Jim Meyering
 
+# Copyright 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 # serial 1
 
 AC_DEFUN([AM_MAINTAINER_MODE],
@@ -632,6 +925,24 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 # AM_PROG_CC_C_O
 # --------------
 # Like AC_PROG_CC_C_O, but changed for automake.
+
+# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
 AC_DEFUN([AM_PROG_CC_C_O],
 [AC_REQUIRE([AC_PROG_CC_C_O])dnl
 AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
index cd1ef6922faf8648fa1e980dfde3b8cde62ba1e0..0ad29aa59affec34e0f2c94b67b4104e629da75b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,20 +1,12 @@
 #! /bin/sh
-# From configure.in Revision: 1.292 .
+# From configure.in Revision.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.53.
+# Generated by GNU Autoconf 2.54.
 #
 # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -23,11 +15,13 @@ fi
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
 elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
   set -o posix
 fi
 
-# NLS nuisances.
 # Support unset when possible.
 if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
   as_unset=unset
@@ -35,34 +29,39 @@ else
   as_unset=false
 fi
 
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
-    { $as_unset LANG || test "${LANG+set}" != set; } ||
-      { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
-    { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
-      { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
-    { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
-      { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
-    { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
-      { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
-    { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
-      { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
-    { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
-      { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
-    { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
-      { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
-    { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
-      { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
+do
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
 
 
 # Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
+as_me=`$as_basename "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)$' \| \
@@ -73,6 +72,7 @@ echo X/"$0" |
          /^X\/\(\/\).*/{ s//\1/; q; }
          s/.*/./; q'`
 
+
 # PATH needs CR, and LINENO needs CR and PATH.
 # Avoid depending upon Character Ranges.
 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
@@ -86,7 +86,7 @@ if test "${PATH_SEPARATOR+set}" != set; then
   echo "#! /bin/sh" >conftest.sh
   echo  "exit 0"   >>conftest.sh
   chmod +x conftest.sh
-  if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
+  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
     PATH_SEPARATOR=';'
   else
     PATH_SEPARATOR=:
@@ -139,6 +139,8 @@ do
   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
   test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
             CONFIG_SHELL=$as_dir/$as_base
             export CONFIG_SHELL
             exec "$CONFIG_SHELL" "$0" ${1+"$@"}
@@ -211,6 +213,12 @@ else
 fi
 rm -f conf$$ conf$$.exe conf$$.file
 
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
 as_executable_p="test -f"
 
 # Sed expression to map a string onto a valid CPP name.
@@ -227,7 +235,7 @@ as_nl='
 IFS="  $as_nl"
 
 # CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+$as_unset CDPATH
 
 
 # Name of the host.
@@ -241,6 +249,7 @@ exec 6>&1
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
 cross_compiling=no
 subdirs=
 MFLAGS=
@@ -259,7 +268,7 @@ PACKAGE_VERSION=
 PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 
-ac_unique_file="src/main.c"
+ac_unique_file="src/main.cc"
 ac_default_prefix=/usr/local/squid
 # Factoring default headers for most tests.
 ac_includes_default="\
@@ -298,6 +307,8 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CGIEXT ENABLE_WIN32SPECIFIC_TRUE ENABLE_WIN32SPECIFIC_FALSE LIBDLMALLOC LIB_MALLOC STORE_OBJS STORE_LIBS STORE_MODULES STORE_MODULE_SUBDIRS REPL_POLICIES REPL_OBJS REPL_LIBS ENABLE_PINGER_TRUE ENABLE_PINGER_FALSE USE_DELAY_POOLS_TRUE USE_DELAY_POOLS_FALSE USE_SNMP_TRUE USE_SNMP_FALSE SNMPLIB makesnmplib ENABLE_HTCP_TRUE ENABLE_HTCP_FALSE ENABLE_SSL_TRUE ENABLE_SSL_FALSE NEED_OWN_MD5_TRUE NEED_OWN_MD5_FALSE SSLLIB ERR_DEFAULT_LANGUAGE ERR_LANGUAGES MAKE_LEAKFINDER_TRUE MAKE_LEAKFINDER_FALSE USE_DNSSERVER_TRUE USE_DNSSERVER_FALSE OPT_DEFAULT_HOSTS AUTH_MODULES AUTH_OBJS AUTH_LIBS BASIC_AUTH_HELPERS NTLM_AUTH_HELPERS DIGEST_AUTH_HELPERS EXTERNAL_ACL_HELPERS ENABLE_UNLINKD_TRUE ENABLE_UNLINKD_FALSE ENABLE_XPROF_STATS_TRUE ENABLE_XPROF_STATS_FALSE CPP RANLIB ac_ct_RANLIB LN_S SH FALSE TRUE RM MV MKDIR LN PERL AR AR_R EGREP ALLOCA CRYPTLIB NEED_OWN_SNPRINTF_TRUE NEED_OWN_SNPRINTF_FALSE REGEXLIB LIBREGEX LIBOBJS XTRA_OBJS XTRA_LIBS LTLIBOBJS'
+ac_subst_files=''
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -721,6 +732,9 @@ if test ! -r $srcdir/$ac_unique_file; then
    { (exit 1); exit 1; }; }
   fi
 fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
 srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
 ac_env_build_alias_set=${build_alias+set}
 ac_env_build_alias_value=$build_alias
@@ -841,10 +855,10 @@ if test -n "$ac_init_help"; then
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking Speeds up one-time builds
-  --enable-dependency-tracking  Do not reject slow dependency extractors
   --enable-maintainer-mode enable make rules and dependencies not useful
                           (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking Speeds up one-time builds
+  --enable-dependency-tracking  Do not reject slow dependency extractors
   --enable-dlmalloc=LIB Compile & use the malloc package by Doug Lea
   --enable-gnuregex       Compile GNUregex
   --enable-debug-cbdata   Provide some debug information in cbdata
@@ -1058,7 +1072,7 @@ esac
 # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
 # absolute.
 ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
 ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
 ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
 
@@ -1098,7 +1112,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.53.  Invocation command line was
+generated by GNU Autoconf 2.54.  Invocation command line was
 
   $ $0 $@
 
@@ -1164,12 +1178,9 @@ do
   *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
     ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
   esac
-  case " $ac_configure_args " in
-    *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-    *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-       ac_sep=" " ;;
-  esac
+  ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
   # Get rid of the leading space.
+  ac_sep=" "
 done
 
 # When interrupted or exit'd, cleanup temporary files, and complete
@@ -1181,6 +1192,7 @@ trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
     echo
+
     cat <<\_ASBOX
 ## ---------------- ##
 ## Cache variables. ##
@@ -1203,6 +1215,35 @@ _ASBOX
     esac;
 }
     echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=$`echo $ac_var`
+        echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
     if test -s confdefs.h; then
       cat <<\_ASBOX
 ## ----------- ##
@@ -1210,7 +1251,7 @@ _ASBOX
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h
+      sed "/^$/d" confdefs.h | sort
       echo
     fi
     test "$ac_signal" != 0 &&
@@ -1368,6 +1409,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 
 ac_aux_dir=
 for ac_dir in cfgaux $srcdir/cfgaux; do
@@ -1394,6 +1436,7 @@ ac_config_guess="$SHELL $ac_aux_dir/config.guess"
 ac_config_sub="$SHELL $ac_aux_dir/config.sub"
 ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
+am__api_version="1.6"
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -1531,7 +1574,7 @@ rm conftest.sed
 
 
 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
+am_aux_dir=`cd $ac_aux_dir && pwd`
 
 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
 # Use eval to expand $SHELL
@@ -1539,9 +1582,8 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  am_backtick='`'
-  { echo "$as_me:$LINENO: WARNING: ${am_backtick}missing' script is too old or missing" >&5
-echo "$as_me: WARNING: ${am_backtick}missing' script is too old or missing" >&2;}
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
 for ac_prog in gawk mawk nawk awk
@@ -1613,41 +1655,8 @@ echo "${ECHO_T}no" >&6
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
-  enableval="$enable_dependency_tracking"
-
-fi;
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-
-rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
-  DEPDIR=.deps
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-
-
-# test to see if srcdir already configured
-if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
+ # test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
   { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
@@ -1655,8 +1664,9 @@ echo "$as_me: error: source directory already configured; run \"make distclean\"
 fi
 
 # Define the identity of the package.
-PACKAGE=squid
-VERSION=2.6-DEVEL
+ PACKAGE=squid
+ VERSION=2.6-DEVEL
+
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE "$PACKAGE"
@@ -1667,28 +1677,15 @@ cat >>confdefs.h <<_ACEOF
 #define VERSION "$VERSION"
 _ACEOF
 
-
-# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
-# the ones we care about.
-
-# Autoconf 2.50 always computes EXEEXT.  However we need to be
-# compatible with 2.13, for now.  So we always define EXEEXT, but we
-# don't compute it.
-
-# Similar for OBJEXT -- only we only use OBJEXT if the user actually
-# requests that it be used.  This is a bit dumb.
-: ${OBJEXT=o}
-
-
 # Some tools Automake needs.
 
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"}
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
 
 
 AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
 
 
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"}
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
 
 
 AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
@@ -1701,6 +1698,92 @@ AMTAR=${AMTAR-"${am_missing_run}tar"}
 
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  STRIP=$ac_ct_STRIP
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
 INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
@@ -1708,8 +1791,11 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 
 
+# Add the stamp file to the list of files AC keeps track of,
+# along with our hook.
+          ac_config_headers="$ac_config_headers include/autoconf.h"
+
 
-                                                   ac_config_headers="$ac_config_headers include/autoconf.h"
 
 
 echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
@@ -1732,6 +1818,7 @@ else
   MAINTAINER_MODE_TRUE='#'
   MAINTAINER_MODE_FALSE=
 fi
+
   MAINT=$MAINTAINER_MODE_TRUE
 
 
@@ -1946,9 +2033,7 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    set dummy "$as_dir/$ac_word" ${1+"$@"}
-    shift
-    ac_cv_prog_CC="$@"
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
   fi
 fi
 fi
@@ -2081,12 +2166,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2115,11 +2194,10 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
 # Be careful to initialize this variable, since it used to be cached.
 # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
 ac_cv_exeext=
-for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null;
-                ls a.out conftest 2>/dev/null;
-                ls a.* conftest.* 2>/dev/null`; do
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
+  test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
     a.out ) # We found the default executable, but exeext='' is most
             # certainly right.
             break;;
@@ -2133,8 +2211,10 @@ done
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5
-echo "$as_me: error: C compiler cannot create executables" >&2;}
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+check \`config.log' for details." >&5
+echo "$as_me: error: C compiler cannot create executables
+check \`config.log' for details." >&2;}
    { (exit 77); exit 77; }; }
 fi
 
@@ -2191,9 +2271,10 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
 # `rm'.
-for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
           export ac_cv_exeext
           break;;
@@ -2222,12 +2303,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2244,7 +2319,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (exit $ac_status); }; then
   for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -2272,12 +2347,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2326,12 +2395,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2377,6 +2440,97 @@ else
     CFLAGS=
   fi
 fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX 10.20 and later        -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
 # Some people use a C++ compiler to compile C.  Since we use `exit',
 # in C++ we need to declare it.  In case someone uses the same compiler
 # for both compiling C and C++ we need to have the C++ compiler decide
@@ -2412,12 +2566,6 @@ do
 #include "confdefs.h"
 #include <stdlib.h>
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2449,12 +2597,6 @@ rm -f conftest.$ac_objext conftest.$ac_ext
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2499,8 +2641,19 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
+rm -f .deps 2>/dev/null
+mkdir .deps 2>/dev/null
+if test -d .deps; then
+  DEPDIR=.deps
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  DEPDIR=_deps
+fi
+rmdir .deps 2>/dev/null
+
+
+          ac_config_commands="$ac_config_commands depfiles"
 
-ac_config_commands="$ac_config_commands default-1"
 
 am_make=${MAKE-make}
 cat > confinc << 'END'
@@ -2510,7 +2663,7 @@ END
 # If we don't find an include directive, just comment out the code.
 echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include='#'
+am__include="#"
 am__quote=
 _am_result=none
 # First try GNU make style include.
@@ -2530,15 +2683,36 @@ if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
       am__include=.include
-      am__quote='"'
+      am__quote="\""
       _am_result=BSD
    fi
 fi
 
 
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
-rm -f confinc confmf
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval="$enable_dependency_tracking"
+
+fi;
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
 
 
 depcc="$CC"   am_compiler_list=
@@ -2607,7 +2781,7 @@ fi
 fi
 echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 
 ac_ext=c
@@ -2738,12 +2912,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2792,12 +2960,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2857,12 +3019,6 @@ do
 #include "confdefs.h"
 #include <stdlib.h>
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -2894,12 +3050,6 @@ rm -f conftest.$ac_objext conftest.$ac_ext
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3006,7 +3156,7 @@ fi
 fi
 echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
-CXXDEPMODE="depmode=$am_cv_CXX_dependencies_compiler_type"
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
 
 
 if test "x$CC" != xcc; then
@@ -3025,12 +3175,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3197,6 +3341,7 @@ else
   ENABLE_WIN32SPECIFIC_TRUE='#'
   ENABLE_WIN32SPECIFIC_FALSE=
 fi
+
        ;;
 *)
 
@@ -3208,6 +3353,7 @@ else
   ENABLE_WIN32SPECIFIC_TRUE='#'
   ENABLE_WIN32SPECIFIC_FALSE=
 fi
+
        ;;
 esac
 
@@ -3445,9 +3591,7 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    set dummy "$as_dir/$ac_word" ${1+"$@"}
-    shift
-    ac_cv_prog_CC="$@"
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
   fi
 fi
 fi
@@ -3585,12 +3729,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3639,12 +3777,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3690,6 +3822,97 @@ else
     CFLAGS=
   fi
 fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX                  -qlanglvl=ansi
+# Ultrix and OSF/1     -std1
+# HP-UX 10.20 and later        -Ae
+# HP-UX older versions -Aa -D_HPUX_SOURCE
+# SVR4                 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
 # Some people use a C++ compiler to compile C.  Since we use `exit',
 # in C++ we need to declare it.  In case someone uses the same compiler
 # for both compiling C and C++ we need to have the C++ compiler decide
@@ -3725,12 +3948,6 @@ do
 #include "confdefs.h"
 #include <stdlib.h>
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3762,12 +3979,6 @@ rm -f conftest.$ac_objext conftest.$ac_ext
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_declaration
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -3879,7 +4090,7 @@ fi
 fi
 echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 
 
@@ -4265,6 +4476,7 @@ else
   ENABLE_PINGER_TRUE='#'
   ENABLE_PINGER_FALSE=
 fi
+
 # Check whether --enable-icmp or --disable-icmp was given.
 if test "${enable_icmp+set}" = set; then
   enableval="$enable_icmp"
@@ -4284,6 +4496,7 @@ else
   ENABLE_PINGER_TRUE='#'
   ENABLE_PINGER_FALSE=
 fi
+
   fi
 
 fi;
@@ -4297,6 +4510,7 @@ else
   USE_DELAY_POOLS_TRUE='#'
   USE_DELAY_POOLS_FALSE=
 fi
+
 # Check whether --enable-delay-pools or --disable-delay-pools was given.
 if test "${enable_delay_pools+set}" = set; then
   enableval="$enable_delay_pools"
@@ -4316,6 +4530,7 @@ else
   USE_DELAY_POOLS_TRUE='#'
   USE_DELAY_POOLS_FALSE=
 fi
+
   fi
 
 fi;
@@ -4391,6 +4606,7 @@ else
   USE_SNMP_TRUE='#'
   USE_SNMP_FALSE=
 fi
+
 # Check whether --enable-snmp or --disable-snmp was given.
 if test "${enable_snmp+set}" = set; then
   enableval="$enable_snmp"
@@ -4411,6 +4627,7 @@ else
   USE_SNMP_TRUE='#'
   USE_SNMP_FALSE=
 fi
+
     SNMP_MAKEFILE=./snmplib/Makefile
     makesnmplib=snmplib
   fi
@@ -4478,6 +4695,7 @@ else
   ENABLE_HTCP_TRUE='#'
   ENABLE_HTCP_FALSE=
 fi
+
 # Check whether --enable-htcp or --disable-htcp was given.
 if test "${enable_htcp+set}" = set; then
   enableval="$enable_htcp"
@@ -4497,6 +4715,7 @@ else
   ENABLE_HTCP_TRUE='#'
   ENABLE_HTCP_FALSE=
 fi
+
   fi
 
 fi;
@@ -4511,6 +4730,7 @@ else
   ENABLE_SSL_FALSE=
 fi
 
+
 # Check whether --enable-ssl or --disable-ssl was given.
 if test "${enable_ssl+set}" = set; then
   enableval="$enable_ssl"
@@ -4530,6 +4750,7 @@ else
   ENABLE_SSL_TRUE='#'
   ENABLE_SSL_FALSE=
 fi
+
     SSLLIB='-lssl -lcrypto'
     USE_OPENSSL=1
   fi
@@ -4547,6 +4768,7 @@ else
 fi
 
 
+
 # Check whether --with-openssl or --without-openssl was given.
 if test "${with_openssl+set}" = set; then
   withval="$with_openssl"
@@ -4582,6 +4804,7 @@ else
   NEED_OWN_MD5_TRUE='#'
   NEED_OWN_MD5_FALSE=
 fi
+
   if test -z "$SSLLIB"; then
     SSLLIB="-lcrypto" # for MD5 routines
   fi
@@ -4808,6 +5031,7 @@ else
   MAKE_LEAKFINDER_TRUE='#'
   MAKE_LEAKFINDER_FALSE=
 fi
+
 # Check whether --enable-leakfinder or --disable-leakfinder was given.
 if test "${enable_leakfinder+set}" = set; then
   enableval="$enable_leakfinder"
@@ -4828,6 +5052,7 @@ else
   MAKE_LEAKFINDER_TRUE='#'
   MAKE_LEAKFINDER_FALSE=
 fi
+
   fi
 
 fi;
@@ -4860,6 +5085,7 @@ else
   USE_DNSSERVER_TRUE='#'
   USE_DNSSERVER_FALSE=
 fi
+
 use_dnsserver=
 # Check whether --enable-internal-dns or --disable-internal-dns was given.
 if test "${enable_internal_dns+set}" = set; then
@@ -4885,6 +5111,7 @@ else
   USE_DNSSERVER_TRUE='#'
   USE_DNSSERVER_FALSE=
 fi
+
 fi
 
 # Check whether --enable-truncate or --disable-truncate was given.
@@ -5181,6 +5408,7 @@ else
   ENABLE_UNLINKD_TRUE='#'
   ENABLE_UNLINKD_FALSE=
 fi
+
 else
     echo "unlinkd disabled"
 
@@ -5192,6 +5420,7 @@ else
   ENABLE_UNLINKD_TRUE='#'
   ENABLE_UNLINKD_FALSE=
 fi
+
 fi
 
 # Check whether --enable-stacktraces or --disable-stacktraces was given.
@@ -5217,6 +5446,7 @@ else
   ENABLE_XPROF_STATS_TRUE='#'
   ENABLE_XPROF_STATS_FALSE=
 fi
+
 # Check whether --enable-cpu-profiling or --disable-cpu-profiling was given.
 if test "${enable_cpu_profiling+set}" = set; then
   enableval="$enable_cpu_profiling"
@@ -5236,6 +5466,7 @@ else
   ENABLE_XPROF_STATS_TRUE='#'
   ENABLE_XPROF_STATS_FALSE=
 fi
+
   fi
 
 fi;
@@ -5314,7 +5545,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -5347,7 +5578,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -5405,7 +5636,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -5438,7 +5669,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -6050,12 +6281,6 @@ else
 #include <sys/types.h>
 #include <$ac_hdr>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -6116,12 +6341,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char opendir ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -6162,12 +6381,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char opendir ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -6225,12 +6438,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char opendir ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -6271,12 +6478,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char opendir ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -6318,6 +6519,21 @@ fi
 fi
 
 
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
 echo "$as_me:$LINENO: checking for ANSI C header files" >&5
 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
 if test "${ac_cv_header_stdc+set}" = set; then
@@ -6335,7 +6551,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -6366,7 +6582,7 @@ if test $ac_cv_header_stdc = yes; then
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "memchr" >/dev/null 2>&1; then
+  $EGREP "memchr" >/dev/null 2>&1; then
   :
 else
   ac_cv_header_stdc=no
@@ -6384,7 +6600,7 @@ if test $ac_cv_header_stdc = yes; then
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "free" >/dev/null 2>&1; then
+  $EGREP "free" >/dev/null 2>&1; then
   :
 else
   ac_cv_header_stdc=no
@@ -6443,7 +6659,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 fi
@@ -6715,7 +6931,7 @@ _ACEOF
 if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
   ac_status=$?
-  egrep -v '^ *\+' conftest.er1 >conftest.err
+  grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
@@ -6925,115 +7141,18 @@ cat conftest.$ac_ext >&5
 eval "$as_ac_Header=no"
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX                  -qlanglvl=ansi
-# Ultrix and OSF/1     -std1
-# HP-UX 10.20 and later        -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4                 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
-else
-  echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-fi
-rm -f conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
 fi
 
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
-  *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
+done
+
 
 echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
@@ -7044,12 +7163,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7146,12 +7259,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/param.h>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7182,12 +7289,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/param.h>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7223,7 +7324,7 @@ else
 cat conftest.$ac_ext >&5
 # It does not; compile a test program.
 if test "$cross_compiling" = yes; then
-  # try to guess the endianess by grep'ing values into an object file
+  # try to guess the endianness by grepping values into an object file
   ac_cv_c_bigendian=unknown
   cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
@@ -7234,12 +7335,6 @@ void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
 short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
 short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
 void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7260,10 +7355,10 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  if fgrep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
   ac_cv_c_bigendian=yes
 fi
-if fgrep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
   if test "$ac_cv_c_bigendian" = unknown; then
     ac_cv_c_bigendian=no
   else
@@ -7312,7 +7407,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_c_bigendian=yes
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
@@ -7329,9 +7424,9 @@ _ACEOF
   no)
      ;;
   *)
-    { { echo "$as_me:$LINENO: error: unknown endianess
+    { { echo "$as_me:$LINENO: error: unknown endianness
 presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianess
+echo "$as_me: error: unknown endianness
 presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
    { (exit 1); exit 1; }; } ;;
 esac
@@ -7347,12 +7442,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 int foo(char *); int foo (char *bar) {return 1;}
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7403,12 +7492,6 @@ else
 #include <sys/types.h>
 #include <time.h>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7465,12 +7548,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7497,10 +7574,51 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if TM_IN_SYS_TIME
+#if HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#elif HAVE_TIME_H
+#include <time.h>
+#endif
+
+
+int
+main ()
+{
+static struct tm ac_aggr;
+if (sizeof ac_aggr.tm_gmtoff)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_member_struct_tm_tm_gmtoff=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
 ac_cv_member_struct_tm_tm_gmtoff=no
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
 fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
 echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5
 echo "${ECHO_T}$ac_cv_member_struct_tm_tm_gmtoff" >&6
 if test $ac_cv_member_struct_tm_tm_gmtoff = yes; then
@@ -7529,12 +7647,6 @@ else
 #include <malloc.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7593,12 +7705,6 @@ else
 #include <malloc.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7625,10 +7731,49 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if HAVE_MALLOC_H
+#include <malloc.h>
+#endif
+
+int
+main ()
+{
+static struct mallinfo ac_aggr;
+if (sizeof ac_aggr.mxfast)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_member_struct_mallinfo_mxfast=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
 ac_cv_member_struct_mallinfo_mxfast=no
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
 fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
 echo "$as_me:$LINENO: result: $ac_cv_member_struct_mallinfo_mxfast" >&5
 echo "${ECHO_T}$ac_cv_member_struct_mallinfo_mxfast" >&6
 if test $ac_cv_member_struct_mallinfo_mxfast = yes; then
@@ -7657,12 +7802,6 @@ else
 #include <sys/resource.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7729,12 +7868,6 @@ else
 #endif
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7761,10 +7894,57 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#if defined (__linux__) || defined (__CYGWIN__)
+#define ip_hl ihl
+#endif
+#ifndef __linux__
+#ifndef __CYGWIN__
+#define iphdr ip
+#endif
+#endif
+
+int
+main ()
+{
+static struct iphdr ac_aggr;
+if (sizeof ac_aggr.ip_hl)
+return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_member_struct_iphdr_ip_hl=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
 ac_cv_member_struct_iphdr_ip_hl=no
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
 fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
 echo "$as_me:$LINENO: result: $ac_cv_member_struct_iphdr_ip_hl" >&5
 echo "${ECHO_T}$ac_cv_member_struct_iphdr_ip_hl" >&6
 if test $ac_cv_member_struct_iphdr_ip_hl = yes; then
@@ -7786,12 +7966,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7842,12 +8016,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7876,12 +8044,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7924,12 +8086,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -7958,12 +8114,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8014,12 +8164,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 #line $LINENO "configure"
 #include "confdefs.h"
 $ac_includes_default
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8070,12 +8214,6 @@ long longval () { return (long) (sizeof (void *)); }
 unsigned long ulongval () { return (long) (sizeof (void *)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8124,7 +8262,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (void *), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -8169,12 +8307,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8246,12 +8378,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8319,12 +8445,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8398,12 +8518,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8455,12 +8569,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8526,12 +8634,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8583,12 +8685,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8662,12 +8758,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8741,12 +8831,6 @@ long longval () { return (long) (sizeof (short)); }
 unsigned long ulongval () { return (long) (sizeof (short)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8795,7 +8879,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (short), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -8848,12 +8932,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -8921,12 +8999,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9000,12 +9072,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9057,12 +9123,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9128,12 +9188,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9185,12 +9239,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9264,12 +9312,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9343,12 +9385,6 @@ long longval () { return (long) (sizeof (int)); }
 unsigned long ulongval () { return (long) (sizeof (int)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9397,7 +9433,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (int), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -9450,12 +9486,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9527,12 +9557,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9604,12 +9628,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9681,12 +9699,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9754,12 +9766,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9833,12 +9839,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9890,12 +9890,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -9961,12 +9955,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10018,12 +10006,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10097,12 +10079,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10176,12 +10152,6 @@ long longval () { return (long) (sizeof (long)); }
 unsigned long ulongval () { return (long) (sizeof (long)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10230,7 +10200,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (long), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -10283,12 +10253,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10360,12 +10324,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10437,12 +10395,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10514,12 +10466,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10591,12 +10537,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10664,12 +10604,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10743,12 +10677,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10800,12 +10728,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10871,12 +10793,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -10928,12 +10844,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11007,12 +10917,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11086,12 +10990,6 @@ long longval () { return (long) (sizeof (long long)); }
 unsigned long ulongval () { return (long) (sizeof (long long)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11140,7 +11038,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (long long), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -11193,12 +11091,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11270,12 +11162,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11347,12 +11233,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11423,12 +11303,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11495,12 +11369,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11574,12 +11442,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11631,12 +11493,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11702,12 +11558,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11759,12 +11609,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11838,12 +11682,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11917,12 +11755,6 @@ long longval () { return (long) (sizeof (size_t)); }
 unsigned long ulongval () { return (long) (sizeof (size_t)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -11971,7 +11803,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (size_t), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -12022,12 +11854,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12098,12 +11924,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12170,12 +11990,6 @@ else
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12249,12 +12063,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12306,12 +12114,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12377,12 +12179,6 @@ cat >conftest.$ac_ext <<_ACEOF
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12434,12 +12230,6 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12513,12 +12303,6 @@ while test "x$ac_lo" != "x$ac_hi"; do
 
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12592,12 +12376,6 @@ long longval () { return (long) (sizeof (off_t)); }
 unsigned long ulongval () { return (long) (sizeof (off_t)); }
 #include <stdio.h>
 #include <stdlib.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12646,7 +12424,7 @@ cat conftest.$ac_ext >&5
 echo "$as_me: error: cannot compute sizeof (off_t), 77" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 rm -f conftest.val
@@ -12697,12 +12475,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12773,12 +12545,6 @@ else
 #endif
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12832,12 +12598,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 #include <alloca.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12905,12 +12665,6 @@ char *alloca ();
 # endif
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -12977,7 +12731,7 @@ wenotbecray
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "webecray" >/dev/null 2>&1; then
+  $EGREP "webecray" >/dev/null 2>&1; then
   ac_cv_os_cray=yes
 else
   ac_cv_os_cray=no
@@ -13010,12 +12764,6 @@ extern "C"
 char $ac_func ();
 char (*f) ();
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13116,7 +12864,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_c_stack_direction=-1
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 fi
 echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
@@ -13146,12 +12894,6 @@ else
 #include <stddef.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13206,12 +12948,6 @@ else
 #include <sys/ipc.h>
 #include <sys/msg.h>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13267,12 +13003,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13326,12 +13056,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13388,12 +13112,6 @@ else
 #include <stddef.h>
 #include <sys/socket.h>
 #include <sys/un.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13451,12 +13169,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13525,12 +13237,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13589,12 +13295,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13647,12 +13347,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13707,12 +13401,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13777,12 +13465,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char inet_aton ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13834,12 +13516,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char inet_aton ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13895,12 +13571,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -13957,12 +13627,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14022,12 +13686,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char crypt ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14085,12 +13743,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14147,12 +13799,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include "confdefs.h"
 
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14215,12 +13861,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char aio_read ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14284,12 +13924,6 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char strftime ();
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14562,12 +14196,6 @@ extern "C"
 char $ac_func ();
 char (*f) ();
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14693,7 +14321,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_func_setresuid="no"
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 fi
@@ -14716,6 +14344,7 @@ else
   NEED_OWN_SNPRINTF_TRUE='#'
   NEED_OWN_SNPRINTF_FALSE=
 fi
+
 if test "$ac_cv_func_snprintf" = "no" || test "$ac_cv_func_vsnprintf" = "no" ; then
 
 
@@ -14726,6 +14355,7 @@ else
   NEED_OWN_SNPRINTF_TRUE='#'
   NEED_OWN_SNPRINTF_FALSE=
 fi
+
 fi
 
 if test "$IPF_TRANSPARENT" ; then
@@ -14843,12 +14473,6 @@ else
 #include "confdefs.h"
 #include <sys/types.h>
 #include <regex.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -14922,12 +14546,6 @@ extern "C"
 char $ac_func ();
 char (*f) ();
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15028,7 +14646,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 DEFAULT_FD_SETSIZE=256
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 echo "$as_me:$LINENO: result: $DEFAULT_FD_SETSIZE" >&5
 echo "${ECHO_T}$DEFAULT_FD_SETSIZE" >&6
@@ -15136,7 +14754,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 SQUID_MAXFD=256
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
   echo "$as_me:$LINENO: result: $SQUID_MAXFD" >&5
 echo "${ECHO_T}$SQUID_MAXFD" >&6
@@ -15201,7 +14819,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 SQUID_DETECT_UDP_SO_SNDBUF=16384
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 echo "$as_me:$LINENO: result: $SQUID_DETECT_UDP_SO_SNDBUF" >&5
 echo "${ECHO_T}$SQUID_DETECT_UDP_SO_SNDBUF" >&6
@@ -15257,7 +14875,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 SQUID_DETECT_UDP_SO_RCVBUF=16384
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 echo "$as_me:$LINENO: result: $SQUID_DETECT_UDP_SO_RCVBUF" >&5
 echo "${ECHO_T}$SQUID_DETECT_UDP_SO_RCVBUF" >&6
@@ -15313,7 +14931,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 SQUID_TCP_SO_SNDBUF=16384
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 echo "$as_me:$LINENO: result: $SQUID_TCP_SO_SNDBUF" >&5
 echo "${ECHO_T}$SQUID_TCP_SO_SNDBUF" >&6
@@ -15369,7 +14987,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 SQUID_TCP_SO_RCVBUF=16384
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 echo "$as_me:$LINENO: result: $SQUID_TCP_SO_RCVBUF" >&5
 echo "${ECHO_T}$SQUID_TCP_SO_RCVBUF" >&6
@@ -15388,12 +15006,6 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 #include <stdio.h>
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15439,12 +15051,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 extern int _dns_ttl_;
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15524,7 +15130,7 @@ cat conftest.$ac_ext >&5
 ( exit $ac_status )
 INET_NTOA_RESULT="broken"
 fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 if test "$INET_NTOA_RESULT" = "1.2.3.4" ; then
        echo "$as_me:$LINENO: result: \"yes\"" >&5
@@ -15552,12 +15158,6 @@ cat >conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/statvfs.h>
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15626,12 +15226,6 @@ else
 #include <resolv.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15696,12 +15290,6 @@ else
 #include <resolv.h>
 #endif
 
-#ifdef F77_DUMMY_MAIN
-#  ifdef __cplusplus
-     extern "C"
-#  endif
-   int F77_DUMMY_MAIN() { return 1; }
-#endif
 int
 main ()
 {
@@ -15765,7 +15353,7 @@ rm -f core
 
 
 
-ac_config_files="$ac_config_files Makefile lib/Makefile scripts/Makefile scripts/RunCache scripts/RunAccel src/Makefile src/fs/Makefile src/repl/Makefile src/auth/Makefile src/auth/basic/Makefile src/auth/digest/Makefile src/auth/ntlm/Makefile contrib/Makefile snmplib/Makefile icons/Makefile errors/Makefile src/fs/aufs/Makefile src/fs/coss/Makefile src/fs/diskd/Makefile src/fs/null/Makefile src/fs/ufs/Makefile src/repl/heap/Makefile src/repl/lru/Makefile doc/Makefile helpers/Makefile helpers/basic_auth/Makefile helpers/basic_auth/LDAP/Makefile helpers/basic_auth/MSNT/Makefile helpers/basic_auth/NCSA/Makefile helpers/basic_auth/PAM/Makefile helpers/basic_auth/SMB/Makefile helpers/basic_auth/YP/Makefile helpers/basic_auth/getpwnam/Makefile helpers/basic_auth/multi-domain-NTLM/Makefile helpers/basic_auth/SASL/Makefile helpers/basic_auth/winbind/Makefile helpers/digest_auth/Makefile helpers/digest_auth/password/Makefile helpers/ntlm_auth/Makefile helpers/ntlm_auth/fakeauth/Makefile helpers/ntlm_auth/no_check/Makefile helpers/ntlm_auth/SMB/Makefile helpers/ntlm_auth/SMB/smbval/Makefile helpers/ntlm_auth/winbind/Makefile helpers/external_acl/Makefile helpers/external_acl/ip_user/Makefile helpers/external_acl/ldap_group/Makefile helpers/external_acl/unix_group/Makefile helpers/external_acl/wbinfo_group/Makefile helpers/external_acl/winbind_group/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files Makefile lib/Makefile scripts/Makefile scripts/RunCache scripts/RunAccel src/Makefile src/fs/Makefile src/repl/Makefile src/auth/Makefile contrib/Makefile snmplib/Makefile icons/Makefile errors/Makefile src/fs/aufs/Makefile src/fs/coss/Makefile src/fs/diskd/Makefile src/fs/null/Makefile src/fs/ufs/Makefile doc/Makefile helpers/Makefile helpers/basic_auth/Makefile helpers/basic_auth/LDAP/Makefile helpers/basic_auth/MSNT/Makefile helpers/basic_auth/NCSA/Makefile helpers/basic_auth/PAM/Makefile helpers/basic_auth/SMB/Makefile helpers/basic_auth/YP/Makefile helpers/basic_auth/getpwnam/Makefile helpers/basic_auth/multi-domain-NTLM/Makefile helpers/basic_auth/SASL/Makefile helpers/basic_auth/winbind/Makefile helpers/digest_auth/Makefile helpers/digest_auth/password/Makefile helpers/ntlm_auth/Makefile helpers/ntlm_auth/fakeauth/Makefile helpers/ntlm_auth/no_check/Makefile helpers/ntlm_auth/SMB/Makefile helpers/ntlm_auth/SMB/smbval/Makefile helpers/ntlm_auth/winbind/Makefile helpers/external_acl/Makefile helpers/external_acl/ip_user/Makefile helpers/external_acl/ldap_group/Makefile helpers/external_acl/unix_group/Makefile helpers/external_acl/wbinfo_group/Makefile helpers/external_acl/winbind_group/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -15777,7 +15365,7 @@ cat >confcache <<\_ACEOF
 # config.status only pays attention to the cache file if you give it
 # the --recheck option to rerun configure.
 #
-# `ac_cv_env_foo' variables (set or unset) will be overriden when
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
 # loading this file, other *unset* `ac_cv_foo' will be assigned the
 # following values.
 
 
 DEFS=-DHAVE_CONFIG_H
 
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_WIN32SPECIFIC_TRUE}" && test -z "${ENABLE_WIN32SPECIFIC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_WIN32SPECIFIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_WIN32SPECIFIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_WIN32SPECIFIC_TRUE}" && test -z "${ENABLE_WIN32SPECIFIC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_WIN32SPECIFIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_WIN32SPECIFIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_PINGER_TRUE}" && test -z "${ENABLE_PINGER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_PINGER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_PINGER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_PINGER_TRUE}" && test -z "${ENABLE_PINGER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_PINGER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_PINGER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_DELAY_POOLS_TRUE}" && test -z "${USE_DELAY_POOLS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_DELAY_POOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_DELAY_POOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_DELAY_POOLS_TRUE}" && test -z "${USE_DELAY_POOLS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_DELAY_POOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_DELAY_POOLS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_SNMP_TRUE}" && test -z "${USE_SNMP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_SNMP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_SNMP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_SNMP_TRUE}" && test -z "${USE_SNMP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_SNMP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_SNMP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_HTCP_TRUE}" && test -z "${ENABLE_HTCP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_HTCP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_HTCP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_HTCP_TRUE}" && test -z "${ENABLE_HTCP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_HTCP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_HTCP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_SSL_TRUE}" && test -z "${ENABLE_SSL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SSL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_SSL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_SSL_TRUE}" && test -z "${ENABLE_SSL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SSL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_SSL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${NEED_OWN_MD5_TRUE}" && test -z "${NEED_OWN_MD5_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"NEED_OWN_MD5\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"NEED_OWN_MD5\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${NEED_OWN_MD5_TRUE}" && test -z "${NEED_OWN_MD5_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"NEED_OWN_MD5\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"NEED_OWN_MD5\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${MAKE_LEAKFINDER_TRUE}" && test -z "${MAKE_LEAKFINDER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAKE_LEAKFINDER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAKE_LEAKFINDER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${MAKE_LEAKFINDER_TRUE}" && test -z "${MAKE_LEAKFINDER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"MAKE_LEAKFINDER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAKE_LEAKFINDER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_DNSSERVER_TRUE}" && test -z "${USE_DNSSERVER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_DNSSERVER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_DNSSERVER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${USE_DNSSERVER_TRUE}" && test -z "${USE_DNSSERVER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"USE_DNSSERVER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"USE_DNSSERVER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_UNLINKD_TRUE}" && test -z "${ENABLE_UNLINKD_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_UNLINKD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_UNLINKD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_UNLINKD_TRUE}" && test -z "${ENABLE_UNLINKD_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_UNLINKD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_UNLINKD\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_XPROF_STATS_TRUE}" && test -z "${ENABLE_XPROF_STATS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_XPROF_STATS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_XPROF_STATS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${ENABLE_XPROF_STATS_TRUE}" && test -z "${ENABLE_XPROF_STATS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ENABLE_XPROF_STATS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"ENABLE_XPROF_STATS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${NEED_OWN_SNPRINTF_TRUE}" && test -z "${NEED_OWN_SNPRINTF_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"NEED_OWN_SNPRINTF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"NEED_OWN_SNPRINTF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${NEED_OWN_SNPRINTF_TRUE}" && test -z "${NEED_OWN_SNPRINTF_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"NEED_OWN_SNPRINTF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"NEED_OWN_SNPRINTF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -15861,7 +15646,6 @@ SHELL=\${CONFIG_SHELL-$SHELL}
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -15870,11 +15654,13 @@ cat >>$CONFIG_STATUS <<\_ACEOF
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
 elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
   set -o posix
 fi
 
-# NLS nuisances.
 # Support unset when possible.
 if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
   as_unset=unset
@@ -15882,34 +15668,39 @@ else
   as_unset=false
 fi
 
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
-    { $as_unset LANG || test "${LANG+set}" != set; } ||
-      { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
-    { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
-      { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
-    { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
-      { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
-    { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
-      { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
-    { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
-      { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
-    { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
-      { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
-    { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
-      { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
-    { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
-      { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE LC_NUMERIC LC_MESSAGES LC_TIME
+do
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
 
 
 # Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
+as_me=`$as_basename "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)$' \| \
@@ -15920,6 +15711,7 @@ echo X/"$0" |
          /^X\/\(\/\).*/{ s//\1/; q; }
          s/.*/./; q'`
 
+
 # PATH needs CR, and LINENO needs CR and PATH.
 # Avoid depending upon Character Ranges.
 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
@@ -15933,7 +15725,7 @@ if test "${PATH_SEPARATOR+set}" != set; then
   echo "#! /bin/sh" >conftest.sh
   echo  "exit 0"   >>conftest.sh
   chmod +x conftest.sh
-  if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
+  if (PATH="/nonexistent;."; conftest.sh) >/dev/null 2>&1; then
     PATH_SEPARATOR=';'
   else
     PATH_SEPARATOR=:
@@ -15987,6 +15779,8 @@ do
   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
   test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
             CONFIG_SHELL=$as_dir/$as_base
             export CONFIG_SHELL
             exec "$CONFIG_SHELL" "$0" ${1+"$@"}
@@ -16060,6 +15854,12 @@ else
 fi
 rm -f conf$$ conf$$.exe conf$$.file
 
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
 as_executable_p="test -f"
 
 # Sed expression to map a string onto a valid CPP name.
@@ -16076,7 +15876,7 @@ as_nl='
 IFS="  $as_nl"
 
 # CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+$as_unset CDPATH
 
 exec 6>&1
 
@@ -16093,7 +15893,7 @@ _ASBOX
 cat >&5 <<_CSEOF
 
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.53.  Invocation command line was
+generated by GNU Autoconf 2.54.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -16155,7 +15955,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.53,
+configured by $0, generated by GNU Autoconf 2.54,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
   --*=*)
     ac_option=`expr "x$1" : 'x\([^=]*\)='`
     ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
-    shift
-    set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
-    shift
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
     ;;
-  -*);;
   *) # This is not an option, so the user has probably given explicit
      # arguments.
+     ac_option=$1
      ac_need_defaults=false;;
   esac
 
-  case $1 in
+  case $ac_option in
   # Handling of the options.
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
@@ -16209,12 +16012,12 @@ Try \`$0 --help' for more information." >&2;}
   --debug | --d* | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
-    shift
-    CONFIG_FILES="$CONFIG_FILES $1"
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
-    shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $1"
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
 
   # This is an error.
@@ -16237,8 +16040,7 @@ cat >>$CONFIG_STATUS <<_ACEOF
 # INIT-COMMANDS section.
 #
 
-AMDEP_TRUE="$AMDEP_TRUE"
-ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 _ACEOF
 
@@ -16258,9 +16060,6 @@ do
   "src/fs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/Makefile" ;;
   "src/repl/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/Makefile" ;;
   "src/auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/Makefile" ;;
-  "src/auth/basic/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/basic/Makefile" ;;
-  "src/auth/digest/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/digest/Makefile" ;;
-  "src/auth/ntlm/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/ntlm/Makefile" ;;
   "contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
   "snmplib/Makefile" ) CONFIG_FILES="$CONFIG_FILES snmplib/Makefile" ;;
   "icons/Makefile" ) CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;;
@@ -16270,8 +16069,6 @@ do
   "src/fs/diskd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/diskd/Makefile" ;;
   "src/fs/null/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/null/Makefile" ;;
   "src/fs/ufs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fs/ufs/Makefile" ;;
-  "src/repl/heap/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/heap/Makefile" ;;
-  "src/repl/lru/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/repl/lru/Makefile" ;;
   "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
   "helpers/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/Makefile" ;;
   "helpers/basic_auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/basic_auth/Makefile" ;;
@@ -16299,7 +16096,7 @@ do
   "helpers/external_acl/unix_group/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/external_acl/unix_group/Makefile" ;;
   "helpers/external_acl/wbinfo_group/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/external_acl/wbinfo_group/Makefile" ;;
   "helpers/external_acl/winbind_group/Makefile" ) CONFIG_FILES="$CONFIG_FILES helpers/external_acl/winbind_group/Makefile" ;;
-  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
   "include/autoconf.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/autoconf.h" ;;
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
@@ -16388,8 +16185,6 @@ s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
 s,@INSTALL_DATA@,$INSTALL_DATA,;t t
 s,@PACKAGE@,$PACKAGE,;t t
 s,@VERSION@,$VERSION,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
 s,@ACLOCAL@,$ACLOCAL,;t t
 s,@AUTOCONF@,$AUTOCONF,;t t
 s,@AUTOMAKE@,$AUTOMAKE,;t t
@@ -16397,13 +16192,11 @@ s,@AUTOHEADER@,$AUTOHEADER,;t t
 s,@MAKEINFO@,$MAKEINFO,;t t
 s,@AMTAR@,$AMTAR,;t t
 s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
 s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
 s,@AWK@,$AWK,;t t
 s,@SET_MAKE@,$SET_MAKE,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@DEPDIR@,$DEPDIR,;t t
 s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
 s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
 s,@MAINT@,$MAINT,;t t
@@ -16412,8 +16205,14 @@ s,@CFLAGS@,$CFLAGS,;t t
 s,@LDFLAGS@,$LDFLAGS,;t t
 s,@CPPFLAGS@,$CPPFLAGS,;t t
 s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@DEPDIR@,$DEPDIR,;t t
 s,@am__include@,$am__include,;t t
 s,@am__quote@,$am__quote,;t t
+s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
 s,@CCDEPMODE@,$CCDEPMODE,;t t
 s,@CXX@,$CXX,;t t
 s,@CXXFLAGS@,$CXXFLAGS,;t t
@@ -16486,6 +16285,7 @@ s,@LN@,$LN,;t t
 s,@PERL@,$PERL,;t t
 s,@AR@,$AR,;t t
 s,@AR_R@,$AR_R,;t t
+s,@EGREP@,$EGREP,;t t
 s,@ALLOCA@,$ALLOCA,;t t
 s,@CRYPTLIB@,$CRYPTLIB,;t t
 s,@NEED_OWN_SNPRINTF_TRUE@,$NEED_OWN_SNPRINTF_TRUE,;t t
@@ -16495,6 +16295,7 @@ s,@LIBREGEX@,$LIBREGEX,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
 s,@XTRA_OBJS@,$XTRA_OBJS,;t t
 s,@XTRA_LIBS@,$XTRA_LIBS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
 
 _ACEOF
@@ -16565,25 +16366,30 @@ echo X"$ac_file" |
          /^X\(\/\/\)$/{ s//\1/; q; }
          /^X\(\/\).*/{ s//\1/; q; }
          s/.*/./; q'`
-  { case "$ac_dir" in
-  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
-  *)                      as_incr_dir=.;;
-esac
-as_dummy="$ac_dir"
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
-  case $as_mkdir_dir in
-    # Skip DOS drivespec
-    ?:) as_incr_dir=$as_mkdir_dir ;;
-    *)
-      as_incr_dir=$as_incr_dir/$as_mkdir_dir
-      test -d "$as_incr_dir" ||
-        mkdir "$as_incr_dir" ||
-       { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-  esac
-done; }
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
 
   ac_builddir=.
 
@@ -16613,7 +16419,7 @@ esac
 # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
 # absolute.
 ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
 ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
 ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
 
@@ -16803,7 +16609,7 @@ _ACEOF
 # Break up conftest.defines because some shells have a limit on the size
 # of here documents, and old seds have small limits too (100 cmds).
 echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if egrep "^[   ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  if grep "^[    ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
 echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
 echo '  :' >>$CONFIG_STATUS
 rm -f conftest.tail
@@ -16827,7 +16633,7 @@ do
   mv conftest.tail conftest.defines
 done
 rm -f conftest.defines
-echo '  fi # egrep' >>$CONFIG_STATUS
+echo '  fi # grep' >>$CONFIG_STATUS
 echo >>$CONFIG_STATUS
 
 # Break up conftest.undefs because some shells have a limit on the size
@@ -16883,25 +16689,30 @@ echo X"$ac_file" |
          /^X\(\/\/\)$/{ s//\1/; q; }
          /^X\(\/\).*/{ s//\1/; q; }
          s/.*/./; q'`
-      { case "$ac_dir" in
-  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
-  *)                      as_incr_dir=.;;
-esac
-as_dummy="$ac_dir"
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
-  case $as_mkdir_dir in
-    # Skip DOS drivespec
-    ?:) as_incr_dir=$as_mkdir_dir ;;
-    *)
-      as_incr_dir=$as_incr_dir/$as_mkdir_dir
-      test -d "$as_incr_dir" ||
-        mkdir "$as_incr_dir" ||
-       { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-  esac
-done; }
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
 
       rm -f $ac_file
       mv $tmp/config.h $ac_file
@@ -16913,7 +16724,7 @@ done; }
   # Run the commands associated with the file.
   case $ac_file in
     include/autoconf.h ) # update the timestamp
-echo timestamp >"include/stamp-h1"
+echo 'timestamp for include/autoconf.h' >"include/stamp-h1"
  ;;
   esac
 done
@@ -16966,7 +16777,7 @@ esac
 # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
 # absolute.
 ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
 ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
 ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
 
@@ -16974,14 +16785,31 @@ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
   { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
 echo "$as_me: executing $ac_dest commands" >&6;}
   case $ac_dest in
-    default-1 )
-test x"$AMDEP_TRUE" != x"" ||
-for mf in $CONFIG_FILES; do
-  case "$mf" in
-  Makefile) dirpart=.;;
-  */Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
-  *) continue;;
-  esac
+    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`(dirname "$mf") 2>/dev/null ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$mf" : 'X\(//\)[^/]' \| \
+         X"$mf" : 'X\(//\)$' \| \
+         X"$mf" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+  else
+    continue
+  fi
   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
   # Extract the definition of DEP_FILES from the Makefile without
   # running `make'.
@@ -17006,8 +16834,43 @@ for mf in $CONFIG_FILES; do
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
-    $ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
+    fdir=`(dirname "$file") 2>/dev/null ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$file" : 'X\(//\)[^/]' \| \
+         X"$file" : 'X\(//\)$' \| \
+         X"$file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    { if $as_mkdir_p; then
+    mkdir -p $dirpart/$fdir
+  else
+    as_dir=$dirpart/$fdir
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+         /^X\(\/\/\)$/{ s//\1/; q; }
+         /^X\(\/\).*/{ s//\1/; q; }
+         s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+   { (exit 1); exit 1; }; }; }
+
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
index 1d03d2f6e707979c30905c7d498ba8a1d47a4c64..0fead9374d5023937897b5fc7fd4fb7996363979 100644 (file)
@@ -3,17 +3,17 @@ dnl  Configuration input file for Squid
 dnl
 dnl  Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
 dnl
-dnl  $Id: configure.in,v 1.293 2002/10/13 03:01:41 robertc Exp $
+dnl  $Id: configure.in,v 1.294 2002/10/13 20:34:15 robertc Exp $
 dnl
 dnl
 dnl
 AC_INIT
 AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR([src/main.c])
+AC_CONFIG_SRCDIR([src/main.cc])
 AC_CONFIG_AUX_DIR(cfgaux)
 AM_INIT_AUTOMAKE(squid, 2.6-DEVEL)
 AM_CONFIG_HEADER(include/autoconf.h)
-AC_REVISION($Revision: 1.293 $)dnl
+AC_REVISION($Revision: 1.294 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -2329,9 +2329,6 @@ AC_CONFIG_FILES([\
        src/fs/Makefile \
        src/repl/Makefile \
        src/auth/Makefile \
-       src/auth/basic/Makefile \
-       src/auth/digest/Makefile \
-       src/auth/ntlm/Makefile \
        contrib/Makefile \
        snmplib/Makefile \
        icons/Makefile \
@@ -2341,8 +2338,6 @@ AC_CONFIG_FILES([\
        src/fs/diskd/Makefile \
        src/fs/null/Makefile \
        src/fs/ufs/Makefile \
-       src/repl/heap/Makefile \
-       src/repl/lru/Makefile \
        doc/Makefile \
        helpers/Makefile \
        helpers/basic_auth/Makefile \
index 7ecd9fbee1cbe5a24278738f2e75ed38117673b5..3b60e190ead0726d12e2a7992d6dbd4241bad386 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +18,6 @@
 # Makefile for installing Squid startup files on systems
 # using a SVR4-based startup mechanism/file system layout
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -151,14 +158,11 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  contrib/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
@@ -166,15 +170,20 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
        $(mkinstalldirs) $(distdir)/nextstep
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -196,6 +205,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -203,7 +213,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 21b42d6fec6fc89c728e4a14c2a6b9b76e0eb418..565941574f569f5ed972f035cc106ede8fca77f1 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.13 2002/09/30 00:18:48 hno Exp $
+#  $Id: Makefile.in,v 1.14 2002/10/13 20:34:17 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -145,9 +152,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  doc/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 man8dir = $(mandir)/man8
@@ -165,6 +170,10 @@ install-man8: $(man8_MANS) $(man_MANS)
          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
          else file=$$i; fi; \
          ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           8*) ;; \
+           *) ext='8' ;; \
+         esac; \
          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
          inst=`echo $$inst | sed -e 's/^.*\///'`; \
          inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -191,22 +200,26 @@ uninstall-man8:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -231,6 +244,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -238,7 +252,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 8539ceb6af91c69b496ebd97095e095db2953fc4..7b53981760b9655928feb35ad8dcd0f8aae60b0c 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,9 +15,8 @@
 @SET_MAKE@
 
 #
-# $Id: Makefile.in,v 1.28 2002/09/30 00:18:53 hno Exp $
+# $Id: Makefile.in,v 1.29 2002/10/13 20:34:17 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,6 +65,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -78,7 +86,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -91,7 +98,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -108,6 +114,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -164,29 +171,31 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  errors/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -213,6 +222,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -220,7 +230,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 174673f0bfe1e12f1cf5562c0f1b9bff5cc0c085..eae9d6e5134ecfe219cb33665c370c8e0989e053 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -112,7 +119,6 @@ am__include = @am__include@
 am__quote = @am__quote@
 install_sh = @install_sh@
 makesnmplib = @makesnmplib@
-
 SUBDIRS = basic_auth ntlm_auth digest_auth external_acl
 subdir = helpers
 mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs
@@ -133,9 +139,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -145,7 +149,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -165,7 +169,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -193,16 +197,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -213,45 +220,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(SUBDIRS); do \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -281,6 +293,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -288,7 +301,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 55760388b093d010b21f86a4edc24219d314febe..44190aa754861519089aa3761d5c1672a7fbe684 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid LDAP authentication helper
 #
-#  $Id: Makefile.in,v 1.22 2002/09/30 00:19:16 hno Exp $
+#  $Id: Makefile.in,v 1.23 2002/10/13 20:34:20 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -147,7 +154,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/squid_ldap_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/squid_ldap_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -168,9 +176,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/LDAP/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -178,16 +185,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -204,16 +211,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/squid_ldap_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/squid_ldap_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -238,6 +245,10 @@ install-man8: $(man8_MANS) $(man_MANS)
          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
          else file=$$i; fi; \
          ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           8*) ;; \
+           *) ext='8' ;; \
+         esac; \
          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
          inst=`echo $$inst | sed -e 's/^.*\///'`; \
          inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -262,53 +273,61 @@ uninstall-man8:
          rm -f $(DESTDIR)$(man8dir)/$$inst; \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -333,6 +352,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -340,7 +360,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 1b8eda21942f172791b89da157acc62d4c53b4d8..6265218d50cb7b906d6083e5a59f0fac2f405fa8 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.25 2002/09/30 00:19:27 hno Exp $
+#  $Id: Makefile.in,v 1.26 2002/10/13 20:34:24 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -170,13 +177,15 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/allowusers.Po $(DEPDIR)/confload.Po \
-@AMDEP_TRUE@   $(DEPDIR)/denyusers.Po $(DEPDIR)/md4.Po \
-@AMDEP_TRUE@   $(DEPDIR)/msntauth.Po $(DEPDIR)/rfcnb-io.Po \
-@AMDEP_TRUE@   $(DEPDIR)/rfcnb-util.Po $(DEPDIR)/session.Po \
-@AMDEP_TRUE@   $(DEPDIR)/smbdes.Po $(DEPDIR)/smbencrypt.Po \
-@AMDEP_TRUE@   $(DEPDIR)/smblib-util.Po $(DEPDIR)/smblib.Po \
-@AMDEP_TRUE@   $(DEPDIR)/usersfile.Po $(DEPDIR)/valid.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/allowusers.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/confload.Po ./$(DEPDIR)/denyusers.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/md4.Po ./$(DEPDIR)/msntauth.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/rfcnb-io.Po ./$(DEPDIR)/rfcnb-util.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/session.Po ./$(DEPDIR)/smbdes.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/smbencrypt.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/smblib-util.Po ./$(DEPDIR)/smblib.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/usersfile.Po ./$(DEPDIR)/valid.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -196,9 +205,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/MSNT/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -206,16 +214,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -232,29 +240,29 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/allowusers.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/confload.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/denyusers.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md4.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/msntauth.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfcnb-io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfcnb-util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/session.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smbdes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smbencrypt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smblib-util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smblib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usersfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/valid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allowusers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/confload.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/denyusers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msntauth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfcnb-io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfcnb-util.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smbdes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smbencrypt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smblib-util.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smblib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usersfile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -263,14 +271,15 @@ distclean-depend:
        $(COMPILE) -c `cygpath -w $<`
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
+sysconfDATA_INSTALL = $(INSTALL_DATA)
 install-sysconfDATA: $(sysconf_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
        @list='$(sysconf_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          f="`echo $$p | sed -e 's|^.*/||'`"; \
-         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/$$f"; \
-         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/$$f; \
+         echo " $(sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(sysconfdir)/$$f"; \
+         $(sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(sysconfdir)/$$f; \
        done
 
 uninstall-sysconfDATA:
@@ -281,53 +290,61 @@ uninstall-sysconfDATA:
          rm -f $(DESTDIR)$(sysconfdir)/$$f; \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -352,6 +369,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -359,7 +377,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 9cb3f760780cfaacf54ca63df1e1de97b61f0756..c18cece9b803ead4343b2362bbd6b465770125da 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.20 2002/09/30 00:19:15 hno Exp $
+#  $Id: Makefile.in,v 1.21 2002/10/13 20:34:19 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -138,9 +145,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -150,7 +155,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -170,7 +175,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -198,16 +203,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -218,45 +226,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -286,6 +299,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -293,7 +307,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 39a3dfc60b371ef221041017978b8a0cee917fe8..45a856449ba8b6f3f9dd6c47fb1098dfa1f1c4cc 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.20 2002/09/30 00:19:28 hno Exp $
+#  $Id: Makefile.in,v 1.21 2002/10/13 20:34:24 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -144,7 +151,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/ncsa_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ncsa_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -162,9 +170,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/NCSA/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -172,16 +179,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -198,16 +205,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ncsa_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ncsa_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -217,53 +224,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -288,6 +303,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -295,7 +311,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 0d3f60a6ca0f4fdf018bac8cc88a148e618f0714..9178cea67c99dcb655e28f0e27529c6161d62a17 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid PAM authentication helper
 #
-#  $Id: Makefile.in,v 1.21 2002/09/30 00:19:35 hno Exp $
+#  $Id: Makefile.in,v 1.22 2002/10/13 20:34:25 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,7 +153,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/pam_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/pam_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -167,9 +175,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/PAM/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -177,16 +184,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -203,16 +210,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pam_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -237,6 +244,10 @@ install-man8: $(man8_MANS) $(man_MANS)
          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
          else file=$$i; fi; \
          ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           8*) ;; \
+           *) ext='8' ;; \
+         esac; \
          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
          inst=`echo $$inst | sed -e 's/^.*\///'`; \
          inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -261,53 +272,61 @@ uninstall-man8:
          rm -f $(DESTDIR)$(man8dir)/$$inst; \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -332,6 +351,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -339,7 +359,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 53508777f659b1625cf65c3ac6c8ceb056b51f8c..73cbd185968c65a1366b3b1b462f07ee5fa89a3a 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid SASL authentication helper
 #
-#  $Id: Makefile.in,v 1.18 2002/09/30 00:19:48 hno Exp $
+#  $Id: Makefile.in,v 1.19 2002/10/13 20:34:29 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -145,7 +152,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/sasl_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/sasl_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -163,9 +171,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/SASL/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -173,16 +180,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -199,16 +206,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sasl_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sasl_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -218,53 +225,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -289,6 +304,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -296,7 +312,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 00834ec3fd477744c46f2a460bd4b1b8a69ee569..febc4268746a572507999ba363bc2031e0818fbb 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +17,7 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.21 2002/09/30 00:19:56 hno Exp $
+#  $Id: Makefile.in,v 1.22 2002/10/13 20:34:31 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
@@ -25,7 +26,6 @@
 # By default, Samba is installed in /usr/local/samba. If you changed this
 # by using the --prefix option when configuring Samba, you need to change
 # SAMBAPREFIX accordingly.
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -56,9 +56,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -70,6 +74,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -87,7 +95,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -100,7 +107,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -117,6 +123,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -159,7 +166,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/smb_auth-smb_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/smb_auth-smb_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -177,9 +185,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/SMB/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -187,16 +194,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -207,24 +214,23 @@ smb_auth-smb_auth.$(OBJEXT): smb_auth.c
 smb_auth$(EXEEXT): $(smb_auth_OBJECTS) $(smb_auth_DEPENDENCIES) 
        @rm -f smb_auth$(EXEEXT)
        $(LINK) $(smb_auth_LDFLAGS) $(smb_auth_OBJECTS) $(smb_auth_LDADD) $(LIBS)
+libexecSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 install-libexecSCRIPTS: $(libexec_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
-         if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f; \
-         elif test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f; \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f $$d$$p; then \
+           f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+           echo " $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
+           $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecSCRIPTS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
+         f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -235,16 +241,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smb_auth-smb_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smb_auth-smb_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -256,7 +262,7 @@ smb_auth-smb_auth.o: smb_auth.c
 @AMDEP_TRUE@   source='smb_auth.c' object='smb_auth-smb_auth.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/smb_auth-smb_auth.Po' tmpdepfile='$(DEPDIR)/smb_auth-smb_auth.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(smb_auth_CFLAGS) $(CFLAGS) -c -o smb_auth-smb_auth.o `test -f smb_auth.c || echo '$(srcdir)/'`smb_auth.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(smb_auth_CFLAGS) $(CFLAGS) -c -o smb_auth-smb_auth.o `test -f 'smb_auth.c' || echo '$(srcdir)/'`smb_auth.c
 
 smb_auth-smb_auth.obj: smb_auth.c
 @AMDEP_TRUE@   source='smb_auth.c' object='smb_auth-smb_auth.obj' libtool=no @AMDEPBACKSLASH@
@@ -266,53 +272,61 @@ smb_auth-smb_auth.obj: smb_auth.c
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -337,6 +351,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -344,7 +359,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index d330498b1e215cd352b860f37a9a739d569ba462..6cffb8d2e1853cb4bf1a7504453b6ea7684c63f4 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.22 2002/09/30 00:20:09 hno Exp $
+#  $Id: Makefile.in,v 1.23 2002/10/13 20:34:32 robertc Exp $
 #
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -50,9 +50,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -64,6 +68,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -81,7 +89,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -94,7 +101,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -111,6 +117,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -143,7 +150,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/nis_support.Po $(DEPDIR)/yp_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/nis_support.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/yp_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -161,9 +170,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/YP/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -171,16 +179,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -197,17 +205,17 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/nis_support.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/yp_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nis_support.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yp_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -217,53 +225,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -288,6 +304,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -295,7 +312,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 50b096ef189cc32541f1f08f563b1c1950e9311e..4954cd5e9cf055d0d9d7c991c048521a640afb49 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.20 2002/09/30 00:20:15 hno Exp $
+#  $Id: Makefile.in,v 1.21 2002/10/13 20:34:33 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,7 +153,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/getpwnam_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/getpwnam_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -164,9 +172,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/getpwnam/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -174,16 +181,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -200,16 +207,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getpwnam_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpwnam_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -219,53 +226,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -290,6 +305,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -297,7 +313,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index bdbf927da221a9cd85ec3641dce61c4123dfdc8e..d3e9774a99fba497961ce4d463e653618eca06c6 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.18 2002/09/30 00:20:21 hno Exp $
+#  $Id: Makefile.in,v 1.19 2002/10/13 20:34:35 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -144,27 +151,24 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/multi-domain-NTLM/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 install-libexecSCRIPTS: $(libexec_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
-         if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f; \
-         elif test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f; \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f $$d$$p; then \
+           f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+           echo " $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
+           $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecSCRIPTS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
+         f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -172,22 +176,26 @@ uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -212,6 +220,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -219,7 +228,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 597355b1daae307d8889db038a9fd287c81a65d1..6a40dad0b1d2cc1ad2505f2c8c8e65239ead50d4 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,9 +17,8 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.12 2002/09/30 00:20:27 hno Exp $
+#  $Id: Makefile.in,v 1.13 2002/10/13 20:34:38 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -49,9 +49,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -63,6 +67,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -80,7 +88,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -93,7 +100,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -110,6 +116,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -142,8 +149,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/wb_basic_auth.Po \
-@AMDEP_TRUE@   $(DEPDIR)/wb_common.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/wb_basic_auth.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/wb_common.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -161,9 +169,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/basic_auth/winbind/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -171,16 +178,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -197,17 +204,17 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_basic_auth.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_basic_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_common.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -217,53 +224,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -288,6 +303,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -295,7 +311,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index a3762df72839cdd46a70af6e81df11d84a4d2ec4..e2fc1c04a8478873d5471248b2d3a6ed87f07f2e 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for digest auth helpers in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.17 2002/09/30 00:20:33 hno Exp $
+#  $Id: Makefile.in,v 1.18 2002/10/13 20:34:39 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -138,9 +145,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/digest_auth/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -150,7 +155,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -170,7 +175,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -198,16 +203,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -218,45 +226,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -286,6 +299,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -293,7 +307,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 3ed81360122059202e1b095a714cc06756273190..3a83280b1b2073aa7dea1c33593a77946e01664e 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.19 2002/09/30 00:20:39 hno Exp $
+#  $Id: Makefile.in,v 1.20 2002/10/13 20:34:41 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,7 +153,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/digest_pw_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/digest_pw_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -164,9 +172,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/digest_auth/password/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -174,16 +181,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -200,16 +207,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/digest_pw_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/digest_pw_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -219,53 +226,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -290,6 +305,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -297,7 +313,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index f9a9dda0e41e679279c4cd95ac55ddfd4834e8a0..84ecff272e4afdf22f9b728439876b1b2f6188d1 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.7 2002/09/30 00:20:59 hno Exp $
+#  $Id: Makefile.in,v 1.8 2002/10/13 20:34:41 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -138,9 +145,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -150,7 +155,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -170,7 +175,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -198,16 +203,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -218,45 +226,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -286,6 +299,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -293,7 +307,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index fcd98efb8a519b026141048782d3e840c4d22dec..03939153e698ee19dd3a9e4df3a87ea2f271bcf5 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the ip_user external_acl helper by Rodrigo Campos
 #
-#  $Id: Makefile.in,v 1.7 2002/09/30 00:21:13 hno Exp $
+#  $Id: Makefile.in,v 1.8 2002/10/13 20:34:42 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -163,8 +170,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/dict.Po $(DEPDIR)/main.Po \
-@AMDEP_TRUE@   $(DEPDIR)/match.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/dict.Po ./$(DEPDIR)/main.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/match.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -182,9 +190,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/ip_user/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -192,16 +199,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -218,18 +225,18 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dict.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/match.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dict.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/match.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -239,53 +246,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -310,6 +325,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -317,7 +333,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 5084cb9cf4ca4682ecb9824fcd125dabfb8e42d1..30876585cdb9a728189cb52855bf388bd5f994b7 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid LDAP authentication helper
 #
-#  $Id: Makefile.in,v 1.7 2002/09/30 00:21:45 hno Exp $
+#  $Id: Makefile.in,v 1.8 2002/10/13 20:34:43 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,7 +153,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/squid_ldap_group.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/squid_ldap_group.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -167,9 +175,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/ldap_group/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -177,16 +184,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -203,16 +210,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/squid_ldap_group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/squid_ldap_group.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -237,6 +244,10 @@ install-man8: $(man8_MANS) $(man_MANS)
          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
          else file=$$i; fi; \
          ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           8*) ;; \
+           *) ext='8' ;; \
+         esac; \
          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
          inst=`echo $$inst | sed -e 's/^.*\///'`; \
          inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -261,53 +272,61 @@ uninstall-man8:
          rm -f $(DESTDIR)$(man8dir)/$$inst; \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -332,6 +351,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -339,7 +359,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index ba0d1de788d6b3e0ad28461ece400504ecaec1cb..9d18928d41ee6da29e73b06d43bece6b04e71f70 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid LDAP authentication helper
 #
-#  $Id: Makefile.in,v 1.7 2002/09/30 00:21:46 hno Exp $
+#  $Id: Makefile.in,v 1.8 2002/10/13 20:34:44 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -144,7 +151,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/check_group.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/check_group.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -165,9 +173,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/unix_group/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -175,16 +182,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -201,16 +208,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/check_group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_group.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -235,6 +242,10 @@ install-man8: $(man8_MANS) $(man_MANS)
          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
          else file=$$i; fi; \
          ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+         case "$$ext" in \
+           8*) ;; \
+           *) ext='8' ;; \
+         esac; \
          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
          inst=`echo $$inst | sed -e 's/^.*\///'`; \
          inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@@ -259,53 +270,61 @@ uninstall-man8:
          rm -f $(DESTDIR)$(man8dir)/$$inst; \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -330,6 +349,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -337,7 +357,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 12c11779713ab572453dd07b91355d32e213c090..e5bf815f80e358c7016cf2f05ded523f39471513 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid LDAP authentication helper
 #
-#  $Id: Makefile.in,v 1.6 2002/09/30 00:21:59 hno Exp $
+#  $Id: Makefile.in,v 1.7 2002/10/13 20:34:44 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -140,27 +147,24 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/wbinfo_group/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 install-libexecSCRIPTS: $(libexec_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
-         if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f; \
-         elif test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f; \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f $$d$$p; then \
+           f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+           echo " $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
+           $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecSCRIPTS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
+         f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -168,22 +172,26 @@ uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -208,6 +216,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -215,7 +224,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 207c5c1ae738be93c7c432cc110befbdc4978cf8..5789cba8fcfc2daabf73f3c46301902121dd5859 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,9 +17,8 @@
 #
 #  Makefile for the wb_group external_acl helper
 #
-#  $Id: Makefile.in,v 1.7 2002/09/30 00:22:16 hno Exp $
+#  $Id: Makefile.in,v 1.8 2002/10/13 20:34:45 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -49,9 +49,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -63,6 +67,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -80,7 +88,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -93,7 +100,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -110,6 +116,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -145,8 +152,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/wb_check_group.Po \
-@AMDEP_TRUE@   $(DEPDIR)/wb_common.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/wb_check_group.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/wb_common.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -164,9 +172,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/external_acl/winbind_group/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -174,16 +181,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -200,17 +207,17 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_check_group.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_check_group.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_common.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -220,53 +227,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -291,6 +306,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -298,7 +314,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index a1d5c7b7ffce7fa7e159b60f69f70d96c18141ce..56f09f38b7fe02fd35a046d633ad4554736e0adc 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.20 2002/09/30 00:22:24 hno Exp $
+#  $Id: Makefile.in,v 1.21 2002/10/13 20:34:46 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -138,9 +145,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -150,7 +155,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -170,7 +175,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -198,16 +203,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -218,45 +226,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -286,6 +299,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -293,7 +307,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 6c36d6a5f952889edc498fa4f2bdc502cd4eaef6..804647d7fb77a9b8ee52e0ad9efe0cd9f9036b1d 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,9 +17,8 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.20 2002/09/30 00:22:29 hno Exp $
+#  $Id: Makefile.in,v 1.21 2002/10/13 20:34:46 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -49,9 +49,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -63,6 +67,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -80,7 +88,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -93,7 +100,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -110,6 +116,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -148,7 +155,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/libntlmssp.Po $(DEPDIR)/ntlm_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/libntlmssp.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ntlm_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -172,9 +181,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/SMB/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -182,16 +190,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -208,17 +216,17 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/libntlmssp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ntlm_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmssp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntlm_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -235,7 +243,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -255,7 +263,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -283,16 +291,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -303,45 +314,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(SUBDIRS); do \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -372,6 +388,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -379,7 +396,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index edb615839d1bbbace54548981d547530c50151f9..5aab265a25ead086cb9c63a8b36b18ad45d2acc9 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +15,6 @@
 @SET_MAKE@
 
 # makefile for smblib
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -45,9 +45,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -59,6 +63,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -76,7 +84,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -89,7 +96,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -106,6 +112,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,11 +153,12 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/md4.Po $(DEPDIR)/rfcnb-io.Po \
-@AMDEP_TRUE@   $(DEPDIR)/rfcnb-util.Po $(DEPDIR)/session.Po \
-@AMDEP_TRUE@   $(DEPDIR)/smbdes.Po $(DEPDIR)/smbencrypt.Po \
-@AMDEP_TRUE@   $(DEPDIR)/smblib-util.Po $(DEPDIR)/smblib.Po \
-@AMDEP_TRUE@   $(DEPDIR)/valid.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/md4.Po ./$(DEPDIR)/rfcnb-io.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/rfcnb-util.Po ./$(DEPDIR)/session.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/smbdes.Po ./$(DEPDIR)/smbencrypt.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/smblib-util.Po ./$(DEPDIR)/smblib.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/valid.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -168,11 +176,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/SMB/smbval/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -187,24 +191,24 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md4.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfcnb-io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfcnb-util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/session.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smbdes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smbencrypt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smblib-util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/smblib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/valid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfcnb-io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfcnb-util.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smbdes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smbencrypt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smblib-util.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smblib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -214,53 +218,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -284,6 +296,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -291,7 +304,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 10bc007ba38b9d08030f527beba1c74635fca80b..4c034fdac47a126fc1382147c0cb4c5854e7153e 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.19 2002/09/30 00:22:30 hno Exp $
+#  $Id: Makefile.in,v 1.20 2002/10/13 20:34:48 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -146,7 +153,8 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/fakeauth_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/fakeauth_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -164,9 +172,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/fakeauth/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -174,16 +181,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -200,16 +207,16 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fakeauth_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fakeauth_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -219,53 +226,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -290,6 +305,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -297,7 +313,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 4f004549428130e4a0a6e39c96a474aaf8ea4543..b36905a2deb6a61342300b02113583ded9cfbe6b 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.21 2002/09/30 00:22:36 hno Exp $
+#  $Id: Makefile.in,v 1.22 2002/10/13 20:34:49 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -142,27 +149,24 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/no_check/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 install-libexecSCRIPTS: $(libexec_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
-         if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/$$f; \
-         elif test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/$$f; \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f $$d$$p; then \
+           f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+           echo " $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f"; \
+           $(libexecSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecSCRIPTS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
+         f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -170,22 +174,26 @@ uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -210,6 +218,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -217,7 +226,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 7d09089ac38b720a45ecd5e6cd44e53a6861f708..b004922a74daa9e83d6c9f7c1ce90d37114ca7c3 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,9 +17,8 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.12 2002/09/30 00:22:42 hno Exp $
+#  $Id: Makefile.in,v 1.13 2002/10/13 20:34:49 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -49,9 +49,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -63,6 +67,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -80,7 +88,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -93,7 +100,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -110,6 +116,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -148,7 +155,9 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/wb_common.Po $(DEPDIR)/wb_ntlm_auth.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/wb_common.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/wb_ntlm_auth.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -166,9 +175,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  helpers/ntlm_auth/winbind/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -176,16 +184,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -202,17 +210,17 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_common.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wb_ntlm_auth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wb_ntlm_auth.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -222,38 +230,41 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
@@ -261,15 +272,20 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
        $(mkinstalldirs) $(distdir)/patches
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -294,6 +310,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -301,7 +318,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index a27eb78031a0936c6334737ba0c6510208ad11b1..1259c4a77a2e387d216d1521d304d9acd5935584 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -13,9 +14,8 @@
 
 @SET_MAKE@
 
-# $Id: Makefile.in,v 1.31 2002/09/30 00:22:51 hno Exp $
+# $Id: Makefile.in,v 1.32 2002/10/13 20:34:50 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -46,9 +46,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -60,6 +64,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -77,7 +85,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -90,7 +97,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -107,6 +113,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -164,18 +171,17 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  icons/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
+iconDATA_INSTALL = $(INSTALL_DATA)
 install-iconDATA: $(icon_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(icondir)
        @list='$(icon_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          f="`echo $$p | sed -e 's|^.*/||'`"; \
-         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(icondir)/$$f"; \
-         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(icondir)/$$f; \
+         echo " $(iconDATA_INSTALL) $$d$$p $(DESTDIR)$(icondir)/$$f"; \
+         $(iconDATA_INSTALL) $$d$$p $(DESTDIR)$(icondir)/$$f; \
        done
 
 uninstall-iconDATA:
@@ -188,22 +194,26 @@ uninstall-iconDATA:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -228,6 +238,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -235,7 +246,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
index 09b619a65d7b7f3e7588f30d15549bd3cf350939..4502a74811a4b94a660934ba1fa48a7fd236d8a0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: Array.h,v 1.6 2001/10/08 16:18:31 hno Exp $
+ * $Id: Array.h,v 1.7 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -44,11 +44,11 @@ typedef struct {
 
 
 extern Array *arrayCreate(void);
-extern void arrayInit(Array * s);
-extern void arrayClean(Array * s);
+SQUIDCEXTERN void arrayInit(Array * s);
+SQUIDCEXTERN void arrayClean(Array * s);
 extern void arrayDestroy(Array * s);
-extern void arrayAppend(Array * s, void *obj);
-extern void arrayPreAppend(Array * s, int app_count);
+SQUIDCEXTERN void arrayAppend(Array * s, void *obj);
+SQUIDCEXTERN void arrayPreAppend(Array * s, int app_count);
 
 
 #endif /* SQUID_ARRAY_H */
index 922997295e486dbcb1bc0a6184ae122973ccb63a..6a8f0da725ef3ab10e7c9a71821772e6e2fdcec5 100644 (file)
@@ -141,29 +141,29 @@ struct _MemPoolGlobalStats {
 /* memPools */
 
 /* Allocator API */
-extern MemPool *memPoolCreate(const char *label, size_t obj_size);
-extern void *memPoolAlloc(MemPool * pool);
-extern void memPoolFree(MemPool * pool, void *obj);
-extern void memPoolDestroy(MemPool ** pool);
+SQUIDCEXTERN MemPool *memPoolCreate(const char *label, size_t obj_size);
+SQUIDCEXTERN void *memPoolAlloc(MemPool * pool);
+SQUIDCEXTERN void memPoolFree(MemPool * pool, void *obj);
+SQUIDCEXTERN void memPoolDestroy(MemPool ** pool);
 
-extern MemPoolIterator * memPoolIterate(void);
-extern MemPool * memPoolIterateNext(MemPoolIterator * iter);
-extern void memPoolIterateDone(MemPoolIterator ** iter);
+SQUIDCEXTERN MemPoolIterator * memPoolIterate(void);
+SQUIDCEXTERN MemPool * memPoolIterateNext(MemPoolIterator * iter);
+SQUIDCEXTERN void memPoolIterateDone(MemPoolIterator ** iter);
 
 /* Tune API */
-extern void memPoolSetChunkSize(MemPool * pool, size_t chunksize);
-extern void memPoolSetIdleLimit(size_t new_idle_limit);
+SQUIDCEXTERN void memPoolSetChunkSize(MemPool * pool, size_t chunksize);
+SQUIDCEXTERN void memPoolSetIdleLimit(size_t new_idle_limit);
 
 /* Stats API */
-extern int memPoolGetStats(MemPoolStats * stats, MemPool * pool);
-extern int memPoolGetGlobalStats(MemPoolGlobalStats * stats);
+SQUIDCEXTERN int memPoolGetStats(MemPoolStats * stats, MemPool * pool);
+SQUIDCEXTERN int memPoolGetGlobalStats(MemPoolGlobalStats * stats);
 
 /* Module housekeeping API */
-extern void memPoolClean(time_t maxage);
+SQUIDCEXTERN void memPoolClean(time_t maxage);
 
 #if UNUSED
 /* Stats history API */
-extern void memPoolCheckRates(); /* stats history checkpoints */
+SQUIDCEXTERN void memPoolCheckRates(); /* stats history checkpoints */
 #endif
 
 #endif /* _MEM_POOLS_H_ */
index e1374685a461fdcd4208232f4721ddddd6a47b44..7248f1d6003fbd64cf225bb8e7d36955ad52baf3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: Stack.h,v 1.11 2001/10/08 16:18:31 hno Exp $
+ * $Id: Stack.h,v 1.12 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -42,9 +42,9 @@ typedef Array Stack;
 #define stackInit arrayInit
 #define stackClean arrayClean
 #define stackDestroy arrayDestroy
-extern void *stackPop(Stack * s);
+SQUIDCEXTERN void *stackPop(Stack * s);
 #define stackPush arrayAppend
 #define stackPrePush arrayPreAppend
-extern void *stackTop(Stack * s);
+SQUIDCEXTERN void *stackTop(Stack * s);
 
 #endif /* SQUID_STACK_H */
index d83964fa45d766748cc713dd578f8e5a1115b0b4..b7244cd8d8887c13bd9c189c0e56b3a98b2ba971 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: config.h,v 1.6 2002/10/07 13:55:37 robertc Exp $
+ * $Id: config.h,v 1.7 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: Duane Wessels
  *
 #include "autoconf.h"          /* For GNU autoconf variables */
 #include "version.h"
 
+/* To keep API definitions clear */
+#ifdef __cplusplus
+#define SQUIDCEXTERN extern "C"
+#else
+#define SQUIDCEXTERN extern
+#endif
+
 /****************************************************************************
  *--------------------------------------------------------------------------*
  * DO *NOT* MAKE ANY CHANGES below here unless you know what you're doing...*
index 9ed88beffdce3115b3f1b013edf104e7961cf91e..c4a48af19b8e6be34053ea8beb2fb8340795485e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: hash.h,v 1.5 2001/10/08 16:18:31 hno Exp $
+ * $Id: hash.h,v 1.6 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_HASH_H
@@ -26,20 +26,20 @@ struct _hash_table {
     int count;
 };
 
-extern hash_table *hash_create(HASHCMP *, int, HASHHASH *);
-extern void hash_join(hash_table *, hash_link *);
-extern void hash_remove_link(hash_table *, hash_link *);
-extern int hashPrime(int n);
-extern void *hash_lookup(hash_table *, const void *);
-extern void hash_first(hash_table *);
-extern void *hash_next(hash_table *);
-extern void hash_last(hash_table *);
-extern hash_link *hash_get_bucket(hash_table *, unsigned int);
-extern void hashFreeMemory(hash_table *);
-extern void hashFreeItems(hash_table *, HASHFREE *);
-extern HASHHASH hash_string;
-extern HASHHASH hash4;
-extern const char *hashKeyStr(hash_link *);
+SQUIDCEXTERN hash_table *hash_create(HASHCMP *, int, HASHHASH *);
+SQUIDCEXTERN void hash_join(hash_table *, hash_link *);
+SQUIDCEXTERN void hash_remove_link(hash_table *, hash_link *);
+SQUIDCEXTERN int hashPrime(int n);
+SQUIDCEXTERN void *hash_lookup(hash_table *, const void *);
+SQUIDCEXTERN void hash_first(hash_table *);
+SQUIDCEXTERN void *hash_next(hash_table *);
+SQUIDCEXTERN void hash_last(hash_table *);
+SQUIDCEXTERN hash_link *hash_get_bucket(hash_table *, unsigned int);
+SQUIDCEXTERN void hashFreeMemory(hash_table *);
+SQUIDCEXTERN void hashFreeItems(hash_table *, HASHFREE *);
+SQUIDCEXTERN HASHHASH hash_string;
+SQUIDCEXTERN HASHHASH hash4;
+SQUIDCEXTERN const char *hashKeyStr(hash_link *);
 
 /*
  *  Here are some good prime number choices.  It's important not to
index 28cb86953e2a161aa8a1c978049bdece87d9d068..6e256a2cc3957f22ec13db4bbdd8d906d6048548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: heap.h,v 1.4 2001/10/08 16:18:31 hno Exp $
+ * $Id: heap.h,v 1.5 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: John Dilley, Hewlett Packard
  *
@@ -89,13 +89,13 @@ typedef struct _heap {
 /* 
  * Create and initialize a new heap.
  */
-extern heap *new_heap(int init_size, heap_key_func gen_key);
+SQUIDCEXTERN heap *new_heap(int init_size, heap_key_func gen_key);
 
 /* 
  * Delete a heap and clean up its memory.  Does not delete what the heap
  * nodes are pointing to!
  */
-extern void delete_heap(heap *);
+SQUIDCEXTERN void delete_heap(heap *);
 
 /*
  * Insert a new node into a heap, returning a pointer to it.  The heap_node
@@ -103,13 +103,13 @@ extern void delete_heap(heap *);
  * should be done with this data structure (especially modifying it!)  The
  * heap does not assume ownership of the data passed to it.
  */
-extern heap_node *heap_insert(heap *, heap_t dat);
+SQUIDCEXTERN heap_node *heap_insert(heap *, heap_t dat);
 
 /*
  * Delete a node out of a heap.  Returns the heap data from the deleted
  * node.  The caller is responsible for freeing this data.
  */
-extern heap_t heap_delete(heap *, heap_node * elm);
+SQUIDCEXTERN heap_t heap_delete(heap *, heap_node * elm);
 
 /*
  * The semantics of this routine is the same as the followings:
@@ -118,13 +118,13 @@ extern heap_t heap_delete(heap *, heap_node * elm);
  * Returns the old data object from elm (the one being replaced).  The
  * caller must free this as necessary.
  */
-extern heap_t heap_update(heap *, heap_node * elm, heap_t dat);
+SQUIDCEXTERN heap_t heap_update(heap *, heap_node * elm, heap_t dat);
 
 /* 
  * Generate a heap key for a given data object.  Alternative macro form:
  */
 #ifdef MACRO_DEBUG
-extern heap_key heap_gen_key(heap * hp, heap_t dat);
+SQUIDCEXTERN heap_key heap_gen_key(heap * hp, heap_t dat);
 #else
 #define        heap_gen_key(hp,md)     ((hp)->gen_key((md),(hp)->age))
 #endif /* MACRO_DEBUG */
@@ -135,7 +135,7 @@ extern heap_key heap_gen_key(heap * hp, heap_t dat);
  * Returns the data pointed to by the root node, which the caller must
  * free as necessary.
  */
-extern heap_t heap_extractmin(heap *);
+SQUIDCEXTERN heap_t heap_extractmin(heap *);
 
 /* 
  * Extract the last leaf node (does not change the heap property).
@@ -144,24 +144,24 @@ extern heap_t heap_extractmin(heap *);
  * parent, but may not be less than any of the other (leaf or parent) notes
  * in the tree.  This operation is fast but imprecise.
  */
-extern heap_t heap_extractlast(heap * hp);
+SQUIDCEXTERN heap_t heap_extractlast(heap * hp);
 
 /* 
  * Get the root key, the nth key, the root (smallest) element, or the nth
  * element.  None of these operations modify the heap.
  */
-extern heap_key heap_peepminkey(heap *);
-extern heap_key heap_peepkey(heap *, int n);
+SQUIDCEXTERN heap_key heap_peepminkey(heap *);
+SQUIDCEXTERN heap_key heap_peepkey(heap *, int n);
 
-extern heap_t heap_peepmin(heap *);
-extern heap_t heap_peep(heap *, int n);
+SQUIDCEXTERN heap_t heap_peepmin(heap *);
+SQUIDCEXTERN heap_t heap_peep(heap *, int n);
 
 /* 
  * Is the heap empty?  How many nodes (data objects) are in it? 
  */
 #ifdef MACRO_DEBUG
-extern int heap_empty(heap *);
-extern int heap_nodes(heap *);
+SQUIDCEXTERN int heap_empty(heap *);
+SQUIDCEXTERN int heap_nodes(heap *);
 #else /* MACRO_DEBUG */
 #define        heap_nodes(heap)        ((heap)->last)
 #define        heap_empty(heap)        (((heap)->last <= 0) ? 1 : 0)
@@ -170,9 +170,9 @@ extern int heap_nodes(heap *);
 /* 
  * Print the heap or a node in the heap.
  */
-extern void heap_print(heap *);
-extern void heap_printnode(char *msg, heap_node * elm);
+SQUIDCEXTERN void heap_print(heap *);
+SQUIDCEXTERN void heap_printnode(char *msg, heap_node * elm);
 
-extern int verify_heap_property(heap *);
+SQUIDCEXTERN int verify_heap_property(heap *);
 
 #endif /* SQUID_HEAP_H */
index 949d6447ed4fb8e0ba72b3555990ff192a300383..5252d45a56a2a3287771b5a3d78840612fd3bdf8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: md5.h,v 1.13 2002/10/06 02:05:22 robertc Exp $
+ * $Id: md5.h,v 1.14 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_MD5_H
@@ -61,9 +61,9 @@ typedef struct {
     unsigned char buffer[64];  /* input buffer */
 } MD5_CTX;
 
-void MD5Init(MD5_CTX *);
-void MD5Update(MD5_CTX *, const void *, unsigned long);
-void MD5Final(unsigned char *, MD5_CTX *);
+SQUIDCEXTERN void MD5Init(MD5_CTX *);
+SQUIDCEXTERN void MD5Update(MD5_CTX *, const void *, unsigned long);
+SQUIDCEXTERN void MD5Final(unsigned char *, MD5_CTX *);
 
 #define MD5_DIGEST_CHARS         16
 
index c4bccf80c170ef3b47c33ad935addfa14c0f71f2..5634b060e7e45776c96b688119e958e010ac8e85 100644 (file)
@@ -86,7 +86,7 @@ typedef enum {
     XPROF_LAST
 } xprof_type;
 
-#define XP_NOBEST 9999999999
+#define XP_NOBEST (hrtime_t)-1
 
 typedef struct _xprof_stats_node xprof_stats_node;
 typedef struct _xprof_stats_data xprof_stats_data;
@@ -114,9 +114,9 @@ extern TimersArray *xprof_Timers;
 extern int xprof_nesting;
 
 /* Exported functions */
-extern void xprof_start(xprof_type type, const char *timer);
-extern void xprof_stop(xprof_type type, const char *timer);
-extern void xprof_event(void *data);
+SQUIDCEXTERN void xprof_start(xprof_type type, const char *timer);
+SQUIDCEXTERN void xprof_stop(xprof_type type, const char *timer);
+SQUIDCEXTERN void xprof_event(void *data);
 
 #define PROF_start(type) xprof_start(XPROF_##type, #type)
 #define PROF_stop(type) xprof_stop(XPROF_##type, #type)
index 72d0dbcfa7aae95a26a0626281b5fd960e516d77..9f289025efea8778f036e0cccfa30a0f81f169b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: radix.h,v 1.13 2002/04/19 22:23:01 hno Exp $
+ * $Id: radix.h,v 1.14 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_RADIX_H
@@ -80,7 +80,7 @@ struct squid_radix_node {
  * Annotations to tree concerning potential routes applying to subtrees.
  */
 
-extern struct squid_radix_mask {
+SQUIDCEXTERN struct squid_radix_mask {
     short rm_b;                        /* bit offset; -1-index(netmask) */
     char rm_unused;            /* cf. rn_bmask */
     unsigned char rm_flags;    /* cf. rn_flags */
@@ -118,18 +118,18 @@ struct squid_radix_node_head {
 };
 
 
-extern void squid_rn_init (void);
-extern int squid_rn_inithead(void **, int);
-extern int squid_rn_refines(void *, void *);
-extern int squid_rn_walktree(struct squid_radix_node_head *, int (*)(struct squid_radix_node *, void *), void *);
-extern struct squid_radix_node *squid_rn_addmask(void *, int, int);
-extern struct squid_radix_node *squid_rn_addroute(void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2]);
-extern struct squid_radix_node *squid_rn_delete(void *, void *, struct squid_radix_node_head *);
-extern struct squid_radix_node *squid_rn_insert(void *, struct squid_radix_node_head *, int *, struct squid_radix_node[2]);
-extern struct squid_radix_node *squid_rn_match(void *, struct squid_radix_node_head *);
-extern struct squid_radix_node *squid_rn_newpair(void *, int, struct squid_radix_node[2]);
-extern struct squid_radix_node *squid_rn_search(void *, struct squid_radix_node *);
-extern struct squid_radix_node *squid_rn_search_m(void *, struct squid_radix_node *, void *);
-extern struct squid_radix_node *squid_rn_lookup(void *, void *, struct squid_radix_node_head *);
+SQUIDCEXTERN void squid_rn_init (void);
+SQUIDCEXTERN int squid_rn_inithead(void **, int);
+SQUIDCEXTERN int squid_rn_refines(void *, void *);
+SQUIDCEXTERN int squid_rn_walktree(struct squid_radix_node_head *, int (*)(struct squid_radix_node *, void *), void *);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_addmask(void *, int, int);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_addroute(void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2]);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_delete(void *, void *, struct squid_radix_node_head *);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_insert(void *, struct squid_radix_node_head *, int *, struct squid_radix_node[2]);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_match(void *, struct squid_radix_node_head *);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_newpair(void *, int, struct squid_radix_node[2]);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_search(void *, struct squid_radix_node *);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_search_m(void *, struct squid_radix_node *, void *);
+SQUIDCEXTERN struct squid_radix_node *squid_rn_lookup(void *, void *, struct squid_radix_node_head *);
 
 #endif /* SQUID_RADIX_H */
index 52efa94a519686e869d70d8e08d164eb5162b8cc..b3196fbb19b493e629b7478016adfd01724f2180 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: rfc1035.h,v 1.7 2002/09/15 06:40:53 robertc Exp $
+ * $Id: rfc1035.h,v 1.8 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: Duane Wessels
  *
@@ -56,20 +56,20 @@ struct _rfc1035_rr {
     unsigned short rdlength;
     char *rdata;
 };
-extern unsigned short rfc1035BuildAQuery(const char *hostname,
+SQUIDCEXTERN unsigned short rfc1035BuildAQuery(const char *hostname,
     char *buf,
     size_t * szp);
-extern unsigned short rfc1035BuildPTRQuery(const struct in_addr,
+SQUIDCEXTERN unsigned short rfc1035BuildPTRQuery(const struct in_addr,
     char *buf,
     size_t * szp);
-extern unsigned short rfc1035RetryQuery(char *);
-extern int rfc1035AnswersUnpack(const char *buf,
+SQUIDCEXTERN unsigned short rfc1035RetryQuery(char *);
+SQUIDCEXTERN int rfc1035AnswersUnpack(const char *buf,
     size_t sz,
     rfc1035_rr ** records,
     unsigned short *id);
-extern void rfc1035RRDestroy(rfc1035_rr * rr, int n);
-extern int rfc1035_errno;
-extern const char *rfc1035_error_message;
+SQUIDCEXTERN void rfc1035RRDestroy(rfc1035_rr * rr, int n);
+SQUIDCEXTERN int rfc1035_errno;
+SQUIDCEXTERN const char *rfc1035_error_message;
 
 #define RFC1035_TYPE_A 1
 #define RFC1035_TYPE_PTR 12
index 7136d8f74a1650d334746c92a866792fa90f54c7..ee14507b593d15caaff0febb5cc4f12c9fa10afa 100644 (file)
@@ -14,7 +14,7 @@
 
 
 /*
- * $Id: rfc2617.h,v 1.3 2001/10/08 16:18:31 hno Exp $
+ * $Id: rfc2617.h,v 1.4 2002/10/13 20:34:51 robertc Exp $
  *
  * DEBUG:
  * AUTHOR: RFC 2617 & Robert Collins
@@ -56,7 +56,7 @@ typedef char HASH[HASHLEN];
 typedef char HASHHEX[HASHHEXLEN + 1];
 
 /* calculate H(A1) as per HTTP Digest spec */
-void DigestCalcHA1(
+SQUIDCEXTERN void DigestCalcHA1(
     const char *pszAlg,
     const char *pszUserName,
     const char *pszRealm,
@@ -68,7 +68,7 @@ void DigestCalcHA1(
 );
 
 /* calculate request-digest/response-digest as per HTTP Digest spec */
-void DigestCalcResponse(
+SQUIDCEXTERN void DigestCalcResponse(
     const HASHHEX HA1,         /* H(A1) */
     const char *pszNonce,      /* nonce from server */
     const char *pszNonceCount, /* 8 hex digits */
@@ -80,8 +80,8 @@ void DigestCalcResponse(
     HASHHEX Response           /* request-digest or response-digest */
 );
 
-void CvtHex(const HASH Bin, HASHHEX Hex);
+SQUIDCEXTERN void CvtHex(const HASH Bin, HASHHEX Hex);
 
-void CvtBin(const HASHHEX Hex, HASH Bin);
+SQUIDCEXTERN void CvtBin(const HASHHEX Hex, HASH Bin);
 
 #endif /* SQUID_RFC2617_H */
index e3f8cc1fd5c9dd98b288e7f23ce2090cbcb23fbe..a293624a849589f368a7c0c750d4c10c037607c0 100644 (file)
@@ -1,10 +1,14 @@
 /*
- * $Id: snmp_debug.h,v 1.11 2002/09/15 21:12:11 robertc Exp $
+ * $Id: snmp_debug.h,v 1.12 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_SNMP_DEBUG_H
 #define SQUID_SNMP_DEBUG_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #if STDC_HEADERS
 extern void 
 snmplib_debug(int, const char *,...) PRINTF_FORMAT_ARG2;
@@ -12,5 +16,8 @@ snmplib_debug(int, const char *,...) PRINTF_FORMAT_ARG2;
 extern void snmplib_debug (va_alist);
 #endif
 
+#ifdef __cplusplus
+};
+#endif
 
 #endif /* SQUID_SNMP_DEBUG_H */
index 07bc7a0e0effbc3895249dfb669b1ae1b2de04bd..e949a641514fffa1517af49d37f7bc795828534a 100644 (file)
  * 
  * Author: Ryan Troll <ryan+@andrew.cmu.edu>
  * 
- * $Id: snmp_pdu.h,v 1.9 2002/02/13 02:40:33 hno Exp $
+ * $Id: snmp_pdu.h,v 1.10 2002/10/13 20:34:51 robertc Exp $
  * 
  **********************************************************************/
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct sockaddr_in ipaddr;
 
 /* An SNMP PDU */
@@ -109,4 +113,8 @@ void snmp_add_null_var(struct snmp_pdu *, oid *, int);
 #define SNMP_TRAP_ENTERPRISESPECIFIC    (0x6)
 #endif
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* SQUID_SNMP_PDU_H */
index 5b2b3fd93e657905ac4b3e948178dac2c0cae7c6..1d84646f0eb6c1f50cddae05e5c8e2b2eecb3f8a 100644 (file)
@@ -1,10 +1,14 @@
 /*
- * $Id: snmp_util.h,v 1.8 2001/10/08 16:18:31 hno Exp $
+ * $Id: snmp_util.h,v 1.9 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_SNMP_UTIL_H
 #define SQUID_SNMP_UTIL_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* call a function at regular intervals (in seconds): */
 extern void snmp_alarm(int ival, void (*handler) (void));
 
@@ -46,4 +50,8 @@ int Util_file_read(char *file, int offset, char *data, int dataSz);
 int Util_file_write(char *file, int offset, char *data, int dataSz);
 
 /* ---------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+}
+#endif
 #endif /* SQUID_SNMP_UTIL_H */
index fed333b6e846b3ba26318db0bf8e14c9f3ff6441..16ea4b654769b9c83ebf3bf14a7bf1471e1516ed 100644 (file)
  * 
  * Author: Ryan Troll <ryan+@andrew.cmu.edu>
  * 
- * $Id: snmp_vars.h,v 1.11 2001/10/08 16:18:31 hno Exp $
+ * $Id: snmp_vars.h,v 1.12 2002/10/13 20:34:51 robertc Exp $
  * 
  **********************************************************************/
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct variable_list {
     struct variable_list *next_variable;       /* NULL for last variable */
     oid *name;                 /* Object identifier of variable */
@@ -73,4 +77,8 @@ u_char *snmp_var_DecodeVarBind(u_char *, int *, struct variable_list **, int);
 typedef struct variable variable;
 typedef struct variable_list variable_list;
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* SQUID_SNMP_VARS_H */
index 470a558aeaf598ffa75a081a42131a2d21e84691..69a0365e78ca7e24dd502a5f5e885d15c7af6bdf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: splay.h,v 1.11 2002/04/06 08:49:24 adrian Exp $
+ * $Id: splay.h,v 1.12 2002/10/13 20:34:51 robertc Exp $
  */
 
 #ifndef SQUID_SPLAY_H
@@ -15,12 +15,12 @@ typedef int SPLAYCMP(const void *a, const void *b);
 typedef void SPLAYWALKEE(void *nodedata, void *state);
 typedef void SPLAYFREE(void *);
 
-extern int splayLastResult;
+SQUIDCEXTERN int splayLastResult;
 
-extern splayNode *splay_insert(void *, splayNode *, SPLAYCMP *);
-extern splayNode *splay_splay(const void *, splayNode *, SPLAYCMP *);
-extern splayNode *splay_delete(const void *, splayNode *, SPLAYCMP *);
-extern void splay_destroy(splayNode *, SPLAYFREE *);
-extern void splay_walk(splayNode *, SPLAYWALKEE *, void *);
+SQUIDCEXTERN splayNode *splay_insert(void *, splayNode *, SPLAYCMP *);
+SQUIDCEXTERN splayNode *splay_splay(const void *, splayNode *, SPLAYCMP *);
+SQUIDCEXTERN splayNode *splay_delete(const void *, splayNode *, SPLAYCMP *);
+SQUIDCEXTERN void splay_destroy(splayNode *, SPLAYFREE *);
+SQUIDCEXTERN void splay_walk(splayNode *, SPLAYWALKEE *, void *);
 
 #endif /* SQUID_SPLAY_H */
index ad9348c4542ceddbc9edf0acbd05ee3ef95e5cdb..03cdfc0b009f60136d025948742d098fa61672d7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: util.h,v 1.63 2002/04/06 08:49:24 adrian Exp $
+ * $Id: util.h,v 1.64 2002/10/13 20:34:51 robertc Exp $
  *
  * AUTHOR: Harvest Derived
  *
 #define _etext etext
 #endif
 
-extern const char *getfullhostname(void);
-extern const char *mkhttpdlogtime(const time_t *);
-extern const char *mkrfc1123(time_t);
-extern char *uudecode(const char *);
-extern char *xstrdup(const char *);
-extern char *xstrndup(const char *, size_t);
-extern const char *xstrerror(void);
+SQUIDCEXTERN const char *getfullhostname(void);
+SQUIDCEXTERN const char *mkhttpdlogtime(const time_t *);
+SQUIDCEXTERN const char *mkrfc1123(time_t);
+SQUIDCEXTERN char *uudecode(const char *);
+SQUIDCEXTERN char *xstrdup(const char *);
+SQUIDCEXTERN char *xstrndup(const char *, size_t);
+SQUIDCEXTERN const char *xstrerror(void);
 extern const char *xbstrerror(int);
-extern int tvSubMsec(struct timeval, struct timeval);
-extern int tvSubUsec(struct timeval, struct timeval);
-extern double tvSubDsec(struct timeval, struct timeval);
-extern char *xstrncpy(char *, const char *, size_t);
-extern size_t xcountws(const char *str);
-extern time_t parse_rfc1123(const char *str);
-extern void *xcalloc(size_t, size_t);
-extern void *xmalloc(size_t);
-extern void *xrealloc(void *, size_t);
-extern void Tolower(char *);
-extern void xfree(void *);
-extern void xxfree(const void *);
+SQUIDCEXTERN int tvSubMsec(struct timeval, struct timeval);
+SQUIDCEXTERN int tvSubUsec(struct timeval, struct timeval);
+SQUIDCEXTERN double tvSubDsec(struct timeval, struct timeval);
+SQUIDCEXTERN char *xstrncpy(char *, const char *, size_t);
+SQUIDCEXTERN size_t xcountws(const char *str);
+SQUIDCEXTERN time_t parse_rfc1123(const char *str);
+SQUIDCEXTERN void *xcalloc(size_t, size_t);
+SQUIDCEXTERN void *xmalloc(size_t);
+SQUIDCEXTERN void *xrealloc(void *, size_t);
+SQUIDCEXTERN void Tolower(char *);
+SQUIDCEXTERN void xfree(void *);
+SQUIDCEXTERN void xxfree(const void *);
 
 /* rfc1738.c */
-extern char *rfc1738_escape(const char *);
-extern char *rfc1738_escape_unescaped(const char *);
-extern char *rfc1738_escape_part(const char *);
-extern void rfc1738_unescape(char *);
+SQUIDCEXTERN char *rfc1738_escape(const char *);
+SQUIDCEXTERN char *rfc1738_escape_unescaped(const char *);
+SQUIDCEXTERN char *rfc1738_escape_part(const char *);
+SQUIDCEXTERN void rfc1738_unescape(char *);
 
 /* html.c */
-extern char *html_quote(const char *);
+SQUIDCEXTERN char *html_quote(const char *);
 
 #if XMALLOC_STATISTICS
 extern void malloc_statistics(void (*)(int, int, int, void *), void *);
@@ -111,17 +111,17 @@ extern void xmalloc_find_leaks(void);
 #endif
 
 typedef struct in_addr SIA;
-extern int safe_inet_addr(const char *, SIA *);
-extern time_t parse_iso3307_time(const char *buf);
-extern char *base64_decode(const char *coded);
-extern const char *base64_encode(const char *decoded);
-extern const char *base64_encode_bin(const char *data, int len);
+SQUIDCEXTERN int safe_inet_addr(const char *, SIA *);
+SQUIDCEXTERN time_t parse_iso3307_time(const char *buf);
+SQUIDCEXTERN char *base64_decode(const char *coded);
+SQUIDCEXTERN const char *base64_encode(const char *decoded);
+SQUIDCEXTERN const char *base64_encode_bin(const char *data, int len);
 
-extern double xpercent(double part, double whole);
-extern int xpercentInt(double part, double whole);
-extern double xdiv(double nom, double denom);
+SQUIDCEXTERN double xpercent(double part, double whole);
+SQUIDCEXTERN int xpercentInt(double part, double whole);
+SQUIDCEXTERN double xdiv(double nom, double denom);
 
-extern const char *xitoa(int num);
+SQUIDCEXTERN const char *xitoa(int num);
 
 #if !HAVE_DRAND48
 double drand48(void);
@@ -139,7 +139,7 @@ typedef struct {
 #define gb_incb(gb, delta) { if ((gb)->bytes > gb_flush_limit || delta > gb_flush_limit) gb_flush(gb); (gb)->bytes += delta; }
 #define gb_incc(gb, delta) { if ((gb)->bytes > gb_flush_limit || delta > gb_flush_limit) gb_flush(gb); (gb)->count+= delta; }
 extern double gb_to_double(const gb_t *);
-extern const char *double_to_str(char *buf, int buf_size, double value);
+SQUIDCEXTERN const char *double_to_str(char *buf, int buf_size, double value);
 extern const char *gb_to_str(const gb_t *);
 extern void gb_flush(gb_t *);  /* internal, do not use this */
 
index 0464f9e846698369284c34170bf0c366393b61bd..b4ace19273314de3cf6ed0e935a91e06b702445b 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,9 +15,8 @@
 @SET_MAKE@
 
 #
-#  $Id: Makefile.in,v 1.68 2002/10/02 11:06:30 robertc Exp $
+#  $Id: Makefile.in,v 1.69 2002/10/13 20:34:54 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -61,6 +65,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -78,7 +86,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -91,7 +98,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -108,6 +114,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -224,21 +231,23 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/Array.Po $(DEPDIR)/GNUregex.Po \
-@AMDEP_TRUE@   $(DEPDIR)/MemPool.Po $(DEPDIR)/Profiler.Po \
-@AMDEP_TRUE@   $(DEPDIR)/Stack.Po $(DEPDIR)/base64.Po \
-@AMDEP_TRUE@   $(DEPDIR)/dlmalloc.Po $(DEPDIR)/drand48.Po \
-@AMDEP_TRUE@   $(DEPDIR)/getfullhostname.Po $(DEPDIR)/hash.Po \
-@AMDEP_TRUE@   $(DEPDIR)/heap.Po $(DEPDIR)/html_quote.Po \
-@AMDEP_TRUE@   $(DEPDIR)/inet_ntoa.Po $(DEPDIR)/iso3307.Po \
-@AMDEP_TRUE@   $(DEPDIR)/md5.Po $(DEPDIR)/ntlmauth.Po \
-@AMDEP_TRUE@   $(DEPDIR)/radix.Po $(DEPDIR)/rfc1035.Po \
-@AMDEP_TRUE@   $(DEPDIR)/rfc1123.Po $(DEPDIR)/rfc1738.Po \
-@AMDEP_TRUE@   $(DEPDIR)/rfc2617.Po $(DEPDIR)/safe_inet_addr.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snprintf.Po $(DEPDIR)/splay.Po \
-@AMDEP_TRUE@   $(DEPDIR)/strerror.Po $(DEPDIR)/stub_memaccount.Po \
-@AMDEP_TRUE@   $(DEPDIR)/tempnam.Po $(DEPDIR)/util.Po \
-@AMDEP_TRUE@   $(DEPDIR)/uudecode.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/drand48.Po $(DEPDIR)/inet_ntoa.Po \
+@AMDEP_TRUE@   $(DEPDIR)/strerror.Po $(DEPDIR)/tempnam.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/Array.Po ./$(DEPDIR)/GNUregex.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/MemPool.Po ./$(DEPDIR)/Profiler.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/Stack.Po ./$(DEPDIR)/base64.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/dlmalloc.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/getfullhostname.Po ./$(DEPDIR)/hash.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/heap.Po ./$(DEPDIR)/html_quote.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/iso3307.Po ./$(DEPDIR)/md5.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ntlmauth.Po ./$(DEPDIR)/radix.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/rfc1035.Po ./$(DEPDIR)/rfc1123.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/rfc1738.Po ./$(DEPDIR)/rfc2617.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/safe_inet_addr.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snprintf.Po ./$(DEPDIR)/splay.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/stub_memaccount.Po ./$(DEPDIR)/util.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/uudecode.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -259,11 +268,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  lib/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -290,44 +295,44 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Array.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/GNUregex.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/MemPool.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Profiler.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Stack.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/base64.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dlmalloc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/drand48.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getfullhostname.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hash.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/heap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/html_quote.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/inet_ntoa.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/iso3307.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/md5.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ntlmauth.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/radix.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfc1035.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfc1123.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfc1738.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfc2617.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/safe_inet_addr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/splay.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strerror.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stub_memaccount.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tempnam.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/uudecode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Array.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GNUregex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemPool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Profiler.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stack.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlmalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getfullhostname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/heap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/html_quote.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iso3307.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ntlmauth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc1035.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc1123.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc1738.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfc2617.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe_inet_addr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splay.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stub_memaccount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uudecode.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf $(DEPDIR) ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -337,53 +342,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -407,6 +420,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -414,7 +428,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index d3c89f2161da1953ea6ba6a1ac4e9c0329827383..35c43ef110e4af0338238d030a667b4ed8104271 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -17,7 +18,6 @@
 #  This file is a Makefile for compiling and installing Cache Manager. 
 #  Cache Manager is a manager program for Internet Object Cache.
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -139,31 +146,28 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  scripts/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 RunCache: $(top_builddir)/config.status RunCache.in
-       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 RunAccel: $(top_builddir)/config.status RunAccel.in
-       cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        @list='$(bin_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
-         if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \
-         elif test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f $$d$$p; then \
+           f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+           echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
+           $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
          else :; fi; \
        done
 
 uninstall-binSCRIPTS:
        @$(NORMAL_UNINSTALL)
        @list='$(bin_SCRIPTS)'; for p in $$list; do \
-         f="`echo $$p|sed '$(transform)'`"; \
+         f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
          echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
          rm -f $(DESTDIR)$(bindir)/$$f; \
        done
@@ -171,22 +175,26 @@ uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -211,6 +219,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -218,7 +227,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 9f2cfdc6e82fcf6be551a8879eb3d20cc0e2f4e2..b7a3d58a0564b5f348247dde00d4eabf830917f9 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,16 +110,16 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
+
+VERSION = 3.4
 XTRA_LIBS = @XTRA_LIBS@
 XTRA_OBJS = @XTRA_OBJS@
 am__include = @am__include@
 am__quote = @am__quote@
 install_sh = @install_sh@
 makesnmplib = @makesnmplib@
-
-VERSION = 3.4
-
 noinst_LIBRARIES = libsnmp.a
 libsnmp_a_SOURCES = asn1.c parse.c snmp_vars.c \
        coexistance.c snmp_api.c snmp_error.c  \
@@ -141,12 +147,14 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/asn1.Po $(DEPDIR)/coexistance.Po \
-@AMDEP_TRUE@   $(DEPDIR)/mib.Po $(DEPDIR)/parse.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snmp_api.Po $(DEPDIR)/snmp_api_error.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snmp_error.Po $(DEPDIR)/snmp_msg.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snmp_pdu.Po $(DEPDIR)/snmp_vars.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snmplib_debug.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/asn1.Po ./$(DEPDIR)/coexistance.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/mib.Po ./$(DEPDIR)/parse.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmp_api.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmp_api_error.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmp_error.Po ./$(DEPDIR)/snmp_msg.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmp_pdu.Po ./$(DEPDIR)/snmp_vars.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmplib_debug.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
@@ -164,11 +172,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  snmplib/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -183,26 +187,26 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/asn1.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/coexistance.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mib.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/parse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_api.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_api_error.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_error.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_msg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_pdu.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_vars.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmplib_debug.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coexistance.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_api.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_api_error.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_error.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_pdu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_vars.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmplib_debug.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -212,53 +216,61 @@ distclean-depend:
 CCDEPMODE = @CCDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -282,6 +294,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -289,7 +302,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 70f9302c7064479b325ebb1897f652bc1871a4bc..b85d1f10f92c9050d88dc9d0d780d401aa55c590 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: CacheDigest.cc,v 1.33 2002/08/09 10:57:43 robertc Exp $
+ * $Id: CacheDigest.cc,v 1.34 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 70    Cache Digest
  * AUTHOR: Alex Rousskov
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #if USE_CACHE_DIGESTS
 
@@ -61,7 +62,7 @@ cacheDigestInit(CacheDigest * cd, int capacity, int bpe)
     cd->capacity = capacity;
     cd->bits_per_entry = bpe;
     cd->mask_size = mask_size;
-    cd->mask = xcalloc(cd->mask_size, 1);
+    cd->mask = (char *)xcalloc(cd->mask_size, 1);
     debug(70, 2) ("cacheDigestInit: capacity: %d entries, bpe: %d; size: %d bytes\n",
        cd->capacity, cd->bits_per_entry, cd->mask_size);
 }
@@ -69,7 +70,7 @@ cacheDigestInit(CacheDigest * cd, int capacity, int bpe)
 CacheDigest *
 cacheDigestCreate(int capacity, int bpe)
 {
-    CacheDigest *cd = memAllocate(MEM_CACHE_DIGEST);
+    CacheDigest *cd = (CacheDigest *)memAllocate(MEM_CACHE_DIGEST);
     assert(MD5_DIGEST_CHARS == 16);    /* our hash functions rely on 16 byte keys */
     cacheDigestInit(cd, capacity, bpe);
     return cd;
index afcb9aa1178eb94ac8ff0edc1d532cb0234253eb..d4188056df483d61cf9d00a8660beaa44d3fe88f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHdrCc.cc,v 1.22 2001/01/12 00:37:13 wessels Exp $
+ * $Id: HttpHdrCc.cc,v 1.23 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 65    HTTP Cache Control Header
  * AUTHOR: Alex Rousskov
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "HttpHeader.h"
 
 /* this table is used for parsing cache control header */
 static const HttpHeaderFieldAttrs CcAttrs[CC_ENUM_END] =
 {
-    {"public", CC_PUBLIC},
-    {"private", CC_PRIVATE},
-    {"no-cache", CC_NO_CACHE},
-    {"no-store", CC_NO_STORE},
-    {"no-transform", CC_NO_TRANSFORM},
-    {"must-revalidate", CC_MUST_REVALIDATE},
-    {"proxy-revalidate", CC_PROXY_REVALIDATE},
-    {"only-if-cached", CC_ONLY_IF_CACHED},
-    {"max-age", CC_MAX_AGE},
-    {"s-maxage", CC_S_MAXAGE},
-    {"max-stale", CC_MAX_STALE},
-    {"Other,", CC_OTHER}       /* ',' will protect from matches */
+    {"public", (http_hdr_type)CC_PUBLIC},
+    {"private", (http_hdr_type)CC_PRIVATE},
+    {"no-cache", (http_hdr_type)CC_NO_CACHE},
+    {"no-store", (http_hdr_type)CC_NO_STORE},
+    {"no-transform", (http_hdr_type)CC_NO_TRANSFORM},
+    {"must-revalidate", (http_hdr_type)CC_MUST_REVALIDATE},
+    {"proxy-revalidate", (http_hdr_type)CC_PROXY_REVALIDATE},
+    {"only-if-cached", (http_hdr_type)CC_ONLY_IF_CACHED},
+    {"max-age", (http_hdr_type)CC_MAX_AGE},
+    {"s-maxage", (http_hdr_type)CC_S_MAXAGE},
+    {"max-stale", (http_hdr_type)CC_MAX_STALE},
+    {"Other,", (http_hdr_type)CC_OTHER}        /* ',' will protect from matches */
 };
 HttpHeaderFieldInfo *CcFieldsInfo = NULL;
 
+http_hdr_cc_type &operator++ (http_hdr_cc_type &aHeader)
+{
+    aHeader = (http_hdr_cc_type)(++(int)aHeader);
+    return aHeader;
+}
+
+
 /* local prototypes */
 static int httpHdrCcParseInit(HttpHdrCc * cc, const String * str);
 
@@ -77,7 +86,7 @@ httpHdrCcCleanModule(void)
 HttpHdrCc *
 httpHdrCcCreate(void)
 {
-    HttpHdrCc *cc = memAllocate(MEM_HTTP_HDR_CC);
+    HttpHdrCc *cc = (HttpHdrCc *)memAllocate(MEM_HTTP_HDR_CC);
     cc->max_age = cc->s_maxage = cc->max_stale = -1;
     return cc;
 }
@@ -101,7 +110,7 @@ httpHdrCcParseInit(HttpHdrCc * cc, const String * str)
     const char *item;
     const char *p;             /* '=' parameter */
     const char *pos = NULL;
-    int type;
+    http_hdr_cc_type type;
     int ilen;
     assert(cc && str);
 
@@ -111,7 +120,7 @@ httpHdrCcParseInit(HttpHdrCc * cc, const String * str)
        if ((p = strchr(item, '=')) && (p - item < ilen))
            ilen = p++ - item;
        /* find type */
-       type = httpHeaderIdByName(item, ilen,
+       type = (http_hdr_cc_type ) httpHeaderIdByName(item, ilen,
            CcFieldsInfo, CC_ENUM_END);
        if (type < 0) {
            debug(65, 2) ("hdr cc: unknown cache-directive: near '%s' in '%s'\n", item, strBuf(*str));
@@ -181,7 +190,7 @@ httpHdrCcPackInto(const HttpHdrCc * cc, Packer * p)
     http_hdr_cc_type flag;
     int pcount = 0;
     assert(cc && p);
-    for (flag = 0; flag < CC_ENUM_END; flag++) {
+    for (flag = CC_PUBLIC; flag < CC_ENUM_END; ++flag) {
        if (EBIT_TEST(cc->mask, flag) && flag != CC_OTHER) {
 
            /* print option name */
@@ -244,7 +253,7 @@ httpHdrCcUpdateStats(const HttpHdrCc * cc, StatHist * hist)
 {
     http_hdr_cc_type c;
     assert(cc);
-    for (c = 0; c < CC_ENUM_END; c++)
+    for (c = CC_PUBLIC; c < CC_ENUM_END; ++c)
        if (EBIT_TEST(cc->mask, c))
            statHistCount(hist, c);
 }
index 8d4d41ce7cd9a5a4457df83e1aba8de8a2273c35..6752714c197e5c456cac21765b7d8ad0af2d777d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHdrContRange.cc,v 1.14 2001/10/24 08:19:07 hno Exp $
+ * $Id: HttpHdrContRange.cc,v 1.15 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 68    HTTP Content-Range Header
  * AUTHOR: Alex Rousskov
@@ -86,8 +86,11 @@ httpHdrRangeRespSpecParseInit(HttpHdrRangeSpec * spec, const char *field, int fl
            return 0;
        spec->length = size_diff(last_pos + 1, spec->offset);
     }
+    /* Ensure typecast is safe */
+    assert (spec->length >= 0);
+          
     /* we managed to parse, check if the result makes sence */
-    if (known_spec(spec->length) && !spec->length) {
+    if (known_spec((size_t)spec->length) && spec->length != 0) {
        debug(68, 2) ("invalid range (%ld += %ld) in resp-range-spec near: '%s'\n",
            (long int) spec->offset, (long int) spec->length, field);
        return 0;
@@ -98,7 +101,11 @@ httpHdrRangeRespSpecParseInit(HttpHdrRangeSpec * spec, const char *field, int fl
 static void
 httpHdrRangeRespSpecPackInto(const HttpHdrRangeSpec * spec, Packer * p)
 {
-    if (!known_spec(spec->offset) || !known_spec(spec->length))
+    /* Ensure typecast is safe */
+    assert (spec->length >= 0);
+    assert (spec->length >= 0);
+       
+    if (!known_spec((size_t)spec->offset) || !known_spec((size_t)spec->length))
        packerPrintf(p, "*");
     else
        packerPrintf(p, "bytes %ld-%ld",
@@ -112,7 +119,7 @@ httpHdrRangeRespSpecPackInto(const HttpHdrRangeSpec * spec, Packer * p)
 HttpHdrContRange *
 httpHdrContRangeCreate(void)
 {
-    HttpHdrContRange *r = memAllocate(MEM_HTTP_HDR_CONTENT_RANGE);
+    HttpHdrContRange *r = (HttpHdrContRange *)memAllocate(MEM_HTTP_HDR_CONTENT_RANGE);
     r->spec.offset = r->spec.length = range_spec_unknown;
     r->elength = range_spec_unknown;
     return r;
@@ -180,7 +187,9 @@ httpHdrContRangePackInto(const HttpHdrContRange * range, Packer * p)
 {
     assert(range && p);
     httpHdrRangeRespSpecPackInto(&range->spec, p);
-    if (!known_spec(range->elength))
+    /* Ensure typecast is safe */
+    assert (range->elength >= 0);
+    if (!known_spec((size_t)range->elength))
        packerPrintf(p, "/*");
     else
        packerPrintf(p, "/%ld", (long int) range->elength);
index 9079221ddf5e80f61bea3affb1a699bac35df486..243fb41167efb22d8dad4f23fa4922a1a7964860 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHdrRange.cc,v 1.26 2001/10/24 08:19:07 hno Exp $
+ * $Id: HttpHdrRange.cc,v 1.27 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 64    HTTP Range Header
  * AUTHOR: Alex Rousskov
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 /*
  *    Currently only byte ranges are supported
@@ -75,7 +76,7 @@ static int RangeParsedCount = 0;
 static HttpHdrRangeSpec *
 httpHdrRangeSpecCreate(void)
 {
-    return memAllocate(MEM_HTTP_HDR_RANGE_SPEC);
+    return (HttpHdrRangeSpec *)memAllocate(MEM_HTTP_HDR_RANGE_SPEC);
 }
 
 /* parses range-spec and returns new object on success */
@@ -153,14 +154,17 @@ httpHdrRangeSpecCanonize(HttpHdrRangeSpec * spec, size_t clen)
 {
     debug(64, 5) ("httpHdrRangeSpecCanonize: have: [%ld, %ld) len: %ld\n",
        (long int) spec->offset, (long int) spec->offset + spec->length, (long int) spec->length);
+    /* ensure the type casts are safe */
+    assert (spec->length >= 0);
+    assert (spec->offset >= 0);
     if (!known_spec(spec->offset))     /* suffix */
-       spec->offset = size_diff(clen, spec->length);
+       spec->offset = size_diff(clen, (size_t)spec->length);
     else if (!known_spec(spec->length))                /* trailer */
-       spec->length = size_diff(clen, spec->offset);
+       spec->length = size_diff(clen, (size_t)spec->offset);
     /* we have a "range" now, adjust length if needed */
     assert(known_spec(spec->length));
     assert(known_spec(spec->offset));
-    spec->length = size_min(size_diff(clen, spec->offset), spec->length);
+    spec->length = size_min(size_diff(clen, (size_t)spec->offset), (size_t)spec->length);
     /* check range validity */
     debug(64, 5) ("httpHdrRangeSpecCanonize: done: [%ld, %ld) len: %ld\n",
        (long int) spec->offset, (long int) spec->offset + (long int) spec->length, (long int) spec->length);
@@ -211,7 +215,7 @@ httpHdrRangeSpecMergeWith(HttpHdrRangeSpec * recep, const HttpHdrRangeSpec * don
 static HttpHdrRange *
 httpHdrRangeCreate(void)
 {
-    HttpHdrRange *r = memAllocate(MEM_HTTP_HDR_RANGE);
+    HttpHdrRange *r = (HttpHdrRange *)memAllocate(MEM_HTTP_HDR_RANGE);
     stackInit(&r->specs);
     return r;
 }
@@ -263,7 +267,7 @@ httpHdrRangeDestroy(HttpHdrRange * range)
 {
     assert(range);
     while (range->specs.count)
-       httpHdrRangeSpecDestroy(stackPop(&range->specs));
+       httpHdrRangeSpecDestroy((HttpHdrRangeSpec *)stackPop(&range->specs));
     stackClean(&range->specs);
     memFree(range, MEM_HTTP_HDR_RANGE);
 }
@@ -277,7 +281,7 @@ httpHdrRangeDup(const HttpHdrRange * range)
     dup = httpHdrRangeCreate();
     stackPrePush(&dup->specs, range->specs.count);
     for (i = 0; i < range->specs.count; i++)
-       stackPush(&dup->specs, httpHdrRangeSpecDup(range->specs.items[i]));
+       stackPush(&dup->specs, httpHdrRangeSpecDup((HttpHdrRangeSpec *)range->specs.items[i]));
     assert(range->specs.count == dup->specs.count);
     return dup;
 }
@@ -331,8 +335,8 @@ httpHdrRangeCanonize(HttpHdrRange * range, ssize_t clen)
      * take one spec from "goods" and merge it with specs from 
      * "range->specs" (if any) until there is no overlap */
     for (i = 0; i < goods.count;) {
-       HttpHdrRangeSpec *prev_spec = stackTop(&range->specs);
-       spec = goods.items[i];
+       HttpHdrRangeSpec *prev_spec = (HttpHdrRangeSpec *)stackTop(&range->specs);
+       spec = (HttpHdrRangeSpec *)goods.items[i];
        if (prev_spec) {
            if (httpHdrRangeSpecMergeWith(spec, prev_spec)) {
                /* merged with current so get rid of the prev one */
@@ -379,7 +383,9 @@ httpHdrRangeIsComplex(const HttpHdrRange * range)
     assert(range);
     /* check that all rangers are in "strong" order */
     while ((spec = httpHdrRangeGetSpec(range, &pos))) {
-       if (spec->offset < offset)
+       /* Ensure typecasts is safe */
+       assert (spec->offset >= 0);
+       if ((unsigned int)spec->offset < offset)
            return 1;
        offset = spec->offset + spec->length;
     }
@@ -402,7 +408,9 @@ httpHdrRangeWillBeComplex(const HttpHdrRange * range)
     while ((spec = httpHdrRangeGetSpec(range, &pos))) {
        if (!known_spec(spec->offset))  /* ignore unknowns */
            continue;
-       if (spec->offset < offset)
+       /* Ensure typecasts is safe */
+       assert (spec->offset >= 0);
+       if ((size_t) spec->offset < offset)
            return 1;
        offset = spec->offset;
        if (known_spec(spec->length))   /* avoid  unknowns */
@@ -456,7 +464,6 @@ httpHdrRangeLowestOffset(const HttpHdrRange * range, ssize_t size)
     return known_spec(offset) ? offset : 0;
 }
 
-
 /* generates a "unique" boundary string for multipart responses
  * the caller is responsible for cleaning the string */
 String
@@ -467,7 +474,7 @@ httpHdrRangeBoundaryStr(clientHttpRequest * http)
     assert(http);
     stringAppend(&b, full_appname_string, strlen(full_appname_string));
     stringAppend(&b, ":", 1);
-    key = storeKeyText(http->entry->hash.key);
+    key = storeKeyText((unsigned char *)http->entry->hash.key);
     stringAppend(&b, key, strlen(key));
     return b;
 }
@@ -482,10 +489,10 @@ httpHdrRangeOffsetLimit(HttpHdrRange * range)
     if (NULL == range)
        /* not a range request */
        return 0;
-    if (-1 == Config.rangeOffsetLimit)
+    if (-1 == (ssize_t)Config.rangeOffsetLimit)
        /* disabled */
        return 0;
-    if (Config.rangeOffsetLimit >= httpHdrRangeFirstOffset(range))
+    if ((ssize_t)Config.rangeOffsetLimit >= httpHdrRangeFirstOffset(range))
        /* below the limit */
        return 0;
     return 1;
index ddee7f5da261dc11ba89a4f4c405466f78d4661b..158fb3166bf39bb68511d036ea4c42e612c6b1a0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeader.cc,v 1.80 2002/08/11 07:54:04 robertc Exp $
+ * $Id: HttpHeader.cc,v 1.81 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 55    HTTP Header
  * AUTHOR: Alex Rousskov
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "HttpHeader.h"
 
 /*
  * On naming conventions:
@@ -133,6 +135,13 @@ static const HttpHeaderFieldAttrs HeadersAttrs[] =
 };
 static HttpHeaderFieldInfo *Headers = NULL;
 
+http_hdr_type &operator++ (http_hdr_type &aHeader)
+{
+    aHeader = (http_hdr_type)(++(int)aHeader);
+    return aHeader;
+}
+
+
 /*
  * headers with field values defined as #(values) in HTTP/1.1
  * Headers that are currently not recognized, are commented out.
@@ -450,7 +459,7 @@ httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos)
     assert(*pos >= HttpHeaderInitPos && *pos < hdr->entries.count);
     for ((*pos)++; *pos < hdr->entries.count; (*pos)++) {
        if (hdr->entries.items[*pos])
-           return hdr->entries.items[*pos];
+           return (HttpHeaderEntry*)hdr->entries.items[*pos];
     }
     return NULL;
 }
@@ -561,7 +570,7 @@ httpHeaderDelAt(HttpHeader * hdr, HttpHeaderPos pos)
 {
     HttpHeaderEntry *e;
     assert(pos >= HttpHeaderInitPos && pos < hdr->entries.count);
-    e = hdr->entries.items[pos];
+    e = (HttpHeaderEntry*)hdr->entries.items[pos];
     hdr->entries.items[pos] = NULL;
     /* decrement header length, allow for ": " and crlf */
     hdr->len -= strLen(e->name) + 2 + strLen(e->value) + 2;
@@ -998,7 +1007,7 @@ httpHeaderEntryCreate(http_hdr_type id, const char *name, const char *value)
 {
     HttpHeaderEntry *e;
     assert_eid(id);
-    e = memAllocate(MEM_HTTP_HDR_ENTRY);
+    e = (HttpHeaderEntry *)memAllocate(MEM_HTTP_HDR_ENTRY);
     e->id = id;
     if (id != HDR_OTHER)
        e->name = Headers[id].name;
@@ -1022,7 +1031,7 @@ httpHeaderEntryDestroy(HttpHeaderEntry * e)
     stringClean(&e->value);
     assert(Headers[e->id].stat.aliveCount);
     Headers[e->id].stat.aliveCount--;
-    e->id = -1;
+    e->id = HDR_BAD_HDR;
     memFree(e, MEM_HTTP_HDR_ENTRY);
 }
 
@@ -1031,7 +1040,7 @@ static HttpHeaderEntry *
 httpHeaderEntryParseCreate(const char *field_start, const char *field_end)
 {
     HttpHeaderEntry *e;
-    int id;
+    http_hdr_type id;
     /* note: name_start == field_start */
     const char *name_end = strchr(field_start, ':');
     const int name_len = name_end ? name_end - field_start : 0;
@@ -1049,7 +1058,7 @@ httpHeaderEntryParseCreate(const char *field_start, const char *field_end)
        return NULL;
     }
     /* now we know we can parse it */
-    e = memAllocate(MEM_HTTP_HDR_ENTRY);
+    e = (HttpHeaderEntry *)memAllocate(MEM_HTTP_HDR_ENTRY);
     debug(55, 9) ("creating entry %p: near '%s'\n", e, getStringPrefix(field_start, field_end));
     /* is it a "known" field? */
     id = httpHeaderIdByName(field_start, name_len, Headers, HDR_ENUM_END);
@@ -1188,7 +1197,7 @@ httpHeaderStoreReport(StoreEntry * e)
     storeAppendPrintf(e, "\nHttp Fields Stats (replies and requests)\n");
     storeAppendPrintf(e, "%2s\t %-20s\t %5s\t %6s\t %6s\n",
        "id", "name", "#alive", "%err", "%repeat");
-    for (ht = 0; ht < HDR_ENUM_END; ht++) {
+    for (ht = (http_hdr_type)0; ht < HDR_ENUM_END; ++ht) {
        HttpHeaderFieldInfo *f = Headers + ht;
        storeAppendPrintf(e, "%2d\t %-20s\t %5d\t %6.3f\t %6.3f\n",
            f->id, strBuf(f->name), f->stat.aliveCount,
@@ -1202,7 +1211,7 @@ httpHeaderStoreReport(StoreEntry * e)
     storeAppendPrintf(e, "Hdr Fields Parsed: %d\n", HeaderEntryParsedCount);
 }
 
-int
+http_hdr_type
 httpHeaderIdByName(const char *name, int name_len, const HttpHeaderFieldInfo * info, int end)
 {
     int i;
@@ -1211,12 +1220,12 @@ httpHeaderIdByName(const char *name, int name_len, const HttpHeaderFieldInfo * i
            continue;
        if (!strncasecmp(name, strBuf(info[i].name),
                name_len < 0 ? strLen(info[i].name) + 1 : name_len))
-           return i;
+           return info[i].id;
     }
-    return -1;
+    return HDR_BAD_HDR;
 }
 
-int
+http_hdr_type
 httpHeaderIdByNameDef(const char *name, int name_len)
 {
     if (!Headers)
diff --git a/src/HttpHeader.h b/src/HttpHeader.h
new file mode 100644 (file)
index 0000000..830e021
--- /dev/null
@@ -0,0 +1,47 @@
+
+/*
+ * $Id: HttpHeader.h,v 1.1 2002/10/13 20:34:56 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_HTTPHEADER_H
+#define SQUID_HTTPHEADER_H
+
+#ifdef __cplusplus
+#endif
+
+/* constant attributes of http header fields */
+struct _HttpHeaderFieldAttrs {
+    const char *name;
+    http_hdr_type id;
+    field_type type;
+};
+
+#endif /* SQUID_HTTPHEADER_H */
index a7c27e011ebf226dec929da655acebb3ed3eec94..4ca17914f031d4c9cbbe38baafdb0890ce5f44ec 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeaderTools.cc,v 1.32 2001/09/06 19:51:56 hno Exp $
+ * $Id: HttpHeaderTools.cc,v 1.33 2002/10/13 20:34:56 robertc Exp $
  *
  * DEBUG: section 66    HTTP Header Tools
  * AUTHOR: Alex Rousskov
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "HttpHeader.h"
 
 #if UNUSED_CODE
 static int httpHeaderStrCmp(const char *h1, const char *h2, int len);
@@ -49,10 +50,10 @@ httpHeaderBuildFieldsInfo(const HttpHeaderFieldAttrs * attrs, int count)
     assert(attrs && count);
 
     /* allocate space */
-    table = xcalloc(count, sizeof(HttpHeaderFieldInfo));
+    table = (HttpHeaderFieldInfo *)xcalloc(count, sizeof(HttpHeaderFieldInfo));
 
     for (i = 0; i < count; ++i) {
-       const int id = attrs[i].id;
+       const http_hdr_type id = attrs[i].id;
        HttpHeaderFieldInfo *info = table + id;
        /* sanity checks */
        assert(id >= 0 && id < count);
@@ -86,9 +87,9 @@ httpHeaderMaskInit(HttpHeaderMask * mask, int value)
 
 /* calculates a bit mask of a given array; does not reset mask! */
 void
-httpHeaderCalcMask(HttpHeaderMask * mask, const int *enums, int count)
+httpHeaderCalcMask(HttpHeaderMask * mask, const int *enums, size_t count)
 {
-    int i;
+    size_t i;
     assert(mask && enums);
     assert(count < sizeof(*mask) * 8); /* check for overflow */
 
index 4445aa2770b9e934c902ab48e53cbad9387f19e5..1ff35324a8557df572dae7aac9df4042641c70ef 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpReply.cc,v 1.49 2001/10/24 08:19:08 hno Exp $
+ * $Id: HttpReply.cc,v 1.50 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 58    HTTP Reply (Response)
  * AUTHOR: Alex Rousskov
@@ -47,6 +47,13 @@ static http_hdr_type Denied304HeadersArr[] =
     HDR_OTHER
 };
 
+HttpMsgParseState &operator++ (HttpMsgParseState &aState)
+{
+    aState = (HttpMsgParseState)(++(int)aState);
+    return aState;
+}
+
+
 /* local routines */
 static void httpReplyInit(HttpReply * rep);
 static void httpReplyClean(HttpReply * rep);
@@ -71,7 +78,7 @@ httpReplyInitModule(void)
 HttpReply *
 httpReplyCreate(void)
 {
-    HttpReply *rep = memAllocate(MEM_HTTP_REPLY);
+    HttpReply *rep = (HttpReply *)memAllocate(MEM_HTTP_REPLY);
     debug(58, 7) ("creating rep: %p\n", rep);
     httpReplyInit(rep);
     return rep;
@@ -144,7 +151,7 @@ httpReplyParse(HttpReply * rep, const char *buf, ssize_t end)
      * becuase somebody may feed a non NULL-terminated buffer to
      * us.
      */
-    char *headers = memAllocate(MEM_4K_BUF);
+    char *headers = (char *)memAllocate(MEM_4K_BUF);
     int success;
     size_t s = XMIN(end + 1, 4096);
     /* reset current state, because we are not used in incremental fashion */
@@ -394,7 +401,7 @@ httpReplyParseStep(HttpReply * rep, const char *buf, int atEnd)
 
        *parse_end_ptr = parse_start;
        rep->hdr_sz = *parse_end_ptr - buf;
-       rep->pstate++;
+       ++rep->pstate;
     }
     if (rep->pstate == psReadyToParseHeaders) {
        if (!httpMsgIsolateHeaders(&parse_start, &blk_start, &blk_end)) {
@@ -410,7 +417,7 @@ httpReplyParseStep(HttpReply * rep, const char *buf, int atEnd)
 
        *parse_end_ptr = parse_start;
        rep->hdr_sz = *parse_end_ptr - buf;
-       rep->pstate++;
+       ++rep->pstate;
     }
     return 1;
 }
index 86e7d46a8a704de0194e102dc552ec246186c59b..395ca96a661d39a8afd4c254cee5461d1895442d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpRequest.cc,v 1.30 2001/04/14 00:25:17 hno Exp $
+ * $Id: HttpRequest.cc,v 1.31 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 73    HTTP Request
  * AUTHOR: Duane Wessels
  */
 
 #include "squid.h"
+#include "authenticate.h"
 
 request_t *
 requestCreate(method_t method, protocol_t protocol, const char *urlpath)
 {
-    request_t *req = memAllocate(MEM_REQUEST_T);
+    request_t *req = static_cast<request_t *>(memAllocate(MEM_REQUEST_T));
     req->method = method;
     req->protocol = protocol;
     if (urlpath)
diff --git a/src/ICP.h b/src/ICP.h
new file mode 100644 (file)
index 0000000..cab91d6
--- /dev/null
+++ b/src/ICP.h
@@ -0,0 +1,107 @@
+
+/*
+ * $Id: ICP.h,v 1.1 2002/10/13 20:34:57 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_ICP_H
+#define SQUID_ICP_H
+
+#include "StoreClient.h"
+
+#ifdef __cplusplus
+#endif
+
+/* This struct is the wire-level header.
+ * DO NOT add ore move fields on pain of breakage.
+ * DO NOT add virtual methods.
+ */
+struct _icp_common_t {
+    unsigned char opcode;      /* opcode */
+    unsigned char version;     /* version number */
+    unsigned short length;     /* total length (bytes) */
+    u_int32_t reqnum;          /* req number (req'd for UDP) */
+    u_int32_t flags;
+    u_int32_t pad;
+    u_int32_t shostid;         /* sender host id */
+#ifdef __cplusplus
+              _icp_common_t();
+              _icp_common_t(char *buf, unsigned int len);
+    void handleReply(char *buf, struct sockaddr_in *from);
+    static _icp_common_t *createMessage(icp_opcode opcode, int flags, const char *url, int reqnum, int pad);
+    icp_opcode getOpCode() const;
+#endif
+};
+
+#ifdef __cplusplus
+
+inline icp_opcode & operator++ (icp_opcode & aCode) {
+    aCode = (icp_opcode) (++(int) aCode);
+    return aCode;
+}
+
+
+/* todo: mempool this */
+class ICPState {
+    public:
+    ICPState(icp_common_t &);
+    virtual ~ ICPState();
+    icp_common_t header;
+    request_t *request;
+    int fd;
+    struct sockaddr_in from;
+    char *url;
+};
+
+#endif
+
+request_t *
+          icpGetRequest(char *url, int reqnum, int fd, struct sockaddr_in *from);
+int icpAccessAllowed(struct sockaddr_in *from, request_t * icp_request);
+SQUIDCEXTERN void icpCreateAndSend(icp_opcode, int flags, char const *url, int reqnum, int pad, int fd, const struct sockaddr_in *from);
+extern icp_opcode icpGetCommonOpcode();
+
+SQUIDCEXTERN int icpUdpSend(int, const struct sockaddr_in *, icp_common_t *, log_type, int);
+SQUIDCEXTERN log_type icpLogFromICPCode(icp_opcode opcode);
+void icpDenyAccess(struct sockaddr_in *from, char *url, int reqnum, int fd);
+SQUIDCEXTERN PF icpHandleUdp;
+SQUIDCEXTERN PF icpUdpSendQueue;
+SQUIDCEXTERN void icpHandleIcpV3(int, struct sockaddr_in, char *, int);
+SQUIDCEXTERN int icpCheckUdpHit(StoreEntry *, request_t * request);
+SQUIDCEXTERN void icpConnectionsOpen(void);
+SQUIDCEXTERN void icpConnectionShutdown(void);
+SQUIDCEXTERN void icpConnectionClose(void);
+SQUIDCEXTERN int icpSetCacheKey(const cache_key * key);
+SQUIDCEXTERN const cache_key *icpGetCacheKey(const char *url, int reqnum);
+
+
+
+
+#endif /* SQUID_ICP_H */
index 42fea2a81e5ebf51ae21dc2c591b7d0e699b68a4..b2ab308ab1a351e5fd68e346561991dfe23ba005 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: IPInterception.h,v 1.2 2002/09/27 11:21:10 robertc Exp $
+ * $Id: IPInterception.h,v 1.3 2002/10/13 20:34:57 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -34,7 +34,7 @@
 #ifndef SQUID_IPINTERCEPTION_H
 #define SQUID_IPINTERCEPTION_H
 
-void
+SQUIDCEXTERN void
      rewriteURIwithInterceptedDetails(char const *originalURL, char *uriBuffer, size_t bufferLength, int fd, struct sockaddr_in me, struct sockaddr_in peer, int vport);
 
 #endif /* SQUID_IPINTERCEPTION_H */
index 71299c117e904ece1d8af311ceb030cf08b0cb9e..30dc7bdb9525d81f75c0e5a2c17c9da51b2b3124 100644 (file)
@@ -1,49 +1,49 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.35 2002/10/12 09:45:55 robertc Exp $
+#  $Id: Makefile.am,v 1.36 2002/10/13 20:34:57 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
 
 if USE_DNSSERVER
-DNSSOURCE = dns.c
+DNSSOURCE = dns.cc
 DNSSERVER = dnsserver
 else
-DNSSOURCE = dns_internal.c
+DNSSOURCE = dns_internal.cc
 DNSSERVER =
 endif
 
 if USE_SNMP
-SNMPSOURCE = snmp_core.c snmp_agent.c
+SNMPSOURCE = snmp_core.cc snmp_agent.cc
 else
 SNMPSOURCE = 
 endif
 
 if USE_DELAY_POOLS
-DELAY_POOL_SOURCE = delay_pools.c
+DELAY_POOL_SOURCE = delay_pools.cc
 else
 DELAY_POOL_SOURCE = 
 endif
 
 if ENABLE_XPROF_STATS
-XPROF_STATS_SOURCE = ProfStats.c
+XPROF_STATS_SOURCE = ProfStats.cc
 else
 XPROF_STATS_SOURCE = 
 endif
 
 if ENABLE_HTCP
-HTCPSOURCE = htcp.c
+HTCPSOURCE = htcp.cc
 endif
 
 if MAKE_LEAKFINDER
-LEAKFINDERSOURCE =  leakfinder.c
+LEAKFINDERSOURCE =  leakfinder.cc
 else
 LEAKFINDERSOURCE = 
 endif
 
 if ENABLE_UNLINKD
-UNLINKDSOURCE = unlinkd.c
+UNLINKDSOURCE = unlinkd.cc
 UNLINKD = unlinkd
 else
 UNLINKDSOURCE = 
@@ -57,18 +57,19 @@ PINGER =
 endif
 
 if ENABLE_SSL
-SSLSOURCE = ssl_support.c
+SSLSOURCE = ssl_support.cc
 else
 SSLSOURCE = 
 endif
 
 if ENABLE_WIN32SPECIFIC
-WIN32SOURCE = win32.c
+WIN32SOURCE = win32.cc
 else
 WIN32SOURCE = 
 endif
 
 AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 SUBDIRS                = fs repl auth
 
@@ -77,7 +78,8 @@ INCLUDES        = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/incl
 EXTRA_PROGRAMS = \
        unlinkd \
        pinger \
-       dnsserver
+       dnsserver \
+       recv-announce
 
 noinst_PROGRAMS = \
        cf_gen
@@ -94,144 +96,144 @@ libexec_PROGRAMS = \
        $(UNLINKD) \
        cachemgr$(CGIEXT)
 
-cf_gen_SOURCES = cf_gen.c defines.h
+cf_gen_SOURCES = cf_gen.cc defines.h
 nodist_cf_gen_HEADER = cf_gen_defines.h
 cf_gen.$(OBJEXT): cf_gen_defines.h
-squidclient_SOURCES = client.c
-cachemgr__CGIEXT__SOURCES = cachemgr.c
+squidclient_SOURCES = client.cc
+cachemgr__CGIEXT__SOURCES = cachemgr.cc
 
 EXTRA_squid_SOURCES = \
-       delay_pools.c \
-       dns.c \
-       dnsserver.c \
-       dns_internal.c \
-       htcp.c \
-       leakfinder.c \
-       snmp_core.c \
-       snmp_agent.c \
-       unlinkd.c \
-       ssl_support.c \
+       delay_pools.cc \
+       dns.cc \
+       dnsserver.cc \
+       dns_internal.cc \
+       htcp.cc \
+       leakfinder.cc \
+       snmp_core.cc \
+       snmp_agent.cc \
+       unlinkd.cc \
+       ssl_support.cc \
        ssl_support.h \
-       win32.c
+       win32.cc
 
 squid_SOURCES = \
-       access_log.c \
-       acl.c \
-       asn.c \
-       authenticate.c \
-       cache_cf.c \
-       CacheDigest.c \
-       cache_manager.c \
-       carp.c \
-       cbdata.c \
-       client_db.c \
-       client_side.c \
-       client_side_reply.c \
-       client_side_request.c \
+       access_log.cc \
+       acl.cc \
+       asn.cc \
+       authenticate.cc \
+       cache_cf.cc \
+       CacheDigest.cc \
+       cache_manager.cc \
+       carp.cc \
+       cbdata.cc \
+       client_db.cc \
+       client_side.cc \
+       client_side_reply.cc \
+       client_side_request.cc \
        client_side_request.h \
-       clientStream.c \
+       clientStream.cc \
        clientStream.h \
-       comm.c \
-       comm_select.c \
-       comm_poll.c \
-       comm_kqueue.c \
-       debug.c \
+       comm.cc \
+       comm_select.cc \
+       comm_poll.cc \
+       comm_kqueue.cc \
+       debug.cc \
        defines.h \
        $(DELAY_POOL_SOURCE) \
-       disk.c \
+       disk.cc \
        $(DNSSOURCE) \
        enums.h \
-       errorpage.c \
-       ETag.c \
-       event.c \
-       external_acl.c \
-       fd.c \
-       filemap.c \
-       forward.c \
-       fqdncache.c \
-       ftp.c \
+       errorpage.cc \
+       ETag.cc \
+       event.cc \
+       external_acl.cc \
+       fd.cc \
+       filemap.cc \
+       forward.cc \
+       fqdncache.cc \
+       ftp.cc \
        globals.h \
-       gopher.c \
-       helper.c \
+       gopher.cc \
+       helper.cc \
        $(HTCPSOURCE) \
-       http.c \
-       HttpStatusLine.c \
-       HttpHdrCc.c \
-       HttpHdrRange.c \
-       HttpHdrContRange.c \
-       HttpHeader.c \
-       HttpHeaderTools.c \
-       HttpBody.c \
-       HttpMsg.c \
-       HttpReply.c \
-       HttpRequest.c \
-       icmp.c \
-       icp_v2.c \
-       icp_v3.c \
-       ident.c \
-       internal.c \
-       ipc.c \
-       ipcache.c \
-       IPInterception.c \
+       http.cc \
+       HttpStatusLine.cc \
+       HttpHdrCc.cc \
+       HttpHdrRange.cc \
+       HttpHdrContRange.cc \
+       HttpHeader.cc \
+       HttpHeaderTools.cc \
+       HttpBody.cc \
+       HttpMsg.cc \
+       HttpReply.cc \
+       HttpRequest.cc \
+       icmp.cc \
+       icp_v2.cc \
+       icp_v3.cc \
+       ident.cc \
+       internal.cc \
+       ipc.cc \
+       ipcache.cc \
+       IPInterception.cc \
        IPInterception.h \
        $(LEAKFINDERSOURCE) \
-       logfile.c \
-       main.c \
-       mem.c \
-       MemBuf.c \
-       mime.c \
-       multicast.c \
-       neighbors.c \
-       net_db.c \
-       Packer.c \
+       logfile.cc \
+       main.cc \
+       mem.cc \
+       MemBuf.cc \
+       mime.cc \
+       multicast.cc \
+       neighbors.cc \
+       net_db.cc \
+       Packer.cc \
        $(XPROF_STATS_SOURCE) \
-       pconn.c \
-       peer_digest.c \
-       peer_select.c \
+       pconn.cc \
+       peer_digest.cc \
+       peer_select.cc \
        protos.h \
-       redirect.c \
-       referer.c \
-       refresh.c \
-       send-announce.c \
+       redirect.cc \
+       referer.cc \
+       refresh.cc \
+       send-announce.cc \
        $(SNMPSOURCE) \
        squid.h \
-       ssl.c \
+       ssl.cc \
        $(SSLSOURCE) \
-       stat.c \
-       StatHist.c \
-       String.c \
-       stmem.c \
-       store.c \
-       store_io.c \
+       stat.cc \
+       StatHist.cc \
+       String.cc \
+       stmem.cc \
+       store.cc \
+       store_io.cc \
        StoreIOBuffer.h \
-       store_client.c \
+       store_client.cc \
        StoreClient.h \
-       store_digest.c \
-       store_dir.c \
-       store_key_md5.c \
-       store_log.c \
-       store_rebuild.c \
-       store_swapin.c \
-       store_swapmeta.c \
-       store_swapout.c \
+       store_digest.cc \
+       store_dir.cc \
+       store_key_md5.cc \
+       store_log.cc \
+       store_rebuild.cc \
+       store_swapin.cc \
+       store_swapmeta.cc \
+       store_swapout.cc \
        structs.h \
-       tools.c \
+       tools.cc \
        typedefs.h \
-       ufscommon.c \
+       ufscommon.cc \
        ufscommon.h \
        $(UNLINKDSOURCE) \
-       url.c \
-       urn.c \
-       useragent.c \
-       wais.c \
-       wccp.c \
-       whois.c \
+       url.cc \
+       urn.cc \
+       useragent.cc \
+       wais.cc \
+       wccp.cc \
+       whois.cc \
        $(WIN32SOURCE)
 
 nodist_squid_SOURCES = \
-       repl_modules.c \
-       auth_modules.c \
-       store_modules.c \
+       repl_modules.cc \
+       auth_modules.cc \
+       store_modules.cc \
        cf_parser.h \
        globals.c \
        string_arrays.c
@@ -253,12 +255,15 @@ squid_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a
 
 unlinkd_SOURCES = 
 unlinkd_LDADD = unlinkd-daemon.o
-unlinkd-daemon.o: unlinkd.c
-       $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
+unlinkd-daemon.o: unlinkd.cc
+       $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.cc -o $@
 
 pinger_SOURCES = \
-       pinger.c \
-       debug.c
+       pinger.cc \
+       debug.cc
+
+dnsserver_SOURCES = dnsserver.cc
+recv_announce_SOURCES = recv-announce.cc
 
 nodist_pinger_SOURCES = \
        globals.c
@@ -268,9 +273,9 @@ BUILT_SOURCES = \
        cf_parser.h \
        globals.c \
        string_arrays.c \
-       repl_modules.c \
-       auth_modules.c \
-       store_modules.c
+       repl_modules.cc \
+       auth_modules.cc \
+       store_modules.cc
 
 sysconf_DATA = \
        squid.conf.default \
@@ -362,14 +367,14 @@ cf.data: cf.data.pre Makefile
        s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\
        < $(srcdir)/cf.data.pre >$@
 
-store_modules.c: store_modules.sh Makefile
-       $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
+store_modules.cc: store_modules.sh Makefile
+       $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.cc
 
-repl_modules.c: repl_modules.sh Makefile
-       $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
+repl_modules.cc: repl_modules.sh Makefile
+       $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
 
-auth_modules.c: auth_modules.sh Makefile
-       @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
+auth_modules.cc: auth_modules.sh Makefile
+       @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.cc
 
 install-data-local: install-sysconfDATA install-dataDATA
        @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
@@ -397,7 +402,7 @@ uninstall-local:
        fi
 
 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
-       globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
+       globals.c string_arrays.c repl_modules.cc auth_modules.cc store_modules.cc
 
 ##install-pinger:
 ##     @f=$(PINGER_EXE); \
index 1a59dbdf9758e4bde8ea6817d05abf482a013c2d..27909d6ef17e97a19ce931a64be6850add2ba2cb 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.250 2002/10/13 00:10:58 hno Exp $
+#  $Id: Makefile.in,v 1.251 2002/10/13 20:34:57 robertc Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -51,9 +51,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -65,6 +69,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -82,7 +90,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -95,7 +102,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -112,6 +118,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -121,26 +128,26 @@ am__quote = @am__quote@
 install_sh = @install_sh@
 makesnmplib = @makesnmplib@
 
-@USE_DNSSERVER_TRUE@DNSSOURCE = dns.c
-@USE_DNSSERVER_FALSE@DNSSOURCE = dns_internal.c
+@USE_DNSSERVER_TRUE@DNSSOURCE = dns.cc
+@USE_DNSSERVER_FALSE@DNSSOURCE = dns_internal.cc
 @USE_DNSSERVER_TRUE@DNSSERVER = dnsserver
 @USE_DNSSERVER_FALSE@DNSSERVER = 
 
-@USE_SNMP_TRUE@SNMPSOURCE = snmp_core.c snmp_agent.c
+@USE_SNMP_TRUE@SNMPSOURCE = snmp_core.cc snmp_agent.cc
 @USE_SNMP_FALSE@SNMPSOURCE = 
 
-@USE_DELAY_POOLS_TRUE@DELAY_POOL_SOURCE = delay_pools.c
+@USE_DELAY_POOLS_TRUE@DELAY_POOL_SOURCE = delay_pools.cc
 @USE_DELAY_POOLS_FALSE@DELAY_POOL_SOURCE = 
 
-@ENABLE_XPROF_STATS_TRUE@XPROF_STATS_SOURCE = ProfStats.c
+@ENABLE_XPROF_STATS_TRUE@XPROF_STATS_SOURCE = ProfStats.cc
 @ENABLE_XPROF_STATS_FALSE@XPROF_STATS_SOURCE = 
 
-@ENABLE_HTCP_TRUE@HTCPSOURCE = htcp.c
+@ENABLE_HTCP_TRUE@HTCPSOURCE = htcp.cc
 
-@MAKE_LEAKFINDER_TRUE@LEAKFINDERSOURCE = leakfinder.c
+@MAKE_LEAKFINDER_TRUE@LEAKFINDERSOURCE = leakfinder.cc
 @MAKE_LEAKFINDER_FALSE@LEAKFINDERSOURCE = 
 
-@ENABLE_UNLINKD_TRUE@UNLINKDSOURCE = unlinkd.c
+@ENABLE_UNLINKD_TRUE@UNLINKDSOURCE = unlinkd.cc
 @ENABLE_UNLINKD_FALSE@UNLINKDSOURCE = 
 @ENABLE_UNLINKD_TRUE@UNLINKD = unlinkd
 @ENABLE_UNLINKD_FALSE@UNLINKD = 
@@ -148,13 +155,14 @@ makesnmplib = @makesnmplib@
 @ENABLE_PINGER_TRUE@PINGER = pinger
 @ENABLE_PINGER_FALSE@PINGER = 
 
-@ENABLE_SSL_TRUE@SSLSOURCE = ssl_support.c
+@ENABLE_SSL_TRUE@SSLSOURCE = ssl_support.cc
 @ENABLE_SSL_FALSE@SSLSOURCE = 
 
-@ENABLE_WIN32SPECIFIC_TRUE@WIN32SOURCE = win32.c
+@ENABLE_WIN32SPECIFIC_TRUE@WIN32SOURCE = win32.cc
 @ENABLE_WIN32SPECIFIC_FALSE@WIN32SOURCE = 
 
 AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 SUBDIRS = fs repl auth
 
@@ -163,7 +171,8 @@ INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
 EXTRA_PROGRAMS = \
        unlinkd \
        pinger \
-       dnsserver
+       dnsserver \
+       recv-announce
 
 
 noinst_PROGRAMS = \
@@ -185,145 +194,145 @@ libexec_PROGRAMS = \
        cachemgr$(CGIEXT)
 
 
-cf_gen_SOURCES = cf_gen.c defines.h
+cf_gen_SOURCES = cf_gen.cc defines.h
 nodist_cf_gen_HEADER = cf_gen_defines.h
-squidclient_SOURCES = client.c
-cachemgr__CGIEXT__SOURCES = cachemgr.c
+squidclient_SOURCES = client.cc
+cachemgr__CGIEXT__SOURCES = cachemgr.cc
 
 EXTRA_squid_SOURCES = \
-       delay_pools.c \
-       dns.c \
-       dnsserver.c \
-       dns_internal.c \
-       htcp.c \
-       leakfinder.c \
-       snmp_core.c \
-       snmp_agent.c \
-       unlinkd.c \
-       ssl_support.c \
+       delay_pools.cc \
+       dns.cc \
+       dnsserver.cc \
+       dns_internal.cc \
+       htcp.cc \
+       leakfinder.cc \
+       snmp_core.cc \
+       snmp_agent.cc \
+       unlinkd.cc \
+       ssl_support.cc \
        ssl_support.h \
-       win32.c
+       win32.cc
 
 
 squid_SOURCES = \
-       access_log.c \
-       acl.c \
-       asn.c \
-       authenticate.c \
-       cache_cf.c \
-       CacheDigest.c \
-       cache_manager.c \
-       carp.c \
-       cbdata.c \
-       client_db.c \
-       client_side.c \
-       client_side_reply.c \
-       client_side_request.c \
+       access_log.cc \
+       acl.cc \
+       asn.cc \
+       authenticate.cc \
+       cache_cf.cc \
+       CacheDigest.cc \
+       cache_manager.cc \
+       carp.cc \
+       cbdata.cc \
+       client_db.cc \
+       client_side.cc \
+       client_side_reply.cc \
+       client_side_request.cc \
        client_side_request.h \
-       clientStream.c \
+       clientStream.cc \
        clientStream.h \
-       comm.c \
-       comm_select.c \
-       comm_poll.c \
-       comm_kqueue.c \
-       debug.c \
+       comm.cc \
+       comm_select.cc \
+       comm_poll.cc \
+       comm_kqueue.cc \
+       debug.cc \
        defines.h \
        $(DELAY_POOL_SOURCE) \
-       disk.c \
+       disk.cc \
        $(DNSSOURCE) \
        enums.h \
-       errorpage.c \
-       ETag.c \
-       event.c \
-       external_acl.c \
-       fd.c \
-       filemap.c \
-       forward.c \
-       fqdncache.c \
-       ftp.c \
+       errorpage.cc \
+       ETag.cc \
+       event.cc \
+       external_acl.cc \
+       fd.cc \
+       filemap.cc \
+       forward.cc \
+       fqdncache.cc \
+       ftp.cc \
        globals.h \
-       gopher.c \
-       helper.c \
+       gopher.cc \
+       helper.cc \
        $(HTCPSOURCE) \
-       http.c \
-       HttpStatusLine.c \
-       HttpHdrCc.c \
-       HttpHdrRange.c \
-       HttpHdrContRange.c \
-       HttpHeader.c \
-       HttpHeaderTools.c \
-       HttpBody.c \
-       HttpMsg.c \
-       HttpReply.c \
-       HttpRequest.c \
-       icmp.c \
-       icp_v2.c \
-       icp_v3.c \
-       ident.c \
-       internal.c \
-       ipc.c \
-       ipcache.c \
-       IPInterception.c \
+       http.cc \
+       HttpStatusLine.cc \
+       HttpHdrCc.cc \
+       HttpHdrRange.cc \
+       HttpHdrContRange.cc \
+       HttpHeader.cc \
+       HttpHeaderTools.cc \
+       HttpBody.cc \
+       HttpMsg.cc \
+       HttpReply.cc \
+       HttpRequest.cc \
+       icmp.cc \
+       icp_v2.cc \
+       icp_v3.cc \
+       ident.cc \
+       internal.cc \
+       ipc.cc \
+       ipcache.cc \
+       IPInterception.cc \
        IPInterception.h \
        $(LEAKFINDERSOURCE) \
-       logfile.c \
-       main.c \
-       mem.c \
-       MemBuf.c \
-       mime.c \
-       multicast.c \
-       neighbors.c \
-       net_db.c \
-       Packer.c \
+       logfile.cc \
+       main.cc \
+       mem.cc \
+       MemBuf.cc \
+       mime.cc \
+       multicast.cc \
+       neighbors.cc \
+       net_db.cc \
+       Packer.cc \
        $(XPROF_STATS_SOURCE) \
-       pconn.c \
-       peer_digest.c \
-       peer_select.c \
+       pconn.cc \
+       peer_digest.cc \
+       peer_select.cc \
        protos.h \
-       redirect.c \
-       referer.c \
-       refresh.c \
-       send-announce.c \
+       redirect.cc \
+       referer.cc \
+       refresh.cc \
+       send-announce.cc \
        $(SNMPSOURCE) \
        squid.h \
-       ssl.c \
+       ssl.cc \
        $(SSLSOURCE) \
-       stat.c \
-       StatHist.c \
-       String.c \
-       stmem.c \
-       store.c \
-       store_io.c \
+       stat.cc \
+       StatHist.cc \
+       String.cc \
+       stmem.cc \
+       store.cc \
+       store_io.cc \
        StoreIOBuffer.h \
-       store_client.c \
+       store_client.cc \
        StoreClient.h \
-       store_digest.c \
-       store_dir.c \
-       store_key_md5.c \
-       store_log.c \
-       store_rebuild.c \
-       store_swapin.c \
-       store_swapmeta.c \
-       store_swapout.c \
+       store_digest.cc \
+       store_dir.cc \
+       store_key_md5.cc \
+       store_log.cc \
+       store_rebuild.cc \
+       store_swapin.cc \
+       store_swapmeta.cc \
+       store_swapout.cc \
        structs.h \
-       tools.c \
+       tools.cc \
        typedefs.h \
-       ufscommon.c \
+       ufscommon.cc \
        ufscommon.h \
        $(UNLINKDSOURCE) \
-       url.c \
-       urn.c \
-       useragent.c \
-       wais.c \
-       wccp.c \
-       whois.c \
+       url.cc \
+       urn.cc \
+       useragent.cc \
+       wais.cc \
+       wccp.cc \
+       whois.cc \
        $(WIN32SOURCE)
 
 
 nodist_squid_SOURCES = \
-       repl_modules.c \
-       auth_modules.c \
-       store_modules.c \
+       repl_modules.cc \
+       auth_modules.cc \
+       store_modules.cc \
        cf_parser.h \
        globals.c \
        string_arrays.c
@@ -349,9 +358,12 @@ unlinkd_SOURCES =
 unlinkd_LDADD = unlinkd-daemon.o
 
 pinger_SOURCES = \
-       pinger.c \
-       debug.c
+       pinger.cc \
+       debug.cc
+
 
+dnsserver_SOURCES = dnsserver.cc
+recv_announce_SOURCES = recv-announce.cc
 
 nodist_pinger_SOURCES = \
        globals.c
@@ -362,9 +374,9 @@ BUILT_SOURCES = \
        cf_parser.h \
        globals.c \
        string_arrays.c \
-       repl_modules.c \
-       auth_modules.c \
-       store_modules.c
+       repl_modules.cc \
+       auth_modules.cc \
+       store_modules.cc
 
 
 sysconf_DATA = \
@@ -411,13 +423,14 @@ DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 DEFS = @DEFS@ -DDEFAULT_CONFIG_FILE=\"$(DEFAULT_CONFIG_FILE)\"
 
 DISTCLEANFILES = cf_gen_defines.h cf.data cf_parser.h squid.conf.default \
-       globals.c string_arrays.c repl_modules.c auth_modules.c store_modules.c
+       globals.c string_arrays.c repl_modules.cc auth_modules.cc store_modules.cc
 
 subdir = src
 mkinstalldirs = $(SHELL) $(top_srcdir)/cfgaux/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/include/autoconf.h
 CONFIG_CLEAN_FILES =
-EXTRA_PROGRAMS = unlinkd$(EXEEXT) pinger$(EXEEXT) dnsserver$(EXEEXT)
+EXTRA_PROGRAMS = unlinkd$(EXEEXT) pinger$(EXEEXT) dnsserver$(EXEEXT) \
+       recv-announce$(EXEEXT)
 bin_PROGRAMS = squidclient$(EXEEXT)
 @ENABLE_PINGER_FALSE@@ENABLE_UNLINKD_FALSE@@USE_DNSSERVER_TRUE@libexec_PROGRAMS = \
 @ENABLE_PINGER_FALSE@@ENABLE_UNLINKD_FALSE@@USE_DNSSERVER_TRUE@        dnsserver$(EXEEXT) \
@@ -462,8 +475,8 @@ cf_gen_OBJECTS = $(am_cf_gen_OBJECTS)
 cf_gen_LDADD = $(LDADD)
 cf_gen_DEPENDENCIES =
 cf_gen_LDFLAGS =
-dnsserver_SOURCES = dnsserver.c
-dnsserver_OBJECTS = dnsserver.$(OBJEXT)
+am_dnsserver_OBJECTS = dnsserver.$(OBJEXT)
+dnsserver_OBJECTS = $(am_dnsserver_OBJECTS)
 dnsserver_LDADD = $(LDADD)
 dnsserver_DEPENDENCIES =
 dnsserver_LDFLAGS =
@@ -473,23 +486,28 @@ pinger_OBJECTS = $(am_pinger_OBJECTS) $(nodist_pinger_OBJECTS)
 pinger_LDADD = $(LDADD)
 pinger_DEPENDENCIES =
 pinger_LDFLAGS =
-@USE_DELAY_POOLS_FALSE@am__objects_4 =
-@USE_DELAY_POOLS_TRUE@am__objects_4 = delay_pools.$(OBJEXT)
-@USE_DNSSERVER_FALSE@am__objects_5 = dns_internal.$(OBJEXT)
-@USE_DNSSERVER_TRUE@am__objects_5 = dns.$(OBJEXT)
-@ENABLE_HTCP_TRUE@am__objects_6 = htcp.$(OBJEXT)
-@MAKE_LEAKFINDER_TRUE@am__objects_7 = leakfinder.$(OBJEXT)
-@MAKE_LEAKFINDER_FALSE@am__objects_7 =
-@ENABLE_XPROF_STATS_TRUE@am__objects_3 = ProfStats.$(OBJEXT)
-@ENABLE_XPROF_STATS_FALSE@am__objects_3 =
-@USE_SNMP_TRUE@am__objects_8 = snmp_core.$(OBJEXT) snmp_agent.$(OBJEXT)
-@USE_SNMP_FALSE@am__objects_8 =
-@ENABLE_SSL_FALSE@am__objects_9 =
-@ENABLE_SSL_TRUE@am__objects_9 = ssl_support.$(OBJEXT)
-@ENABLE_UNLINKD_TRUE@am__objects_10 = unlinkd.$(OBJEXT)
-@ENABLE_UNLINKD_FALSE@am__objects_10 =
-@ENABLE_WIN32SPECIFIC_FALSE@am__objects_11 =
-@ENABLE_WIN32SPECIFIC_TRUE@am__objects_11 = win32.$(OBJEXT)
+am_recv_announce_OBJECTS = recv-announce.$(OBJEXT)
+recv_announce_OBJECTS = $(am_recv_announce_OBJECTS)
+recv_announce_LDADD = $(LDADD)
+recv_announce_DEPENDENCIES =
+recv_announce_LDFLAGS =
+@USE_DELAY_POOLS_TRUE@am__objects_1 = delay_pools.$(OBJEXT)
+@USE_DELAY_POOLS_FALSE@am__objects_1 =
+@USE_DNSSERVER_TRUE@am__objects_2 = dns.$(OBJEXT)
+@USE_DNSSERVER_FALSE@am__objects_2 = dns_internal.$(OBJEXT)
+@ENABLE_HTCP_TRUE@am__objects_3 = htcp.$(OBJEXT)
+@MAKE_LEAKFINDER_TRUE@am__objects_4 = leakfinder.$(OBJEXT)
+@MAKE_LEAKFINDER_FALSE@am__objects_4 =
+@ENABLE_XPROF_STATS_TRUE@am__objects_5 = ProfStats.$(OBJEXT)
+@ENABLE_XPROF_STATS_FALSE@am__objects_5 =
+@USE_SNMP_TRUE@am__objects_6 = snmp_core.$(OBJEXT) snmp_agent.$(OBJEXT)
+@USE_SNMP_FALSE@am__objects_6 =
+@ENABLE_SSL_TRUE@am__objects_7 = ssl_support.$(OBJEXT)
+@ENABLE_SSL_FALSE@am__objects_7 =
+@ENABLE_UNLINKD_TRUE@am__objects_8 = unlinkd.$(OBJEXT)
+@ENABLE_UNLINKD_FALSE@am__objects_8 =
+@ENABLE_WIN32SPECIFIC_TRUE@am__objects_9 = win32.$(OBJEXT)
+@ENABLE_WIN32SPECIFIC_FALSE@am__objects_9 =
 am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) asn.$(OBJEXT) \
        authenticate.$(OBJEXT) cache_cf.$(OBJEXT) CacheDigest.$(OBJEXT) \
        cache_manager.$(OBJEXT) carp.$(OBJEXT) cbdata.$(OBJEXT) \
@@ -497,11 +515,11 @@ am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) asn.$(OBJEXT) \
        client_side_reply.$(OBJEXT) client_side_request.$(OBJEXT) \
        clientStream.$(OBJEXT) comm.$(OBJEXT) comm_select.$(OBJEXT) \
        comm_poll.$(OBJEXT) comm_kqueue.$(OBJEXT) debug.$(OBJEXT) \
-       $(am__objects_4) disk.$(OBJEXT) $(am__objects_5) \
+       $(am__objects_1) disk.$(OBJEXT) $(am__objects_2) \
        errorpage.$(OBJEXT) ETag.$(OBJEXT) event.$(OBJEXT) \
        external_acl.$(OBJEXT) fd.$(OBJEXT) filemap.$(OBJEXT) \
        forward.$(OBJEXT) fqdncache.$(OBJEXT) ftp.$(OBJEXT) \
-       gopher.$(OBJEXT) helper.$(OBJEXT) $(am__objects_6) \
+       gopher.$(OBJEXT) helper.$(OBJEXT) $(am__objects_3) \
        http.$(OBJEXT) HttpStatusLine.$(OBJEXT) HttpHdrCc.$(OBJEXT) \
        HttpHdrRange.$(OBJEXT) HttpHdrContRange.$(OBJEXT) \
        HttpHeader.$(OBJEXT) HttpHeaderTools.$(OBJEXT) \
@@ -509,22 +527,22 @@ am_squid_OBJECTS = access_log.$(OBJEXT) acl.$(OBJEXT) asn.$(OBJEXT) \
        HttpRequest.$(OBJEXT) icmp.$(OBJEXT) icp_v2.$(OBJEXT) \
        icp_v3.$(OBJEXT) ident.$(OBJEXT) internal.$(OBJEXT) \
        ipc.$(OBJEXT) ipcache.$(OBJEXT) IPInterception.$(OBJEXT) \
-       $(am__objects_7) logfile.$(OBJEXT) main.$(OBJEXT) mem.$(OBJEXT) \
+       $(am__objects_4) logfile.$(OBJEXT) main.$(OBJEXT) mem.$(OBJEXT) \
        MemBuf.$(OBJEXT) mime.$(OBJEXT) multicast.$(OBJEXT) \
        neighbors.$(OBJEXT) net_db.$(OBJEXT) Packer.$(OBJEXT) \
-       $(am__objects_3) pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
+       $(am__objects_5) pconn.$(OBJEXT) peer_digest.$(OBJEXT) \
        peer_select.$(OBJEXT) redirect.$(OBJEXT) referer.$(OBJEXT) \
-       refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_8) \
-       ssl.$(OBJEXT) $(am__objects_9) stat.$(OBJEXT) \
+       refresh.$(OBJEXT) send-announce.$(OBJEXT) $(am__objects_6) \
+       ssl.$(OBJEXT) $(am__objects_7) stat.$(OBJEXT) \
        StatHist.$(OBJEXT) String.$(OBJEXT) stmem.$(OBJEXT) \
        store.$(OBJEXT) store_io.$(OBJEXT) store_client.$(OBJEXT) \
        store_digest.$(OBJEXT) store_dir.$(OBJEXT) \
        store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \
        store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \
        store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \
-       tools.$(OBJEXT) ufscommon.$(OBJEXT) $(am__objects_10) \
+       tools.$(OBJEXT) ufscommon.$(OBJEXT) $(am__objects_8) \
        url.$(OBJEXT) urn.$(OBJEXT) useragent.$(OBJEXT) wais.$(OBJEXT) \
-       wccp.$(OBJEXT) whois.$(OBJEXT) $(am__objects_11)
+       wccp.$(OBJEXT) whois.$(OBJEXT) $(am__objects_9)
 nodist_squid_OBJECTS = repl_modules.$(OBJEXT) auth_modules.$(OBJEXT) \
        store_modules.$(OBJEXT) globals.$(OBJEXT) \
        string_arrays.$(OBJEXT)
@@ -544,75 +562,88 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/CacheDigest.Po $(DEPDIR)/ETag.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpBody.Po $(DEPDIR)/HttpHdrCc.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpHdrContRange.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpHdrRange.Po $(DEPDIR)/HttpHeader.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpHeaderTools.Po $(DEPDIR)/HttpMsg.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpReply.Po $(DEPDIR)/HttpRequest.Po \
-@AMDEP_TRUE@   $(DEPDIR)/HttpStatusLine.Po \
-@AMDEP_TRUE@   $(DEPDIR)/IPInterception.Po $(DEPDIR)/MemBuf.Po \
-@AMDEP_TRUE@   $(DEPDIR)/Packer.Po $(DEPDIR)/ProfStats.Po \
-@AMDEP_TRUE@   $(DEPDIR)/StatHist.Po $(DEPDIR)/String.Po \
-@AMDEP_TRUE@   $(DEPDIR)/access_log.Po $(DEPDIR)/acl.Po \
-@AMDEP_TRUE@   $(DEPDIR)/asn.Po $(DEPDIR)/auth_modules.Po \
-@AMDEP_TRUE@   $(DEPDIR)/authenticate.Po $(DEPDIR)/cache_cf.Po \
-@AMDEP_TRUE@   $(DEPDIR)/cache_manager.Po $(DEPDIR)/cachemgr.Po \
-@AMDEP_TRUE@   $(DEPDIR)/carp.Po $(DEPDIR)/cbdata.Po \
-@AMDEP_TRUE@   $(DEPDIR)/cf_gen.Po $(DEPDIR)/client.Po \
-@AMDEP_TRUE@   $(DEPDIR)/clientStream.Po $(DEPDIR)/client_db.Po \
-@AMDEP_TRUE@   $(DEPDIR)/client_side.Po \
-@AMDEP_TRUE@   $(DEPDIR)/client_side_reply.Po \
-@AMDEP_TRUE@   $(DEPDIR)/client_side_request.Po $(DEPDIR)/comm.Po \
-@AMDEP_TRUE@   $(DEPDIR)/comm_kqueue.Po $(DEPDIR)/comm_poll.Po \
-@AMDEP_TRUE@   $(DEPDIR)/comm_select.Po $(DEPDIR)/debug.Po \
-@AMDEP_TRUE@   $(DEPDIR)/delay_pools.Po $(DEPDIR)/disk.Po \
-@AMDEP_TRUE@   $(DEPDIR)/dns.Po $(DEPDIR)/dns_internal.Po \
-@AMDEP_TRUE@   $(DEPDIR)/dnsserver.Po $(DEPDIR)/errorpage.Po \
-@AMDEP_TRUE@   $(DEPDIR)/event.Po $(DEPDIR)/external_acl.Po \
-@AMDEP_TRUE@   $(DEPDIR)/fd.Po $(DEPDIR)/filemap.Po \
-@AMDEP_TRUE@   $(DEPDIR)/forward.Po $(DEPDIR)/fqdncache.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ftp.Po $(DEPDIR)/globals.Po \
-@AMDEP_TRUE@   $(DEPDIR)/gopher.Po $(DEPDIR)/helper.Po \
-@AMDEP_TRUE@   $(DEPDIR)/htcp.Po $(DEPDIR)/http.Po \
-@AMDEP_TRUE@   $(DEPDIR)/icmp.Po $(DEPDIR)/icp_v2.Po \
-@AMDEP_TRUE@   $(DEPDIR)/icp_v3.Po $(DEPDIR)/ident.Po \
-@AMDEP_TRUE@   $(DEPDIR)/internal.Po $(DEPDIR)/ipc.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ipcache.Po $(DEPDIR)/leakfinder.Po \
-@AMDEP_TRUE@   $(DEPDIR)/logfile.Po $(DEPDIR)/main.Po \
-@AMDEP_TRUE@   $(DEPDIR)/mem.Po $(DEPDIR)/mime.Po \
-@AMDEP_TRUE@   $(DEPDIR)/multicast.Po $(DEPDIR)/neighbors.Po \
-@AMDEP_TRUE@   $(DEPDIR)/net_db.Po $(DEPDIR)/pconn.Po \
-@AMDEP_TRUE@   $(DEPDIR)/peer_digest.Po $(DEPDIR)/peer_select.Po \
-@AMDEP_TRUE@   $(DEPDIR)/pinger.Po $(DEPDIR)/redirect.Po \
-@AMDEP_TRUE@   $(DEPDIR)/referer.Po $(DEPDIR)/refresh.Po \
-@AMDEP_TRUE@   $(DEPDIR)/repl_modules.Po \
-@AMDEP_TRUE@   $(DEPDIR)/send-announce.Po $(DEPDIR)/snmp_agent.Po \
-@AMDEP_TRUE@   $(DEPDIR)/snmp_core.Po $(DEPDIR)/ssl.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ssl_support.Po $(DEPDIR)/stat.Po \
-@AMDEP_TRUE@   $(DEPDIR)/stmem.Po $(DEPDIR)/store.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_client.Po $(DEPDIR)/store_digest.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_dir.Po $(DEPDIR)/store_io.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_key_md5.Po $(DEPDIR)/store_log.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_modules.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_rebuild.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_swapin.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_swapmeta.Po \
-@AMDEP_TRUE@   $(DEPDIR)/store_swapout.Po \
-@AMDEP_TRUE@   $(DEPDIR)/string_arrays.Po $(DEPDIR)/tools.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ufscommon.Po $(DEPDIR)/unlinkd.Po \
-@AMDEP_TRUE@   $(DEPDIR)/url.Po $(DEPDIR)/urn.Po \
-@AMDEP_TRUE@   $(DEPDIR)/useragent.Po $(DEPDIR)/wais.Po \
-@AMDEP_TRUE@   $(DEPDIR)/wccp.Po $(DEPDIR)/whois.Po \
-@AMDEP_TRUE@   $(DEPDIR)/win32.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CacheDigest.Po ./$(DEPDIR)/ETag.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpBody.Po ./$(DEPDIR)/HttpHdrCc.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpHdrContRange.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpHdrRange.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpHeader.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpHeaderTools.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpMsg.Po ./$(DEPDIR)/HttpReply.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpRequest.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/HttpStatusLine.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/IPInterception.Po ./$(DEPDIR)/MemBuf.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/Packer.Po ./$(DEPDIR)/ProfStats.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/StatHist.Po ./$(DEPDIR)/String.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/access_log.Po ./$(DEPDIR)/acl.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/asn.Po ./$(DEPDIR)/auth_modules.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/authenticate.Po ./$(DEPDIR)/cache_cf.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/cache_manager.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/cachemgr.Po ./$(DEPDIR)/carp.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/cbdata.Po ./$(DEPDIR)/cf_gen.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/client.Po ./$(DEPDIR)/clientStream.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/client_db.Po ./$(DEPDIR)/client_side.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/client_side_reply.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/client_side_request.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/comm.Po ./$(DEPDIR)/comm_kqueue.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/comm_poll.Po ./$(DEPDIR)/comm_select.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/debug.Po ./$(DEPDIR)/delay_pools.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/disk.Po ./$(DEPDIR)/dns.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/dns_internal.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/dnsserver.Po ./$(DEPDIR)/errorpage.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/event.Po ./$(DEPDIR)/external_acl.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/fd.Po ./$(DEPDIR)/filemap.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/forward.Po ./$(DEPDIR)/fqdncache.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ftp.Po ./$(DEPDIR)/globals.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/gopher.Po ./$(DEPDIR)/helper.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/htcp.Po ./$(DEPDIR)/http.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/icmp.Po ./$(DEPDIR)/icp_v2.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/icp_v3.Po ./$(DEPDIR)/ident.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/internal.Po ./$(DEPDIR)/ipc.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ipcache.Po ./$(DEPDIR)/leakfinder.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/logfile.Po ./$(DEPDIR)/main.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/mem.Po ./$(DEPDIR)/mime.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/multicast.Po ./$(DEPDIR)/neighbors.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/net_db.Po ./$(DEPDIR)/pconn.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/peer_digest.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/peer_select.Po ./$(DEPDIR)/pinger.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/recv-announce.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/redirect.Po ./$(DEPDIR)/referer.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/refresh.Po ./$(DEPDIR)/repl_modules.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/send-announce.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/snmp_agent.Po ./$(DEPDIR)/snmp_core.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ssl.Po ./$(DEPDIR)/ssl_support.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/stat.Po ./$(DEPDIR)/stmem.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store.Po ./$(DEPDIR)/store_client.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_digest.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_dir.Po ./$(DEPDIR)/store_io.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_key_md5.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_log.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_modules.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_rebuild.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_swapin.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_swapmeta.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/store_swapout.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/string_arrays.Po ./$(DEPDIR)/tools.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/ufscommon.Po ./$(DEPDIR)/unlinkd.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/url.Po ./$(DEPDIR)/urn.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/useragent.Po ./$(DEPDIR)/wais.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/wccp.Po ./$(DEPDIR)/whois.Po \
+@AMDEP_TRUE@   ./$(DEPDIR)/win32.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 CFLAGS = @CFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+CXXFLAGS = @CXXFLAGS@
 DIST_SOURCES = $(cachemgr__CGIEXT__SOURCES) $(cf_gen_SOURCES) \
-       dnsserver.c $(pinger_SOURCES) $(squid_SOURCES) \
-       $(EXTRA_squid_SOURCES) $(squidclient_SOURCES) \
+       $(dnsserver_SOURCES) $(pinger_SOURCES) $(recv_announce_SOURCES) \
+       $(squid_SOURCES) $(EXTRA_squid_SOURCES) $(squidclient_SOURCES) \
        $(unlinkd_SOURCES)
 DATA = $(data_DATA) $(sysconf_DATA)
 
@@ -623,20 +654,19 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
        uninstall-recursive check-recursive installcheck-recursive
 DIST_COMMON = Makefile.am Makefile.in
 DIST_SUBDIRS = $(SUBDIRS)
-SOURCES = $(cachemgr__CGIEXT__SOURCES) $(cf_gen_SOURCES) dnsserver.c $(pinger_SOURCES) $(nodist_pinger_SOURCES) $(squid_SOURCES) $(EXTRA_squid_SOURCES) $(nodist_squid_SOURCES) $(squidclient_SOURCES) $(unlinkd_SOURCES)
+SOURCES = $(cachemgr__CGIEXT__SOURCES) $(cf_gen_SOURCES) $(dnsserver_SOURCES) $(pinger_SOURCES) $(nodist_pinger_SOURCES) $(recv_announce_SOURCES) $(squid_SOURCES) $(EXTRA_squid_SOURCES) $(nodist_squid_SOURCES) $(squidclient_SOURCES) $(unlinkd_SOURCES)
 
 all: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .cc .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
@@ -644,22 +674,23 @@ install-binPROGRAMS: $(bin_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
          else :; fi; \
        done
 
 uninstall-binPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
          rm -f $(DESTDIR)$(bindir)/$$f; \
        done
 
 clean-binPROGRAMS:
        -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -667,16 +698,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -686,6 +717,7 @@ clean-libexecPROGRAMS:
 
 clean-noinstPROGRAMS:
        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-sbinPROGRAMS: $(sbin_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(sbindir)
@@ -693,16 +725,16 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f; \
          else :; fi; \
        done
 
 uninstall-sbinPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(sbin_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \
          rm -f $(DESTDIR)$(sbindir)/$$f; \
        done
@@ -711,22 +743,25 @@ clean-sbinPROGRAMS:
        -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
 cachemgr$(CGIEXT)$(EXEEXT): $(cachemgr__CGIEXT__OBJECTS) $(cachemgr__CGIEXT__DEPENDENCIES) 
        @rm -f cachemgr$(CGIEXT)$(EXEEXT)
-       $(LINK) $(cachemgr__CGIEXT__LDFLAGS) $(cachemgr__CGIEXT__OBJECTS) $(cachemgr__CGIEXT__LDADD) $(LIBS)
+       $(CXXLINK) $(cachemgr__CGIEXT__LDFLAGS) $(cachemgr__CGIEXT__OBJECTS) $(cachemgr__CGIEXT__LDADD) $(LIBS)
 cf_gen$(EXEEXT): $(cf_gen_OBJECTS) $(cf_gen_DEPENDENCIES) 
        @rm -f cf_gen$(EXEEXT)
-       $(LINK) $(cf_gen_LDFLAGS) $(cf_gen_OBJECTS) $(cf_gen_LDADD) $(LIBS)
+       $(CXXLINK) $(cf_gen_LDFLAGS) $(cf_gen_OBJECTS) $(cf_gen_LDADD) $(LIBS)
 dnsserver$(EXEEXT): $(dnsserver_OBJECTS) $(dnsserver_DEPENDENCIES) 
        @rm -f dnsserver$(EXEEXT)
-       $(LINK) $(dnsserver_LDFLAGS) $(dnsserver_OBJECTS) $(dnsserver_LDADD) $(LIBS)
+       $(CXXLINK) $(dnsserver_LDFLAGS) $(dnsserver_OBJECTS) $(dnsserver_LDADD) $(LIBS)
 pinger$(EXEEXT): $(pinger_OBJECTS) $(pinger_DEPENDENCIES) 
        @rm -f pinger$(EXEEXT)
-       $(LINK) $(pinger_LDFLAGS) $(pinger_OBJECTS) $(pinger_LDADD) $(LIBS)
+       $(CXXLINK) $(pinger_LDFLAGS) $(pinger_OBJECTS) $(pinger_LDADD) $(LIBS)
+recv-announce$(EXEEXT): $(recv_announce_OBJECTS) $(recv_announce_DEPENDENCIES) 
+       @rm -f recv-announce$(EXEEXT)
+       $(CXXLINK) $(recv_announce_LDFLAGS) $(recv_announce_OBJECTS) $(recv_announce_LDADD) $(LIBS)
 squid$(EXEEXT): $(squid_OBJECTS) $(squid_DEPENDENCIES) 
        @rm -f squid$(EXEEXT)
-       $(LINK) $(squid_LDFLAGS) $(squid_OBJECTS) $(squid_LDADD) $(LIBS)
+       $(CXXLINK) $(squid_LDFLAGS) $(squid_OBJECTS) $(squid_LDADD) $(LIBS)
 squidclient$(EXEEXT): $(squidclient_OBJECTS) $(squidclient_DEPENDENCIES) 
        @rm -f squidclient$(EXEEXT)
-       $(LINK) $(squidclient_LDFLAGS) $(squidclient_OBJECTS) $(squidclient_LDADD) $(LIBS)
+       $(CXXLINK) $(squidclient_LDFLAGS) $(squidclient_OBJECTS) $(squidclient_LDADD) $(LIBS)
 unlinkd$(EXEEXT): $(unlinkd_OBJECTS) $(unlinkd_DEPENDENCIES) 
        @rm -f unlinkd$(EXEEXT)
        $(LINK) $(unlinkd_LDFLAGS) $(unlinkd_OBJECTS) $(unlinkd_LDADD) $(LIBS)
@@ -737,126 +772,127 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/CacheDigest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ETag.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpBody.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpHdrCc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpHdrContRange.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpHdrRange.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpHeader.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpHeaderTools.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpMsg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpReply.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpRequest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/HttpStatusLine.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/IPInterception.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/MemBuf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/Packer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ProfStats.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/StatHist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/String.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)/asn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/auth_modules.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@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cache_manager.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cachemgr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/carp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cbdata.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cf_gen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/clientStream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client_db.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client_side.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client_side_reply.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/client_side_request.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/comm.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/comm_kqueue.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/comm_poll.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/comm_select.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/debug.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/delay_pools.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/disk.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dns.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dns_internal.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/dnsserver.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/errorpage.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/event.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/external_acl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/filemap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/forward.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fqdncache.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/globals.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/gopher.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/helper.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/htcp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/http.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/icmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/icp_v2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/icp_v3.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ident.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/internal.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ipc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ipcache.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/leakfinder.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/logfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mem.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mime.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/multicast.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/neighbors.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/net_db.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pconn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/peer_digest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/peer_select.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pinger.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/redirect.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/referer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/refresh.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/repl_modules.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/send-announce.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_agent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snmp_core.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ssl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ssl_support.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stat.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stmem.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_client.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_digest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_dir.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_key_md5.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_log.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_modules.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_rebuild.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_swapin.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_swapmeta.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/store_swapout.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/string_arrays.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tools.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ufscommon.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/unlinkd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/url.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/urn.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/useragent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/wais.Po@am__quote@
-@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)/CacheDigest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ETag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpBody.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHdrCc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHdrContRange.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHdrRange.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHeader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpHeaderTools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpMsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpReply.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpRequest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HttpStatusLine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IPInterception.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemBuf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Packer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProfStats.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatHist.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/String.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)/asn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth_modules.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@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache_manager.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cachemgr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/carp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cbdata.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cf_gen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clientStream.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client_db.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client_side.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client_side_reply.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client_side_request.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comm_kqueue.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comm_poll.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comm_select.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delay_pools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns_internal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dnsserver.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errorpage.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/external_acl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/forward.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fqdncache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globals.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gopher.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htcp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icp_v2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icp_v3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ident.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/internal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipcache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/leakfinder.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logfile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multicast.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neighbors.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net_db.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pconn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/peer_digest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/peer_select.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recv-announce.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redirect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/referer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/refresh.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repl_modules.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/send-announce.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_agent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snmp_core.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssl_support.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stmem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_client.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_digest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_dir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_key_md5.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_log.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_modules.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_rebuild.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_swapin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_swapmeta.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/store_swapout.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_arrays.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ufscommon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/urn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/useragent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wais.Po@am__quote@
+@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@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
 .c.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+       $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
 .c.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@@ -864,15 +900,29 @@ distclean-depend:
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
        $(COMPILE) -c `cygpath -w $<`
 CCDEPMODE = @CCDEPMODE@
+
+.cc.o:
+@AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cc.obj:
+@AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
+dataDATA_INSTALL = $(INSTALL_DATA)
 install-dataDATA: $(data_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(datadir)
        @list='$(data_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          f="`echo $$p | sed -e 's|^.*/||'`"; \
-         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f"; \
-         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(datadir)/$$f; \
+         echo " $(dataDATA_INSTALL) $$d$$p $(DESTDIR)$(datadir)/$$f"; \
+         $(dataDATA_INSTALL) $$d$$p $(DESTDIR)$(datadir)/$$f; \
        done
 
 uninstall-dataDATA:
@@ -882,14 +932,15 @@ uninstall-dataDATA:
          echo " rm -f $(DESTDIR)$(datadir)/$$f"; \
          rm -f $(DESTDIR)$(datadir)/$$f; \
        done
+sysconfDATA_INSTALL = $(INSTALL_DATA)
 install-sysconfDATA: $(sysconf_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
        @list='$(sysconf_DATA)'; for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          f="`echo $$p | sed -e 's|^.*/||'`"; \
-         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/$$f"; \
-         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(sysconfdir)/$$f; \
+         echo " $(sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(sysconfdir)/$$f"; \
+         $(sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(sysconfdir)/$$f; \
        done
 
 uninstall-sysconfDATA:
@@ -907,7 +958,7 @@ uninstall-sysconfDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -927,7 +978,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -955,16 +1006,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -975,45 +1029,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(SUBDIRS); do \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -1044,6 +1103,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -1051,7 +1111,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
        -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -1123,8 +1183,8 @@ uninstall-info: uninstall-info-recursive
        uninstall-sbinPROGRAMS uninstall-sysconfDATA
 
 cf_gen.$(OBJEXT): cf_gen_defines.h
-unlinkd-daemon.o: unlinkd.c
-       $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.c -o $@
+unlinkd-daemon.o: unlinkd.cc
+       $(COMPILE) -DUNLINK_DAEMON -c $(srcdir)/unlinkd.cc -o $@
 
 $(OBJS): $(top_srcdir)/include/version.h ../include/autoconf.h
 
@@ -1172,14 +1232,14 @@ cf.data: cf.data.pre Makefile
        s%@DEFAULT_HOSTS@%$(DEFAULT_HOSTS)%g;"\
        < $(srcdir)/cf.data.pre >$@
 
-store_modules.c: store_modules.sh Makefile
-       $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.c
+store_modules.cc: store_modules.sh Makefile
+       $(SHELL) $(srcdir)/store_modules.sh $(STORE_MODULES) >store_modules.cc
 
-repl_modules.c: repl_modules.sh Makefile
-       $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.c
+repl_modules.cc: repl_modules.sh Makefile
+       $(SHELL) $(srcdir)/repl_modules.sh $(REPL_POLICIES) > repl_modules.cc
 
-auth_modules.c: auth_modules.sh Makefile
-       @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.c
+auth_modules.cc: auth_modules.sh Makefile
+       @$(SHELL) $(srcdir)/auth_modules.sh $(AUTH_MODULES) >auth_modules.cc
 
 install-data-local: install-sysconfDATA install-dataDATA
        @if test -f $(DESTDIR)$(DEFAULT_MIME_TABLE) ; then \
index d78c8823e5950f406f32c5439da69d42b38ad7fc..02aa3a1d37d58f25e8a9d84e90d47e1e2a432258 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: MemBuf.cc,v 1.31 2002/04/16 00:35:39 hno Exp $
+ * $Id: MemBuf.cc,v 1.32 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 59    auto-growing Memory Buffer with printf
  * AUTHOR: Alex Rousskov
@@ -304,7 +304,7 @@ memBufGrow(MemBuf * mb, mb_size_t min_cap)
     assert(new_cap > (size_t) mb->capacity);   /* progress */
 
     buf_cap = (size_t) mb->capacity;
-    mb->buf = memReallocBuf(mb->buf, new_cap, &buf_cap);
+    mb->buf = (char *)memReallocBuf(mb->buf, new_cap, &buf_cap);
 
     /* done */
     mb->capacity = (mb_size_t) buf_cap;
index d2102a932eeb09daa4269f814ce118b5d9ddcd5d..179870b245593e014db830edf2f33a95f7b79e3d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Packer.cc,v 1.13 2001/01/12 00:37:14 wessels Exp $
+ * $Id: Packer.cc,v 1.14 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 60    Packer: A uniform interface to store-like modules
  * AUTHOR: Alex Rousskov
@@ -72,6 +72,7 @@
 
 
 #include "squid.h"
+#include "Store.h"
 
 /* local types */
 
index 3ceb7a21b88de611eb224f2df5850c95ab3374a9..e27a675d30e070b3a6e159bf5cca6630031b4ad4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ProfStats.cc,v 1.1 2002/10/02 11:06:31 robertc Exp $
+ * $Id: ProfStats.cc,v 1.2 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 81     CPU Profiling Routines
  * AUTHOR: Andres Kroonmaa
@@ -36,6 +36,7 @@
 #include "squid.h"
 
 #ifdef USE_XPROF_STATS
+#include "Store.h"
 
 /* Private stuff */
 
@@ -171,7 +172,7 @@ xprof_average(TimersArray ** list, int secs)
     int doavg = (xprof_events % secs);
 
     if (!*list)
-       *list = xcalloc(XPROF_LAST, sizeof(xprof_stats_node));
+       *list = (TimersArray *)xcalloc(XPROF_LAST, sizeof(xprof_stats_node));
 
     hist = *list;
     now = get_tick();
index f9146ce827b28894e973fc3efe3c655fef57bd5c..f16c46192bfd39cf055c47303c050cf1d2cf9578 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: StatHist.cc,v 1.26 2001/10/24 08:19:08 hno Exp $
+ * $Id: StatHist.cc,v 1.27 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 62    Generic Histogram
  * AUTHOR: Duane Wessels
@@ -46,6 +46,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 /* Local functions */
 static void statHistInit(StatHist * H, int capacity, hbase_f * val_in, hbase_f * val_out, double min, double max);
@@ -71,7 +72,7 @@ statHistInit(StatHist * H, int capacity, hbase_f * val_in, hbase_f * val_out, do
     assert(val_in && val_out);
     /* check before we divide to get scale */
     assert(val_in(max - min) > 0);
-    H->bins = xcalloc(capacity, sizeof(int));
+    H->bins = (int *)xcalloc(capacity, sizeof(int));
     H->min = min;
     H->max = max;
     H->capacity = capacity;
@@ -188,7 +189,7 @@ statHistDeltaMedian(const StatHist * A, const StatHist * B)
     int J = A->capacity;
     int K;
     double f;
-    int *D = xcalloc(A->capacity, sizeof(int));
+    int *D = (int *)xcalloc(A->capacity, sizeof(int));
     assert(A->capacity == B->capacity);
     for (i = 0; i < A->capacity; i++) {
        D[i] = B->bins[i] - A->bins[i];
diff --git a/src/Store.h b/src/Store.h
new file mode 100644 (file)
index 0000000..e8004b5
--- /dev/null
@@ -0,0 +1,158 @@
+
+/*
+ * $Id: Store.h,v 1.1 2002/10/13 20:34:57 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_STORE_H
+#define SQUID_STORE_H
+
+#ifdef __cplusplus
+class StoreClient;
+#endif
+
+struct _StoreEntry {
+#ifdef __cplusplus
+    public:
+#endif
+    hash_link hash;            /* must be first */
+    MemObject *mem_obj;
+    RemovalPolicyNode repl;
+    /* START OF ON-DISK STORE_META_STD TLV field */
+    time_t timestamp;
+    time_t lastref;
+    time_t expires;
+    time_t lastmod;
+    size_t swap_file_sz;
+    u_short refcount;
+    u_short flags;
+    /* END OF ON-DISK STORE_META_STD */
+    sfileno swap_filen:25;
+    sdirno swap_dirn:7;
+    u_short lock_count;                /* Assume < 65536! */
+    mem_status_t mem_status:3;
+    ping_status_t ping_status:3;
+    store_status_t store_status:3;
+    swap_status_t swap_status:3;
+#ifdef __cplusplus
+public:
+    static size_t inUseCount();
+    static void getPublicByRequestMethod(StoreClient * aClient, request_t * request, const method_t method);
+    static void getPublicByRequest(StoreClient * aClient, request_t * request);
+    static void getPublic(StoreClient * aClient, const char *uri, const method_t method);
+    virtual bool isNull() {
+       return false;
+    }
+    void *operator new(unsigned int byteCount);
+    void operator delete(void *address);
+private:
+    static MemPool *pool;
+#endif
+};
+
+#ifdef __cplusplus
+class NullStoreEntry:public _StoreEntry
+{
+public:
+    static NullStoreEntry *getInstance();
+    bool isNull() {
+       return true;
+    }
+    void operator delete(void *address);
+         private:
+    static NullStoreEntry _instance;
+};
+
+#endif
+
+SQUIDCEXTERN size_t storeEntryInUse();
+SQUIDCEXTERN const char *storeEntryFlags(const StoreEntry *);
+SQUIDCEXTERN int storeEntryLocked(const StoreEntry *);
+
+SQUIDCEXTERN StoreEntry *new_StoreEntry(int, const char *, const char *);
+SQUIDCEXTERN StoreEntry *storeGet(const cache_key *);
+SQUIDCEXTERN StoreEntry *storeGetPublic(const char *uri, const method_t method);
+SQUIDCEXTERN StoreEntry *storeGetPublicByRequest(request_t * request);
+SQUIDCEXTERN StoreEntry *storeGetPublicByRequestMethod(request_t * request, const method_t method);
+SQUIDCEXTERN StoreEntry *storeCreateEntry(const char *, const char *, request_flags, method_t);
+SQUIDCEXTERN void storeSetPublicKey(StoreEntry *);
+SQUIDCEXTERN void storeComplete(StoreEntry *);
+SQUIDCEXTERN void storeInit(void);
+SQUIDCEXTERN void storeAbort(StoreEntry *);
+SQUIDCEXTERN void storeAppend(StoreEntry *, const char *, int);
+SQUIDCEXTERN void storeLockObject(StoreEntry *);
+SQUIDCEXTERN void storeRelease(StoreEntry *);
+SQUIDCEXTERN int storeUnlockObject(StoreEntry *);
+SQUIDCEXTERN EVH storeMaintainSwapSpace;
+SQUIDCEXTERN void storeExpireNow(StoreEntry *);
+SQUIDCEXTERN void storeReleaseRequest(StoreEntry *);
+SQUIDCEXTERN void storeConfigure(void);
+SQUIDCEXTERN int storeCheckNegativeHit(StoreEntry *);
+SQUIDCEXTERN void storeNegativeCache(StoreEntry *);
+SQUIDCEXTERN void storeFreeMemory(void);
+SQUIDCEXTERN int expiresMoreThan(time_t, time_t);
+SQUIDCEXTERN int storeEntryValidToSend(StoreEntry *);
+SQUIDCEXTERN void storeTimestampsSet(StoreEntry *);
+SQUIDCEXTERN void storeRegisterAbort(StoreEntry * e, STABH * cb, void *);
+SQUIDCEXTERN void storeUnregisterAbort(StoreEntry * e);
+SQUIDCEXTERN void storeMemObjectDump(MemObject * mem);
+SQUIDCEXTERN void storeEntryDump(const StoreEntry * e, int debug_lvl);
+SQUIDCEXTERN const char *storeUrl(const StoreEntry *);
+SQUIDCEXTERN void storeCreateMemObject(StoreEntry *, const char *, const char *);
+SQUIDCEXTERN void storeCopyNotModifiedReplyHeaders(MemObject * O, MemObject * N);
+SQUIDCEXTERN void storeBuffer(StoreEntry *);
+SQUIDCEXTERN void storeBufferFlush(StoreEntry *);
+SQUIDCEXTERN void storeHashInsert(StoreEntry * e, const cache_key *);
+SQUIDCEXTERN void storeSetMemStatus(StoreEntry * e, mem_status_t);
+#if STDC_HEADERS
+SQUIDCEXTERN void
+storeAppendPrintf(StoreEntry *, const char *,...) PRINTF_FORMAT_ARG2;
+#else
+SQUIDCEXTERN void storeAppendPrintf();
+#endif
+SQUIDCEXTERN void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
+SQUIDCEXTERN int storeCheckCachable(StoreEntry * e);
+SQUIDCEXTERN void storeSetPrivateKey(StoreEntry *);
+SQUIDCEXTERN ssize_t objectLen(const StoreEntry * e);
+SQUIDCEXTERN int contentLen(const StoreEntry * e);
+SQUIDCEXTERN HttpReply *storeEntryReply(StoreEntry *);
+SQUIDCEXTERN int storeTooManyDiskFilesOpen(void);
+SQUIDCEXTERN void storeEntryReset(StoreEntry *);
+SQUIDCEXTERN void storeHeapPositionUpdate(StoreEntry *, SwapDir *);
+SQUIDCEXTERN void storeSwapFileNumberSet(StoreEntry * e, sfileno filn);
+SQUIDCEXTERN void storeFsInit(void);
+SQUIDCEXTERN void storeFsDone(void);
+SQUIDCEXTERN void storeFsAdd(const char *, STSETUP *);
+SQUIDCEXTERN void storeReplAdd(const char *, REMOVALPOLICYCREATE *);
+
+/* store_modules.c */
+SQUIDCEXTERN void storeFsSetup(void);
+
+#endif /* SQUID_STORE_H */
index 8fefda1da8674e644a8ff58502442a104e624919..bdd372b43d465d90d04bf13f4c9738aa9ef7ec25 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: StoreClient.h,v 1.1 2002/09/24 10:46:43 robertc Exp $
+ * $Id: StoreClient.h,v 1.2 2002/10/13 20:34:57 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 
 typedef void STCB(void *, StoreIOBuffer);      /* store callback */
 
+#ifdef __cplusplus
+class _StoreEntry;
+#endif
+
+#ifdef __cplusplus
+class StoreClient {
+public:
+  virtual ~StoreClient () {}
+  virtual void created (_StoreEntry *newEntry) = 0;
+};
+#endif
+
 /* keep track each client receiving data from that particular StoreEntry */
 struct _store_client {
     int type;
@@ -60,9 +72,11 @@ struct _store_client {
     dlink_node node;
     /* Below here is private - do no alter outside storeClient calls */
     StoreIOBuffer copyInto;
+#ifdef __cplusplus
+#endif
 };
 
-extern void storeClientCopy(store_client *, StoreEntry *, StoreIOBuffer, STCB *, void *);
-extern void storeClientDumpStats(store_client * thisClient, StoreEntry * output, int clientNumber);
+SQUIDCEXTERN void storeClientCopy(store_client *, StoreEntry *, StoreIOBuffer, STCB *, void *);
+SQUIDCEXTERN void storeClientDumpStats(store_client * thisClient, StoreEntry * output, int clientNumber);
 
 #endif /* SQUID_STORECLIENT_H */
index 5db016529c180155dad6b31392d90b2a0aa18e11..c9d4d0a21f9986303a833d4e7ef407bf38671791 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: String.cc,v 1.10 2002/02/13 17:22:36 hno Exp $
+ * $Id: String.cc,v 1.11 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 67    String
  * AUTHOR: Duane Wessels
@@ -38,7 +38,7 @@
 static void
 stringInitBuf(String * s, size_t sz)
 {
-    s->buf = memAllocString(sz, &sz);
+    s->buf = (char *)memAllocString(sz, &sz);
     assert(sz < 65536);
     s->size = sz;
 }
index b8f90bf825dc37a4b1651a7dea0f69e7ce2d7b5e..da4aa2c913a84ed97bc5a662788ef8d88bb94dd2 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: access_log.cc,v 1.76 2002/09/24 10:46:43 robertc Exp $
+ * $Id: access_log.cc,v 1.77 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 46    Access Log
  * AUTHOR: Duane Wessels
@@ -123,11 +123,11 @@ log_quote(const char *header)
     char *buf;
     char *buf_cursor;
     if (header == NULL) {
-       buf = xcalloc(1, 1);
+       buf = static_cast<char *>(xcalloc(1, 1));
        *buf = '\0';
        return buf;
     }
-    buf = xcalloc(1, (strlen(header) * 3) + 1);
+    buf = static_cast<char *>(xcalloc(1, (strlen(header) * 3) + 1));
     buf_cursor = buf;
     /*
      * We escape: \x00-\x1F"#%;<>?{}|\\\\^~`\[\]\x7F-\xFF 
@@ -191,11 +191,11 @@ username_quote(const char *header)
     char *buf;
     char *buf_cursor;
     if (header == NULL) {
-       buf = xcalloc(1, 1);
+       buf = static_cast<char *>(xcalloc(1, 1));
        *buf = '\0';
        return buf;
     }
-    buf = xcalloc(1, (strlen(header) * 3) + 1);
+    buf = static_cast<char *>(xcalloc(1, (strlen(header) * 3) + 1));
     buf_cursor = buf;
     /*
      * We escape: space \x00-\x1F and space (0x40) and \x7F-\xFF
@@ -450,7 +450,7 @@ fvdbCount(hash_table * hash, const char *key)
        return;
     fv = hash_lookup(hash, key);
     if (NULL == fv) {
-       fv = xcalloc(1, sizeof(fvdb_entry));
+       fv = static_cast <fvdb_entry *>(xcalloc(1, sizeof(fvdb_entry)));
        fv->hash.key = xstrdup(key);
        hash_join(hash, &fv->hash);
     }
@@ -634,3 +634,4 @@ logTypeIsATcpHit(log_type code)
        return 1;
     return 0;
 }
+
index ac9cba6ff78ce52b61755806acfd0450ff65b871..0bb0e1aac90ba9f76e1c8b42c554ff3617063d76 100644 (file)
@@ -1,6 +1,5 @@
-
 /*
- * $Id: acl.cc,v 1.288 2002/10/08 03:32:54 wessels Exp $
+ * $Id: acl.cc,v 1.289 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -35,6 +34,7 @@
 
 #include "squid.h"
 #include "splay.h"
+#include "authenticate.h"
 
 static void aclParseDomainList(void *curlist);
 static void aclParseUserList(void **current);
@@ -54,7 +54,7 @@ static void aclLookupProxyAuthDone(void *data, char *result);
 static struct _acl *aclFindByName(const char *name);
 static int aclMatchAcl(struct _acl *, aclCheck_t *);
 static int aclMatchTime(acl_time_data * data, time_t when);
-static int aclMatchUser(void *proxyauth_acl, char *user);
+static int aclMatchUser(void *proxyauth_acl, char const *user);
 static int aclMatchIp(void *dataptr, struct in_addr c);
 static int aclMatchDomainList(void *dataptr, const char *);
 static int aclMatchIntegerRange(intrange * data, int i);
@@ -101,7 +101,7 @@ static wordlist *aclDumpArpList(void *);
 static SPLAYCMP aclArpCompare;
 static SPLAYWALKEE aclDumpArpListWalkee;
 #endif
-static int aclCacheMatchAcl(dlink_list * cache, squid_acl acltype, void *data, char *MatchParam);
+static int aclCacheMatchAcl(dlink_list * cache, squid_acl acltype, void *data, char const *MatchParam);
 
 static squid_acl
 aclStrToType(const char *s)
@@ -271,9 +271,9 @@ aclParseIntlist(void *curlist)
     intlist **Tail;
     intlist *q = NULL;
     char *t = NULL;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
+    for (Tail = (intlist **)curlist; *Tail; Tail = &((*Tail)->next));
     while ((t = strtokFile())) {
-       q = memAllocate(MEM_INTLIST);
+       q = (intlist *)memAllocate(MEM_INTLIST);
        q->i = atoi(t);
        *(Tail) = q;
        Tail = &q->next;
@@ -286,9 +286,9 @@ aclParseIntRange(void *curlist)
     intrange **Tail;
     intrange *q = NULL;
     char *t = NULL;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
+    for (Tail = (intrange **)curlist; *Tail; Tail = &((*Tail)->next));
     while ((t = strtokFile())) {
-       q = xcalloc(1, sizeof(intrange));
+       q = (intrange *)xcalloc(1, sizeof(intrange));
        q->i = atoi(t);
        t = strchr(t, '-');
        if (t && *(++t))
@@ -307,10 +307,10 @@ aclParseProtoList(void *curlist)
     intlist *q = NULL;
     char *t = NULL;
     protocol_t protocol;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
+    for (Tail = (intlist **)curlist; *Tail; Tail = &((*Tail)->next));
     while ((t = strtokFile())) {
        protocol = urlParseProtocol(t);
-       q = memAllocate(MEM_INTLIST);
+       q = (intlist *)memAllocate(MEM_INTLIST);
        q->i = (int) protocol;
        *(Tail) = q;
        Tail = &q->next;
@@ -323,9 +323,9 @@ aclParseMethodList(void *curlist)
     intlist **Tail;
     intlist *q = NULL;
     char *t = NULL;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
+    for (Tail = (intlist **)curlist; *Tail; Tail = &((*Tail)->next));
     while ((t = strtokFile())) {
-       q = memAllocate(MEM_INTLIST);
+       q = (intlist *)memAllocate(MEM_INTLIST);
        q->i = (int) urlParseMethod(t);
        *(Tail) = q;
        Tail = &q->next;
@@ -390,7 +390,7 @@ aclParseIpData(const char *t)
     LOCAL_ARRAY(char, addr1, 256);
     LOCAL_ARRAY(char, addr2, 256);
     LOCAL_ARRAY(char, mask, 256);
-    acl_ip_data *q = memAllocate(MEM_ACL_IP_DATA);
+    acl_ip_data *q = (acl_ip_data *)memAllocate(MEM_ACL_IP_DATA);
     acl_ip_data *r;
     acl_ip_data **Q;
     struct hostent *hp;
@@ -427,7 +427,7 @@ aclParseIpData(const char *t)
        Q = &q;
        for (x = hp->h_addr_list; x != NULL && *x != NULL; x++) {
            if ((r = *Q) == NULL)
-               r = *Q = memAllocate(MEM_ACL_IP_DATA);
+               r = *Q = (acl_ip_data *)memAllocate(MEM_ACL_IP_DATA);
            xmemcpy(&r->addr1.s_addr, *x, sizeof(r->addr1.s_addr));
            r->addr2.s_addr = 0;
            r->mask.s_addr = no_addr.s_addr;    /* 255.255.255.255 */
@@ -481,7 +481,7 @@ static void
 aclParseIpList(void *curlist)
 {
     char *t = NULL;
-    splayNode **Top = curlist;
+    splayNode **Top = (splayNode **)curlist;
     acl_ip_data *q = NULL;
     while ((t = strtokFile())) {
        q = aclParseIpData(t);
@@ -499,8 +499,8 @@ aclParseTimeSpec(void *curlist)
     acl_time_data **Tail;
     int h1, m1, h2, m2;
     char *t = NULL;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
-    q = memAllocate(MEM_ACL_TIME_DATA);
+    for (Tail = (acl_time_data **)curlist; *Tail; Tail = &((*Tail)->next));
+    q = (acl_time_data *)memAllocate(MEM_ACL_TIME_DATA);
     while ((t = strtokFile())) {
        if (*t < '0' || *t > '9') {
            /* assume its day-of-week spec */
@@ -577,7 +577,7 @@ aclParseRegexList(void *curlist)
     regex_t comp;
     int errcode;
     int flags = REG_EXTENDED | REG_NOSUB;
-    for (Tail = curlist; *Tail; Tail = &((*Tail)->next));
+    for (Tail = (relist **)curlist; *Tail; Tail = &((*Tail)->next));
     while ((t = strtokFile())) {
        if (strcmp(t, "-i") == 0) {
            flags |= REG_ICASE;
@@ -596,7 +596,7 @@ aclParseRegexList(void *curlist)
                t, errbuf);
            continue;
        }
-       q = memAllocate(MEM_RELIST);
+       q = (relist *)memAllocate(MEM_RELIST);
        q->pattern = xstrdup(t);
        q->regex = comp;
        *(Tail) = q;
@@ -610,7 +610,7 @@ aclParseWordList(void *curlist)
 {
     char *t = NULL;
     while ((t = strtokFile()))
-       wordlistAdd(curlist, t);
+       wordlistAdd((wordlist **)curlist, t);
 }
 #endif
 
@@ -626,7 +626,7 @@ aclParseUserList(void **current)
        debug(28, 3) ("aclParseUserList: current is null. Creating\n");
        *current = memAllocate(MEM_ACL_USER_DATA);
     }
-    data = *current;
+    data = (acl_user_data*)*current;
     Top = data->names;
     if ((t = strtokFile())) {
        debug(28, 5) ("aclParseUserList: First token is %s\n", t);
@@ -665,7 +665,7 @@ static void
 aclParseDomainList(void *curlist)
 {
     char *t = NULL;
-    splayNode **Top = curlist;
+    splayNode **Top = (splayNode **)curlist;
     while ((t = strtokFile())) {
        Tolower(t);
        *Top = splay_insert(xstrdup(t), *Top, aclDomainCompare);
@@ -705,7 +705,7 @@ aclParseAclLine(acl ** head)
     }
     if ((A = aclFindByName(aclname)) == NULL) {
        debug(28, 3) ("aclParseAclLine: Creating ACL '%s'\n", aclname);
-       A = memAllocate(MEM_ACL);
+       A = (acl *)memAllocate(MEM_ACL);
        xstrncpy(A->name, aclname, ACL_NAME_SZ);
        A->type = acltype;
        A->cfgline = xstrdup(config_input_line);
@@ -898,14 +898,14 @@ aclParseDenyInfoLine(acl_deny_info_list ** head)
        debug(28, 0) ("aclParseDenyInfoLine: missing 'error page' parameter.\n");
        return;
     }
-    A = memAllocate(MEM_ACL_DENY_INFO_LIST);
+    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 = memAllocate(MEM_ACL_NAME_LIST);
+       L = (acl_name_list *)memAllocate(MEM_ACL_NAME_LIST);
        xstrncpy(L->name, t, ACL_NAME_SZ);
        *Tail = L;
        Tail = &L->next;
@@ -939,9 +939,9 @@ aclParseAccessLine(acl_access ** head)
     A = cbdataAlloc(acl_access);
 
     if (!strcmp(t, "allow"))
-       A->allow = 1;
+       A->allow = ACCESS_ALLOWED;
     else if (!strcmp(t, "deny"))
-       A->allow = 0;
+       A->allow = ACCESS_DENIED;
     else {
        debug(28, 0) ("%s line %d: %s\n",
            cfg_filename, config_lineno, config_input_line);
@@ -975,7 +975,7 @@ aclParseAclList(acl_list ** head)
     /* next expect a list of ACL names, possibly preceeded
      * by '!' for negation */
     while ((t = strtok(NULL, w_space))) {
-       L = memAllocate(MEM_ACL_LIST);
+       L = (acl_list *)memAllocate(MEM_ACL_LIST);
        L->op = 1;              /* defaults to non-negated */
        if (*t == '!') {
            /* negated ACL */
@@ -1004,7 +1004,7 @@ aclParseAclList(acl_list ** head)
 static int
 aclMatchIp(void *dataptr, struct in_addr c)
 {
-    splayNode **Top = dataptr;
+    splayNode **Top = (splayNode **)dataptr;
     acl_ip_data x;
     /*
      * aclIpAddrNetworkCompare() takes two acl_ip_data pointers as
@@ -1032,7 +1032,7 @@ aclMatchIp(void *dataptr, struct in_addr c)
 static int
 aclMatchDomainList(void *dataptr, const char *host)
 {
-    splayNode **Top = dataptr;
+    splayNode **Top = (splayNode **)dataptr;
     if (host == NULL)
        return 0;
     debug(28, 3) ("aclMatchDomainList: checking '%s'\n", host);
@@ -1070,7 +1070,7 @@ aclMatchRegex(relist * data, const char *word)
 }
 
 static int
-aclMatchUser(void *proxyauth_acl, char *user)
+aclMatchUser(void *proxyauth_acl, char const *user)
 {
     acl_user_data *data = (acl_user_data *) proxyauth_acl;
     splayNode *Top = data->names;
@@ -1116,14 +1116,14 @@ aclMatchUser(void *proxyauth_acl, char *user)
  */
 static int
 aclCacheMatchAcl(dlink_list * cache, squid_acl acltype, void *data,
-    char *MatchParam)
+    char const *MatchParam)
 {
     int matchrv;
     acl_proxy_auth_match_cache *auth_match;
     dlink_node *link;
     link = cache->head;
     while (link) {
-       auth_match = link->data;
+       auth_match = (acl_proxy_auth_match_cache *)link->data;
        if (auth_match->acl_data == data) {
            debug(28, 4) ("aclCacheMatchAcl: cache hit on acl '%p'\n", data);
            return auth_match->matchrv;
@@ -1137,7 +1137,7 @@ aclCacheMatchAcl(dlink_list * cache, squid_acl acltype, void *data,
        matchrv = aclMatchUser(data, MatchParam);
        break;
     case ACL_PROXY_AUTH_REGEX:
-       matchrv = aclMatchRegex(data, MatchParam);
+       matchrv = aclMatchRegex((relist *)data, MatchParam);
        break;
     default:
        /* This is a fatal to ensure that aclCacheMatchAcl calls are _only_
@@ -1145,7 +1145,7 @@ aclCacheMatchAcl(dlink_list * cache, squid_acl acltype, void *data,
        fatal("aclCacheMatchAcl: unknown or unexpected ACL type");
        return 0;               /* NOTREACHED */
     }
-    auth_match = memAllocate(MEM_ACL_PROXY_AUTH_MATCH);
+    auth_match = (acl_proxy_auth_match_cache *)memAllocate(MEM_ACL_PROXY_AUTH_MATCH);
     auth_match->matchrv = matchrv;
     auth_match->acl_data = data;
     dlinkAddTail(auth_match, &auth_match->link, cache);
@@ -1159,7 +1159,7 @@ aclCacheMatchFlush(dlink_list * cache)
     dlink_node *link, *tmplink;
     link = cache->head;
     while (link) {
-       auth_match = link->data;
+       auth_match = (acl_proxy_auth_match_cache *)link->data;
        tmplink = link;
        link = link->next;
        dlinkDelete(tmplink, cache);
@@ -1201,7 +1201,7 @@ CBDATA_TYPE(acl_user_ip_data);
 void
 aclParseUserMaxIP(void *data)
 {
-    acl_user_ip_data **acldata = data;
+    acl_user_ip_data **acldata = (acl_user_ip_data **)data;
     char *t = NULL;
     CBDATA_INIT_TYPE(acl_user_ip_data);
     if (*acldata) {
@@ -1230,7 +1230,7 @@ aclParseUserMaxIP(void *data)
 void
 aclDestroyUserMaxIP(void *data)
 {
-    acl_user_ip_data **acldata = data;
+    acl_user_ip_data **acldata = (acl_user_ip_data **)data;
     if (*acldata)
        cbdataFree(*acldata);
     *acldata = NULL;
@@ -1239,7 +1239,7 @@ aclDestroyUserMaxIP(void *data)
 wordlist *
 aclDumpUserMaxIP(void *data)
 {
-    acl_user_ip_data *acldata = data;
+    acl_user_ip_data *acldata = (acl_user_ip_data *)data;
     wordlist *W = NULL;
     char buf[128];
     if (acldata->flags.strict)
@@ -1249,7 +1249,7 @@ aclDumpUserMaxIP(void *data)
     return W;
 }
 
-/*
+/* 
  * aclMatchUserMaxIP - check for users logging in from multiple IP's 
  * 0 : No match
  * 1 : Match 
@@ -1263,14 +1263,14 @@ aclMatchUserMaxIP(void *data, auth_user_request_t * auth_user_request,
      * it sorted in most recent access order and just drop the oldest
      * one off is currently undecided
      */
-    acl_user_ip_data *acldata = data;
+    acl_user_ip_data *acldata = (acl_user_ip_data *)data;
 
     if (authenticateAuthUserRequestIPCount(auth_user_request) <= acldata->max)
        return 0;
 
     /* this is a match */
     if (acldata->flags.strict) {
-       /*
+       /* 
         * simply deny access - the user name is already associated with
         * the request 
         */
@@ -1278,7 +1278,7 @@ aclMatchUserMaxIP(void *data, auth_user_request_t * auth_user_request,
        authenticateAuthUserRequestRemoveIp(auth_user_request, src_addr);
        debug(28, 4) ("aclMatchUserMaxIP: Denying access in strict mode\n");
     } else {
-       /*
+       /* 
         * non-strict - remove some/all of the cached entries 
         * ie to allow the user to move machines easily
         */
@@ -1524,44 +1524,44 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        /* NOTREACHED */
     case ACL_DST_DOM_REGEX:
        if ((ia = ipcacheCheckNumeric(r->host)) == NULL)
-           return aclMatchRegex(ae->data, r->host);
+           return aclMatchRegex((relist *)ae->data, r->host);
        fqdn = fqdncache_gethostbyaddr(ia->in_addrs[0], FQDN_LOOKUP_IF_MISS);
        if (fqdn)
-           return aclMatchRegex(ae->data, fqdn);
+           return aclMatchRegex((relist *)ae->data, fqdn);
        if (checklist->state[ACL_DST_DOMAIN] == ACL_LOOKUP_NONE) {
            debug(28, 3) ("aclMatchAcl: Can't yet compare '%s' ACL for '%s'\n",
                ae->name, inet_ntoa(ia->in_addrs[0]));
            checklist->state[ACL_DST_DOMAIN] = ACL_LOOKUP_NEEDED;
            return 0;
        }
-       return aclMatchRegex(ae->data, "none");
+       return aclMatchRegex((relist *)ae->data, "none");
        /* NOTREACHED */
     case ACL_SRC_DOM_REGEX:
        fqdn = fqdncache_gethostbyaddr(checklist->src_addr, FQDN_LOOKUP_IF_MISS);
        if (fqdn) {
-           return aclMatchRegex(ae->data, fqdn);
+           return aclMatchRegex((relist *)ae->data, fqdn);
        } else if (checklist->state[ACL_SRC_DOMAIN] == ACL_LOOKUP_NONE) {
            debug(28, 3) ("aclMatchAcl: Can't yet compare '%s' ACL for '%s'\n",
                ae->name, inet_ntoa(checklist->src_addr));
            checklist->state[ACL_SRC_DOMAIN] = ACL_LOOKUP_NEEDED;
            return 0;
        }
-       return aclMatchRegex(ae->data, "none");
+       return aclMatchRegex((relist *)ae->data, "none");
        /* NOTREACHED */
     case ACL_TIME:
-       return aclMatchTime(ae->data, squid_curtime);
+       return aclMatchTime((acl_time_data *)ae->data, squid_curtime);
        /* NOTREACHED */
     case ACL_URLPATH_REGEX:
        esc_buf = xstrdup(strBuf(r->urlpath));
        rfc1738_unescape(esc_buf);
-       k = aclMatchRegex(ae->data, esc_buf);
+       k = aclMatchRegex((relist *)ae->data, esc_buf);
        safe_free(esc_buf);
        return k;
        /* NOTREACHED */
     case ACL_URL_REGEX:
        esc_buf = xstrdup(urlCanonical(r));
        rfc1738_unescape(esc_buf);
-       k = aclMatchRegex(ae->data, esc_buf);
+       k = aclMatchRegex((relist *)ae->data, esc_buf);
        safe_free(esc_buf);
        return k;
        /* NOTREACHED */
@@ -1570,10 +1570,10 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        return ((k > ((intlist *) ae->data)->i) ? 1 : 0);
        /* NOTREACHED */
     case ACL_URL_PORT:
-       return aclMatchIntegerRange(ae->data, (int) r->port);
+       return aclMatchIntegerRange((intrange *)ae->data, (int) r->port);
        /* NOTREACHED */
     case ACL_MY_PORT:
-       return aclMatchIntegerRange(ae->data, (int) checklist->my_port);
+       return aclMatchIntegerRange((intrange *)ae->data, (int) checklist->my_port);
        /* NOTREACHED */
 #if USE_IDENT
     case ACL_IDENT:
@@ -1586,7 +1586,7 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        /* NOTREACHED */
     case ACL_IDENT_REGEX:
        if (checklist->rfc931[0]) {
-           return aclMatchRegex(ae->data, checklist->rfc931);
+           return aclMatchRegex((relist *)ae->data, checklist->rfc931);
        } else {
            checklist->state[ACL_IDENT] = ACL_LOOKUP_NEEDED;
            return 0;
@@ -1594,22 +1594,22 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        /* NOTREACHED */
 #endif
     case ACL_PROTO:
-       return aclMatchInteger(ae->data, r->protocol);
+       return aclMatchInteger((intlist *)ae->data, r->protocol);
        /* NOTREACHED */
     case ACL_METHOD:
-       return aclMatchInteger(ae->data, r->method);
+       return aclMatchInteger((intlist *)ae->data, r->method);
        /* NOTREACHED */
     case ACL_BROWSER:
        browser = httpHeaderGetStr(&checklist->request->header, HDR_USER_AGENT);
        if (NULL == browser)
            return 0;
-       return aclMatchRegex(ae->data, browser);
+       return aclMatchRegex((relist *)ae->data, browser);
        /* NOTREACHED */
     case ACL_REFERER_REGEX:
        header = httpHeaderGetStr(&checklist->request->header, HDR_REFERER);
        if (NULL == header)
            return 0;
-       return aclMatchRegex(ae->data, header);
+       return aclMatchRegex((relist *)ae->data, header);
        /* NOTREACHED */
     case ACL_PROXY_AUTH:
     case ACL_PROXY_AUTH_REGEX:
@@ -1630,7 +1630,7 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        /* NOTREACHED */
 #if SQUID_SNMP
     case ACL_SNMP_COMMUNITY:
-       return aclMatchWordList(ae->data, checklist->snmp_community);
+       return aclMatchWordList((wordlist *)ae->data, checklist->snmp_community);
        /* NOTREACHED */
 #endif
     case ACL_SRC_ASN:
@@ -1663,7 +1663,7 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
            HDR_CONTENT_TYPE);
        if (NULL == header)
            header = "";
-       return aclMatchRegex(ae->data, header);
+       return aclMatchRegex((relist *)ae->data, header);
        /* NOTREACHED */
     case ACL_REP_MIME_TYPE:
        if (!checklist->reply)
@@ -1671,7 +1671,7 @@ aclMatchAcl(acl * ae, aclCheck_t * checklist)
        header = httpHeaderGetStr(&checklist->reply->header, HDR_CONTENT_TYPE);
        if (NULL == header)
            header = "";
-       return aclMatchRegex(ae->data, header);
+       return aclMatchRegex((relist *)ae->data, header);
        /* NOTREACHED */
     case ACL_EXTERNAL:
        return aclMatchExternal(ae->data, checklist);
@@ -1901,7 +1901,7 @@ aclLookupIdentDone(const char *ident, void *data)
 static void
 aclLookupDstIPDone(const ipcache_addrs * ia, void *data)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_DST_IP] = ACL_LOOKUP_DONE;
     aclCheck(checklist);
 }
@@ -1909,7 +1909,7 @@ aclLookupDstIPDone(const ipcache_addrs * ia, void *data)
 static void
 aclLookupDstIPforASNDone(const ipcache_addrs * ia, void *data)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_DST_ASN] = ACL_LOOKUP_DONE;
     aclCheck(checklist);
 }
@@ -1917,7 +1917,7 @@ aclLookupDstIPforASNDone(const ipcache_addrs * ia, void *data)
 static void
 aclLookupSrcFQDNDone(const char *fqdn, void *data)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_SRC_DOMAIN] = ACL_LOOKUP_DONE;
     aclCheck(checklist);
 }
@@ -1925,7 +1925,7 @@ aclLookupSrcFQDNDone(const char *fqdn, void *data)
 static void
 aclLookupDstFQDNDone(const char *fqdn, void *data)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_DST_DOMAIN] = ACL_LOOKUP_DONE;
     aclCheck(checklist);
 }
@@ -1933,7 +1933,7 @@ aclLookupDstFQDNDone(const char *fqdn, void *data)
 static void
 aclLookupProxyAuthDone(void *data, char *result)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_PROXY_AUTH] = ACL_LOOKUP_DONE;
     if (result != NULL)
        fatal("AclLookupProxyAuthDone: Old code floating around somewhere.\nMake clean and if that doesn't work, report a bug to the squid developers.\n");
@@ -1954,9 +1954,9 @@ aclLookupProxyAuthDone(void *data, char *result)
 static void
 aclLookupExternalDone(void *data, void *result)
 {
-    aclCheck_t *checklist = data;
+    aclCheck_t *checklist = (aclCheck_t *)data;
     checklist->state[ACL_EXTERNAL] = ACL_LOOKUP_DONE;
-    checklist->extacl_entry = cbdataReference(result);
+    checklist->extacl_entry = cbdataReference((external_acl_entry *)result);
     aclCheck(checklist);
 }
 
@@ -1991,12 +1991,6 @@ aclNBCheck(aclCheck_t * checklist, PF * callback, void *callback_data)
     aclCheck(checklist);
 }
 
-
-
-
-
-
-
 /*********************/
 /* Destroy functions */
 /*********************/
@@ -2032,7 +2026,7 @@ aclFreeIpData(void *p)
 static void
 aclFreeUserData(void *data)
 {
-    acl_user_data *d = data;
+    acl_user_data *d = (acl_user_data *)data;
     if (d->names)
        splay_destroy(d->names, xfree);
     memFree(d, MEM_ACL_USER_DATA);
@@ -2051,14 +2045,14 @@ aclDestroyAcls(acl ** head)
        case ACL_SRC_IP:
        case ACL_DST_IP:
        case ACL_MY_IP:
-           splay_destroy(a->data, aclFreeIpData);
+           splay_destroy((splayNode *)a->data, aclFreeIpData);
            break;
 #if USE_ARP_ACL
        case ACL_SRC_ARP:
 #endif
        case ACL_DST_DOMAIN:
        case ACL_SRC_DOMAIN:
-           splay_destroy(a->data, xfree);
+           splay_destroy((splayNode *)a->data, xfree);
            break;
 #if SQUID_SNMP
        case ACL_SNMP_COMMUNITY:
@@ -2074,7 +2068,7 @@ aclDestroyAcls(acl ** head)
            aclFreeUserData(a->data);
            break;
        case ACL_TIME:
-           aclDestroyTimeList(a->data);
+           aclDestroyTimeList((acl_time_data *)a->data);
            break;
 #if USE_IDENT
        case ACL_IDENT_REGEX:
@@ -2088,7 +2082,7 @@ aclDestroyAcls(acl ** head)
        case ACL_DST_DOM_REGEX:
        case ACL_REP_MIME_TYPE:
        case ACL_REQ_MIME_TYPE:
-           aclDestroyRegexList(a->data);
+           aclDestroyRegexList((relist *)a->data);
            break;
        case ACL_PROTO:
        case ACL_METHOD:
@@ -2105,7 +2099,7 @@ aclDestroyAcls(acl ** head)
            break;
        case ACL_URL_PORT:
        case ACL_MY_PORT:
-           aclDestroyIntRange(a->data);
+           aclDestroyIntRange((intrange *)a->data);
            break;
        case ACL_EXTERNAL:
            aclDestroyExternal(&a->data);
@@ -2191,12 +2185,12 @@ aclDomainCompare(const void *a, const void *b)
     const char *d1;
     const char *d2;
     int ret;
-    d1 = b;
-    d2 = a;
+    d1 = (const char *)b;
+    d2 = (const char *)a;
     ret = aclHostDomainCompare(d1, d2);
     if (ret != 0) {
-       d1 = a;
-       d2 = b;
+       d1 = (const char *)a;
+       d2 = (const char *)b;
        ret = aclHostDomainCompare(d1, d2);
     }
     if (ret == 0) {
@@ -2212,8 +2206,8 @@ aclDomainCompare(const void *a, const void *b)
 static int
 aclHostDomainCompare(const void *a, const void *b)
 {
-    const char *h = a;
-    const char *d = b;
+    const char *h = (const char *)a;
+    const char *d = (const char *)b;
     return matchDomainName(h, d);
 }
 
@@ -2284,12 +2278,12 @@ aclIpNetworkCompare(const void *a, const void *b)
     const acl_ip_data *n1;
     const acl_ip_data *n2;
     int ret;
-    n1 = b;
-    n2 = a;
+    n1 = (const acl_ip_data *)b;
+    n2 = (const acl_ip_data *)a;
     ret = aclIpNetworkCompare2(n1, n2);
     if (ret != 0) {
-       n1 = a;
-       n2 = b;
+       n1 = (const acl_ip_data *)a;
+       n2 = (const acl_ip_data *)b;
        ret = aclIpNetworkCompare2(n1, n2);
     }
     if (ret == 0) {
@@ -2319,14 +2313,14 @@ aclIpNetworkCompare(const void *a, const void *b)
 static int
 aclIpAddrNetworkCompare(const void *a, const void *b)
 {
-    return aclIpNetworkCompare2(a, b);
+    return aclIpNetworkCompare2((const acl_ip_data *)a, (const acl_ip_data *)b);
 }
 
 static void
 aclDumpUserListWalkee(void *node_data, void *outlist)
 {
     /* outlist is really a wordlist ** */
-    wordlistAdd(outlist, node_data);
+    wordlistAdd((wordlist **)outlist, (char const *)node_data);
 }
 
 static wordlist *
@@ -2349,9 +2343,9 @@ aclDumpUserList(acl_user_data * data)
 static void
 aclDumpIpListWalkee(void *node, void *state)
 {
-    acl_ip_data *ip = node;
+    acl_ip_data *ip = (acl_ip_data *)node;
     MemBuf mb;
-    wordlist **W = state;
+    wordlist **W = (wordlist **)state;
     memBufDefInit(&mb);
     memBufPrintf(&mb, "%s", inet_ntoa(ip->addr1));
     if (ip->addr2.s_addr != any_addr.s_addr)
@@ -2366,22 +2360,22 @@ static wordlist *
 aclDumpIpList(void *data)
 {
     wordlist *w = NULL;
-    splay_walk(data, aclDumpIpListWalkee, &w);
+    splay_walk((splayNode *)data, aclDumpIpListWalkee, &w);
     return w;
 }
 
 static void
 aclDumpDomainListWalkee(void *node, void *state)
 {
-    char *domain = node;
-    wordlistAdd(state, domain);
+    char *domain = (char *)node;
+    wordlistAdd((wordlist **)state, domain);
 }
 
 static wordlist *
 aclDumpDomainList(void *data)
 {
     wordlist *w = NULL;
-    splay_walk(data, aclDumpDomainListWalkee, &w);
+    splay_walk((splayNode *)data, aclDumpDomainListWalkee, &w);
     return w;
 }
 
@@ -2482,7 +2476,7 @@ aclDumpGeneric(const acl * a)
        return aclDumpDomainList(a->data);
 #if SQUID_SNMP
     case ACL_SNMP_COMMUNITY:
-       return wordlistDup(a->data);
+       return wordlistDup((wordlist *)a->data);
 #endif
 #if USE_IDENT
     case ACL_IDENT:
@@ -2491,9 +2485,9 @@ aclDumpGeneric(const acl * a)
        return aclDumpRegexList(a->data);
 #endif
     case ACL_PROXY_AUTH:
-       return aclDumpUserList(a->data);
+       return aclDumpUserList((acl_user_data *)a->data);
     case ACL_TIME:
-       return aclDumpTimeSpecList(a->data);
+       return aclDumpTimeSpecList((acl_time_data *)a->data);
     case ACL_PROXY_AUTH_REGEX:
     case ACL_URL_REGEX:
     case ACL_URLPATH_REGEX:
@@ -2503,20 +2497,20 @@ aclDumpGeneric(const acl * a)
     case ACL_DST_DOM_REGEX:
     case ACL_REQ_MIME_TYPE:
     case ACL_REP_MIME_TYPE:
-       return aclDumpRegexList(a->data);
+       return aclDumpRegexList((relist *)a->data);
     case ACL_SRC_ASN:
     case ACL_MAXCONN:
     case ACL_DST_ASN:
-       return aclDumpIntlistList(a->data);
+       return aclDumpIntlistList((intlist *)a->data);
     case ACL_MAX_USER_IP:
        return aclDumpUserMaxIP(a->data);
     case ACL_URL_PORT:
     case ACL_MY_PORT:
-       return aclDumpIntRangeList(a->data);
+       return aclDumpIntRangeList((intrange *)a->data);
     case ACL_PROTO:
-       return aclDumpProtoList(a->data);
+       return aclDumpProtoList((intlist *)a->data);
     case ACL_METHOD:
-       return aclDumpMethodList(a->data);
+       return aclDumpMethodList((intlist *)a->data);
 #if USE_ARP_ACL
     case ACL_SRC_ARP:
        return aclDumpArpList(a->data);
@@ -2545,7 +2539,7 @@ aclPurgeMethodInUse(acl_access * a)
        for (b = a->aclList; b; b = b->next) {
            if (ACL_METHOD != b->_acl->type)
                continue;
-           if (aclMatchInteger(b->_acl->data, METHOD_PURGE))
+           if (aclMatchInteger((intlist *)b->_acl->data, METHOD_PURGE))
                return 1;
        }
     }
index c430a665dd74e28f00feccbf482ff7d245f9cca9..594a3be7b89fee44e2e9caf43494c4a095b39599 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: asn.cc,v 1.81 2002/09/24 10:46:43 robertc Exp $
+ * $Id: asn.cc,v 1.82 2002/10/13 20:34:57 robertc Exp $
  *
  * DEBUG: section 53    AS Number handling
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -36,6 +36,7 @@
 #include "squid.h"
 #include "radix.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 #define WHOIS_PORT 43
 #define        AS_REQBUF_SZ    4096
@@ -91,7 +92,7 @@ static int asnAddNet(char *, int);
 static void asnCacheStart(int as);
 static STCB asHandleReply;
 static int destroyRadixNode(struct squid_radix_node *rn, void *w);
-static int printRadixNode(struct squid_radix_node *rn, void *w);
+static int printRadixNode(struct squid_radix_node *rn, StoreEntry *);
 static void asnAclInitialize(acl * acls);
 static void asStateFree(void *data);
 static void destroyRadixNodeInfo(as_info *);
@@ -145,7 +146,7 @@ asnAclInitialize(acl * acls)
     for (a = acls; a; a = a->next) {
        if (a->type != ACL_DST_ASN && a->type != ACL_SRC_ASN)
            continue;
-       for (i = a->data; i; i = i->next)
+       for (i = (intlist *)a->data; i; i = i->next)
            asnCacheStart(i->i);
     }
 }
@@ -224,7 +225,7 @@ asnCacheStart(int as)
 static void
 asHandleReply(void *data, StoreIOBuffer result)
 {
-    ASState *asState = data;
+    ASState *asState = (ASState *)data;
     StoreEntry *e = asState->entry;
     char *s;
     char *t;
@@ -257,7 +258,7 @@ asHandleReply(void *data, StoreIOBuffer result)
      * Remembering that the actual buffer size is retsize + reqofs!
      */
     s = buf;
-    while (s - buf < (result.length + asState->reqofs) && *s != '\0') {
+    while (s - buf < (off_t)(result.length + asState->reqofs) && *s != '\0') {
        while (*s && xisspace(*s))
            s++;
        for (t = s; *t; t++) {
@@ -325,7 +326,7 @@ asHandleReply(void *data, StoreIOBuffer result)
 static void
 asStateFree(void *data)
 {
-    ASState *asState = data;
+    ASState *asState = (ASState *)data;
     debug(53, 3) ("asnStateFree: %s\n", storeUrl(asState->entry));
     storeUnregister(asState->sc, asState->entry, asState);
     storeUnlockObject(asState->entry);
@@ -340,7 +341,7 @@ asStateFree(void *data)
 static int
 asnAddNet(char *as_string, int as_number)
 {
-    rtentry *e = xmalloc(sizeof(rtentry));
+    rtentry *e = (rtentry *)xmalloc(sizeof(rtentry));
     struct squid_radix_node *rn;
     char dbg1[32], dbg2[32];
     intlist **Tail = NULL;
@@ -384,15 +385,15 @@ asnAddNet(char *as_string, int as_number)
        } else {
            debug(53, 3) ("asnAddNet: Warning: Found a network with multiple AS numbers!\n");
            for (Tail = &asinfo->as_number; *Tail; Tail = &(*Tail)->next);
-           q = xcalloc(1, sizeof(intlist));
+           q = (intlist *)xcalloc(1, sizeof(intlist));
            q->i = as_number;
            *(Tail) = q;
            e->e_info = asinfo;
        }
     } else {
-       q = xcalloc(1, sizeof(intlist));
+       q = (intlist *)xcalloc(1, sizeof(intlist));
        q->i = as_number;
-       asinfo = xmalloc(sizeof(asinfo));
+       asinfo = (as_info *)xmalloc(sizeof(asinfo));
        asinfo->as_number = q;
        rn = squid_rn_addroute(e->e_addr, e->e_mask, AS_tree_head, e->e_nodes);
        rn = squid_rn_match(e->e_addr, AS_tree_head);
@@ -451,9 +452,8 @@ mask_len(u_long mask)
 }
 
 static int
-printRadixNode(struct squid_radix_node *rn, void *w)
+printRadixNode(struct squid_radix_node *rn, StoreEntry *sentry)
 {
-    StoreEntry *sentry = w;
     rtentry *e = (rtentry *) rn;
     intlist *q;
     as_info *asinfo;
index 9b6b160ca43c954cae459926d7aaeeeddaa304e6..871c904d778b2dac18a884b4b38c0620de9de339 100644 (file)
@@ -1,18 +1,19 @@
 #  Makefile for authentication modules in the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.1 2001/08/31 11:19:13 robertc Exp $
+#  $Id: Makefile.am,v 1.2 2002/10/13 20:35:16 robertc Exp $
 #
 AUTOMAKE_OPTIONS = subdir-objects
+AM_CXXFLAGS = -Werror -Wall
 
-DIST_SUBDIRS   = basic digest ntlm
-SUBDIRS                = @AUTH_MODULES@
+##DIST_SUBDIRS = basic digest ntlm
+##SUBDIRS              = @AUTH_MODULES@
 
 EXTRA_LIBRARIES        = libbasic.a libdigest.a libntlm.a
 noinst_LIBRARIES       = @AUTH_LIBS@
 
-libbasic_a_SOURCES     = basic/auth_basic.c basic/auth_basic.h
-libdigest_a_SOURCES    = digest/auth_digest.c digest/auth_digest.h
-libntlm_a_SOURCES      = ntlm/auth_ntlm.c ntlm/auth_ntlm.h
+libbasic_a_SOURCES     = basic/auth_basic.cc basic/auth_basic.h
+libdigest_a_SOURCES    = digest/auth_digest.cc digest/auth_digest.h
+libntlm_a_SOURCES      = ntlm/auth_ntlm.cc ntlm/auth_ntlm.h
 
 INCLUDES      = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/
index 0b52783a7d1d687fa47d996d080b97d09112533c..12195ce2b19efb147683ea250a6343a621464a82 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
-#  Makefile for authentication modules in the Squid Object Cache server
-#
-#  $Id: Makefile.in,v 1.17 2002/09/30 00:24:10 hno Exp $
-#
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -118,17 +120,19 @@ am__quote = @am__quote@
 install_sh = @install_sh@
 makesnmplib = @makesnmplib@
 
+#  Makefile for authentication modules in the Squid Object Cache server
+#
+#  $Id: Makefile.in,v 1.18 2002/10/13 20:35:16 robertc Exp $
+#
 AUTOMAKE_OPTIONS = subdir-objects
-
-DIST_SUBDIRS = basic digest ntlm
-SUBDIRS = @AUTH_MODULES@
+AM_CXXFLAGS = -Werror -Wall
 
 EXTRA_LIBRARIES = libbasic.a libdigest.a libntlm.a
 noinst_LIBRARIES = @AUTH_LIBS@
 
-libbasic_a_SOURCES = basic/auth_basic.c basic/auth_basic.h
-libdigest_a_SOURCES = digest/auth_digest.c digest/auth_digest.h
-libntlm_a_SOURCES = ntlm/auth_ntlm.c ntlm/auth_ntlm.h
+libbasic_a_SOURCES = basic/auth_basic.cc basic/auth_basic.h
+libdigest_a_SOURCES = digest/auth_digest.cc digest/auth_digest.h
+libntlm_a_SOURCES = ntlm/auth_ntlm.cc ntlm/auth_ntlm.h
 
 INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/
@@ -158,48 +162,46 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/basic/auth_basic.Po \
-@AMDEP_TRUE@   $(DEPDIR)/digest/auth_digest.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ntlm/auth_ntlm.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = basic/$(DEPDIR)/auth_basic.Po \
+@AMDEP_TRUE@   digest/$(DEPDIR)/auth_digest.Po \
+@AMDEP_TRUE@   ntlm/$(DEPDIR)/auth_ntlm.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+CXXFLAGS = @CXXFLAGS@
+CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
 DIST_SOURCES = $(libbasic_a_SOURCES) $(libdigest_a_SOURCES) \
        $(libntlm_a_SOURCES)
-
-RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
-       uninstall-info-recursive all-recursive install-data-recursive \
-       install-exec-recursive installdirs-recursive install-recursive \
-       uninstall-recursive check-recursive installcheck-recursive
 DIST_COMMON = Makefile.am Makefile.in
 SOURCES = $(libbasic_a_SOURCES) $(libdigest_a_SOURCES) $(libntlm_a_SOURCES)
 
-all: all-recursive
+all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .cc .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/auth/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 basic/.dirstamp:
        @$(mkinstalldirs) basic
        @: > basic/.dirstamp
-$(DEPDIR)/basic/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/basic
-       @: > $(DEPDIR)/basic/.dirstamp
-basic/auth_basic.$(OBJEXT): basic/auth_basic.c basic/.dirstamp \
-       $(DEPDIR)/basic/.dirstamp
+basic/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) basic/$(DEPDIR)
+       @: > basic/$(DEPDIR)/.dirstamp
+basic/auth_basic.$(OBJEXT): basic/auth_basic.cc basic/.dirstamp \
+       basic/$(DEPDIR)/.dirstamp
 libbasic.a: $(libbasic_a_OBJECTS) $(libbasic_a_DEPENDENCIES) 
        -rm -f libbasic.a
        $(libbasic_a_AR) libbasic.a $(libbasic_a_OBJECTS) $(libbasic_a_LIBADD)
@@ -207,11 +209,11 @@ libbasic.a: $(libbasic_a_OBJECTS) $(libbasic_a_DEPENDENCIES)
 digest/.dirstamp:
        @$(mkinstalldirs) digest
        @: > digest/.dirstamp
-$(DEPDIR)/digest/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/digest
-       @: > $(DEPDIR)/digest/.dirstamp
-digest/auth_digest.$(OBJEXT): digest/auth_digest.c digest/.dirstamp \
-       $(DEPDIR)/digest/.dirstamp
+digest/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) digest/$(DEPDIR)
+       @: > digest/$(DEPDIR)/.dirstamp
+digest/auth_digest.$(OBJEXT): digest/auth_digest.cc digest/.dirstamp \
+       digest/$(DEPDIR)/.dirstamp
 libdigest.a: $(libdigest_a_OBJECTS) $(libdigest_a_DEPENDENCIES) 
        -rm -f libdigest.a
        $(libdigest_a_AR) libdigest.a $(libdigest_a_OBJECTS) $(libdigest_a_LIBADD)
@@ -219,11 +221,11 @@ libdigest.a: $(libdigest_a_OBJECTS) $(libdigest_a_DEPENDENCIES)
 ntlm/.dirstamp:
        @$(mkinstalldirs) ntlm
        @: > ntlm/.dirstamp
-$(DEPDIR)/ntlm/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/ntlm
-       @: > $(DEPDIR)/ntlm/.dirstamp
-ntlm/auth_ntlm.$(OBJEXT): ntlm/auth_ntlm.c ntlm/.dirstamp \
-       $(DEPDIR)/ntlm/.dirstamp
+ntlm/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) ntlm/$(DEPDIR)
+       @: > ntlm/$(DEPDIR)/.dirstamp
+ntlm/auth_ntlm.$(OBJEXT): ntlm/auth_ntlm.cc ntlm/.dirstamp \
+       ntlm/$(DEPDIR)/.dirstamp
 libntlm.a: $(libntlm_a_OBJECTS) $(libntlm_a_DEPENDENCIES) 
        -rm -f libntlm.a
        $(libntlm_a_AR) libntlm.a $(libntlm_a_OBJECTS) $(libntlm_a_LIBADD)
@@ -237,213 +239,149 @@ mostlyclean-compile:
 
 distclean-compile:
        -rm -f *.tab.c
-       -rm -f $(DEPDIR)/basic/.dirstamp
-       -rm -f $(DEPDIR)/digest/.dirstamp
-       -rm -f $(DEPDIR)/ntlm/.dirstamp
+       -rm -f basic/$(DEPDIR)/.dirstamp
        -rm -f basic/.dirstamp
+       -rm -f digest/$(DEPDIR)/.dirstamp
        -rm -f digest/.dirstamp
+       -rm -f ntlm/$(DEPDIR)/.dirstamp
        -rm -f ntlm/.dirstamp
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/basic/auth_basic.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/digest/auth_digest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ntlm/auth_ntlm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@basic/$(DEPDIR)/auth_basic.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@digest/$(DEPDIR)/auth_digest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ntlm/$(DEPDIR)/auth_ntlm.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf basic/$(DEPDIR) digest/$(DEPDIR) ntlm/$(DEPDIR)
 
-.c.o:
+.cc.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
 
-.c.obj:
+.cc.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `cygpath -w $<`
-
-basic/auth_basic.o: basic/auth_basic.c
-@AMDEP_TRUE@   source='basic/auth_basic.c' object='basic/auth_basic.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/basic/auth_basic.Po' tmpdepfile='$(DEPDIR)/basic/auth_basic.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o basic/auth_basic.o `test -f basic/auth_basic.c || echo '$(srcdir)/'`basic/auth_basic.c
-
-basic/auth_basic.obj: basic/auth_basic.c
-@AMDEP_TRUE@   source='basic/auth_basic.c' object='basic/auth_basic.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/basic/auth_basic.Po' tmpdepfile='$(DEPDIR)/basic/auth_basic.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o basic/auth_basic.obj `cygpath -w basic/auth_basic.c`
-
-digest/auth_digest.o: digest/auth_digest.c
-@AMDEP_TRUE@   source='digest/auth_digest.c' object='digest/auth_digest.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/digest/auth_digest.Po' tmpdepfile='$(DEPDIR)/digest/auth_digest.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o digest/auth_digest.o `test -f digest/auth_digest.c || echo '$(srcdir)/'`digest/auth_digest.c
-
-digest/auth_digest.obj: digest/auth_digest.c
-@AMDEP_TRUE@   source='digest/auth_digest.c' object='digest/auth_digest.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/digest/auth_digest.Po' tmpdepfile='$(DEPDIR)/digest/auth_digest.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o digest/auth_digest.obj `cygpath -w digest/auth_digest.c`
-
-ntlm/auth_ntlm.o: ntlm/auth_ntlm.c
-@AMDEP_TRUE@   source='ntlm/auth_ntlm.c' object='ntlm/auth_ntlm.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ntlm/auth_ntlm.Po' tmpdepfile='$(DEPDIR)/ntlm/auth_ntlm.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ntlm/auth_ntlm.o `test -f ntlm/auth_ntlm.c || echo '$(srcdir)/'`ntlm/auth_ntlm.c
-
-ntlm/auth_ntlm.obj: ntlm/auth_ntlm.c
-@AMDEP_TRUE@   source='ntlm/auth_ntlm.c' object='ntlm/auth_ntlm.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ntlm/auth_ntlm.Po' tmpdepfile='$(DEPDIR)/ntlm/auth_ntlm.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ntlm/auth_ntlm.obj `cygpath -w ntlm/auth_ntlm.c`
-CCDEPMODE = @CCDEPMODE@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+
+basic/auth_basic.o: basic/auth_basic.cc
+@AMDEP_TRUE@   source='basic/auth_basic.cc' object='basic/auth_basic.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='basic/$(DEPDIR)/auth_basic.Po' tmpdepfile='basic/$(DEPDIR)/auth_basic.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o basic/auth_basic.o `test -f 'basic/auth_basic.cc' || echo '$(srcdir)/'`basic/auth_basic.cc
+
+basic/auth_basic.obj: basic/auth_basic.cc
+@AMDEP_TRUE@   source='basic/auth_basic.cc' object='basic/auth_basic.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='basic/$(DEPDIR)/auth_basic.Po' tmpdepfile='basic/$(DEPDIR)/auth_basic.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o basic/auth_basic.obj `cygpath -w basic/auth_basic.cc`
+
+digest/auth_digest.o: digest/auth_digest.cc
+@AMDEP_TRUE@   source='digest/auth_digest.cc' object='digest/auth_digest.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='digest/$(DEPDIR)/auth_digest.Po' tmpdepfile='digest/$(DEPDIR)/auth_digest.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o digest/auth_digest.o `test -f 'digest/auth_digest.cc' || echo '$(srcdir)/'`digest/auth_digest.cc
+
+digest/auth_digest.obj: digest/auth_digest.cc
+@AMDEP_TRUE@   source='digest/auth_digest.cc' object='digest/auth_digest.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='digest/$(DEPDIR)/auth_digest.Po' tmpdepfile='digest/$(DEPDIR)/auth_digest.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o digest/auth_digest.obj `cygpath -w digest/auth_digest.cc`
+
+ntlm/auth_ntlm.o: ntlm/auth_ntlm.cc
+@AMDEP_TRUE@   source='ntlm/auth_ntlm.cc' object='ntlm/auth_ntlm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ntlm/$(DEPDIR)/auth_ntlm.Po' tmpdepfile='ntlm/$(DEPDIR)/auth_ntlm.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ntlm/auth_ntlm.o `test -f 'ntlm/auth_ntlm.cc' || echo '$(srcdir)/'`ntlm/auth_ntlm.cc
+
+ntlm/auth_ntlm.obj: ntlm/auth_ntlm.cc
+@AMDEP_TRUE@   source='ntlm/auth_ntlm.cc' object='ntlm/auth_ntlm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ntlm/$(DEPDIR)/auth_ntlm.Po' tmpdepfile='ntlm/$(DEPDIR)/auth_ntlm.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ntlm/auth_ntlm.obj `cygpath -w ntlm/auth_ntlm.cc`
+CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
 
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
+ETAGS = etags
+ETAGSFLAGS =
 
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
-         if test "$$subdir" = .; then :; else \
-           test -d $(distdir)/$$subdir \
-           || mkdir $(distdir)/$$subdir \
-           || exit 1; \
-           (cd $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$(top_distdir)" \
-               distdir=../$(distdir)/$$subdir \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
 check-am: all-am
-check: check-recursive
+check: check-am
 all-am: Makefile $(LIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
 
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
 
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
-installcheck: installcheck-recursive
+installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -451,25 +389,25 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
+clean: clean-am
 
 clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
 
-distclean: distclean-recursive
+distclean: distclean-am
 
 distclean-am: clean-am distclean-compile distclean-depend \
        distclean-generic distclean-tags
 
-dvi: dvi-recursive
+dvi: dvi-am
 
 dvi-am:
 
-info: info-recursive
+info: info-am
 
 info-am:
 
@@ -477,39 +415,32 @@ install-data-am:
 
 install-exec-am:
 
-install-info: install-info-recursive
+install-info: install-info-am
 
 install-man:
 
 installcheck-am:
 
-maintainer-clean: maintainer-clean-recursive
+maintainer-clean: maintainer-clean-am
 
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
-mostlyclean: mostlyclean-recursive
+mostlyclean: mostlyclean-am
 
 mostlyclean-am: mostlyclean-compile mostlyclean-generic
 
 uninstall-am: uninstall-info-am
 
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
-       clean-generic clean-noinstLIBRARIES clean-recursive distclean \
-       distclean-compile distclean-depend distclean-generic \
-       distclean-recursive distclean-tags distdir dvi dvi-am \
-       dvi-recursive info info-am info-recursive install install-am \
-       install-data install-data-am install-data-recursive \
-       install-exec install-exec-am install-exec-recursive \
-       install-info install-info-am install-info-recursive install-man \
-       install-recursive install-strip installcheck installcheck-am \
-       installdirs installdirs-am installdirs-recursive \
-       maintainer-clean maintainer-clean-generic \
-       maintainer-clean-recursive mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-recursive tags tags-recursive \
-       uninstall uninstall-am uninstall-info-am \
-       uninstall-info-recursive uninstall-recursive
+.PHONY: GTAGS all all-am check check-am clean clean-generic \
+       clean-noinstLIBRARIES distclean distclean-compile \
+       distclean-depend distclean-generic distclean-tags distdir dvi \
+       dvi-am info info-am install install-am install-data \
+       install-data-am install-exec install-exec-am install-info \
+       install-info-am install-man install-strip installcheck \
+       installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic tags uninstall uninstall-am \
+       uninstall-info-am
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index f391839b3ea88f5d3c685b5da3bc05feeba62bd5..1e6fb25b54a6e20a598a5d2e63478d0e70fd2d23 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: auth_basic.cc,v 1.18 2002/08/12 01:11:58 hno Exp $
+ * $Id: auth_basic.cc,v 1.19 2002/10/13 20:35:17 robertc Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Duane Wessels
 
 #include "squid.h"
 #include "auth_basic.h"
+#include "authenticate.h"
+#include "Store.h"
 
 static void
-authenticateStateFree(authenticateStateData * r)
+authenticateStateFree(AuthenticateStateData * r)
 {
     cbdataFree(r);
 }
@@ -148,7 +150,7 @@ authBasicConfigured()
 static int
 authenticateBasicAuthenticated(auth_user_request_t * auth_user_request)
 {
-    basic_data *basic_auth = auth_user_request->auth_user->scheme_data;
+    basic_data *basic_auth = static_cast<basic_data *>(auth_user_request->auth_user->scheme_data);
     if ((basic_auth->flags.credentials_ok == 1) && (basic_auth->credentials_checkedtime + basicConfig->credentialsTTL > squid_curtime))
        return 1;
     debug(29, 4) ("User not authenticated or credentials need rechecking.\n");
@@ -175,7 +177,7 @@ authenticateBasicAuthenticateUser(auth_user_request_t * auth_user_request, reque
     auth_user = auth_user_request->auth_user;
 
     assert(auth_user->scheme_data != NULL);
-    basic_auth = auth_user->scheme_data;
+    basic_auth = static_cast<basic_data *>(auth_user->scheme_data);
 
     /* if the password is not ok, do an identity */
     if (basic_auth->flags.credentials_ok != 1)
@@ -201,7 +203,7 @@ authenticateBasicDirection(auth_user_request_t * auth_user_request)
 {
 /* null auth_user is checked for by authenticateDirection */
     auth_user_t *auth_user = auth_user_request->auth_user;
-    basic_data *basic_auth = auth_user->scheme_data;
+    basic_data *basic_auth = static_cast<basic_data *>(auth_user->scheme_data);
     switch (basic_auth->flags.credentials_ok) {
     case 0:                    /* not checked */
        return -1;
@@ -244,7 +246,7 @@ authBasicFreeConfig(authScheme * scheme)
 void
 authenticateBasicFreeUser(auth_user_t * auth_user)
 {
-    basic_data *basic_auth = auth_user->scheme_data;
+    basic_data *basic_auth = static_cast<basic_data *>(auth_user->scheme_data);
     debug(29, 5) ("authenticateBasicFreeUser: Clearing Basic scheme data\n");
     if (basic_auth->username)
        xfree(basic_auth->username);
@@ -257,10 +259,10 @@ authenticateBasicFreeUser(auth_user_t * auth_user)
 static void
 authenticateBasicHandleReply(void *data, char *reply)
 {
-    authenticateStateData *r = data;
+    AuthenticateStateData *r = static_cast<AuthenticateStateData *>(data);
     auth_user_t *auth_user;
     basic_data *basic_auth;
-    auth_basic_queue_node *tmpnode;
+    BasicAuthQueueNode *tmpnode;
     char *t = NULL;
     void *cbdata;
     debug(29, 9) ("authenticateBasicHandleReply: {%s}\n", reply ? reply : "<NULL>");
@@ -273,7 +275,7 @@ authenticateBasicHandleReply(void *data, char *reply)
     assert(r->auth_user_request != NULL);
     assert(r->auth_user_request->auth_user->auth_type == AUTH_BASIC);
     auth_user = r->auth_user_request->auth_user;
-    basic_auth = auth_user->scheme_data;
+    basic_auth = static_cast<basic_data *>(auth_user->scheme_data);
     if (reply && (strncasecmp(reply, "OK", 2) == 0))
        basic_auth->flags.credentials_ok = 1;
     else
@@ -295,7 +297,7 @@ authenticateBasicHandleReply(void *data, char *reply)
 static void
 authBasicCfgDump(StoreEntry * entry, const char *name, authScheme * scheme)
 {
-    auth_basic_config *config = scheme->scheme_data;
+    auth_basic_config *config = static_cast<auth_basic_config *>(scheme->scheme_data);
     wordlist *list = config->authenticate;
     storeAppendPrintf(entry, "%s %s", name, "basic");
     while (list != NULL) {
@@ -317,11 +319,11 @@ authBasicParse(authScheme * scheme, int n_configured, char *param_str)
        /* this is the first param to be found */
        scheme->scheme_data = xmalloc(sizeof(auth_basic_config));
        memset(scheme->scheme_data, 0, sizeof(auth_basic_config));
-       basicConfig = scheme->scheme_data;
+       basicConfig = static_cast<auth_basic_config *>(scheme->scheme_data);
        basicConfig->authenticateChildren = 5;
        basicConfig->credentialsTTL = 2 * 60 * 60;      /* two hours */
     }
-    basicConfig = scheme->scheme_data;
+    basicConfig =  static_cast<auth_basic_config *>(scheme->scheme_data);
     if (strcasecmp(param_str, "program") == 0) {
        if (basicConfig->authenticate)
            wordlistDestroy(&basicConfig->authenticate);
@@ -345,13 +347,13 @@ authenticateBasicStats(StoreEntry * sentry)
     helperStats(sentry, basicauthenticators);
 }
 
-CBDATA_TYPE(authenticateStateData);
+CBDATA_TYPE(AuthenticateStateData);
 
 /* authenticateBasicUsername: return a pointer to the username in the */
-char *
-authenticateBasicUsername(auth_user_t * auth_user)
+char const *
+authenticateBasicUsername(auth_user_t const * auth_user)
 {
-    basic_data *basic_auth = auth_user->scheme_data;
+    basic_data *basic_auth =  static_cast<basic_data *>(auth_user->scheme_data);
     if (basic_auth)
        return basic_auth->username;
     return NULL;
@@ -361,7 +363,7 @@ static basic_data *
 authBasicDataNew(void)
 {
     basic_data *temp;
-    temp = memPoolAlloc(basic_data_pool);
+    temp =  static_cast<basic_data *>(memPoolAlloc(basic_data_pool));
     assert(temp != NULL);
     temp->username = NULL;
     temp->passwd = NULL;
@@ -380,13 +382,13 @@ authBasicDataFree(basic_data * basic_auth)
 static auth_user_t *
 authBasicAuthUserFindUsername(const char *username)
 {
-    auth_user_hash_pointer *usernamehash;
+    AuthUserHashPointer *usernamehash;
     debug(29, 9) ("authBasicAuthUserFindUsername: Looking for user '%s'\n", username);
-    if (username && (usernamehash = hash_lookup(proxy_auth_username_cache, username))) {
+    if (username && (usernamehash = static_cast<AuthUserHashPointer *>(hash_lookup(proxy_auth_username_cache, username)))) {
        while (usernamehash) {
-           if ((usernamehash->auth_user->auth_type == AUTH_BASIC) &&
+           if ((authUserHashPointerUser(usernamehash)->auth_type == AUTH_BASIC) &&
                !strcmp(username, usernamehash->key))
-               return usernamehash->auth_user;
+               return authUserHashPointerUser(usernamehash);
            usernamehash = usernamehash->next;
        }
     }
@@ -442,12 +444,12 @@ authenticateBasicDecodeAuth(auth_user_request_t * auth_user_request, const char
        debug(29, 4) ("authenticateBasicDecodeAuth: no password in proxy authorization header '%s'\n",
            proxy_auth);
        local_basic.passwd = NULL;
-       auth_user_request->message = xstrdup("no password was present in the HTTP [proxy-]authorization header. This is most likely a browser bug");
+       authenticateSetDenyMessage (auth_user_request, "no password was present in the HTTP [proxy-]authorization header. This is most likely a browser bug");
     } else if (*cleartext == '\0') {
        debug(29, 4) ("authenticateBasicDecodeAuth: Disallowing empty password,"
            "user is '%s'\n", local_basic.username);
        local_basic.passwd = NULL;
-       auth_user_request->message = xstrdup("Request denied because you provided an empty password. Users MUST have a password.");
+       authenticateSetDenyMessage (auth_user_request, "Request denied because you provided an empty password. Users MUST have a password.");
     }
     /* special case: we have to free the strings for user and password
      * if we are not returning a filled out structure 
@@ -504,7 +506,7 @@ authenticateBasicDecodeAuth(auth_user_request_t * auth_user_request, const char
     } else {
        debug(29, 9) ("authBasicDecodeAuth: Found user '%s' in the user cache as '%p'\n", local_basic.username, auth_user);
        xfree(local_basic.username);
-       basic_auth = auth_user->scheme_data;
+       basic_auth =  static_cast<basic_data *>(auth_user->scheme_data);
        if (strcmp(local_basic.passwd, basic_auth->passwd)) {
            debug(29, 4) ("authBasicDecodeAuth: new password found. Updating in user master record and resetting auth state to unchecked\n");
            basic_auth->flags.credentials_ok = 0;
@@ -548,7 +550,7 @@ authBasicInit(authScheme * scheme)
                authenticateBasicStats, 0, 1);
            init++;
        }
-       CBDATA_INIT_TYPE(authenticateStateData);
+       CBDATA_INIT_TYPE(AuthenticateStateData);
     }
 }
 
@@ -556,7 +558,7 @@ authBasicInit(authScheme * scheme)
 static void
 authenticateBasicStart(auth_user_request_t * auth_user_request, RH * handler, void *data)
 {
-    authenticateStateData *r = NULL;
+    AuthenticateStateData *r = NULL;
     char buf[8192];
     char user[1024], pass[1024];
     basic_data *basic_auth;
@@ -564,7 +566,7 @@ authenticateBasicStart(auth_user_request_t * auth_user_request, RH * handler, vo
     assert(handler);
     assert(auth_user_request->auth_user->auth_type == AUTH_BASIC);
     assert(auth_user_request->auth_user->scheme_data != NULL);
-    basic_auth = auth_user_request->auth_user->scheme_data;
+    basic_auth = static_cast<basic_data *>(auth_user_request->auth_user->scheme_data);
     debug(29, 9) ("authenticateStart: '%s:%s'\n", basic_auth->username,
        basic_auth->passwd);
     if (basicConfig->authenticate == NULL) {
@@ -574,8 +576,8 @@ authenticateBasicStart(auth_user_request_t * auth_user_request, RH * handler, vo
     /* check to see if the auth_user already has a request outstanding */
     if (basic_auth->flags.credentials_ok == 2) {
        /* there is a request with the same credentials already being verified */
-       auth_basic_queue_node *node;
-       node = xmalloc(sizeof(auth_basic_queue_node));
+       BasicAuthQueueNode *node;
+       node = static_cast<BasicAuthQueueNode *>(xmalloc(sizeof(BasicAuthQueueNode)));
        assert(node);
        /* save the details */
        node->next = basic_auth->auth_queue;
@@ -585,7 +587,7 @@ authenticateBasicStart(auth_user_request_t * auth_user_request, RH * handler, vo
        node->data = cbdataReference(data);
        return;
     } else {
-       r = cbdataAlloc(authenticateStateData);
+       r = cbdataAlloc(AuthenticateStateData);
        r->handler = handler;
        r->data = cbdataReference(data);
        r->auth_user_request = auth_user_request;
index c5e78f21c1d0ac938bf4364c38bcedc9297ddf42..6027c15f020bbd21881682447a8f6e1f6dd40c46 100644 (file)
@@ -6,47 +6,43 @@
 #ifndef __AUTH_BASIC_H__
 #define __AUTH_BASIC_H__
 
-
 #define DefaultAuthenticateChildrenMax  32     /* 32 processes */
 
 /* Generic */
-typedef struct {
+class AuthenticateStateData {
+public:
     void *data;
     auth_user_request_t *auth_user_request;
     RH *handler;
-} authenticateStateData;
-
-typedef struct _auth_basic_queue_node auth_basic_queue_node;
+};
 
 /* queue of auth requests waiting for verification to occur */
-struct _auth_basic_queue_node {
-    auth_basic_queue_node *next;
-    auth_user_request_t *auth_user_request;
+class BasicAuthQueueNode {
+public:
+    BasicAuthQueueNode *next;
+    AuthUserRequest *auth_user_request;
     RH *handler;
     void *data;
 };
 
-struct _basic_data {
+class basic_data {
+public:
     char *username;
     char *passwd;
     time_t credentials_checkedtime;
     struct {
        unsigned int credentials_ok:2;  /*0=unchecked,1=ok,2=failed */
     } flags;
-    auth_basic_queue_node *auth_queue;
+    BasicAuthQueueNode *auth_queue;
 };
 
 /* configuration runtime data */
-struct _auth_basic_config {
+class auth_basic_config {
+public:
     int authenticateChildren;
     char *basicAuthRealm;
     wordlist *authenticate;
     time_t credentialsTTL;
 };
 
-typedef struct _auth_basic_config auth_basic_config;
-
-typedef struct _basic_data basic_data;
-
-
 #endif
index db542711861c76f9a217d1ca11771f72d4458720..a4a7da4e568c5a33226eb78d9fec6e1a2587f449 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_digest.cc,v 1.15 2002/07/14 23:53:50 hno Exp $
+ * $Id: auth_digest.cc,v 1.16 2002/10/13 20:35:20 robertc Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Robert Collins
 #include "squid.h"
 #include "rfc2617.h"
 #include "auth_digest.h"
+#include "authenticate.h"
+#include "Store.h"
 
 extern AUTHSSETUP authSchemeSetup_digest;
 
 static void
-authenticateStateFree(authenticateStateData * r)
+authenticateStateFree(DigestAuthenticateStateData * r)
 {
     cbdataFree(r);
 }
@@ -86,7 +88,7 @@ static MemPool *digest_user_pool = NULL;
 static MemPool *digest_request_pool = NULL;
 static MemPool *digest_nonce_pool = NULL;
 
-CBDATA_TYPE(authenticateStateData);
+CBDATA_TYPE(DigestAuthenticateStateData);
 
 /*
  *
@@ -127,7 +129,7 @@ authDigestNonceEncode(digest_nonce_h * nonce)
 static digest_nonce_h *
 authenticateDigestNonceNew(void)
 {
-    digest_nonce_h *newnonce = memPoolAlloc(digest_nonce_pool);
+    digest_nonce_h *newnonce = static_cast<digest_nonce_h *>(memPoolAlloc(digest_nonce_pool));
     digest_nonce_h *temp;
 
 /* NONCE CREATION - NOTES AND REASONING. RBC 20010108
@@ -181,7 +183,7 @@ authenticateDigestNonceNew(void)
      * loop until we get a unique nonce. The nonce creation must
      * have a random factor
      */
-    while ((temp = authenticateDigestNonceFindNonce(newnonce->hash.key))) {
+    while ((temp = authenticateDigestNonceFindNonce((char const *)(newnonce->hash.key)))) {
        /* create a new nonce */
        newnonce->noncedata.randomdata = squid_random();
        authDigestNonceEncode(newnonce);
@@ -317,7 +319,7 @@ authenticateDigestNonceNonceb64(digest_nonce_h * nonce)
 {
     if (!nonce)
        return NULL;
-    return nonce->hash.key;
+    return (char const *)nonce->hash.key;
 }
 
 static digest_nonce_h *
@@ -327,8 +329,8 @@ authenticateDigestNonceFindNonce(const char *nonceb64)
     if (nonceb64 == NULL)
        return NULL;
     debug(29, 9) ("authDigestNonceFindNonce:looking for nonceb64 '%s' in the nonce cache.\n", nonceb64);
-    nonce = hash_lookup(digest_nonce_cache, nonceb64);
-    if ((nonce == NULL) || (strcmp(nonce->hash.key, nonceb64)))
+    nonce = static_cast<digest_nonce_h *>(hash_lookup(digest_nonce_cache, nonceb64));
+    if ((nonce == NULL) || (strcmp(authenticateDigestNonceNonceb64(nonce), nonceb64)))
        return NULL;
     debug(29, 9) ("authDigestNonceFindNonce: Found nonce '%p'\n", nonce);
     return nonce;
@@ -435,13 +437,13 @@ authDigestUserFindUsername(const char *username)
     auth_user_hash_pointer *usernamehash;
     auth_user_t *auth_user;
     debug(29, 9) ("authDigestUserFindUsername: Looking for user '%s'\n", username);
-    if (username && (usernamehash = hash_lookup(proxy_auth_username_cache, username))) {
-       while ((usernamehash->auth_user->auth_type != AUTH_DIGEST) &&
+    if (username && (usernamehash = static_cast<auth_user_hash_pointer *>(hash_lookup(proxy_auth_username_cache, username)))) {
+       while ((authUserHashPointerUser(usernamehash)->auth_type != AUTH_DIGEST) &&
            (usernamehash->next))
            usernamehash = usernamehash->next;
        auth_user = NULL;
-       if (usernamehash->auth_user->auth_type == AUTH_DIGEST) {
-           auth_user = usernamehash->auth_user;
+       if (authUserHashPointerUser(usernamehash)->auth_type == AUTH_DIGEST) {
+           auth_user = authUserHashPointerUser(usernamehash);
        }
        return auth_user;
     }
@@ -451,7 +453,7 @@ authDigestUserFindUsername(const char *username)
 static digest_user_h *
 authDigestUserNew(void)
 {
-    return memPoolAlloc(digest_user_pool);
+    return static_cast<digest_user_h *>(memPoolAlloc(digest_user_pool));
 }
 
 static void
@@ -471,7 +473,7 @@ authDigestUserShutdown(void)
     auth_user_t *auth_user;
     hash_first(proxy_auth_username_cache);
     while ((usernamehash = ((auth_user_hash_pointer *) hash_next(proxy_auth_username_cache)))) {
-       auth_user = usernamehash->auth_user;
+       auth_user = authUserHashPointerUser(usernamehash);
        if (authscheme_list[auth_user->auth_module - 1].typestr &&
            strcmp(authscheme_list[auth_user->auth_module - 1].typestr, "digest") == 0)
            /* it's digest */
@@ -517,14 +519,14 @@ static void
 authDigestAURequestFree(auth_user_request_t * auth_user_request)
 {
     if (auth_user_request->scheme_data != NULL)
-       authDigestRequestDelete((digest_request_h *) auth_user_request->scheme_data);
+       authDigestRequestDelete(static_cast<digest_request_h *>( auth_user_request->scheme_data));
 }
 
 static digest_request_h *
 authDigestRequestNew(void)
 {
     digest_request_h *tmp;
-    tmp = memPoolAlloc(digest_request_pool);
+    tmp = static_cast<digest_request_h *>(memPoolAlloc(digest_request_pool));
     assert(tmp != NULL);
     return tmp;
 }
@@ -570,7 +572,7 @@ authDigestDone(void)
 static void
 authDigestCfgDump(StoreEntry * entry, const char *name, authScheme * scheme)
 {
-    auth_digest_config *config = scheme->scheme_data;
+    auth_digest_config *config = static_cast<auth_digest_config *>(scheme->scheme_data);
     wordlist *list = config->authenticate;
     debug(29, 9) ("authDigestCfgDump: Dumping configuration\n");
     storeAppendPrintf(entry, "%s %s", name, "digest");
@@ -633,7 +635,7 @@ authDigestConfigured(void)
 static int
 authDigestAuthenticated(auth_user_request_t * auth_user_request)
 {
-    digest_user_h *digest_user = auth_user_request->auth_user->scheme_data;
+    digest_user_h *digest_user = static_cast<digest_user_h *>(auth_user_request->auth_user->scheme_data);
     if (digest_user->flags.credentials_ok == 1)
        return 1;
     else
@@ -657,14 +659,14 @@ authenticateDigestAuthenticateUser(auth_user_request_t * auth_user_request, requ
     auth_user = auth_user_request->auth_user;
 
     assert(auth_user->scheme_data != NULL);
-    digest_user = auth_user->scheme_data;
+    digest_user = static_cast<digest_user_h *>(auth_user->scheme_data);
 
     /* if the check has corrupted the user, just return */
     if (digest_user->flags.credentials_ok == 3) {
        return;
     }
     assert(auth_user_request->scheme_data != NULL);
-    digest_request = auth_user_request->scheme_data;
+    digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
 
     /* do we have the HA1 */
     if (!digest_user->HA1created) {
@@ -714,13 +716,13 @@ static int
 authenticateDigestDirection(auth_user_request_t * auth_user_request)
 {
     digest_request_h *digest_request;
-    digest_user_h *digest_user = auth_user_request->auth_user->scheme_data;
+    digest_user_h *digest_user = static_cast<digest_user_h *>(auth_user_request->auth_user->scheme_data);
     /* null auth_user is checked for by authenticateDirection */
     switch (digest_user->flags.credentials_ok) {
     case 0:                    /* not checked */
        return -1;
     case 1:                    /* checked & ok */
-       digest_request = auth_user_request->scheme_data;
+       digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
        if (authDigestNonceIsStale(digest_request->nonce))
            /* send stale response to the client agent */
            return -2;
@@ -737,11 +739,11 @@ authenticateDigestDirection(auth_user_request_t * auth_user_request)
 static void
 authDigestAddHeader(auth_user_request_t * auth_user_request, HttpReply * rep, int accel)
 {
-    int type;
+    enum http_hdr_type type;
     digest_request_h *digest_request;
     if (!auth_user_request)
        return;
-    digest_request = auth_user_request->scheme_data;
+    digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
     /* don't add to authentication error pages */
     if ((!accel && rep->sline.status == HTTP_PROXY_AUTHENTICATION_REQUIRED)
        || (accel && rep->sline.status == HTTP_UNAUTHORIZED))
@@ -770,7 +772,7 @@ authDigestAddTrailer(auth_user_request_t * auth_user_request, HttpReply * rep, i
     digest_request_h *digest_request;
     if (!auth_user_request)
        return;
-    digest_request = auth_user_request->scheme_data;
+    digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
     /* has the header already been send? */
     if (digest_request->flags.authinfo_sent)
        return;
@@ -795,7 +797,7 @@ authenticateDigestFixHeader(auth_user_request_t * auth_user_request, HttpReply *
     int stale = 0;
     digest_nonce_h *nonce = authenticateDigestNonceNew();
     if (auth_user_request && authDigestAuthenticated(auth_user_request) && auth_user_request->scheme_data) {
-       digest_request = auth_user_request->scheme_data;
+       digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
        stale = authDigestNonceIsStale(digest_request->nonce);
     }
     if (digestConfig->authenticate) {
@@ -808,7 +810,7 @@ authenticateDigestFixHeader(auth_user_request_t * auth_user_request, HttpReply *
 static void
 authenticateDigestUserFree(auth_user_t * auth_user)
 {
-    digest_user_h *digest_user = auth_user->scheme_data;
+    digest_user_h *digest_user = static_cast<digest_user_h *>(auth_user->scheme_data);
     dlink_node *link, *tmplink;
     debug(29, 9) ("authenticateDigestFreeUser: Clearing Digest scheme data\n");
     if (!digest_user)
@@ -820,8 +822,8 @@ authenticateDigestUserFree(auth_user_t * auth_user)
        tmplink = link;
        link = link->next;
        dlinkDelete(tmplink, &digest_user->nonces);
-       authDigestNoncePurge(tmplink->data);
-       authDigestNonceUnlink(tmplink->data);
+       authDigestNoncePurge(static_cast<digest_nonce_h *>(tmplink->data));
+       authDigestNonceUnlink(static_cast<digest_nonce_h *>(tmplink->data));
        dlinkNodeDelete(tmplink);
     }
 
@@ -832,7 +834,7 @@ authenticateDigestUserFree(auth_user_t * auth_user)
 static void
 authenticateDigestHandleReply(void *data, char *reply)
 {
-    authenticateStateData *r = data;
+    DigestAuthenticateStateData *r = static_cast<DigestAuthenticateStateData *>(data);
     auth_user_request_t *auth_user_request;
     digest_request_h *digest_request;
     digest_user_h *digest_user;
@@ -848,8 +850,8 @@ authenticateDigestHandleReply(void *data, char *reply)
     assert(r->auth_user_request != NULL);
     auth_user_request = r->auth_user_request;
     assert(auth_user_request->scheme_data != NULL);
-    digest_request = auth_user_request->scheme_data;
-    digest_user = auth_user_request->auth_user->scheme_data;
+    digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
+    digest_user = static_cast<digest_user_h *>(auth_user_request->auth_user->scheme_data);
     if (reply && (strncasecmp(reply, "ERR", 3) == 0))
        digest_user->flags.credentials_ok = 3;
     else {
@@ -883,7 +885,7 @@ authDigestInit(authScheme * scheme)
                authenticateDigestStats, 0, 1);
            init++;
        }
-       CBDATA_INIT_TYPE(authenticateStateData);
+       CBDATA_INIT_TYPE(DigestAuthenticateStateData);
     }
 }
 
@@ -897,8 +899,7 @@ authDigestFreeConfig(authScheme * scheme)
     assert(digestConfig == scheme->scheme_data);
     if (digestConfig->authenticate)
        wordlistDestroy(&digestConfig->authenticate);
-    if (digestConfig->digestAuthRealm)
-       safe_free(digestConfig->digestAuthRealm);
+    safe_free(digestConfig->digestAuthRealm);
     xfree(digestConfig);
     digestConfig = NULL;
 }
@@ -911,7 +912,7 @@ authDigestParse(authScheme * scheme, int n_configured, char *param_str)
        /* this is the first param to be found */
        scheme->scheme_data = xmalloc(sizeof(auth_digest_config));
        memset(scheme->scheme_data, 0, sizeof(auth_digest_config));
-       digestConfig = scheme->scheme_data;
+       digestConfig = static_cast<auth_digest_config *>(scheme->scheme_data);
        digestConfig->authenticateChildren = 5;
        /* 5 minutes */
        digestConfig->nonceGCInterval = 5 * 60;
@@ -922,7 +923,7 @@ authDigestParse(authScheme * scheme, int n_configured, char *param_str)
        /* strict nonce count behaviour */
        digestConfig->NonceStrictness = 1;
     }
-    digestConfig = scheme->scheme_data;
+    digestConfig = static_cast<auth_digest_config *>(scheme->scheme_data);
     if (strcasecmp(param_str, "program") == 0) {
        if (digestConfig->authenticate)
            wordlistDestroy(&digestConfig->authenticate);
@@ -937,7 +938,7 @@ authDigestParse(authScheme * scheme, int n_configured, char *param_str)
     } else if (strcasecmp(param_str, "nonce_max_duration") == 0) {
        parse_time_t(&digestConfig->noncemaxduration);
     } else if (strcasecmp(param_str, "nonce_max_count") == 0) {
-       parse_int(&digestConfig->noncemaxuses);
+       parse_int((int *)&digestConfig->noncemaxuses);
     } else if (strcasecmp(param_str, "nonce_strictness") == 0) {
         parse_onoff(&digestConfig->NonceStrictness);
     } else {
@@ -964,7 +965,7 @@ authDigestNonceUserUnlink(digest_nonce_h * nonce)
        return;
     if (!nonce->auth_user)
        return;
-    digest_user = nonce->auth_user->scheme_data;
+    digest_user = static_cast<digest_user_h *>(nonce->auth_user->scheme_data);
     /* unlink from the user list. Yes we're crossing structures but this is the only 
      * time this code is needed
      */
@@ -974,7 +975,7 @@ authDigestNonceUserUnlink(digest_nonce_h * nonce)
        link = link->next;
        if (tmplink->data == nonce) {
            dlinkDelete(tmplink, &digest_user->nonces);
-           authDigestNonceUnlink(tmplink->data);
+           authDigestNonceUnlink(static_cast<digest_nonce_h *>(tmplink->data));
            dlinkNodeDelete(tmplink);
            link = NULL;
        }
@@ -996,7 +997,7 @@ authDigestUserLinkNonce(auth_user_t * auth_user, digest_nonce_h * nonce)
        return;
     if (!auth_user->scheme_data)
        return;
-    digest_user = auth_user->scheme_data;
+    digest_user = static_cast<digest_user_h *>(auth_user->scheme_data);
     node = digest_user->nonces.head;
     while (node && (node->data != nonce))
        node = node->next;
@@ -1014,10 +1015,10 @@ authDigestUserLinkNonce(auth_user_t * auth_user, digest_nonce_h * nonce)
 }
 
 /* authenticateDigestUsername: return a pointer to the username in the */
-static char *
-authenticateDigestUsername(auth_user_t * auth_user)
+static char const *
+authenticateDigestUsername(auth_user_t const * auth_user)
 {
-    digest_user_h *digest_user = auth_user->scheme_data;
+    digest_user_h *digest_user = static_cast<digest_user_h *>(auth_user->scheme_data);
     if (digest_user)
        return digest_user->username;
     return NULL;
@@ -1238,7 +1239,7 @@ authenticateDigestDecodeAuth(auth_user_request_t * auth_user_request, const char
        return;
     }
     /* check that we're not being hacked / the username hasn't changed */
-    if (nonce->auth_user && strcmp(username, authenticateUserUsername(nonce->auth_user))) {
+    if (nonce->auth_user && strcmp(username, nonce->auth_user->username())) {
        debug(29, 4) ("authenticateDigestDecode: Username for the nonce does not equal the username for the request\n");
        authDigestLogUsername(auth_user_request, username);
 
@@ -1303,7 +1304,7 @@ authenticateDigestDecodeAuth(auth_user_request_t * auth_user_request, const char
        authDigestUserLinkNonce(auth_user, nonce);
     } else {
        debug(29, 9) ("authDigestDecodeAuth: Found user '%s' in the user cache as '%p'\n", username, auth_user);
-       digest_user = auth_user->scheme_data;
+       digest_user = static_cast<digest_user_h *>(auth_user->scheme_data);
        xfree(username);
     }
     /*link the request and the user */
@@ -1327,7 +1328,7 @@ authenticateDigestDecodeAuth(auth_user_request_t * auth_user_request, const char
 static void
 authenticateDigestStart(auth_user_request_t * auth_user_request, RH * handler, void *data)
 {
-    authenticateStateData *r = NULL;
+    DigestAuthenticateStateData *r = NULL;
     char buf[8192];
     digest_request_h *digest_request;
     digest_user_h *digest_user;
@@ -1336,15 +1337,15 @@ authenticateDigestStart(auth_user_request_t * auth_user_request, RH * handler, v
     assert(auth_user_request->auth_user->auth_type == AUTH_DIGEST);
     assert(auth_user_request->auth_user->scheme_data != NULL);
     assert(auth_user_request->scheme_data != NULL);
-    digest_request = auth_user_request->scheme_data;
-    digest_user = auth_user_request->auth_user->scheme_data;
+    digest_request = static_cast<digest_request_h *>(auth_user_request->scheme_data);
+    digest_user = static_cast<digest_user_h *>(auth_user_request->auth_user->scheme_data);
     debug(29, 9) ("authenticateStart: '\"%s\":\"%s\"'\n", digest_user->username,
        digest_request->realm);
     if (digestConfig->authenticate == NULL) {
        handler(data, NULL);
        return;
     }
-    r = cbdataAlloc(authenticateStateData);
+    r = cbdataAlloc(DigestAuthenticateStateData);
     r->handler = handler;
     r->data = cbdataReference(data);
     r->auth_user_request = auth_user_request;
index 06816aa12b9be294c3c77ce356bd2f24bd4d8544..74b63f8f2c35f5963e148af3f22a147cb1ff1262 100644 (file)
@@ -8,11 +8,12 @@
 #include "rfc2617.h"
 
 /* Generic */
-typedef struct {
+class DigestAuthenticateStateData {
+public:
     void *data;
     auth_user_request_t *auth_user_request;
     RH *handler;
-} authenticateStateData;
+};
 
 typedef struct _digest_request_h digest_request_h;
 typedef struct _digest_user_h digest_user_h;
@@ -62,7 +63,7 @@ struct _digest_nonce_h {
     hash_link hash;            /* must be first */
     digest_nonce_data noncedata;
     /* number of uses we've seen of this nonce */
-    long nc;
+    unsigned long nc;
     /* reference count */
     short references;
     /* the auth_user this nonce has been tied to */
@@ -81,7 +82,7 @@ struct _auth_digest_config {
     wordlist *authenticate;
     time_t nonceGCInterval;
     time_t noncemaxduration;
-    int noncemaxuses;
+    unsigned int noncemaxuses;
     int NonceStrictness;
 };
 
index 92bd733898acc211a7b94db12e5f177eb72a9c82..f5b52e5e828befa80e6623d059aca060682d8dc8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_ntlm.cc,v 1.22 2002/08/28 04:33:51 wessels Exp $
+ * $Id: auth_ntlm.cc,v 1.23 2002/10/13 20:35:23 robertc Exp $
  *
  * DEBUG: section 29    NTLM Authenticator
  * AUTHOR: Robert Collins
@@ -40,6 +40,8 @@
 
 #include "squid.h"
 #include "auth_ntlm.h"
+#include "authenticate.h"
+#include "Store.h"
 
 extern AUTHSSETUP authSchemeSetup_ntlm;
 
@@ -85,6 +87,8 @@ static int authntlm_initialised = 0;
 static MemPool *ntlm_helper_state_pool = NULL;
 static MemPool *ntlm_user_pool = NULL;
 static MemPool *ntlm_request_pool = NULL;
+static MemPool *ntlm_user_hash_pool = NULL;
+
 static auth_ntlm_config *ntlmConfig = NULL;
 
 static hash_table *proxy_auth_cache = NULL;
@@ -138,7 +142,7 @@ authNTLMFreeConfig(authScheme * scheme)
 static void
 authNTLMCfgDump(StoreEntry * entry, const char *name, authScheme * scheme)
 {
-    auth_ntlm_config *config = scheme->scheme_data;
+    auth_ntlm_config *config = static_cast<auth_ntlm_config *>(scheme->scheme_data);
     wordlist *list = config->authenticate;
     storeAppendPrintf(entry, "%s %s", name, "ntlm");
     while (list != NULL) {
@@ -160,12 +164,12 @@ authNTLMParse(authScheme * scheme, int n_configured, char *param_str)
        /* this is the first param to be found */
        scheme->scheme_data = xmalloc(sizeof(auth_ntlm_config));
        memset(scheme->scheme_data, 0, sizeof(auth_ntlm_config));
-       ntlmConfig = scheme->scheme_data;
+       ntlmConfig = static_cast<auth_ntlm_config *>(scheme->scheme_data);
        ntlmConfig->authenticateChildren = 5;
        ntlmConfig->challengeuses = 0;
        ntlmConfig->challengelifetime = 60;
     }
-    ntlmConfig = scheme->scheme_data;
+    ntlmConfig = static_cast<auth_ntlm_config *>(scheme->scheme_data);
     if (strcasecmp(param_str, "program") == 0) {
        if (ntlmConfig->authenticate)
            wordlistDestroy(&ntlmConfig->authenticate);
@@ -231,6 +235,8 @@ authNTLMInit(authScheme * scheme)
            ntlm_user_pool = memPoolCreate("NTLM Scheme User Data", sizeof(ntlm_user_t));
        if (!ntlm_request_pool)
            ntlm_request_pool = memPoolCreate("NTLM Scheme Request Data", sizeof(ntlm_request_t));
+       if (!ntlm_user_hash_pool)
+           ntlm_user_hash_pool = memPoolCreate("NTLM Header Hash Data", sizeof(struct ProxyAuthCachePointer));
        authntlm_initialised = 1;
        if (ntlmauthenticators == NULL)
            ntlmauthenticators = helperStatefulCreate("ntlmauthenticator");
@@ -277,7 +283,7 @@ authNTLMConfigured()
 static int
 authenticateNTLMDirection(auth_user_request_t * auth_user_request)
 {
-    ntlm_request_t *ntlm_request = auth_user_request->scheme_data;
+    ntlm_request_t *ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     /* null auth_user is checked for by authenticateDirection */
     switch (ntlm_request->auth_state) {
     case AUTHENTICATE_STATE_NONE:      /* no progress at all. */
@@ -316,7 +322,7 @@ authenticateNTLMFixErrorHeader(auth_user_request_t * auth_user_request, HttpRepl
             * I haven't checked the RFC compliance of this hack - RBCollins */
            request->flags.proxy_keepalive = 0;
        } else {
-           ntlm_request = auth_user_request->scheme_data;
+           ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
            switch (ntlm_request->auth_state) {
            case AUTHENTICATE_STATE_NONE:
            case AUTHENTICATE_STATE_FAILED:
@@ -365,7 +371,7 @@ static void
 authNTLMAURequestFree(auth_user_request_t * auth_user_request)
 {
     if (auth_user_request->scheme_data)
-       authNTLMRequestFree((ntlm_request_t *) auth_user_request->scheme_data);
+       authNTLMRequestFree(static_cast< ntlm_request_t *>(auth_user_request->scheme_data));
     auth_user_request->scheme_data = NULL;
 }
 
@@ -373,8 +379,8 @@ static void
 authenticateNTLMFreeUser(auth_user_t * auth_user)
 {
     dlink_node *link, *tmplink;
-    ntlm_user_t *ntlm_user = auth_user->scheme_data;
-    auth_user_hash_pointer *proxy_auth_hash;
+    ntlm_user_t *ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+    ProxyAuthCachePointer *proxy_auth_hash;
 
     debug(29, 5) ("authenticateNTLMFreeUser: Clearing NTLM scheme data\n");
     if (ntlm_user->username)
@@ -383,14 +389,14 @@ authenticateNTLMFreeUser(auth_user_t * auth_user)
     link = ntlm_user->proxy_auth_list.head;
     while (link) {
        debug(29, 9) ("authenticateFreeProxyAuthUser: removing proxy_auth hash entry '%p'\n", link->data);
-       proxy_auth_hash = link->data;
+       proxy_auth_hash = static_cast<ProxyAuthCachePointer *>(link->data);
        tmplink = link;
        link = link->next;
        dlinkDelete(tmplink, &ntlm_user->proxy_auth_list);
        hash_remove_link(proxy_auth_cache, (hash_link *) proxy_auth_hash);
        /* free the key (usually the proxy_auth header) */
        xfree(proxy_auth_hash->key);
-       memFree(proxy_auth_hash, MEM_AUTH_USER_HASH);
+       memPoolFree(ntlm_user_hash_pool, proxy_auth_hash);
     }
     memPoolFree(ntlm_user_pool, ntlm_user);
     auth_user->scheme_data = NULL;
@@ -399,7 +405,7 @@ authenticateNTLMFreeUser(auth_user_t * auth_user)
 static stateful_helper_callback_t
 authenticateNTLMHandleplaceholder(void *data, void *lastserver, char *reply)
 {
-    authenticateStateData *r = data;
+    authenticateStateData *r = static_cast<authenticateStateData *>(data);
     stateful_helper_callback_t result = S_HELPER_UNKNOWN;
     /* we should only be called for placeholder requests - which have no reply string */
     assert(reply == NULL);
@@ -420,7 +426,7 @@ authenticateNTLMHandleplaceholder(void *data, void *lastserver, char *reply)
 static stateful_helper_callback_t
 authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
 {
-    authenticateStateData *r = data;
+    authenticateStateData *r = static_cast<authenticateStateData *>(data);
     ntlm_helper_state_t *helperstate;
     stateful_helper_callback_t result = S_HELPER_UNKNOWN;
     char *t = NULL;
@@ -448,7 +454,7 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        /* we have been given a Challenge */
        /* we should check we weren't given an empty challenge */
        /* copy the challenge to the state data */
-       helperstate = helperStatefulServerGetData(lastserver);
+       helperstate = static_cast<ntlm_helper_state_t *>(helperStatefulServerGetData(static_cast<helper_stateful_server *>(lastserver)));
        if (helperstate == NULL)
            fatal("lost NTLM helper state! quitting\n");
        helperstate->challenge = xstrndup(reply, NTLM_CHALLENGE_SZ + 5);
@@ -459,14 +465,14 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        assert(r->auth_user_request != NULL);
        assert(r->auth_user_request->auth_user->auth_type == AUTH_NTLM);
        auth_user_request = r->auth_user_request;
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        assert(ntlm_request != NULL);
        result = S_HELPER_DEFER;
        /* reserve the server for future authentication */
        ntlm_request->authserver_deferred = 1;
        debug(29, 9) ("authenticateNTLMHandleReply: helper '%p'\n", lastserver);
        assert(ntlm_request->auth_state == AUTHENTICATE_STATE_NEGOTIATE);
-       ntlm_request->authserver = lastserver;
+       ntlm_request->authserver = static_cast<helper_stateful_server *>(lastserver);
        ntlm_request->authchallenge = xstrndup(reply, NTLM_CHALLENGE_SZ + 5);
     } else if (strncasecmp(reply, "AF ", 3) == 0) {
        /* we're finished, release the helper */
@@ -475,9 +481,9 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        assert(r->auth_user_request->auth_user->auth_type == AUTH_NTLM);
        auth_user_request = r->auth_user_request;
        assert(auth_user_request->scheme_data != NULL);
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        auth_user = auth_user_request->auth_user;
-       ntlm_user = auth_user_request->auth_user->scheme_data;
+       ntlm_user = static_cast<ntlm_user_t *>(auth_user_request->auth_user->scheme_data);
        assert(ntlm_user != NULL);
        result = S_HELPER_RELEASE;
        /* we only expect OK when finishing the handshake */
@@ -500,9 +506,9 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        assert(r->auth_user_request->auth_user->auth_type == AUTH_NTLM);
        auth_user_request = r->auth_user_request;
        assert(auth_user_request->scheme_data != NULL);
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        auth_user = auth_user_request->auth_user;
-       ntlm_user = auth_user_request->auth_user->scheme_data;
+       ntlm_user = static_cast<ntlm_user_t *>(auth_user_request->auth_user->scheme_data);
        assert(ntlm_user != NULL);
        result = S_HELPER_RELEASE;
        /* we only expect LD when finishing the handshake */
@@ -521,8 +527,8 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        auth_user_request = r->auth_user_request;
        auth_user = auth_user_request->auth_user;
        assert(auth_user != NULL);
-       ntlm_user = auth_user->scheme_data;
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        assert((ntlm_user != NULL) && (ntlm_request != NULL));
        /* todo: action of Negotiate state on error */
        result = S_HELPER_RELEASE;      /*some error has occured. no more requests */
@@ -545,13 +551,13 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        auth_user_request = r->auth_user_request;
        auth_user = auth_user_request->auth_user;
        assert(auth_user != NULL);
-       ntlm_user = auth_user->scheme_data;
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        assert((ntlm_user != NULL) && (ntlm_request != NULL));
        result = S_HELPER_RELEASE;      /*some error has occured. no more requests for 
                                         * this helper */
        assert(ntlm_request->authserver ? ntlm_request->authserver == lastserver : 1);
-       helperstate = helperStatefulServerGetData(ntlm_request->authserver);
+       helperstate = static_cast<ntlm_helper_state_t *>(helperStatefulServerGetData(ntlm_request->authserver));
        ntlm_request->authserver = NULL;
        if (ntlm_request->auth_state == AUTHENTICATE_STATE_NEGOTIATE) {
            /* The helper broke on YR. It automatically
@@ -584,8 +590,8 @@ authenticateNTLMHandleReply(void *data, void *lastserver, char *reply)
        auth_user_request = r->auth_user_request;
        auth_user = auth_user_request->auth_user;
        assert(auth_user != NULL);
-       ntlm_user = auth_user->scheme_data;
-       ntlm_request = auth_user_request->scheme_data;
+       ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+       ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
        assert((ntlm_user != NULL) && (ntlm_request != NULL));
        debug(29, 1) ("authenticateNTLMHandleReply: *** Unsupported helper response ***, '%s'\n", reply);
        /* **** NOTE THIS CODE IS EFFECTIVELY UNTESTED **** */
@@ -658,8 +664,8 @@ authenticateNTLMStart(auth_user_request_t * auth_user_request, RH * handler, voi
 
     assert(auth_user_request);
     auth_user = auth_user_request->auth_user;
-    ntlm_user = auth_user->scheme_data;
-    ntlm_request = auth_user_request->scheme_data;
+    ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+    ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     assert(ntlm_user);
     assert(ntlm_request);
     assert(handler);
@@ -702,7 +708,7 @@ authenticateNTLMStart(auth_user_request_t * auth_user_request, RH * handler, voi
         * 3: tell it to get a challenge, or give ntlmauthdone the challenge
         */
        server = helperStatefulDefer(ntlmauthenticators);
-       helperstate = server ? helperStatefulServerGetData(server) : NULL;
+       helperstate = server ? static_cast<ntlm_helper_state_t *>(helperStatefulServerGetData(server)) : NULL;
        while ((server != NULL) && authenticateNTLMChangeChallenge_p(helperstate)) {
            /* flag this helper for challenge changing */
            helperstate->starve = 1;
@@ -710,7 +716,7 @@ authenticateNTLMStart(auth_user_request_t * auth_user_request, RH * handler, voi
            helperStatefulReleaseServer(server);
            /* Get another deferrable server */
            server = helperStatefulDefer(ntlmauthenticators);
-           helperstate = server ? helperStatefulServerGetData(server) : NULL;
+           helperstate = server ? static_cast<ntlm_helper_state_t *>(helperStatefulServerGetData(server)) : NULL;
        }
        if (server == NULL)
            debug(29, 9) ("unable to get a deferred ntlm helper... all helpers are refreshing challenges. Queuing as a placeholder request.\n");
@@ -767,7 +773,7 @@ authenticateNTLMStart(auth_user_request_t * auth_user_request, RH * handler, voi
 static int
 authenticateNTLMHelperServerAvailable(void *data)
 {
-    ntlm_helper_state_t *statedata = data;
+    ntlm_helper_state_t *statedata = static_cast<ntlm_helper_state_t *>(data);
     if (statedata != NULL) {
        if (statedata->starve) {
            debug(29, 4) ("authenticateNTLMHelperServerAvailable: starving - returning 0\n");
@@ -784,7 +790,7 @@ authenticateNTLMHelperServerAvailable(void *data)
 static void
 authenticateNTLMHelperServerOnEmpty(void *data)
 {
-    ntlm_helper_state_t *statedata = data;
+    ntlm_helper_state_t *statedata = static_cast<ntlm_helper_state_t *>(data);
     if (statedata == NULL)
        return;
     if (statedata->starve) {
@@ -806,7 +812,7 @@ authenticateNTLMReleaseServer(auth_user_request_t * auth_user_request)
     ntlm_request_t *ntlm_request;
     assert(auth_user_request->auth_user->auth_type == AUTH_NTLM);
     assert(auth_user_request->scheme_data != NULL);
-    ntlm_request = auth_user_request->scheme_data;
+    ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     debug(29, 9) ("authenticateNTLMReleaseServer: releasing server '%p'\n", ntlm_request->authserver);
     helperStatefulReleaseServer(ntlm_request->authserver);
     ntlm_request->authserver = NULL;
@@ -820,28 +826,28 @@ authenticateNTLMOnCloseConnection(ConnStateData * conn)
     assert(conn != NULL);
     if (conn->auth_user_request != NULL) {
        assert(conn->auth_user_request->scheme_data != NULL);
-       ntlm_request = conn->auth_user_request->scheme_data;
+       ntlm_request = static_cast< ntlm_request_t *>(conn->auth_user_request->scheme_data);
        assert(ntlm_request->conn == conn);
        if (ntlm_request->authserver != NULL && ntlm_request->authserver_deferred)
            authenticateNTLMReleaseServer(conn->auth_user_request);
        /* unlock the connection based lock */
        debug(29, 9) ("authenticateNTLMOnCloseConnection: Unlocking auth_user from the connection.\n");
-       /* minor abstraction break here: FIXME */
+       /* This still breaks the abstraction, but is at least read only now */
        /* Ensure that the auth user request will be getting closed */
        /* IFF we start persisting the struct after the conn closes - say for logging
         * then this test may become invalid
         */
-       assert(conn->auth_user_request->references == 1);
+       assert(authenticateRequestRefCount(conn->auth_user_request) == 1);
        authenticateAuthUserRequestUnlock(conn->auth_user_request);
        conn->auth_user_request = NULL;
     }
 }
 
 /* authenticateUserUsername: return a pointer to the username in the */
-static char *
-authenticateNTLMUsername(auth_user_t * auth_user)
+static const char *
+authenticateNTLMUsername(auth_user_t const * auth_user)
 {
-    ntlm_user_t *ntlm_user = auth_user->scheme_data;
+    ntlm_user_t *ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
     if (ntlm_user)
        return ntlm_user->username;
     return NULL;
@@ -856,7 +862,7 @@ NTLMLastHeader(auth_user_request_t * auth_user_request)
     ntlm_request_t *ntlm_request;
     assert(auth_user_request != NULL);
     assert(auth_user_request->scheme_data != NULL);
-    ntlm_request = auth_user_request->scheme_data;
+    ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     return ntlm_request->ntlmauthenticate;
 }
 
@@ -899,18 +905,18 @@ authenticateNTLMcmpUsername(ntlm_user_t * u1, ntlm_user_t * u2)
 static void
 authenticateProxyAuthCacheAddLink(const char *key, auth_user_t * auth_user)
 {
-    auth_user_hash_pointer *proxy_auth_hash;
+    struct ProxyAuthCachePointer *proxy_auth_hash;
     dlink_node *node;
     ntlm_user_t *ntlm_user;
-    ntlm_user = auth_user->scheme_data;
+    ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
     node = ntlm_user->proxy_auth_list.head;
     /* prevent duplicates */
     while (node) {
-       if (!strcmp(key, ((auth_user_hash_pointer *) node->data)->key))
+       if (!strcmp(key, ((struct ProxyAuthCachePointer *) node->data)->key))
            return;
        node = node->next;
     }
-    proxy_auth_hash = memAllocate(MEM_AUTH_USER_HASH);
+    proxy_auth_hash = static_cast<ProxyAuthCachePointer *>(memPoolAlloc(ntlm_user_hash_pool));
     proxy_auth_hash->key = xstrdup(key);
     proxy_auth_hash->auth_user = auth_user;
     dlinkAddTail(proxy_auth_hash, &proxy_auth_hash->link, &ntlm_user->proxy_auth_list);
@@ -921,7 +927,7 @@ authenticateProxyAuthCacheAddLink(const char *key, auth_user_t * auth_user)
 static int
 authNTLMAuthenticated(auth_user_request_t * auth_user_request)
 {
-    ntlm_request_t *ntlm_request = auth_user_request->scheme_data;
+    ntlm_request_t *ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     if (ntlm_request->auth_state == AUTHENTICATE_STATE_DONE)
        return 1;
     debug(29, 9) ("User not fully authenticated.\n");
@@ -932,7 +938,8 @@ static void
 authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, request_t * request, ConnStateData * conn, http_hdr_type type)
 {
     const char *proxy_auth;
-    auth_user_hash_pointer *usernamehash, *proxy_auth_hash = NULL;
+    struct ProxyAuthCachePointer *proxy_auth_hash = NULL;
+    auth_user_hash_pointer *usernamehash;
     auth_user_t *auth_user;
     ntlm_request_t *ntlm_request;
     ntlm_user_t *ntlm_user;
@@ -945,8 +952,8 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques
     assert(auth_user->auth_type == AUTH_NTLM);
     assert(auth_user->scheme_data != NULL);
     assert(auth_user_request->scheme_data != NULL);
-    ntlm_user = auth_user->scheme_data;
-    ntlm_request = auth_user_request->scheme_data;
+    ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
+    ntlm_request = static_cast< ntlm_request_t *>(auth_user_request->scheme_data);
     switch (ntlm_request->auth_state) {
     case AUTHENTICATE_STATE_NONE:
        /* we've recieved a negotiate request. pass to a helper */
@@ -987,7 +994,7 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques
        /* see if we already know this user's authenticate */
        debug(29, 9) ("aclMatchProxyAuth: cache lookup with key '%s'\n", ntlmhash);
        assert(proxy_auth_cache != NULL);
-       proxy_auth_hash = hash_lookup(proxy_auth_cache, ntlmhash);
+       proxy_auth_hash = static_cast<ProxyAuthCachePointer *>(hash_lookup(proxy_auth_cache, ntlmhash));
        if (!proxy_auth_hash) { /* not in the hash table */
            debug(29, 4) ("authenticateNTLMAuthenticateUser: proxy-auth cache miss.\n");
            ntlm_request->auth_state = AUTHENTICATE_STATE_RESPONSE;
@@ -1005,7 +1012,7 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques
            debug(29, 9) ("found matching cache entry\n");
            assert(auth_user->auth_type == AUTH_NTLM);
            /* get the existing entries details */
-           ntlm_user = auth_user->scheme_data;
+           ntlm_user = static_cast<ntlm_user_t *>(auth_user->scheme_data);
            debug(29, 9) ("Username to be used is %s\n", ntlm_user->username);
            /* on ntlm auth we do not unlock the auth_user until the
             * connection is dropped. Thank MS for this quirk */
@@ -1028,20 +1035,20 @@ authenticateNTLMAuthenticateUser(auth_user_request_t * auth_user_request, reques
            ntlm_request->authchallenge);
        /* see if this is an existing user with a different proxy_auth 
         * string */
-       if ((usernamehash = hash_lookup(proxy_auth_username_cache, ntlm_user->username))) {
-           while ((usernamehash->auth_user->auth_type != auth_user->auth_type) && (usernamehash->next) && !authenticateNTLMcmpUsername(usernamehash->auth_user->scheme_data, ntlm_user))
+       if ((usernamehash = static_cast<AuthUserHashPointer *>(hash_lookup(proxy_auth_username_cache, ntlm_user->username)))) {
+           while ((authUserHashPointerUser(usernamehash)->auth_type != auth_user->auth_type) && (usernamehash->next) && !authenticateNTLMcmpUsername(static_cast<ntlm_user_t *>(authUserHashPointerUser(usernamehash)->scheme_data), ntlm_user))
                usernamehash = usernamehash->next;
-           if (usernamehash->auth_user->auth_type == auth_user->auth_type) {
+           if (authUserHashPointerUser(usernamehash)->auth_type == auth_user->auth_type) {
                /*
                 * add another link from the new proxy_auth to the
                 * auth_user structure and update the information */
                assert(proxy_auth_hash == NULL);
-               authenticateProxyAuthCacheAddLink(ntlmhash, usernamehash->auth_user);
+               authenticateProxyAuthCacheAddLink(ntlmhash, authUserHashPointerUser(usernamehash));
                /* we can't seamlessly recheck the username due to the 
                 * challenge nature of the protocol. Just free the 
                 * temporary auth_user */
-               authenticateAuthUserMerge(auth_user, usernamehash->auth_user);
-               auth_user = usernamehash->auth_user;
+               authenticateAuthUserMerge(auth_user, authUserHashPointerUser(usernamehash));
+               auth_user = authUserHashPointerUser(usernamehash);
                auth_user_request->auth_user = auth_user;
            }
        } else {
index 13a191edabe353228c0de7286b4fea54c5e0a106..069d63d7c82298675326eaa07347b91d30c6d090 100644 (file)
@@ -62,13 +62,17 @@ struct _auth_ntlm_config {
     time_t challengelifetime;
 };
 
+struct ProxyAuthCachePointer {
+    /* first two items must be same as hash_link */
+    char *key;
+    auth_user_hash_pointer *next;dlink_node link;
+    /* other hash entries that point to the same auth_user */
+    auth_user_t *auth_user;
+};
+
 typedef struct _ntlm_user ntlm_user_t;
 typedef struct _ntlm_request ntlm_request_t;
 typedef struct _ntlm_helper_state_t ntlm_helper_state_t;
 typedef struct _auth_ntlm_config auth_ntlm_config;
 
-extern MemPool *ntlm_helper_state_pool;
-extern MemPool *ntlm_user_pool;
-extern MemPool *ntlm_request_pool;
-
 #endif
index 956e7be3a7c7da47f11328623fd6ef0c1f6adfc6..64aea03d32a5b02a8ccb844c54216743d4f40c5d 100644 (file)
@@ -3,6 +3,7 @@ echo "/* automatically generated by $0 $*"
 echo " * do not edit"
 echo " */"
 echo "#include \"squid.h\""
+echo "#include \"authenticate.h\""
 echo ""
 for module in "$@"; do
    echo "extern AUTHSSETUP authSchemeSetup_${module};"
index 673d35b5d0e79c3d3b0ed4e7a11d8cd995783884..4b077f18b7aec057044b7990dfb87dafc517b0b4 100644 (file)
@@ -1,9 +1,9 @@
 
 /*
- * $Id: authenticate.cc,v 1.43 2002/10/08 03:30:41 wessels Exp $
+ * $Id: authenticate.cc,v 1.44 2002/10/13 20:34:58 robertc Exp $
  *
  * DEBUG: section 29    Authenticator
- * AUTHOR: Duane Wessels
+ * AUTHOR:  Robert Collins
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
  * ----------------------------------------------------------
  * They DO NOT perform access control or auditing.
  * See acl.c for access control and client_side.c for auditing */
 
-
 #include "squid.h"
+#include "authenticate.h"
 
 CBDATA_TYPE(auth_user_ip_t);
 
-static void
-     authenticateDecodeAuth(const char *proxy_auth, auth_user_request_t * auth_user_request);
-static auth_acl_t authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr);
-
 /*
  *
  * Private Data
  *
  */
 
-MemPool *auth_user_request_pool = NULL;
+MemPool *AuthUserRequest::pool = NULL;
+MemPool *AuthUserHashPointer::pool = NULL;
+MemPool *AuthUser::pool = NULL;
+/*
+ *     memDataInit(MEM_AUTH_USER_T, "auth_user_t",
+ *             sizeof(auth_user_t), 0);
+ */
 
 /* Generic Functions */
 
@@ -62,8 +64,8 @@ authenticateAuthSchemeConfigured(const char *proxy_auth)
 {
     authScheme *scheme;
     int i;
-    for (i = 0; i < Config.authConfig.n_configured; i++) {
-       scheme = Config.authConfig.schemes + i;
+    for (i = 0; i < Config.authConfiguration.n_configured; i++) {
+       scheme = Config.authConfiguration.schemes + i;
        if ((strncasecmp(proxy_auth, scheme->typestr, strlen(scheme->typestr)) == 0) &&
            (authscheme_list[scheme->Id].Active()))
            return 1;
@@ -84,24 +86,40 @@ authenticateAuthSchemeId(const char *typestr)
 }
 
 void
-authenticateDecodeAuth(const char *proxy_auth, auth_user_request_t * auth_user_request)
+AuthUserRequest::decodeAuth(const char *proxy_auth)
 {
     int i = 0;
     assert(proxy_auth != NULL);
-    assert(auth_user_request != NULL); /* we need this created for us. */
     debug(29, 9) ("authenticateDecodeAuth: header = '%s'\n", proxy_auth);
-    if (authenticateAuthSchemeConfigured(proxy_auth)) {
-       /* we're configured to use this scheme - but is it active ? */
-       if ((i = authenticateAuthSchemeId(proxy_auth)) != -1) {
-           authscheme_list[i].decodeauth(auth_user_request, proxy_auth);
-           auth_user_request->auth_user->auth_module = i + 1;
-           return;
-       }
+    if (!authenticateAuthSchemeConfigured(proxy_auth) || 
+       (i = authenticateAuthSchemeId(proxy_auth)) == -1) {
+       debug(29, 1) ("AuthUserRequest::decodeAuth: Unsupported or unconfigured proxy-auth scheme, '%s'\n", proxy_auth);
+       return;
     }
-    debug(29, 1)
-       ("authenticateDecodeAuth: Unsupported or unconfigured proxy-auth scheme, '%s'\n",
-       proxy_auth);
-    return;
+    assert (i >= 0);
+    authscheme_list[i].decodeauth(this, proxy_auth);
+    auth_user->auth_module = i + 1;
+}
+
+size_t
+AuthUserRequest::refCount () const
+{
+    return references;
+}
+
+char const *
+AuthUserRequest::username() const
+{
+    if (auth_user)
+       return auth_user->username();
+    else
+       return NULL;
+}
+
+size_t
+authenticateRequestRefCount (auth_user_request_t *aRequest)
+{
+    return aRequest->refCount();
 }
 
 /* clear any connection related authentication details */
@@ -126,17 +144,23 @@ authenticateOnCloseConnection(ConnStateData * conn)
 
 /* send the initial data to an authenticator module */
 void
-authenticateStart(auth_user_request_t * auth_user_request, RH * handler, void *data)
+AuthUserRequest::start(RH * handler, void *data)
 {
-    assert(auth_user_request);
     assert(handler);
-    debug(29, 9) ("authenticateStart: auth_user_request '%p'\n", auth_user_request);
-    if (auth_user_request->auth_user->auth_module > 0)
-       authscheme_list[auth_user_request->auth_user->auth_module - 1].authStart(auth_user_request, handler, data);
+    debug(29, 9) ("authenticateStart: auth_user_request '%p'\n", this);
+    if (auth_user->auth_module > 0)
+       authscheme_list[auth_user->auth_module - 1].authStart(this, handler, data);
     else
        handler(data, NULL);
 }
 
+void
+authenticateStart(auth_user_request_t * auth_user_request, RH * handler, void *data)
+{
+    assert(auth_user_request);
+    auth_user_request->start (handler, data);
+}
+
 /*
  * Check a auth_user pointer for validity. Does not check passwords, just data
  * sensability. Broken or Unknown auth_types are not valid for use...
@@ -176,74 +200,117 @@ authenticateValidateUser(auth_user_request_t * auth_user_request)
 
 }
 
+void *
+AuthUser::operator new (unsigned int byteCount)
+{
+    /* derived classes with different sizes must implement their own new */
+    assert (byteCount == sizeof (AuthUser));
+    if (!pool)
+       pool = memPoolCreate("Authenticate User Data", sizeof (auth_user_t));
+    return static_cast<auth_user_t *> (memPoolAlloc(pool));
+}
+
+AuthUser::AuthUser (const char *scheme) :
+auth_type (AUTH_UNKNOWN), auth_module (authenticateAuthSchemeId(scheme) + 1),
+usernamehash (NULL), ipcount (0), expiretime (0), references (0), scheme_data (NULL)
+{
+    proxy_auth_list.head = proxy_auth_list.tail = NULL;
+    proxy_match_cache.head = proxy_match_cache.tail = NULL;
+    ip_list.head = ip_list.tail = NULL;
+    requests.head = requests.tail = NULL;
+}
+
+char const *
+AuthUser::username () const
+{
+    if (auth_module <= 0)
+       return NULL;
+    return authscheme_list[auth_module - 1].authUserUsername(this);
+}
+
 auth_user_t *
 authenticateAuthUserNew(const char *scheme)
 {
-    auth_user_t *temp_auth;
-    temp_auth = memAllocate(MEM_AUTH_USER_T);
-    assert(temp_auth != NULL);
-    memset(temp_auth, '\0', sizeof(auth_user_t));
-    temp_auth->auth_type = AUTH_UNKNOWN;
-    temp_auth->references = 0;
-    temp_auth->auth_module = authenticateAuthSchemeId(scheme) + 1;
-    temp_auth->usernamehash = NULL;
-    return temp_auth;
+    return new AuthUser (scheme);
 }
 
-static auth_user_request_t *
-authenticateAuthUserRequestNew(void)
+void *
+AuthUserRequest::operator new (unsigned int byteCount)
 {
-    auth_user_request_t *temp_request;
-    if (!auth_user_request_pool)
-       auth_user_request_pool = memPoolCreate("Authenticate Request Data", sizeof(auth_user_request_t));
-    temp_request = memPoolAlloc(auth_user_request_pool);
-    assert(temp_request != NULL);
-    memset(temp_request, '\0', sizeof(auth_user_request_t));
-    return temp_request;
+    /* derived classes with different sizes must implement their own new */
+    assert (byteCount == sizeof (AuthUserRequest));
+    if (!pool)
+       pool = memPoolCreate("Authenticate Request Data", sizeof(auth_user_request_t));
+    return static_cast<auth_user_request_t *>(memPoolAlloc(pool));
 }
 
-static void
-authenticateAuthUserRequestFree(auth_user_request_t * auth_user_request)
+void
+AuthUserRequest::operator delete (void *address)
+{
+    memPoolFree(pool, address);
+}
+
+AuthUserRequest::AuthUserRequest():auth_user(NULL), scheme_data (NULL), message(NULL),
+  references (0), lastReply (AUTH_ACL_CANNOT_AUTHENTICATE)
+{
+}
+AuthUserRequest::~AuthUserRequest()
 {
     dlink_node *link;
-    debug(29, 5) ("authenticateAuthUserRequestFree: freeing request %p\n", auth_user_request);
-    if (!auth_user_request)
-       return;
-    assert(auth_user_request->references == 0);
-    if (auth_user_request->auth_user) {
-       if (auth_user_request->scheme_data != NULL) {
+    debug(29, 5) ("AuthUserRequest::~AuthUserRequest: freeing request %p\n", this);
+    assert(references == 0);
+    if (auth_user) {
+       if (scheme_data != NULL) {
            /* we MUST know the module */
-           assert((auth_user_request->auth_user->auth_module > 0));
+           assert(auth_user->auth_module > 0);
            /* and the module MUST support requestFree if it has created scheme data */
-           assert(authscheme_list[auth_user_request->auth_user->auth_module - 1].requestFree != NULL);
-           authscheme_list[auth_user_request->auth_user->auth_module - 1].requestFree(auth_user_request);
+           assert(authscheme_list[auth_user->auth_module - 1].requestFree != NULL);
+           authscheme_list[auth_user->auth_module - 1].requestFree(this);
        }
        /* unlink from the auth_user struct */
-       link = auth_user_request->auth_user->requests.head;
-       while (link && (link->data != auth_user_request))
+       link = auth_user->requests.head;
+       while (link && (link->data != this))
            link = link->next;
        assert(link != NULL);
-       dlinkDelete(link, &auth_user_request->auth_user->requests);
+       dlinkDelete(link, &auth_user->requests);
        dlinkNodeDelete(link);
 
        /* unlock the request structure's lock */
-       authenticateAuthUserUnlock(auth_user_request->auth_user);
-       auth_user_request->auth_user = NULL;
+       authenticateAuthUserUnlock(auth_user);
+       auth_user = NULL;
     } else
-       assert(auth_user_request->scheme_data == NULL);
-    if (auth_user_request->message)
-       xfree(auth_user_request->message);
-    memPoolFree(auth_user_request_pool, auth_user_request);
+       assert(scheme_data == NULL);
+    safe_free (message);
 }
 
-char *
+void
+AuthUserRequest::setDenyMessage (char const *aString)
+{
+    safe_free (message);
+    message = xstrdup (aString);
+}
+
+char const *
+AuthUserRequest::getDenyMessage ()
+{
+    return message;
+}
+
+char const *
 authenticateAuthUserRequestMessage(auth_user_request_t * auth_user_request)
 {
     if (auth_user_request)
-       return auth_user_request->message;
+       return auth_user_request->getDenyMessage();
     return NULL;
 }
 
+void
+authenticateSetDenyMessage (auth_user_request_t * auth_user_request, char const *message)
+{
+    auth_user_request->setDenyMessage (message);
+}
+
 static void
 authenticateAuthUserRequestSetIp(auth_user_request_t * auth_user_request, struct in_addr ipaddr)
 {
@@ -265,7 +332,7 @@ authenticateAuthUserRequestSetIp(auth_user_request_t * auth_user_request, struct
        tempnode = (auth_user_ip_t *) ipdata->node.next;
        /* walk the ip list */
        if (ipdata->ipaddr.s_addr == ipaddr.s_addr) {
-           /* This ip has already been seen. */
+           /* This ip has alreadu been seen. */
            found = 1;
            /* update IP ttl */
            ipdata->ip_expiretime = squid_curtime;
@@ -291,7 +358,7 @@ authenticateAuthUserRequestSetIp(auth_user_request_t * auth_user_request, struct
     auth_user->ipcount++;
 
     ip1 = xstrdup(inet_ntoa(ipaddr));
-    debug(29, 2) ("authenticateAuthUserRequestSetIp: user '%s' has been seen at a new IP address (%s)\n ", authenticateUserUsername(auth_user), ip1);
+    debug(29, 2) ("authenticateAuthUserRequestSetIp: user '%s' has been seen at a new IP address (%s)\n ", auth_user->username(), ip1);
     safe_free(ip1);
 }
 
@@ -362,15 +429,15 @@ authenticateAuthUserRequestIPCount(auth_user_request_t * auth_user_request)
  * Proxy Auth (or Auth) header. It may be a cached Auth User or a new
  * Unauthenticated structure. The structure is given an inital lock here.
  */
-static auth_user_request_t *
-authenticateGetAuthUser(const char *proxy_auth)
+auth_user_request_t *
+AuthUserRequest::createAuthUser(const char *proxy_auth)
 {
-    auth_user_request_t *auth_user_request = authenticateAuthUserRequestNew();
+    auth_user_request_t *result = new auth_user_request_t;
     /* and lock for the callers instance */
-    authenticateAuthUserRequestLock(auth_user_request);
+    result->lock();
     /* The scheme is allowed to provide a cached auth_user or a new one */
-    authenticateDecodeAuth(proxy_auth, auth_user_request);
-    return auth_user_request;
+    result->decodeAuth(proxy_auth);
+    return result;
 }
 
 /*
@@ -421,7 +488,7 @@ authenticateAuthenticateUser(auth_user_request_t * auth_user_request, request_t
  * the authenticateStart routine for rv==AUTH_ACL_HELPER
  */
 auth_acl_t
-authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr)
+AuthUserRequest::authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr)
 {
     const char *proxy_auth;
     assert(headertype != 0);
@@ -449,12 +516,12 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
        debug(28, 4) ("authenticateAuthenticate: broken auth or no proxy_auth header. Requesting auth header.\n");
        /* something wrong with the AUTH credentials. Force a new attempt */
        if (conn->auth_user_request) {
-           authenticateAuthUserRequestUnlock(conn->auth_user_request);
+           conn->auth_user_request->unlock();
            conn->auth_user_request = NULL;
        }
        if (*auth_user_request) {
            /* unlock the ACL lock */
-           authenticateAuthUserRequestUnlock(*auth_user_request);
+           (*auth_user_request)->unlock();
            auth_user_request = NULL;
        }
        return AUTH_ACL_CHALLENGE;
@@ -467,7 +534,7 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
     if (proxy_auth && conn->auth_user_request &&
        authenticateUserAuthenticated(conn->auth_user_request) &&
        strcmp(proxy_auth, authscheme_list[conn->auth_user_request->auth_user->auth_module - 1].authConnLastHeader(conn->auth_user_request))) {
-       debug(28, 2) ("authenticateAuthenticate: DUPLICATE AUTH - authentication header on already authenticated connection!. AU %p, Current user '%s' proxy_auth %s\n", conn->auth_user_request, authenticateUserRequestUsername(conn->auth_user_request), proxy_auth);
+       debug(28, 2) ("authenticateAuthenticate: DUPLICATE AUTH - authentication header on already authenticated connection!. AU %p, Current user '%s' proxy_auth %s\n", conn->auth_user_request, conn->auth_user_request->username(), proxy_auth);
        /* remove this request struct - the link is already authed and it can't be to 
         * reauth.
         */
@@ -477,7 +544,7 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
         */
        assert(*auth_user_request == NULL);
        /* unlock the conn lock on the auth_user_request */
-       authenticateAuthUserRequestUnlock(conn->auth_user_request);
+       conn->auth_user_request->unlock();
        /* mark the conn as non-authed. */
        conn->auth_user_request = NULL;
        /* Set the connection auth type */
@@ -494,34 +561,34 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
            /* beginning of a new request check */
            debug(28, 4) ("authenticateAuthenticate: no connection authentication type\n");
            if (!authenticateValidateUser(*auth_user_request =
-                   authenticateGetAuthUser(proxy_auth))) {
+                   createAuthUser(proxy_auth))) {
                /* the decode might have left a username for logging, or a message to
                 * the user */
-               if (authenticateUserRequestUsername(*auth_user_request)) {
+               if ((*auth_user_request)->username()) {
                    /* lock the user for the request structure link */
-                   authenticateAuthUserRequestLock(*auth_user_request);
+                   (*auth_user_request)->lock();
                    request->auth_user_request = *auth_user_request;
                }
-               /* unlock the ACL reference granted by ...GetAuthUser. */
-               authenticateAuthUserRequestUnlock(*auth_user_request);
+               /* unlock the ACL reference granted by ...createAuthUser. */
+               (*auth_user_request)->unlock();
                *auth_user_request = NULL;
                return AUTH_ACL_CHALLENGE;
            }
-           /* the user_request comes prelocked for the caller to GetAuthUser (us) */
+           /* the user_request comes prelocked for the caller to createAuthUser (us) */
        } else if (request->auth_user_request) {
            *auth_user_request = request->auth_user_request;
            /* lock the user request for this ACL processing */
-           authenticateAuthUserRequestLock(*auth_user_request);
+           (*auth_user_request)->lock();
        } else {
            if (conn->auth_user_request != NULL) {
                *auth_user_request = conn->auth_user_request;
                /* lock the user request for this ACL processing */
-               authenticateAuthUserRequestLock(*auth_user_request);
+               (*auth_user_request)->lock();
            } else {
                /* failed connection based authentication */
                debug(28, 4) ("authenticateAuthenticate: Auth user request %p conn-auth user request %p conn type %d authentication failed.\n",
                    *auth_user_request, conn->auth_user_request, conn->auth_type);
-               authenticateAuthUserRequestUnlock(*auth_user_request);
+               (*auth_user_request)->unlock();
                *auth_user_request = NULL;
                return AUTH_ACL_CHALLENGE;
            }
@@ -535,7 +602,7 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
        case 1:
        case -2:
            /* this ACL check is finished. Unlock. */
-           authenticateAuthUserRequestUnlock(*auth_user_request);
+           (*auth_user_request)->unlock();
            *auth_user_request = NULL;
            return AUTH_ACL_CHALLENGE;
        case -1:
@@ -547,15 +614,15 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
        /* on 0 the authentication is finished - fallthrough */
        /* See if user authentication failed for some reason */
        if (!authenticateUserAuthenticated(*auth_user_request)) {
-           if ((authenticateUserRequestUsername(*auth_user_request))) {
+           if ((*auth_user_request)->username()) {
                if (!request->auth_user_request) {
                    /* lock the user for the request structure link */
-                   authenticateAuthUserRequestLock(*auth_user_request);
+                   (*auth_user_request)->lock();
                    request->auth_user_request = *auth_user_request;
                }
            }
            /* this ACL check is finished. Unlock. */
-           authenticateAuthUserRequestUnlock(*auth_user_request);
+           (*auth_user_request)->unlock();
            *auth_user_request = NULL;
            return AUTH_ACL_CHALLENGE;
        }
@@ -564,17 +631,17 @@ authenticateAuthenticate(auth_user_request_t ** auth_user_request, http_hdr_type
     /* the credentials are correct at this point */
     if (!request->auth_user_request) {
        /* lock the user for the request structure link */
-       authenticateAuthUserRequestLock(*auth_user_request);
+       (*auth_user_request)->lock();
        request->auth_user_request = *auth_user_request;
        authenticateAuthUserRequestSetIp(*auth_user_request, src_addr);
     }
     /* Unlock the request - we've authenticated it */
-    authenticateAuthUserRequestUnlock(*auth_user_request);
+    (*auth_user_request)->unlock();
     return AUTH_AUTHENTICATED;
 }
 
 auth_acl_t
-authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr)
+AuthUserRequest::tryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr)
 {
     /* If we have already been called, return the cached value */
     auth_user_request_t *t = *auth_user_request ? *auth_user_request : conn->auth_user_request;
@@ -586,7 +653,7 @@ authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_req
        return t->lastReply;
     }
     /* ok, call the actual authenticator routine. */
-    result = authenticateAuthenticate(auth_user_request, headertype, request, conn, src_addr);
+    result = authenticate(auth_user_request, headertype, request, conn, src_addr);
     t = *auth_user_request ? *auth_user_request : conn->auth_user_request;
     if (t && result != AUTH_ACL_CANNOT_AUTHENTICATE &&
        result != AUTH_ACL_HELPER)
@@ -594,27 +661,18 @@ authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_req
     return result;
 }
 
-
-/* authenticateUserUsername: return a pointer to the username in the */
-char *
-authenticateUserUsername(auth_user_t * auth_user)
+auth_acl_t
+authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr)
 {
-    if (!auth_user)
-       return NULL;
-    if (auth_user->auth_module > 0)
-       return authscheme_list[auth_user->auth_module - 1].authUserUsername(auth_user);
-    return NULL;
+    return AuthUserRequest::tryToAuthenticateAndSetAuthUser (auth_user_request, headertype,request, conn, src_addr);
 }
 
 /* authenticateUserRequestUsername: return a pointer to the username in the */
-char *
+char const *
 authenticateUserRequestUsername(auth_user_request_t * auth_user_request)
 {
     assert(auth_user_request != NULL);
-    if (auth_user_request->auth_user)
-       return authenticateUserUsername(auth_user_request->auth_user);
-    else
-       return NULL;
+    return auth_user_request->username();
 }
 
 /* returns
@@ -674,20 +732,7 @@ authenticateInit(authConfig * config)
        }
     }
     if (!proxy_auth_username_cache)
-       authenticateInitUserCache();
-}
-
-static void
-authenticateProxyUserCacheFree(void *usernamehash_p)
-{
-    auth_user_hash_pointer *usernamehash = usernamehash_p;
-    auth_user_t *auth_user;
-    char *username = NULL;
-    auth_user = usernamehash->auth_user;
-    username = authenticateUserUsername(auth_user);
-    if ((authenticateAuthUserInuse(auth_user) - 1))
-       debug(29, 1) ("authenticateProxyUserCacheFree: entry in use\n");
-    authenticateAuthUserUnlock(auth_user);
+       AuthUser::cacheInit();
 }
 
 void
@@ -697,7 +742,7 @@ authenticateShutdown(void)
     debug(29, 2) ("authenticateShutdown: shutting down auth schemes\n");
     /* free the cache if we are shutting down */
     if (shutting_down)
-       hashFreeItems(proxy_auth_username_cache, authenticateProxyUserCacheFree);
+       hashFreeItems(proxy_auth_username_cache, AuthUserHashPointer::removeFromCache);
 
     /* find the currently known authscheme types */
     for (i = 0; authscheme_list && authscheme_list[i].typestr; i++) {
@@ -711,10 +756,10 @@ authenticateShutdown(void)
 }
 
 void
-authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated, int internal)
+AuthUserRequest::addReplyAuthHeader(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated, int internal)
 /* send the auth types we are configured to support (and have compiled in!) */
 {
-    int type = 0;
+    http_hdr_type type;
     switch (rep->sline.status) {
     case HTTP_PROXY_AUTHENTICATION_REQUIRED:
        /* Proxy authorisation needed */
@@ -727,6 +772,7 @@ authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request,
     default:
        /* Keep GCC happy */
        /* some other HTTP status */
+       type = HDR_ENUM_END;
        break;
     }
     debug(29, 9) ("authenticateFixHeader: headertype:%d authuser:%p\n", type, auth_user_request);
@@ -740,8 +786,8 @@ authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request,
            int i;
            authScheme *scheme;
            /* call each configured & running authscheme */
-           for (i = 0; i < Config.authConfig.n_configured; i++) {
-               scheme = Config.authConfig.schemes + i;
+           for (i = 0; i < Config.authConfiguration.n_configured; i++) {
+               scheme = Config.authConfiguration.schemes + i;
                if (authscheme_list[scheme->Id].Active())
                    authscheme_list[scheme->Id].authFixHeader(NULL, rep, type,
                        request);
@@ -750,7 +796,7 @@ authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request,
            }
        }
     }
-    /*
+    /* 
      * allow protocol specific headers to be _added_ to the existing
      * response - ie digest auth
      */
@@ -761,6 +807,13 @@ authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request,
        auth_user_request->lastReply = AUTH_ACL_CANNOT_AUTHENTICATE;
 }
 
+void
+authenticateFixHeader(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated, int internal)
+{
+    AuthUserRequest::addReplyAuthHeader(rep, auth_user_request, request, accelerated, internal);
+}
+  
+
 /* call the active auth module and allow it to add a trailer to the request */
 void
 authenticateAddTrailer(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated)
@@ -791,35 +844,47 @@ authenticateAuthUserUnlock(auth_user_t * auth_user)
     }
     debug(29, 9) ("authenticateAuthUserUnlock auth_user '%p' now at '%ld'.\n", auth_user, (long int) auth_user->references);
     if (auth_user->references == 0)
-       authenticateFreeProxyAuthUser(auth_user);
+       delete auth_user;
 }
 
 void
-authenticateAuthUserRequestLock(auth_user_request_t * auth_user_request)
+AuthUserRequest::lock()
 {
-    debug(29, 9) ("authenticateAuthUserRequestLock auth_user request '%p'.\n", auth_user_request);
-    assert(auth_user_request != NULL);
-    auth_user_request->references++;
-    debug(29, 9) ("authenticateAuthUserRequestLock auth_user request '%p' now at '%ld'.\n", auth_user_request, (long int) auth_user_request->references);
+    debug(29, 9) ("AuthUserRequest::lock: auth_user request '%p'.\n", this);
+    assert(this != NULL);
+    ++references;
+    debug(29, 9) ("AuthUserRequest::lock: auth_user request '%p' now at '%ld'.\n", this, (long int) references);
 }
 
 void
-authenticateAuthUserRequestUnlock(auth_user_request_t * auth_user_request)
+AuthUserRequest::unlock()
 {
-    debug(29, 9) ("authenticateAuthUserRequestUnlock auth_user request '%p'.\n", auth_user_request);
-    assert(auth_user_request != NULL);
-    if (auth_user_request->references > 0) {
-       auth_user_request->references--;
+    debug(29, 9) ("AuthUserRequest::unlock: auth_user request '%p'.\n", this);
+    assert(this != NULL);
+    if (references > 0) {
+       --references;
     } else {
-       debug(29, 1) ("Attempt to lower Auth User request %p refcount below 0!\n", auth_user_request);
+       debug(29, 1) ("Attempt to lower Auth User request %p refcount below 0!\n", this);
     }
-    debug(29, 9) ("authenticateAuthUserRequestUnlock auth_user_request '%p' now at '%ld'.\n", auth_user_request, (long int) auth_user_request->references);
-    if (auth_user_request->references == 0) {
+    debug(29, 9) ("AuthUserRequest::unlock: auth_user_request '%p' now at '%ld'.\n", this, (long int) references);
+    if (references == 0)
        /* not locked anymore */
-       authenticateAuthUserRequestFree(auth_user_request);
-    }
+       delete this;
+}
+
+void
+authenticateAuthUserRequestLock(auth_user_request_t * auth_user_request)
+{
+    auth_user_request->lock();
 }
 
+void
+authenticateAuthUserRequestUnlock(auth_user_request_t * auth_user_request)
+{
+    auth_user_request->unlock();
+}
+  
+
 int
 authenticateAuthUserInuse(auth_user_t * auth_user)
 /* returns 0 for not in use */
@@ -828,123 +893,129 @@ authenticateAuthUserInuse(auth_user_t * auth_user)
     return auth_user->references;
 }
 
-/*
- * Combine two user structs. ONLY to be called from within a scheme
- * module.  The scheme module is responsible for ensuring that the
+/* Combine two user structs. ONLY to be called from within a scheme
+ * module. The scheme module is responsible for ensuring that the
  * two users _can_ be merged without invalidating all the request
- * scheme data. the scheme is also responsible for merging any user
+ * scheme data. The scheme is also responsible for merging any user
  * related scheme data itself.
  */
 void
-authenticateAuthUserMerge(auth_user_t * from, auth_user_t * to)
+AuthUser::absorb (AuthUser *from)
 {
-    dlink_node *link, *tmplink;
     auth_user_request_t *auth_user_request;
     /*
      * XXX combine two authuser structs. Incomplete: it should merge
      * in hash references too and ask the module to merge in scheme
      * data
      */
-    debug(29, 5) ("authenticateAuthUserMerge auth_user '%p' into auth_user '%p'.\n", from, to);
-    link = from->requests.head;
+    debug(29, 5) ("authenticateAuthUserMerge auth_user '%p' into auth_user '%p'.\n", from, this);
+    dlink_node *link = from->requests.head;
     while (link) {
-       auth_user_request = link->data;
-       tmplink = link;
+       auth_user_request = static_cast<auth_user_request_t *>(link->data);
+       dlink_node *tmplink = link;
        link = link->next;
        dlinkDelete(tmplink, &from->requests);
-       dlinkAddTail(auth_user_request, tmplink, &to->requests);
-       auth_user_request->auth_user = to;
+       dlinkAddTail(auth_user_request, tmplink, &requests);
+       auth_user_request->auth_user = this;
     }
-    to->references += from->references;
+    references += from->references;
     from->references = 0;
-    authenticateFreeProxyAuthUser(from);
+    delete from;
+}
+
+void
+authenticateAuthUserMerge(auth_user_t * from, auth_user_t * to)
+{   
+    to->absorb (from);
 }
 
 void
-authenticateFreeProxyAuthUser(void *data)
+AuthUser::operator delete (void *address)
+{
+    memPoolFree(pool, address);
+}
+
+AuthUser::~AuthUser()
 {
-    auth_user_t *u = data;
     auth_user_request_t *auth_user_request;
     dlink_node *link, *tmplink;
-    assert(data != NULL);
-    debug(29, 5) ("authenticateFreeProxyAuthUser: Freeing auth_user '%p' with refcount '%ld'.\n", u, (long int) u->references);
-    assert(u->references == 0);
+    debug(29, 5) ("AuthUser::~AuthUser: Freeing auth_user '%p' with refcount '%ld'.\n", this, (long int) references);
+    assert(references == 0);
     /* were they linked in by username ? */
-    if (u->usernamehash) {
-       assert(u->usernamehash->auth_user == u);
-       debug(29, 5) ("authenticateFreeProxyAuthUser: removing usernamehash entry '%p'\n", u->usernamehash);
+    if (usernamehash) {
+       assert(usernamehash->user() == this);
+       debug(29, 5) ("AuthUser::~AuthUser: removing usernamehash entry '%p'\n", usernamehash);
        hash_remove_link(proxy_auth_username_cache,
-           (hash_link *) u->usernamehash);
+           (hash_link *) usernamehash);
        /* don't free the key as we use the same user string as the auth_user 
         * structure */
-       memFree(u->usernamehash, MEM_AUTH_USER_HASH);
+       delete usernamehash;
     }
     /* remove any outstanding requests */
-    link = u->requests.head;
+    link = requests.head;
     while (link) {
-       debug(29, 5) ("authenticateFreeProxyAuthUser: removing request entry '%p'\n", link->data);
-       auth_user_request = link->data;
+       debug(29, 5) ("AuthUser::~AuthUser: removing request entry '%p'\n", link->data);
+       auth_user_request = static_cast<auth_user_request_t *>(link->data);
        tmplink = link;
        link = link->next;
-       dlinkDelete(tmplink, &u->requests);
+       dlinkDelete(tmplink, &requests);
        dlinkNodeDelete(tmplink);
-       authenticateAuthUserRequestFree(auth_user_request);
+       delete auth_user_request;
     }
     /* free cached acl results */
-    aclCacheMatchFlush(&u->proxy_match_cache);
+    aclCacheMatchFlush(&proxy_match_cache);
     /* free seen ip address's */
-    authenticateAuthUserClearIp(u);
-    if (u->scheme_data && u->auth_module > 0)
-       authscheme_list[u->auth_module - 1].FreeUser(u);
+    authenticateAuthUserClearIp(this);
+    if (scheme_data && auth_module > 0)
+       authscheme_list[auth_module - 1].FreeUser(this);
     /* prevent accidental reuse */
-    u->auth_type = AUTH_UNKNOWN;
-    memFree(u, MEM_AUTH_USER_T);
+    auth_type = AUTH_UNKNOWN;
 }
 
 void
-authenticateInitUserCache(void)
+AuthUser::cacheInit(void)
 {
     if (!proxy_auth_username_cache) {
        /* First time around, 7921 should be big enough */
        proxy_auth_username_cache =
            hash_create((HASHCMP *) strcmp, 7921, hash_string);
        assert(proxy_auth_username_cache);
-       eventAdd("User Cache Maintenance", authenticateProxyUserCacheCleanup, NULL, Config.authenticateGCInterval, 1);
+       eventAdd("User Cache Maintenance", cacheCleanup, NULL, Config.authenticateGCInterval, 1);
     }
 }
 
 void
-authenticateProxyUserCacheCleanup(void *datanotused)
+AuthUser::cacheCleanup(void *datanotused)
 {
     /*
      * We walk the hash by username as that is the unique key we use.
      * For big hashs we could consider stepping through the cache, 100/200
      * entries at a time. Lets see how it flys first.
      */
-    auth_user_hash_pointer *usernamehash;
+    AuthUserHashPointer *usernamehash;
     auth_user_t *auth_user;
-    char *username = NULL;
-    debug(29, 3) ("authenticateProxyUserCacheCleanup: Cleaning the user cache now\n");
-    debug(29, 3) ("authenticateProxyUserCacheCleanup: Current time: %ld\n", (long int) current_time.tv_sec);
+    char const *username = NULL;
+    debug(29, 3) ("AuthUser::cacheCleanup: Cleaning the user cache now\n");
+    debug(29, 3) ("AuthUser::cacheCleanup: Current time: %ld\n", (long int) current_time.tv_sec);
     hash_first(proxy_auth_username_cache);
-    while ((usernamehash = ((auth_user_hash_pointer *) hash_next(proxy_auth_username_cache)))) {
-       auth_user = usernamehash->auth_user;
-       username = authenticateUserUsername(auth_user);
+    while ((usernamehash = ((AuthUserHashPointer *) hash_next(proxy_auth_username_cache)))) {
+       auth_user = usernamehash->user();
+       username = auth_user->username();
 
        /* if we need to have inpedendent expiry clauses, insert a module call
         * here */
-       debug(29, 4) ("authenticateProxyUserCacheCleanup: Cache entry:\n\tType: %d\n\tUsername: %s\n\texpires: %ld\n\treferences: %ld\n", auth_user->auth_type, username, (long int) (auth_user->expiretime + Config.authenticateTTL), (long int) auth_user->references);
+       debug(29, 4) ("AuthUser::cacheCleanup: Cache entry:\n\tType: %d\n\tUsername: %s\n\texpires: %ld\n\treferences: %ld\n", auth_user->auth_type, username, (long int) (auth_user->expiretime + Config.authenticateTTL), (long int) auth_user->references);
        if (auth_user->expiretime + Config.authenticateTTL <= current_time.tv_sec) {
-           debug(29, 5) ("authenticateProxyUserCacheCleanup: Removing user %s from cache due to timeout.\n", username);
+           debug(29, 5) ("AuthUser::cacheCleanup: Removing user %s from cache due to timeout.\n", username);
            /* the minus 1 accounts for the cache lock */
            if ((authenticateAuthUserInuse(auth_user) - 1))
-               debug(29, 4) ("authenticateProxyUserCacheCleanup: this cache entry has expired AND has a non-zero ref count.\n");
+               debug(29, 4) ("AuthUser::cacheCleanup: this cache entry has expired AND has a non-zero ref count.\n");
            else
                authenticateAuthUserUnlock(auth_user);
        }
     }
-    debug(29, 3) ("authenticateProxyUserCacheCleanup: Finished cleaning the user cache.\n");
-    eventAdd("User Cache Maintenance", authenticateProxyUserCacheCleanup, NULL, Config.authenticateGCInterval, 1);
+    debug(29, 3) ("AuthUser::cacheCleanup: Finished cleaning the user cache.\n");
+    eventAdd("User Cache Maintenance", cacheCleanup, NULL, Config.authenticateGCInterval, 1);
 }
 
 /*
@@ -955,16 +1026,13 @@ authenticateProxyUserCacheCleanup(void *datanotused)
 void
 authenticateUserCacheRestart(void)
 {
-    auth_user_hash_pointer *usernamehash;
+    AuthUserHashPointer *usernamehash;
     auth_user_t *auth_user;
-    char *username = NULL;
     debug(29, 3) ("authenticateUserCacheRestart: Clearing config dependent cache data.\n");
     hash_first(proxy_auth_username_cache);
-    while ((usernamehash = ((auth_user_hash_pointer *) hash_next(proxy_auth_username_cache)))) {
-       auth_user = usernamehash->auth_user;
-       username = authenticateUserUsername(auth_user);
-       debug(29, 5) ("authenticateUserCacheRestat: Clearing cache ACL results for user: %s\n", username);
-       aclCacheMatchFlush(&auth_user->proxy_match_cache);
+    while ((usernamehash = ((AuthUserHashPointer *) hash_next(proxy_auth_username_cache)))) {
+       auth_user = usernamehash->user();
+       debug(29, 5) ("authenticateUserCacheRestat: Clearing cache ACL results for user: %s\n", auth_user->username());
     }
 
 }
@@ -982,25 +1050,68 @@ authSchemeAdd(const char *type, AUTHSSETUP * setup)
        assert(strcmp(authscheme_list[i].typestr, type) != 0);
     }
     /* add the new type */
-    authscheme_list = xrealloc(authscheme_list, (i + 2) * sizeof(authscheme_entry_t));
+    authscheme_list = static_cast<authscheme_entry_t *>(xrealloc(authscheme_list, (i + 2) * sizeof(authscheme_entry_t)));
     memset(&authscheme_list[i + 1], 0, sizeof(authscheme_entry_t));
     authscheme_list[i].typestr = type;
     /* Call the scheme module to set up capabilities and initialize any global data */
     setup(&authscheme_list[i]);
 }
 
+/* _auth_user_hash_pointe */
+
+void
+AuthUserHashPointer::removeFromCache(void *usernamehash_p)
+{
+    AuthUserHashPointer *usernamehash = static_cast<AuthUserHashPointer *>(usernamehash_p);
+    auth_user_t *auth_user = usernamehash->auth_user;
+    if ((authenticateAuthUserInuse(auth_user) - 1))
+       debug(29, 1) ("AuthUserHashPointer::removeFromCache: entry in use - not freeing\n");
+    authenticateAuthUserUnlock(auth_user);
+    /* TODO: change behaviour - we remove from the auth user list here, and then unlock, and the
+     * delete ourselves.
+     */
+}
 
+void *
+AuthUserHashPointer::operator new (unsigned int byteCount)
+{
+    assert (byteCount == sizeof (AuthUserHashPointer));
+    if (!pool)
+       pool = memPoolCreate("Auth user hash link", sizeof(AuthUserHashPointer));
+    return static_cast<AuthUserHashPointer *>(memPoolAlloc(pool));
+}
 
-/* UserNameCacheAdd: add a auth_user structure to the username cache */
 void
-authenticateUserNameCacheAdd(auth_user_t * auth_user)
+AuthUserHashPointer::operator delete (void *address)
 {
-    auth_user_hash_pointer *usernamehash;
-    usernamehash = memAllocate(MEM_AUTH_USER_HASH);
-    usernamehash->key = authenticateUserUsername(auth_user);
-    usernamehash->auth_user = auth_user;
-    hash_join(proxy_auth_username_cache, (hash_link *) usernamehash);
-    auth_user->usernamehash = usernamehash;
+    memPoolFree(pool, address);
+}
+
+AuthUserHashPointer::AuthUserHashPointer (auth_user_t * anAuth_user):
+key (anAuth_user->username()), next (NULL), auth_user (anAuth_user)
+{
+    hash_join(proxy_auth_username_cache, (hash_link *) this);
     /* lock for presence in the cache */
     authenticateAuthUserLock(auth_user);
 }
+
+AuthUser *
+AuthUserHashPointer::user() const
+{
+    return auth_user;
+}
+
+/* C bindings */
+/* UserNameCacheAdd: add a auth_user structure to the username cache */
+void
+authenticateUserNameCacheAdd(auth_user_t * auth_user)
+{
+    auth_user->usernamehash = new AuthUserHashPointer (auth_user);
+}
+
+auth_user_t*
+authUserHashPointerUser (auth_user_hash_pointer *aHashEntry)
+{
+    return aHashEntry->user();
+}
+
diff --git a/src/authenticate.h b/src/authenticate.h
new file mode 100644 (file)
index 0000000..5f56515
--- /dev/null
@@ -0,0 +1,274 @@
+
+/*
+ * $Id: authenticate.h,v 1.1 2002/10/13 20:34:58 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_AUTHENTICATE_H
+#define SQUID_AUTHENTICATE_H
+
+/* A note on the C bindings:
+ * Direct use of the structs is prohibited - only (structfoo *) may be
+ * used from C code.
+ */
+
+#ifdef __cplusplus
+class AuthUser;
+#endif
+
+struct AuthUserHashPointer {
+    /* first two items must be same as hash_link */
+    char const *key;
+    auth_user_hash_pointer *next;
+#ifdef __cplusplus
+public:
+    static void removeFromCache (void *anAuthUserHashPointer);
+    
+    AuthUserHashPointer (AuthUser *);
+    
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+    AuthUser *user() const;
+private:
+    static MemPool *pool;
+
+    AuthUser *auth_user;
+#endif
+};
+
+struct AuthUserIP {
+    dlink_node node;
+    /* IP addr this user authenticated from */
+    struct in_addr ipaddr;
+    time_t ip_expiretime;
+};
+
+struct AuthUser {
+    /* extra fields for proxy_auth */
+    /* this determines what scheme owns the user data. */
+    auth_type_t auth_type;
+    /* the index +1 in the authscheme_list to the authscheme entry */
+    int auth_module;
+    /* we only have one username associated with a given auth_user struct */
+    auth_user_hash_pointer *usernamehash;
+    /* we may have many proxy-authenticate strings that decode to the same user */
+    dlink_list proxy_auth_list;
+    dlink_list proxy_match_cache;
+    /* what ip addresses has this user been seen at?, plus a list length cache */
+    dlink_list ip_list;
+    size_t ipcount;
+    long expiretime;
+    /* how many references are outstanding to this instance */
+    size_t references;
+    /* the auth scheme has it's own private data area */
+    void *scheme_data;
+    /* the auth_user_request structures that link to this. Yes it could be a splaytree
+     * but how many requests will a single username have in parallel? */
+    dlink_list requests;
+#ifdef __cplusplus
+public:
+    static void cacheInit ();
+    
+    void absorb(auth_user_t *from);
+    AuthUser (const char *);
+    ~AuthUser ();
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+    char const *username() const;
+private:
+    static void cacheCleanup (void *unused);
+    static MemPool *pool;
+#endif
+};
+
+struct AuthUserRequest {
+    /* this is the object passed around by client_side and acl functions */
+    /* it has request specific data, and links to user specific data */
+    /* the user */
+    auth_user_t *auth_user;
+    /* any scheme specific request related data */
+    void *scheme_data;
+#ifdef __cplusplus
+public:
+    static auth_acl_t tryToAuthenticateAndSetAuthUser(auth_user_request_t **, http_hdr_type, request_t *, ConnStateData *, struct in_addr);
+    static void addReplyAuthHeader(HttpReply * rep, auth_user_request_t * auth_user_request, request_t * request, int accelerated, int internal);
+
+    ~AuthUserRequest();
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+    void start ( RH * handler, void *data);
+    void setDenyMessage (char const *);
+    char const * getDenyMessage ();
+    size_t refCount() const;
+    void lock ();
+    void unlock ();
+    char const *username() const;
+private:
+    static auth_acl_t authenticate(auth_user_request_t ** auth_user_request, http_hdr_type headertype, request_t * request, ConnStateData * conn, struct in_addr src_addr);
+    static auth_user_request_t *createAuthUser (const char *proxy_auth);
+    static MemPool *pool;
+
+    AuthUserRequest();
+    void decodeAuth (const char *proxy_auth);
+
+    /* return a message on the 407 error pages */
+    char *message;
+
+    /* how many 'processes' are working on this data */
+    size_t references;
+    
+    /* We only attempt authentication once per http request. This 
+     * is to allow multiple auth acl references from different _access areas
+     * when using connection based authentication
+     */
+    auth_acl_t lastReply;
+#endif
+};
+
+/* authenticate.c authenticate scheme routines typedefs */
+typedef int AUTHSACTIVE(void);
+typedef int AUTHSAUTHED(auth_user_request_t *);
+typedef void AUTHSAUTHUSER(auth_user_request_t *, request_t *, ConnStateData *, http_hdr_type);
+typedef int AUTHSCONFIGURED(void);
+typedef void AUTHSDECODE(auth_user_request_t *, const char *);
+typedef int AUTHSDIRECTION(auth_user_request_t *);
+typedef void AUTHSDUMP(StoreEntry *, const char *, authScheme *);
+typedef void AUTHSFIXERR(auth_user_request_t *, HttpReply *, http_hdr_type, request_t *);
+typedef void AUTHSADDHEADER(auth_user_request_t *, HttpReply *, int);
+typedef void AUTHSADDTRAILER(auth_user_request_t *, HttpReply *, int);
+typedef void AUTHSFREE(auth_user_t *);
+typedef void AUTHSFREECONFIG(authScheme *);
+typedef char const *AUTHSUSERNAME(auth_user_t const *);
+typedef void AUTHSONCLOSEC(ConnStateData *);
+typedef void AUTHSPARSE(authScheme *, int, char *);
+typedef void AUTHSINIT(authScheme *);
+typedef void AUTHSREQFREE(auth_user_request_t *);
+typedef void AUTHSSETUP(authscheme_entry_t *);
+typedef void AUTHSSHUTDOWN(void);
+typedef void AUTHSSTART(auth_user_request_t *, RH *, void *);
+typedef void AUTHSSTATS(StoreEntry *);
+typedef const char *AUTHSCONNLASTHEADER(auth_user_request_t *);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* subsumed by the C++ interface */
+extern void authenticateAuthUserMerge(auth_user_t *, auth_user_t *);
+extern auth_user_t *authenticateAuthUserNew(const char *);
+
+/* AuthUserRequest */
+extern void authenticateStart(auth_user_request_t *, RH *, void *);
+extern auth_acl_t authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t **, http_hdr_type, request_t *, ConnStateData *, struct in_addr);
+extern void authenticateSetDenyMessage (auth_user_request_t *, char const *);
+extern size_t authenticateRequestRefCount (auth_user_request_t *);
+extern char const *authenticateAuthUserRequestMessage(auth_user_request_t *);
+
+extern int authenticateAuthSchemeId(const char *typestr);
+extern void authenticateSchemeInit(void);
+extern void authenticateInit(authConfig *); 
+extern void authenticateShutdown(void);
+extern void authenticateFixHeader(HttpReply *, auth_user_request_t *, request_t *, int, int);
+extern void authenticateAddTrailer(HttpReply *, auth_user_request_t *, request_t *, int);
+extern void authenticateAuthUserUnlock(auth_user_t * auth_user);
+extern void authenticateAuthUserLock(auth_user_t * auth_user);
+extern void authenticateAuthUserRequestUnlock(auth_user_request_t *);
+extern void authenticateAuthUserRequestLock(auth_user_request_t *);
+extern int authenticateAuthUserInuse(auth_user_t * auth_user);
+extern void authenticateAuthUserRequestRemoveIp(auth_user_request_t *, struct in_addr);
+extern void authenticateAuthUserRequestClearIp(auth_user_request_t *);
+extern size_t authenticateAuthUserRequestIPCount(auth_user_request_t *);
+extern int authenticateDirection(auth_user_request_t *);
+extern void authenticateFreeProxyAuthUserACLResults(void *data);
+extern int authenticateActiveSchemeCount(void);
+extern int authenticateSchemeCount(void);
+extern void authenticateUserNameCacheAdd(auth_user_t * auth_user);
+extern int authenticateCheckAuthUserIP(struct in_addr request_src_addr, auth_user_request_t * auth_user);
+extern int authenticateUserAuthenticated(auth_user_request_t *);
+extern void authenticateUserCacheRestart(void);
+extern char const *authenticateUserRequestUsername(auth_user_request_t *);
+extern int authenticateValidateUser(auth_user_request_t *);
+extern void authenticateOnCloseConnection(ConnStateData * conn);
+extern void authSchemeAdd(const char *type, AUTHSSETUP * setup);
+
+/* AuthUserHashPointer */
+extern auth_user_t* authUserHashPointerUser(auth_user_hash_pointer *);
+
+#ifdef __cplusplus
+}
+#endif
+
+/* auth_modules.c */
+SQUIDCEXTERN void authSchemeSetup(void);
+
+/*
+ * This defines an auth scheme module
+ */
+
+struct _authscheme_entry {
+    const char *typestr;
+    AUTHSACTIVE *Active;
+    AUTHSADDHEADER *AddHeader;
+    AUTHSADDTRAILER *AddTrailer;
+    AUTHSAUTHED *authenticated;
+    AUTHSAUTHUSER *authAuthenticate;
+    AUTHSCONFIGURED *configured;
+    AUTHSDUMP *dump;
+    AUTHSFIXERR *authFixHeader;
+    AUTHSFREE *FreeUser;
+    AUTHSFREECONFIG *freeconfig;
+    AUTHSUSERNAME *authUserUsername;
+    AUTHSONCLOSEC *oncloseconnection;   /*optional */
+    AUTHSCONNLASTHEADER *authConnLastHeader;
+    AUTHSDECODE *decodeauth;
+    AUTHSDIRECTION *getdirection;
+    AUTHSPARSE *parse;
+    AUTHSINIT *init;
+    AUTHSREQFREE *requestFree;
+    AUTHSSHUTDOWN *donefunc;
+    AUTHSSTART *authStart;
+    AUTHSSTATS *authStats;
+};
+    
+/*  
+ * This is a configured auth scheme
+ */
+    
+/* private data types */
+struct _authScheme {
+    /* pointer to the authscheme_list's string entry */
+    const char *typestr;
+    /* the scheme id in the authscheme_list */
+    int Id;
+    /* the scheme's configuration details. */
+    void *scheme_data;
+};
+
+
+#endif /* SQUID_AUTHENTICATE_H */
index d3e42caa1caff1f42e3b630ce941a8580727d9f7..9f5dbb2be69ad60e8ef4cbe96563215f18e00e33 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.cc,v 1.416 2002/09/29 19:02:00 hno Exp $
+ * $Id: cache_cf.cc,v 1.417 2002/10/13 20:34:58 robertc Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
 
 #if SQUID_SNMP
 #include "snmp.h"
@@ -83,7 +85,7 @@ static size_t parseBytesUnits(const char *unit);
 static void free_all(void);
 void requirePathnameExists(const char *name, const char *path);
 static OBJH dump_config;
-#if HTTP_VIOLATIONS
+#ifdef HTTP_VIOLATIONS
 static void dump_http_header_access(StoreEntry * entry, const char *name, header_mangler header[]);
 static void parse_http_header_access(header_mangler header[]);
 static void free_http_header_access(header_mangler header[]);
@@ -133,7 +135,7 @@ wordlistAdd(wordlist ** list, const char *key)
 {
     while (*list)
        list = &(*list)->next;
-    *list = memAllocate(MEM_WORDLIST);
+    *list = static_cast<wordlist *>(memAllocate(MEM_WORDLIST));
     (*list)->key = xstrdup(key);
     (*list)->next = NULL;
     return (*list)->key;
@@ -154,7 +156,7 @@ wordlistAddWl(wordlist ** list, wordlist * wl)
     while (*list)
        list = &(*list)->next;
     for (; wl; wl = wl->next, list = &(*list)->next) {
-       *list = memAllocate(MEM_WORDLIST);
+       *list = static_cast<wordlist *>(memAllocate(MEM_WORDLIST));
        (*list)->key = xstrdup(wl->key);
        (*list)->next = NULL;
     }
@@ -525,7 +527,7 @@ parseTimeLine(time_t * tptr, const char *units)
            config_input_line, d, units);
     else if ((m = parseTimeUnits(token)) == 0)
        self_destruct();
-    *tptr = m * d / u;
+    *tptr = static_cast<time_t> (m * d / u);
 }
 
 static int
@@ -546,9 +548,9 @@ parseTimeUnits(const char *unit)
     if (!strncasecmp(unit, T_MONTH_STR, strlen(T_MONTH_STR)))
        return 86400 * 30;
     if (!strncasecmp(unit, T_YEAR_STR, strlen(T_YEAR_STR)))
-       return 86400 * 365.2522;
+       return static_cast<int>(86400 * 365.2522);
     if (!strncasecmp(unit, T_DECADE_STR, strlen(T_DECADE_STR)))
-       return 86400 * 365.2522 * 10;
+       return static_cast<int>(86400 * 365.2522 * 10);
     debug(3, 1) ("parseTimeUnits: unknown time unit '%s'\n", unit);
     return 0;
 }
@@ -573,7 +575,7 @@ parseBytesLine(size_t * bptr, const char *units)
            config_input_line, d, units);
     else if ((m = parseBytesUnits(token)) == 0)
        self_destruct();
-    *bptr = m * d / u;
+    *bptr = static_cast<size_t>(m * d / u);
 }
 
 static size_t
@@ -712,7 +714,7 @@ dump_acl_address(StoreEntry * entry, const char *name, acl_address * head)
 static void
 freed_acl_address(void *data)
 {
-    acl_address *l = data;
+    acl_address *l = static_cast<acl_address *>(data);
     aclDestroyAclList(&l->aclList);
 }
 
@@ -759,7 +761,7 @@ dump_acl_tos(StoreEntry * entry, const char *name, acl_tos * head)
 static void
 freed_acl_tos(void *data)
 {
-    acl_tos *l = data;
+    acl_tos *l = static_cast<acl_tos *>(data);
     aclDestroyAclList(&l->aclList);
 }
 
@@ -967,7 +969,7 @@ parse_delay_pool_access(delayConfig * cfg)
 }
 #endif
 
-#if HTTP_VIOLATIONS
+#ifdef HTTP_VIOLATIONS
 static void
 dump_http_header_access(StoreEntry * entry, const char *name, header_mangler header[])
 {
@@ -1100,7 +1102,7 @@ dump_cachedir_options(StoreEntry * entry, struct cache_dir_option *options, Swap
 }
 
 static void
-dump_cachedir(StoreEntry * entry, const char *name, cacheSwap swap)
+dump_cachedir(StoreEntry * entry, const char *name, _SquidConfig::_cacheSwap swap)
 {
     SwapDir *s;
     int i;
@@ -1115,7 +1117,7 @@ dump_cachedir(StoreEntry * entry, const char *name, cacheSwap swap)
 }
 
 static int
-check_null_cachedir(cacheSwap swap)
+check_null_cachedir(_SquidConfig::_cacheSwap swap)
 {
     return swap.swapDirs == NULL;
 }
@@ -1131,12 +1133,12 @@ allocate_new_authScheme(authConfig * cfg)
 {
     if (cfg->schemes == NULL) {
        cfg->n_allocated = 4;
-       cfg->schemes = xcalloc(cfg->n_allocated, sizeof(authScheme));
+       cfg->schemes = static_cast<authScheme *>(xcalloc(cfg->n_allocated, sizeof(authScheme)));
     }
     if (cfg->n_allocated == cfg->n_configured) {
        authScheme *tmp;
        cfg->n_allocated <<= 1;
-       tmp = xcalloc(cfg->n_allocated, sizeof(authScheme));
+       tmp = static_cast<authScheme *>(xcalloc(cfg->n_allocated, sizeof(authScheme)));
        xmemcpy(tmp, cfg->schemes, cfg->n_configured * sizeof(authScheme));
        xfree(cfg->schemes);
        cfg->schemes = tmp;
@@ -1207,16 +1209,16 @@ dump_authparam(StoreEntry * entry, const char *name, authConfig cfg)
 }
 
 void
-allocate_new_swapdir(cacheSwap * swap)
+allocate_new_swapdir(_SquidConfig::_cacheSwap * swap)
 {
     if (swap->swapDirs == NULL) {
        swap->n_allocated = 4;
-       swap->swapDirs = xcalloc(swap->n_allocated, sizeof(SwapDir));
+       swap->swapDirs = static_cast<SwapDir *>(xcalloc(swap->n_allocated, sizeof(SwapDir)));
     }
     if (swap->n_allocated == swap->n_configured) {
        SwapDir *tmp;
        swap->n_allocated <<= 1;
-       tmp = xcalloc(swap->n_allocated, sizeof(SwapDir));
+       tmp = static_cast<SwapDir *>(xcalloc(swap->n_allocated, sizeof(SwapDir)));
        xmemcpy(tmp, swap->swapDirs, swap->n_configured * sizeof(SwapDir));
        xfree(swap->swapDirs);
        swap->swapDirs = tmp;
@@ -1236,7 +1238,7 @@ find_fstype(char *type)
 }
 
 static void
-parse_cachedir(cacheSwap * swap)
+parse_cachedir(_SquidConfig::_cacheSwap * swap)
 {
     char *type_str;
     char *path_str;
@@ -1346,7 +1348,7 @@ dump_cachedir_option_maxsize(StoreEntry * e, const char *option, SwapDir * sd)
 void
 parse_cachedir_options(SwapDir * sd, struct cache_dir_option *options, int reconfiguring)
 {
-    int old_read_only = sd->flags.read_only;
+    unsigned int old_read_only = sd->flags.read_only;
     char *name, *value;
     struct cache_dir_option *option, *op;
 
@@ -1387,7 +1389,7 @@ parse_cachedir_options(SwapDir * sd, struct cache_dir_option *options, int recon
 }
 
 static void
-free_cachedir(cacheSwap * swap)
+free_cachedir(_SquidConfig::_cacheSwap * swap)
 {
     SwapDir *s;
     int i;
@@ -1604,7 +1606,7 @@ parse_cachemgrpasswd(cachemgr_passwd ** head)
     cachemgr_passwd **P;
     parse_string(&passwd);
     parse_wordlist(&actions);
-    p = xcalloc(1, sizeof(cachemgr_passwd));
+    p = static_cast<cachemgr_passwd *>(xcalloc(1, sizeof(cachemgr_passwd)));
     p->passwd = passwd;
     p->actions = actions;
     for (P = head; *P; P = &(*P)->next);
@@ -1693,7 +1695,7 @@ parse_hostdomain(void)
                cfg_filename, config_lineno, host);
            continue;
        }
-       l = xcalloc(1, sizeof(domain_ping));
+       l = static_cast<domain_ping *>(xcalloc(1, sizeof(domain_ping)));
        l->do_ping = 1;
        if (*domain == '!') {   /* check for !.edu */
            l->do_ping = 0;
@@ -1724,7 +1726,7 @@ parse_hostdomaintype(void)
                cfg_filename, config_lineno, host);
            return;
        }
-       l = xcalloc(1, sizeof(domain_type));
+       l = static_cast<domain_type *>(xcalloc(1, sizeof(domain_type)));
        l->type = parseNeighborType(type);
        l->domain = xstrdup(domain);
        for (L = &(p->typelist); *L; L = &((*L)->next));
@@ -1915,7 +1917,7 @@ parse_refreshpattern(refresh_t ** head)
     }
     pct = pct < 0.0 ? 0.0 : pct;
     max = max < 0 ? 0 : max;
-    t = xcalloc(1, sizeof(refresh_t));
+    t = static_cast<refresh_t *>(xcalloc(1, sizeof(refresh_t)));
     t->pattern = (char *) xstrdup(pattern);
     t->compiled_pattern = comp;
     t->min = min;
@@ -2234,7 +2236,7 @@ parse_removalpolicy(RemovalPolicySettings ** settings)
 {
     if (*settings)
        free_removalpolicy(settings);
-    *settings = xcalloc(1, sizeof(**settings));
+    *settings = static_cast<RemovalPolicySettings *>(xcalloc(1, sizeof(**settings)));
     parse_string(&(*settings)->type);
     parse_wordlist(&(*settings)->args);
 }
@@ -2295,7 +2297,7 @@ parse_sockaddr_in_list_token(sockaddr_in_list ** head, char *token)
     } else {
        self_destruct();
     }
-    s = xcalloc(1, sizeof(*s));
+    s = static_cast<sockaddr_in_list *>(xcalloc(1, sizeof(*s)));
     s->s.sin_port = htons(port);
     if (NULL == host)
        s->s.sin_addr = any_addr;
@@ -2376,7 +2378,7 @@ parse_https_port_list(https_port_list ** head)
     } else {
        self_destruct();
     }
-    s = xcalloc(1, sizeof(*s));
+    s = (https_port_list *)xcalloc(1, sizeof(*s));
     s->s.sin_port = htons(port);
     if (NULL == host)
        s->s.sin_addr = any_addr;
index a185fce444b42fd8c1ea1ce2dc383d51f126d415..5eac0d786123b906eb231d06ba064398a64d68f0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_manager.cc,v 1.26 2001/02/23 20:59:50 hno Exp $
+ * $Id: cache_manager.cc,v 1.27 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 16    Cache Manager Objects
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #define MGR_PASSWD_SZ 128
 
@@ -77,7 +78,7 @@ cachemgrRegister(const char *action, const char *desc, OBJH * handler, int pw_re
        debug(16, 3) ("cachemgrRegister: Duplicate '%s'\n", action);
        return;
     }
-    a = xcalloc(1, sizeof(action_table));
+    a = (action_table *)xcalloc(1, sizeof(action_table));
     a->action = xstrdup(action);
     a->desc = xstrdup(desc);
     a->handler = handler;
@@ -131,7 +132,7 @@ cachemgrParseUrl(const char *url)
        }
     }
     /* set absent entries to NULL so we can test if they are present later */
-    mgr = xcalloc(1, sizeof(cachemgrStateData));
+    mgr = (cachemgrStateData *)xcalloc(1, sizeof(cachemgrStateData));
     mgr->user_name = NULL;
     mgr->passwd = t == 3 ? xstrdup(password) : NULL;
     mgr->action = xstrdup(request);
index 44a2cc535b5668ca1b95a96e217343209a304be4..7d931635aa68e30fabb19205e1e599555ab5856f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cachemgr.cc,v 1.99 2002/09/01 12:37:46 hno Exp $
+ * $Id: cachemgr.cc,v 1.100 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 0     CGI Cache Manager
  * AUTHOR: Duane Wessels
@@ -542,7 +542,7 @@ process_request(cachemgr_request * req)
     memset(&S, '\0', sizeof(struct sockaddr_in));
     S.sin_family = AF_INET;
     if ((hp = gethostbyname(req->hostname)) != NULL) {
-       assert(hp->h_length <= sizeof(S.sin_addr.s_addr));
+       assert(hp->h_length >= 0 && (size_t)hp->h_length <= sizeof(S.sin_addr.s_addr));
        xmemcpy(&S.sin_addr.s_addr, hp->h_addr, hp->h_length);
     } else if (safe_inet_addr(req->hostname, &S.sin_addr))
        (void) 0;
@@ -601,7 +601,7 @@ read_post_request(void)
        return NULL;
     if ((len = atoi(s)) <= 0)
        return NULL;
-    buf = xmalloc(len + 1);
+    buf = (char *)xmalloc(len + 1);
     fread(buf, len, 1, stdin);
     buf[len] = '\0';
     return buf;
@@ -632,7 +632,7 @@ read_request(void)
        return NULL;
     if (strlen(buf) == 0)
        return NULL;
-    req = xcalloc(1, sizeof(cachemgr_request));
+    req = (cachemgr_request *)xcalloc(1, sizeof(cachemgr_request));
     for (s = strtok(buf, "&"); s != NULL; s = strtok(NULL, "&")) {
        t = xstrdup(s);
        if ((q = strchr(t, '=')) == NULL)
@@ -735,7 +735,7 @@ static const char *
 make_auth_header(const cachemgr_request * req)
 {
     static char buf[1024];
-    off_t l = 0;
+    size_t stringLength = 0;
     const char *str64;
     if (!req->passwd)
        return "";
@@ -745,9 +745,9 @@ make_auth_header(const cachemgr_request * req)
        req->passwd);
 
     str64 = base64_encode(buf);
-    l += snprintf(buf, sizeof(buf), "Authorization: Basic %s\r\n", str64);
-    assert(l < sizeof(buf));
-    l += snprintf(&buf[l], sizeof(buf) - l,
+    stringLength += snprintf(buf, sizeof(buf), "Authorization: Basic %s\r\n", str64);
+    assert(stringLength < sizeof(buf));
+    stringLength += snprintf(&buf[stringLength], sizeof(buf) - stringLength,
        "Proxy-Authorization: Basic %s\r\n", str64);
     return buf;
 }
index b08fc63d9ea60c5b6d63f2697af7fde5f54084b1..6d5c212ef9b367466296dce8cee628cf0c546f37 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: carp.cc,v 1.19 2002/04/13 23:07:49 hno Exp $
+ * $Id: carp.cc,v 1.20 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 39    Cache Array Routing Protocol
  * AUTHOR: Henrik Nordstrom
@@ -35,6 +35,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #if USE_CARP
 
index 58c90997690f986a69d7255588f82aede75fa522..cbc7b78ba78cd4b6ad3e6d1dcd04eab1b6615812 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cbdata.cc,v 1.44 2002/09/24 10:46:43 robertc Exp $
+ * $Id: cbdata.cc,v 1.45 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 45    Callback Data Registry
  * ORIGINAL AUTHOR: Duane Wessels
@@ -45,6 +45,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static int cbdataCount = 0;
 #if CBDATA_DEBUG
@@ -70,14 +71,14 @@ typedef struct _cbdata {
 
 static OBJH cbdataDump;
 
-struct {
+struct CBDataIndex {
     MemPool *pool;
     FREE *free_func;
 }     *cbdata_index = NULL;
 int cbdata_types = 0;
 
 #define OFFSET_OF(type, member) ((int)(char *)&((type *)0L)->member)
-#define CBDATA_COOKIE  0xDEADBEEF
+#define CBDATA_COOKIE  (long)0xDEADBEEF
 #define CBDATA_CHECK(c) assert(c->y == ((long)c ^ CBDATA_COOKIE))
 
 static void
@@ -85,14 +86,14 @@ cbdataInternalInitType(cbdata_type type, const char *name, int size, FREE * free
 {
     char *label;
     if (type >= cbdata_types) {
-       cbdata_index = xrealloc(cbdata_index, (type + 1) * sizeof(*cbdata_index));
+       cbdata_index = (CBDataIndex *)xrealloc(cbdata_index, (type + 1) * sizeof(*cbdata_index));
        memset(&cbdata_index[cbdata_types], 0,
            (type + 1 - cbdata_types) * sizeof(*cbdata_index));
        cbdata_types = type + 1;
     }
     if (cbdata_index[type].pool)
        return;
-    label = xmalloc(strlen(name) + 20);
+    label = (char *)xmalloc(strlen(name) + 20);
     snprintf(label, strlen(name) + 20, "cbdata %s (%d)", name, (int) type);
     assert(OFFSET_OF(cbdata, data) == (sizeof(cbdata) - sizeof(((cbdata *) NULL)->data)));
     cbdata_index[type].pool = memPoolCreate(label, size + OFFSET_OF(cbdata, data));
@@ -104,7 +105,7 @@ cbdataInternalAddType(cbdata_type type, const char *name, int size, FREE * free_
 {
     if (type)
        return type;
-    type = cbdata_types;
+    type = (cbdata_type)cbdata_types;
     cbdataInternalInitType(type, name, size, free_func);
     return type;
 }
@@ -132,7 +133,6 @@ cbdataInit(void)
     CREATE_CBDATA(helper_server);
     CREATE_CBDATA(statefulhelper);
     CREATE_CBDATA(helper_stateful_server);
-    CREATE_CBDATA(HttpStateData);
     CREATE_CBDATA_FREE(peer, peerDestroy);
     CREATE_CBDATA(ps_state);
     CREATE_CBDATA(RemovalPolicy);
@@ -149,7 +149,7 @@ cbdataInternalAlloc(cbdata_type type)
 {
     cbdata *p;
     assert(type > 0 && type < cbdata_types);
-    p = memPoolAlloc(cbdata_index[type].pool);
+    p = (cbdata *)memPoolAlloc(cbdata_index[type].pool);
     p->type = type;
     p->valid = 1;
     p->locks = 0;
index 4da6f0d1d89084f9b24571fb938264655d1691d1..89625b39e60826a327db92e0f4a23bb451f938a9 100644 (file)
@@ -1,6 +1,6 @@
 
 #
-# $Id: cf.data.pre,v 1.289 2002/10/08 04:27:31 wessels Exp $
+# $Id: cf.data.pre,v 1.290 2002/10/13 20:34:59 robertc Exp $
 #
 #
 # SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -1283,7 +1283,7 @@ DOC_END
 
 NAME: auth_param
 TYPE: authparam
-LOC: Config.authConfig
+LOC: Config.authConfiguration
 DEFAULT: none
 DOC_START
        This is used to pass parameters to the various authentication
index d7c80dbce893bb128b845de085756fb52f4b4453..19a108e152274df1607db64be7e9a5f7125f2eca 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cf_gen.cc,v 1.46 2002/09/01 15:16:35 hno Exp $
+ * $Id: cf_gen.cc,v 1.47 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: none          Generate squid.conf.default and cf_parser.h
  * AUTHOR: Max Okumoto
@@ -126,7 +126,7 @@ lineAdd(Line ** L, const char *str)
 {
     while (*L)
        L = &(*L)->next;
-    *L = xcalloc(1, sizeof(Line));
+    *L = (Line *)xcalloc(1, sizeof(Line));
     (*L)->data = xstrdup(str);
 }
 
@@ -181,10 +181,10 @@ main(int argc, char *argv[])
                    printf("Error in input file\n");
                    exit(1);
                }
-               curr = calloc(1, sizeof(Entry));
+               curr = (Entry *)calloc(1, sizeof(Entry));
                curr->name = xstrdup(name);
                while ((aliasname = strtok(NULL, WS)) != NULL) {
-                   EntryAlias *alias = calloc(1, sizeof(EntryAlias));
+                   EntryAlias *alias = (EntryAlias *)calloc(1, sizeof(EntryAlias));
                    alias->next = curr->alias;
                    alias->name = xstrdup(aliasname);
                    curr->alias = alias;
@@ -193,7 +193,7 @@ main(int argc, char *argv[])
            } else if (!strcmp(buff, "EOF")) {
                state = sEXIT;
            } else if (!strcmp(buff, "COMMENT_START")) {
-               curr = calloc(1, sizeof(Entry));
+               curr = (Entry *)calloc(1, sizeof(Entry));
                curr->name = xstrdup("comment");
                curr->loc = xstrdup("none");
                state = sDOC;
@@ -279,7 +279,7 @@ main(int argc, char *argv[])
            } else if (!strcmp(buff, "NOCOMMENT_START")) {
                state = sNOCOMMENT;
            } else {
-               Line *line = calloc(1, sizeof(Line));
+               Line *line = (Line *)calloc(1, sizeof(Line));
                line->data = xstrdup(buff);
                line->next = curr->doc;
                curr->doc = line;
@@ -301,7 +301,7 @@ main(int argc, char *argv[])
                curr->nocomment = head;
                state = sDOC;
            } else {
-               Line *line = calloc(1, sizeof(Line));
+               Line *line = (Line *)calloc(1, sizeof(Line));
                line->data = xstrdup(buff);
                line->next = curr->nocomment;
                curr->nocomment = line;
index 5989fd27e84ea909833b771c6ccd9bfda68d9673..ab46de98c9d5c6e24aa5490d24aaacf147080f50 100755 (executable)
@@ -33,5 +33,5 @@ BEGIN {
        print "},"
 }
 END {
-       print "{(void *)0L, 0}};"
+       print "{(char const *)0L, (char const *)0L, 0}};"
 }
index 28b72eb200569f0c26b8b41982506dd2a910deec..e16a9bcda646d18e211ca7c5c29fa049e0f79b2a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client.cc,v 1.100 2002/09/01 15:16:35 hno Exp $
+ * $Id: client.cc,v 1.101 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 0     WWW Client
  * AUTHOR: Harvest Derived
@@ -44,7 +44,7 @@ static int client_comm_bind(int, const char *);
 static int client_comm_connect(int, const char *, u_short, struct timeval *);
 static void usage(const char *progname);
 static int Now(struct timeval *);
-static SIGHDLR catch;
+static SIGHDLR catchSignal;
 static SIGHDLR pipe_handler;
 static void set_our_signal(void);
 static ssize_t myread(int fd, void *buf, size_t len);
@@ -297,14 +297,14 @@ main(int argc, char *argv[])
 #if HAVE_SIGACTION
        struct sigaction sa, osa;
        if (sigaction(SIGINT, NULL, &osa) == 0 && osa.sa_handler == SIG_DFL) {
-           sa.sa_handler = catch;
+           sa.sa_handler = catchSignal;
            sa.sa_flags = 0;
            sigemptyset(&sa.sa_mask);
            (void) sigaction(SIGINT, &sa, NULL);
        }
 #else
        void (*osig) ();
-       if ((osig = signal(SIGINT, catch)) != SIG_DFL)
+       if ((osig = signal(SIGINT, catchSignal)) != SIG_DFL)
            (void) signal(SIGINT, osig);
 #endif
     }
@@ -336,7 +336,7 @@ main(int argc, char *argv[])
        if (bytesWritten < 0) {
            perror("client: ERROR: write");
            exit(1);
-       } else if (bytesWritten != strlen(msg)) {
+       } else if ((unsigned) bytesWritten != strlen(msg)) {
            fprintf(stderr, "client: ERROR: Cannot send request?: %s\n", msg);
            exit(1);
        }
@@ -458,7 +458,7 @@ Now(struct timeval *tp)
 }                              /* ARGSUSED */
 
 static void
-catch(int sig)
+catchSignal(int sig)
 {
     interrupted = 1;
     fprintf(stderr, "Interrupted.\n");
index e7199fcdba1085df51e115c685b139d33fdcb304..908e3f4a6c32e548f7c77db4da0774bffb4c6e1b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: clientStream.cc,v 1.2 2002/09/24 10:46:43 robertc Exp $
+ * $Id: clientStream.cc,v 1.3 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 87    Client-side Stream routines.
  * AUTHOR: Robert Collins
@@ -28,7 +28,7 @@
  *  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
+ *  along with thisObject program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
  *
  */
@@ -88,13 +88,13 @@ CBDATA_TYPE(clientStreamNode);
  * If a node's data holds a reference to something that needs to
  * free the stream a circular reference list will occur.
  * This results no data being freed until that reference is removed.
- * One way to accomplish this is to explicitly remove the
+ * One way to accomplish thisObject is to explicitly remove the
  * data from your own node before freeing the stream.
  *
  * (i.e. 
- * mycontext = this->data;
+ * mycontext = thisObject->data;
  * cbdataReferenceDone (mycontext);
- * clientStreamFreeLinst (this->head);
+ * clientStreamFreeLinst (thisObject->head);
  * cbdataFree (mycontext);
  * return;
  */
@@ -135,7 +135,7 @@ clientStreamInit(dlink_list * list, CSR * func, CSD * rdetach, CSS * readstatus,
     cbdataReference(temp);
     temp->head = list;
     clientStreamInsertHead(list, NULL, callback, cdetach, NULL, callbackdata);
-    temp = list->tail->data;
+    temp = (clientStreamNode *)list->tail->data;
     temp->readBuffer = tailBuffer;
 }
 
@@ -168,16 +168,16 @@ clientStreamInsertHead(dlink_list * list, CSR * func, CSCB * callback,
  * Callback the next node the in chain with it's requested data
  */
 void
-clientStreamCallback(clientStreamNode * this, clientHttpRequest * http,
+clientStreamCallback(clientStreamNode * thisObject, clientHttpRequest * http,
     HttpReply * rep, StoreIOBuffer replyBuffer)
 {
     clientStreamNode *next;
-    assert(this && http && this->node.next);
-    next = this->node.next->data;
+    assert(thisObject && http && thisObject->node.next);
+    next = thisObject->next();
 
     debug(87,
        3) ("clientStreamCallback: Calling %p with cbdata %p from node %p\n",
-       next->callback, next->data, this);
+       next->callback, next->data, thisObject);
     next->callback(next, http, rep, replyBuffer);
 }
 
@@ -185,17 +185,17 @@ clientStreamCallback(clientStreamNode * this, clientHttpRequest * http,
  * Call the previous node in the chain to read some data
  */
 void
-clientStreamRead(clientStreamNode * this, clientHttpRequest * http,
+clientStreamRead(clientStreamNode * thisObject, clientHttpRequest * http,
     StoreIOBuffer readBuffer)
 {
     /* place the parameters on the 'stack' */
     clientStreamNode *prev;
-    assert(this && http && this->node.prev);
-    prev = this->node.prev->data;
+    assert(thisObject && http && thisObject->prev());
+    prev = thisObject->prev();
 
     debug(87, 3) ("clientStreamRead: Calling %p with cbdata %p from node %p\n",
-       prev->readfunc, prev->data, this);
-    this->readBuffer = readBuffer;
+       prev->readfunc, prev->data, thisObject);
+    thisObject->readBuffer = readBuffer;
     prev->readfunc(prev, http);
 }
 
@@ -203,23 +203,20 @@ clientStreamRead(clientStreamNode * this, clientHttpRequest * http,
  * Detach from the stream - only allowed for terminal members
  */
 void
-clientStreamDetach(clientStreamNode * this, clientHttpRequest * http)
+clientStreamDetach(clientStreamNode * thisObject, clientHttpRequest * http)
 {
-    clientStreamNode *prev = NULL;
-    clientStreamNode *temp = this;
+    clientStreamNode *prev = thisObject->prev();
+    clientStreamNode *temp = thisObject;
 
-    if (this->node.prev) {
-       prev = this->node.prev->data;
-    }
-    assert(this->node.next == NULL);
-    debug(87, 3) ("clientStreamDetach: Detaching node %p\n", this);
-    /* And clean up this node */
+    assert(thisObject->node.next == NULL);
+    debug(87, 3) ("clientStreamDetach: Detaching node %p\n", thisObject);
+    /* And clean up thisObject node */
     /* ESI TODO: push refcount class through to head */
     cbdataReferenceDone(temp);
-    cbdataFree(this);
+    cbdataFree(thisObject);
     /* and tell the prev that the detach has occured */
     /*
-     * We do it in this order so that the detaching node is always
+     * We do it in thisObject order so that the detaching node is always
      * at the end of the list
      */
     if (prev) {
@@ -233,17 +230,17 @@ clientStreamDetach(clientStreamNode * this, clientHttpRequest * http)
  * Abort the stream - detach every node in the pipeline.
  */
 void
-clientStreamAbort(clientStreamNode * this, clientHttpRequest * http)
+clientStreamAbort(clientStreamNode * thisObject, clientHttpRequest * http)
 {
     dlink_list *list;
 
-    assert(this != NULL);
+    assert(thisObject != NULL);
     assert(http != NULL);
-    list = this->head;
+    list = thisObject->head;
     debug(87, 3) ("clientStreamAbort: Aborting stream with tail %p\n",
        list->tail);
     if (list->tail) {
-       clientStreamDetach(list->tail->data, http);
+       clientStreamDetach((clientStreamNode *)list->tail->data, http);
     }
 }
 
@@ -251,11 +248,11 @@ clientStreamAbort(clientStreamNode * this, clientHttpRequest * http)
  * Call the upstream node to find it's status 
  */
 clientStream_status_t
-clientStreamStatus(clientStreamNode * this, clientHttpRequest * http)
+clientStreamStatus(clientStreamNode * thisObject, clientHttpRequest * http)
 {
     clientStreamNode *prev;
-    assert(this && http && this->node.prev);
-    prev = this->node.prev->data;
+    assert(thisObject && http && thisObject->node.prev);
+    prev = (clientStreamNode *)thisObject->node.prev->data;
     return prev->status(prev, http);
 }
 
@@ -263,13 +260,31 @@ clientStreamStatus(clientStreamNode * this, clientHttpRequest * http)
 void
 clientStreamFree(void *foo)
 {
-    clientStreamNode *this = foo;
+    clientStreamNode *thisObject = (clientStreamNode *)foo;
 
-    debug(87, 3) ("Freeing clientStreamNode %p\n", this);
-    if (this->data) {
-       cbdataFree(this->data);
+    debug(87, 3) ("Freeing clientStreamNode %p\n", thisObject);
+    if (thisObject->data) {
+       cbdataFree(thisObject->data);
     }
-    if (this->node.next || this->node.prev) {
-       dlinkDelete(&this->node, this->head);
+    if (thisObject->node.next || thisObject->node.prev) {
+       dlinkDelete(&thisObject->node, thisObject->head);
     }
 }
+
+_clientStreamNode *
+_clientStreamNode::prev() const
+{
+    if (node.prev)
+       return (_clientStreamNode *)node.prev->data;
+    else
+       return NULL;
+}
+
+_clientStreamNode *
+_clientStreamNode::next() const
+{
+    if (node.next)
+       return (_clientStreamNode *)node.next->data;
+    else
+       return NULL;
+}
index 1e740790f3ad5d335dd0c4d8353763cb01c88065..e3acd345ad012912d396448d20794e112879419a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: clientStream.h,v 1.1 2002/09/24 10:46:43 robertc Exp $
+ * $Id: clientStream.h,v 1.2 2002/10/13 20:34:59 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -47,6 +47,11 @@ typedef clientStream_status_t CSS(clientStreamNode *, clientHttpRequest *);
 
 
 struct _clientStreamNode {
+#ifdef __cplusplus
+public:
+    _clientStreamNode *prev() const;
+    _clientStreamNode *next() const;
+#endif
     dlink_node node;
     dlink_list *head;          /* sucks I know, but hey, the interface is limited */
     CSR *readfunc;
@@ -58,13 +63,13 @@ struct _clientStreamNode {
 };
 
 /* clientStream.c */
-extern void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, void *, CSCB *, CSD *, void *, StoreIOBuffer tailBuffer);
-extern void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, void *);
-extern clientStreamNode *clientStreamNew(CSR *, CSCB *, CSD *, CSS *, void *);
-extern void clientStreamCallback(clientStreamNode *, clientHttpRequest *, HttpReply *, StoreIOBuffer replyBuffer);
-extern void clientStreamRead(clientStreamNode *, clientHttpRequest *, StoreIOBuffer readBuffer);
-extern void clientStreamDetach(clientStreamNode *, clientHttpRequest *);
-extern void clientStreamAbort(clientStreamNode *, clientHttpRequest *);
-extern clientStream_status_t clientStreamStatus(clientStreamNode *, clientHttpRequest *);
+SQUIDCEXTERN void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, void *, CSCB *, CSD *, void *, StoreIOBuffer tailBuffer);
+SQUIDCEXTERN void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, void *);
+SQUIDCEXTERN clientStreamNode *clientStreamNew(CSR *, CSCB *, CSD *, CSS *, void *);
+SQUIDCEXTERN void clientStreamCallback(clientStreamNode *, clientHttpRequest *, HttpReply *, StoreIOBuffer replyBuffer);
+SQUIDCEXTERN void clientStreamRead(clientStreamNode *, clientHttpRequest *, StoreIOBuffer readBuffer);
+SQUIDCEXTERN void clientStreamDetach(clientStreamNode *, clientHttpRequest *);
+SQUIDCEXTERN void clientStreamAbort(clientStreamNode *, clientHttpRequest *);
+SQUIDCEXTERN clientStream_status_t clientStreamStatus(clientStreamNode *, clientHttpRequest *);
 
 #endif /* SQUID_CLIENTSTREAM_H */
index ca3aa69908e84203d84d65fa885f43d52f8a9d1c..2b414aa9bc12d584bc37827d440f5290f7366d6b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_db.cc,v 1.54 2002/09/24 10:46:43 robertc Exp $
+ * $Id: client_db.cc,v 1.55 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 0     Client Database
  * AUTHOR: Duane Wessels
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+
 
 static hash_table *client_table = NULL;
 static ClientInfo *clientdbAdd(struct in_addr addr);
@@ -43,7 +45,7 @@ static ClientInfo *
 clientdbAdd(struct in_addr addr)
 {
     ClientInfo *c;
-    c = memAllocate(MEM_CLIENT_INFO);
+    c = (ClientInfo *)memAllocate(MEM_CLIENT_INFO);
     c->hash.key = xstrdup(inet_ntoa(addr));
     c->addr = addr;
     hash_join(client_table, &c->hash);
@@ -156,6 +158,12 @@ clientdbCutoffDenied(struct in_addr addr)
     return 1;
 }
 
+log_type &operator++ (log_type &aLogType)
+{
+    aLogType = (log_type)(++(int)aLogType);
+    return aLogType;
+}
+
 
 void
 clientdbDump(StoreEntry * sentry)
@@ -175,7 +183,7 @@ clientdbDump(StoreEntry * sentry)
            c->n_established);
        storeAppendPrintf(sentry, "    ICP Requests %d\n",
            c->Icp.n_requests);
-       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; l++) {
+       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; ++l) {
            if (c->Icp.result_hist[l] == 0)
                continue;
            icp_total += c->Icp.result_hist[l];
@@ -189,7 +197,7 @@ clientdbDump(StoreEntry * sentry)
        }
        storeAppendPrintf(sentry, "    HTTP Requests %d\n",
            c->Http.n_requests);
-       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; l++) {
+       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; ++l) {
            if (c->Http.result_hist[l] == 0)
                continue;
            http_total += c->Http.result_hist[l];
@@ -213,7 +221,7 @@ clientdbDump(StoreEntry * sentry)
 static void
 clientdbFreeItem(void *data)
 {
-    ClientInfo *c = data;
+    ClientInfo *c = (ClientInfo *)data;
     safe_free(c->hash.key);
     memFree(c, MEM_CLIENT_INFO);
 }
@@ -290,7 +298,7 @@ snmp_meshCtblFn(variable_list * Var, snint * ErrP)
        break;
     case MESH_CTBL_HTHITS:
        aggr = 0;
-       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; l++) {
+       for (l = LOG_TAG_NONE; l < LOG_TYPE_MAX; ++l) {
            if (logTypeIsATcpHit(l))
                aggr += c->Http.result_hist[l];
        }
index a0427cebe38268b20f7470ca06f91e22eeaaf8ba..7bd087746f540407311e2ad2400f4218815f1513 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.cc,v 1.598 2002/10/12 13:41:25 robertc Exp $
+ * $Id: client_side.cc,v 1.599 2002/10/13 20:34:59 robertc Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -58,6 +58,9 @@
 #include "squid.h"
 #include "clientStream.h"
 #include "IPInterception.h"
+#include "authenticate.h"
+#include "Store.h"
+
 
 #if LINGERING_CLOSE
 #define comm_close comm_lingering_close
@@ -126,7 +129,7 @@ static void clientSetKeepaliveFlag(clientHttpRequest *);
 static int clientIsContentLengthValid(request_t * r);
 static DEFER httpAcceptDefer;
 static int clientIsRequestBodyValid(int bodyLength);
-static int clientIsRequestBodyTooLargeForPolicy(int bodyLength);
+static int clientIsRequestBodyTooLargeForPolicy(size_t bodyLength);
 static void clientProcessBody(ConnStateData * conn);
 static clientStreamNode *getTail(clientSocketContext *);
 static void clientSocketRemoveThisFromConnectionList(clientSocketContext *,
@@ -167,7 +170,7 @@ static void connAddContextToQueue(ConnStateData * conn, clientSocketContext * co
 static int connGetConcurrentRequestCount(ConnStateData * conn);
 static int connReadWasError(ConnStateData * conn, int size);
 static int connFinishedWithConn(ConnStateData * conn, int size);
-static void connNoteUseOfBuffer(ConnStateData * conn, int byteCount);
+static void connNoteUseOfBuffer(ConnStateData * conn, size_t byteCount);
 static int connKeepReadingIncompleteRequest(ConnStateData * conn);
 static void connCancelIncompleteRequests(ConnStateData * conn);
 static ConnStateData *connStateCreate(struct sockaddr_in peer, struct sockaddr_in me, int fd);
@@ -179,13 +182,13 @@ static void clientPullData(clientSocketContext * context);
 clientStreamNode *
 getTail(clientSocketContext * context)
 {
-    return context->http->client_stream.tail->data;
+    return (clientStreamNode *)context->http->client_stream.tail->data;
 }
 
 clientStreamNode *
 getClientReplyContext(clientSocketContext * context)
 {
-    return context->http->client_stream.tail->prev->data;
+    return (clientStreamNode *)context->http->client_stream.tail->prev->data;
 }
 
 void
@@ -210,7 +213,7 @@ clientSocketRemoveThisFromConnectionList(clientSocketContext * context,
 void
 clientSocketContextFree(void *data)
 {
-    clientSocketContext *context = data;
+    clientSocketContext *context = (clientSocketContext *)data;
     ConnStateData *conn = context->http->conn;
     clientStreamNode *node = getTail(context);
     /* We are *always* the tail - prevent recursive free */
@@ -401,13 +404,13 @@ httpRequestFreeResources(clientHttpRequest * http)
     requestUnlink(http->request);
     http->request = NULL;
     if (http->client_stream.tail)
-       clientStreamAbort(http->client_stream.tail->data, http);
+       clientStreamAbort((clientStreamNode *)http->client_stream.tail->data, http);
 }
 
 void
 httpRequestFree(void *data)
 {
-    clientHttpRequest *http = data;
+    clientHttpRequest *http = (clientHttpRequest *)data;
     request_t *request = NULL;
     assert(http != NULL);
     request = http->request;
@@ -469,7 +472,7 @@ connEmptyOSReadBuffers(int fd)
 static void
 connStateFree(int fd, void *data)
 {
-    ConnStateData *connState = data;
+    ConnStateData *connState = (ConnStateData *)data;
     debug(33, 3) ("connStateFree: FD %d\n", fd);
     assert(connState != NULL);
     clientdbEstablished(connState->peer.sin_addr, -1); /* decrement */
@@ -540,7 +543,7 @@ clientIsRequestBodyValid(int bodyLength)
 }
 
 int
-clientIsRequestBodyTooLargeForPolicy(int bodyLength)
+clientIsRequestBodyTooLargeForPolicy(size_t bodyLength)
 {
     if (Config.maxRequestBodySize &&
        bodyLength > Config.maxRequestBodySize)
@@ -560,7 +563,7 @@ clientSocketContext *
 connGetCurrentContext(ConnStateData * conn)
 {
     assert(conn);
-    return conn->currentobject;
+    return (clientSocketContext *)conn->currentobject;
 }
 
 void
@@ -651,7 +654,7 @@ clientSocketRecipient(clientStreamNode * node, clientHttpRequest * http,
     assert(cbdataReferenceValid(node));
     assert(node->data != NULL);
     assert(node->node.next == NULL);
-    context = node->data;
+    context = (clientSocketContext *)node->data;
     assert(connIsUsable(http->conn));
     fd = http->conn->fd;
     if (connGetCurrentContext(http->conn) != context) {
@@ -687,7 +690,7 @@ clientSocketDetach(clientStreamNode * node, clientHttpRequest * http)
     /* Set null by ContextFree */
     assert(node->data == NULL);
     assert(node->node.next == NULL);
-    context = node->data;
+    context = (clientSocketContext *)node->data;
     /* We are only called when the client socket shutsdown.
      * Tell the prev pipeline member we're finished
      */
@@ -695,7 +698,7 @@ clientSocketDetach(clientStreamNode * node, clientHttpRequest * http)
 }
 
 static void
-clientWriteBodyComplete(int fd, char *buf, size_t size, int errflag, void *data)
+clientWriteBodyComplete(int fd, char *buf, size_t size, comm_err_t errflag, void *data)
 {
     clientWriteComplete(fd, NULL, size, errflag, data);
 }
@@ -786,10 +789,10 @@ clientPullData(clientSocketContext * context)
 /* A write has just completed to the client, or we have just realised there is
  * no more data to send.
  */
-static void
-clientWriteComplete(int fd, char *bufnotused, size_t size, int errflag, void *data)
+void
+clientWriteComplete(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    clientSocketContext *context = data;
+    clientSocketContext *context = (clientSocketContext *)data;
     clientHttpRequest *http = context->http;
     StoreEntry *entry = http->entry;
     clientStreamNode *node = getTail(context);
@@ -821,9 +824,9 @@ clientWriteComplete(int fd, char *bufnotused, size_t size, int errflag, void *da
     }
 }
 
-extern CSR clientGetMoreData;
-extern CSS clientReplyStatus;
-extern CSD clientReplyDetach;
+extern "C" CSR clientGetMoreData;
+extern "C" CSS clientReplyStatus;
+extern "C" CSD clientReplyDetach;
 
 static clientSocketContext *
 parseHttpRequestAbort(ConnStateData * conn, const char *uri)
@@ -977,7 +980,7 @@ prepareForwardProxyUrl(clientHttpRequest * http, char *url)
     size_t url_sz;
     /* URL may be rewritten later, so make extra room */
     url_sz = strlen(url) + Config.appendDomainLen + 5;
-    http->uri = xcalloc(url_sz, 1);
+    http->uri = (char *)xcalloc(url_sz, 1);
     strcpy(http->uri, url);
     http->flags.accel = 0;
 }
@@ -1012,7 +1015,7 @@ prepareAcceleratedUrl(clientHttpRequest * http, char *url, char *req_hdr)
                vport = atoi(q);
        }
        url_sz = strlen(url) + 32 + Config.appendDomainLen + strlen(t);
-       http->uri = xcalloc(url_sz, 1);
+       http->uri = (char *)xcalloc(url_sz, 1);
 
 #if SSL_FORWARDING_NOT_YET_DONE
        if (Config.Sockaddr.https->s.sin_port == http->conn->me.sin_port) {
@@ -1026,7 +1029,7 @@ prepareAcceleratedUrl(clientHttpRequest * http, char *url, char *req_hdr)
        int vport;
        /* Put the local socket IP address as the hostname */
        url_sz = strlen(url) + 32 + Config.appendDomainLen;
-       http->uri = xcalloc(url_sz, 1);
+       http->uri = (char *)xcalloc(url_sz, 1);
        if (vport_mode)
            vport = (int) ntohs(http->conn->me.sin_port);
        else
@@ -1037,7 +1040,7 @@ prepareAcceleratedUrl(clientHttpRequest * http, char *url, char *req_hdr)
     } else {
        url_sz = strlen(Config2.Accel.prefix) + strlen(url) +
            Config.appendDomainLen + 1;
-       http->uri = xcalloc(url_sz, 1);
+       http->uri = (char *)xcalloc(url_sz, 1);
        snprintf(http->uri, url_sz, "%s%s", Config2.Accel.prefix, url);
     }
     http->flags.accel = 1;
@@ -1078,7 +1081,7 @@ parseHttpRequest(ConnStateData * conn, method_t * method_p, int *status,
     }
     assert(req_sz <= conn->in.notYetUsed);
     /* Use memcpy, not strdup! */
-    inbuf = xmalloc(req_sz + 1);
+    inbuf = (char *)xmalloc(req_sz + 1);
     xmemcpy(inbuf, conn->in.buf, req_sz);
     *(inbuf + req_sz) = '\0';
 
@@ -1125,7 +1128,7 @@ parseHttpRequest(ConnStateData * conn, method_t * method_p, int *status,
     clientStreamInit(&http->client_stream, clientGetMoreData, clientReplyDetach,
        clientReplyStatus, clientReplyNewContext(http), clientSocketRecipient,
        clientSocketDetach, result, tempBuffer);
-    *prefix_p = xmalloc(prefix_sz + 1);
+    *prefix_p = (char *)xmalloc(prefix_sz + 1);
     xmemcpy(*prefix_p, conn->in.buf, prefix_sz);
     *(*prefix_p + prefix_sz) = '\0';
     dlinkAdd(http, &http->active, &ClientActiveRequests);
@@ -1155,7 +1158,7 @@ parseHttpRequest(ConnStateData * conn, method_t * method_p, int *status,
 static int
 clientReadDefer(int fdnotused, void *data)
 {
-    ConnStateData *conn = data;
+    ConnStateData *conn = (ConnStateData *)data;
     if (conn->body.size_left)
        return conn->in.notYetUsed >= conn->in.allocatedSize - 1;
     else
@@ -1172,7 +1175,7 @@ void
 connMakeSpaceAvailable(ConnStateData * conn)
 {
     if (connGetAvailableBufferLength(conn) < 2) {
-       conn->in.buf = memReallocBuf(conn->in.buf, conn->in.allocatedSize * 2, &conn->in.allocatedSize);
+       conn->in.buf = (char *)memReallocBuf(conn->in.buf, conn->in.allocatedSize * 2, &conn->in.allocatedSize);
        debug(33, 2) ("growing request buffer: notYetUsed=%ld size=%ld\n",
            (long) conn->in.notYetUsed, (long) conn->in.allocatedSize);
     }
@@ -1231,11 +1234,11 @@ connFinishedWithConn(ConnStateData * conn, int size)
 }
 
 void
-connNoteUseOfBuffer(ConnStateData * conn, int byteCount)
+connNoteUseOfBuffer(ConnStateData * conn, size_t byteCount)
 {
     assert(byteCount > 0 && byteCount <= conn->in.notYetUsed);
     conn->in.notYetUsed -= byteCount;
-    debug(33, 5) ("conn->in.notYetUsed = %d\n", (int) conn->in.notYetUsed);
+    debug(33, 5) ("conn->in.notYetUsed = %u\n", (unsigned) conn->in.notYetUsed);
     /*
      * If there is still data that will be used, 
      * move it to the beginning.
@@ -1257,8 +1260,8 @@ connCancelIncompleteRequests(ConnStateData * conn)
     clientSocketContext *context = parseHttpRequestAbort(conn, "error:request-too-large");
     clientStreamNode *node = getClientReplyContext(context);
     assert(!connKeepReadingIncompleteRequest(conn));
-    debug(33, 1) ("Request header is too large (%d bytes)\n",
-       (int) conn->in.notYetUsed);
+    debug(33, 1) ("Request header is too large (%u bytes)\n",
+       (unsigned) conn->in.notYetUsed);
     debug(33, 1) ("Config 'request_header_max_size'= %ld bytes.\n",
        (long int) Config.maxRequestHeaderSize);
     clientSetReplyToError(node->data, ERR_TOO_BIG,
@@ -1271,7 +1274,7 @@ connCancelIncompleteRequests(ConnStateData * conn)
 static void
 clientReadRequest(int fd, void *data)
 {
-    ConnStateData *conn = data;
+    ConnStateData *conn = (ConnStateData *)data;
     int parser_return_code = 0;
     request_t *request = NULL;
     int size;
@@ -1356,6 +1359,7 @@ clientReadRequest(int fd, void *data)
            clientHttpRequest *http = context->http;
            /* We have an initial client stream in place should it be needed */
            /* setup our private context */
+           assert (http->req_sz >= 0);
            connNoteUseOfBuffer(conn, http->req_sz);
 
            connAddContextToQueue(conn, context);
@@ -1487,7 +1491,7 @@ clientReadBody(request_t * request, char *buf, size_t size, CBCB * callback,
     }
     debug(33, 2) ("clientReadBody: start fd=%d body_size=%lu in.notYetUsed=%ld cb=%p req=%p\n",
        conn->fd, (unsigned long int) conn->body.size_left,
-       (long int) conn->in.notYetUsed, callback, request);
+       (unsigned long int) conn->in.notYetUsed, callback, request);
     conn->body.callback = callback;
     conn->body.cbdata = cbdata;
     conn->body.buf = buf;
@@ -1500,15 +1504,15 @@ clientReadBody(request_t * request, char *buf, size_t size, CBCB * callback,
 static void
 clientProcessBody(ConnStateData * conn)
 {
-    int size;
+    size_t size;
     char *buf = conn->body.buf;
     void *cbdata = conn->body.cbdata;
     CBCB *callback = conn->body.callback;
     request_t *request = conn->body.request;
     /* Note: request is null while eating "aborted" transfers */
-    debug(33, 2) ("clientProcessBody: start fd=%d body_size=%lu in.notYetUsed=%ld cb=%p req=%p\n",
+    debug(33, 2) ("clientProcessBody: start fd=%d body_size=%lu in.notYetUsed=%lu cb=%p req=%p\n",
        conn->fd, (unsigned long int) conn->body.size_left,
-       (long int) conn->in.notYetUsed, callback, request);
+       (unsigned long int) conn->in.notYetUsed, callback, request);
     if (conn->in.notYetUsed) {
        /* Some sanity checks... */
        assert(conn->body.size_left > 0);
@@ -1543,21 +1547,21 @@ clientProcessBody(ConnStateData * conn)
        callback(buf, size, cbdata);
        if (request != NULL)
            requestUnlink(request);     /* Linked in clientReadBody */
-       debug(33, 2) ("clientProcessBody: end fd=%d size=%d body_size=%lu in.notYetUsed=%ld cb=%p req=%p\n",
+       debug(33, 2) ("clientProcessBody: end fd=%d size=%d body_size=%lu in.notYetUsed=%lu cb=%p req=%p\n",
            conn->fd, size, (unsigned long int) conn->body.size_left,
-           (long int) conn->in.notYetUsed, callback, request);
+           (unsigned long) conn->in.notYetUsed, callback, request);
     }
 }
 
 /* A dummy handler that throws away a request-body */
 static void
-clientReadBodyAbortHandler(char *buf, size_t size, void *data)
+clientReadBodyAbortHandler(char *buf, ssize_t size, void *data)
 {
     static char bodyAbortBuf[SQUID_TCP_SO_RCVBUF];
     ConnStateData *conn = (ConnStateData *) data;
-    debug(33, 2) ("clientReadBodyAbortHandler: fd=%d body_size=%lu in.notYetUsed=%ld\n",
+    debug(33, 2) ("clientReadBodyAbortHandler: fd=%d body_size=%lu in.notYetUsed=%lu\n",
        conn->fd, (unsigned long int) conn->body.size_left,
-       (long int) conn->in.notYetUsed);
+       (unsigned long) conn->in.notYetUsed);
     if (size != 0 && conn->body.size_left != 0) {
        debug(33, 3) ("clientReadBodyAbortHandler: fd=%d shedule next read\n",
            conn->fd);
@@ -1658,7 +1662,7 @@ requestTimeout(int fd, void *data)
 static void
 clientLifetimeTimeout(int fd, void *data)
 {
-    clientHttpRequest *http = data;
+    clientHttpRequest *http = (clientHttpRequest *)data;
     ConnStateData *conn = http->conn;
     debug(33,
        1) ("WARNING: Closing client %s connection due to lifetime timeout\n",
@@ -1689,7 +1693,7 @@ connStateCreate(struct sockaddr_in peer, struct sockaddr_in me, int fd)
     result->log_addr.s_addr &= Config.Addrs.client_netmask.s_addr;
     result->me = me;
     result->fd = fd;
-    result->in.buf = memAllocBuf(CLIENT_REQ_BUF_SZ, &result->in.allocatedSize);
+    result->in.buf = (char *)memAllocBuf(CLIENT_REQ_BUF_SZ, &result->in.allocatedSize);
     return result;
 }
 
@@ -1743,7 +1747,7 @@ httpAccept(int sock, void *data)
 static void
 clientNegotiateSSL(int fd, void *data)
 {
-    ConnStateData *conn = data;
+    ConnStateData *conn = (ConnStateData *)data;
     X509 *client_cert;
     int ret;
 
@@ -1791,7 +1795,7 @@ static void
 httpsAccept(int sock, void *data)
 {
     int *N = &incoming_sockets_accepted;
-    https_port_data *https_port = data;
+    https_port_data *https_port = (https_port_data *)data;
     SSL_CTX *sslContext = https_port->sslContext;
     int fd = -1;
     ConnStateData *connState = NULL;
index bec786671cecd6c723a870c4489554697d42a38f..77bdc08d39b6910d9172cd8e63f895bf544a8262 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_reply.cc,v 1.15 2002/10/12 13:08:09 robertc Exp $
+ * $Id: client_side_reply.cc,v 1.16 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 88    Client-side Reply Routines
  * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
+
 #include "clientStream.h"
+#include "authenticate.h"
+
+class clientReplyContext : public StoreClient {
+public:
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+       
+    void saveState(clientHttpRequest *);
+    void restoreState(clientHttpRequest *);
+    void purgeRequest ();
+    void purgeRequestFindObjectToPurge();
+    void purgeDoMissPurge();
+    void purgeFoundGet(_StoreEntry *newEntry);
+    void purgeFoundHead(_StoreEntry *newEntry);
+    void purgeFoundObject(_StoreEntry *entry);
+    void purgeDoPurgeGet(_StoreEntry *entry);
+    void purgeDoPurgeHead(_StoreEntry *entry);
+    void doGetMoreData();
+    void identifyStoreObject();
+    void identifyFoundObject(_StoreEntry *entry);
+    
+    http_status purgeStatus;
 
-typedef struct _clientReplyContext {
+    /* state variable - replace with class to handle storeentries at some point */
+    int lookingforstore;
+    virtual void created (_StoreEntry *newEntry);
+  
     clientHttpRequest *http;
     int headers_sz;
     store_client *sc;          /* The store_client we're using */
@@ -56,7 +83,9 @@ typedef struct _clientReplyContext {
        int headersSent:1;
     } flags;
     clientStreamNode *ourNode; /* This will go away if/when this file gets refactored some more */
-} clientReplyContext;
+private:
+    clientStreamNode *getNextNode();
+};
 
 CBDATA_TYPE(clientReplyContext);
 
@@ -68,23 +97,17 @@ static void clientProcessExpired(clientReplyContext *);
 static void clientProcessMiss(clientReplyContext *);
 static STCB clientCacheHit;
 static void clientProcessOnlyIfCachedMiss(clientReplyContext *);
-static int clientGetsOldEntry(StoreEntry * new, StoreEntry * old,
+static int clientGetsOldEntry(StoreEntry *, StoreEntry * old,
     request_t * request);
 static STCB clientHandleIMSReply;
 static int modifiedSince(StoreEntry *, request_t *);
-static log_type clientIdentifyStoreObject(clientReplyContext *);
-static void clientPurgeRequest(clientReplyContext *);
 static void clientTraceReply(clientStreamNode *, clientReplyContext *);
 static StoreEntry *clientCreateStoreEntry(clientReplyContext *, method_t,
     request_flags);
 static STCB clientSendMoreData;
 static void clientRemoveStoreReference(clientReplyContext *, store_client **,
     StoreEntry **);
-static void clientReplyContextSaveState(clientReplyContext *,
-    clientHttpRequest *);
-static void clientReplyContextRestoreState(clientReplyContext *,
-    clientHttpRequest *);
-extern CSS clientReplyStatus;
+extern "C" CSS clientReplyStatus;
 extern ErrorState *clientBuildError(err_type, http_status, char const *,
     struct in_addr *, request_t *);
 
@@ -99,21 +122,19 @@ static FREE clientReplyFree;
 void
 clientReplyFree(void *data)
 {
-    clientReplyContext *this = data;
-    clientRemoveStoreReference(this, &this->sc, &this->http->entry);
+    clientReplyContext *thisClient = (clientReplyContext *)data;
+    clientRemoveStoreReference(thisClient, &thisClient->sc, &thisClient->http->entry);
     /* old_entry might still be set if we didn't yet get the reply
      * code in clientHandleIMSReply() */
-    clientRemoveStoreReference(this, &this->old_sc, &this->http->old_entry);
-    safe_free(this->tempBuffer.data);
-    cbdataReferenceDone(this->http);
+    clientRemoveStoreReference(thisClient, &thisClient->old_sc, &thisClient->http->old_entry);
+    safe_free(thisClient->tempBuffer.data);
+    cbdataReferenceDone(thisClient->http);
 }
 
 void *
 clientReplyNewContext(clientHttpRequest * clientContext)
 {
-    clientReplyContext *context;
-    CBDATA_INIT_TYPE_FREECB(clientReplyContext, clientReplyFree);
-    context = cbdataAlloc(clientReplyContext);
+    clientReplyContext *context = new clientReplyContext;
     context->http = cbdataReference(clientContext);
     return context;
 }
@@ -125,7 +146,7 @@ clientSetReplyToError(void *data,
     struct in_addr *addr, request_t * failedrequest, char *unparsedrequest,
     auth_user_request_t * auth_user_request)
 {
-    clientReplyContext *context = data;
+    clientReplyContext *context = (clientReplyContext *)data;
     ErrorState *errstate =
     clientBuildError(err, status, uri, addr, failedrequest);
     if (unparsedrequest)
@@ -161,37 +182,52 @@ clientRemoveStoreReference(clientReplyContext * context, store_client ** scp,
     }
 }
 
+void *
+clientReplyContext::operator new (unsigned int byteCount)
+{
+    /* derived classes with different sizes must implement their own new */
+    assert (byteCount == sizeof (clientReplyContext));
+    CBDATA_INIT_TYPE_FREECB(clientReplyContext, clientReplyFree);
+    return cbdataAlloc(clientReplyContext);
+}
+
+void
+clientReplyContext::operator delete (void *address)
+{
+    cbdataFree ((clientReplyContext *)address);
+}
+
+
 void
-clientReplyContextSaveState(clientReplyContext * this, clientHttpRequest * http)
+clientReplyContext::saveState(clientHttpRequest * http)
 {
-    assert(this->old_sc == NULL);
-    debug(88, 1) ("clientReplyContextSaveState: saving store context\n");
+    assert(old_sc == NULL);
+    debug(88, 1) ("clientReplyContext::saveState: saving store context\n");
     http->old_entry = http->entry;
-    this->old_sc = this->sc;
-    this->old_reqsize = this->reqsize;
-    this->tempBuffer.offset = this->reqofs;
+    old_sc = sc;
+    old_reqsize = reqsize;
+    tempBuffer.offset = reqofs;
     /* Prevent accessing the now saved entries */
     http->entry = NULL;
-    this->sc = NULL;
-    this->reqsize = 0;
-    this->reqofs = 0;
+    sc = NULL;
+    reqsize = 0;
+    reqofs = 0;
 }
 
 void
-clientReplyContextRestoreState(clientReplyContext * this,
-    clientHttpRequest * http)
+clientReplyContext::restoreState(clientHttpRequest * http)
 {
-    assert(this->old_sc != NULL);
-    debug(88, 1) ("clientReplyContextRestoreState: Restoring store context\n");
+    assert(old_sc != NULL);
+    debug(88, 1) ("clientReplyContext::restoreState: Restoring store context\n");
     http->entry = http->old_entry;
-    this->sc = this->old_sc;
-    this->reqsize = this->old_reqsize;
-    this->reqofs = this->tempBuffer.offset;
+    sc = old_sc;
+    reqsize = old_reqsize;
+    reqofs = tempBuffer.offset;
     /* Prevent accessed the old saved entries */
     http->old_entry = NULL;
-    this->old_sc = NULL;
-    this->old_reqsize = 0;
-    this->tempBuffer.offset = 0;
+    old_sc = NULL;
+    old_reqsize = 0;
+    tempBuffer.offset = 0;
 }
 
 void
@@ -202,10 +238,16 @@ startError(clientReplyContext * context, clientHttpRequest * http, ErrorState *
     errorAppendEntry(http->entry, err);
 }
 
+clientStreamNode *
+clientReplyContext::getNextNode()
+{
+    return (clientStreamNode *)ourNode->node.next->data; 
+}
+
 void
 triggerStoreReadWithClientParameters(clientReplyContext * context, clientHttpRequest * http)
 {
-    clientStreamNode *next = http->client_stream.head->next->data;
+    clientStreamNode *next = (clientStreamNode *)http->client_stream.head->next->data;
     StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
     /* collapse this to one object if we never tickle the assert */
     assert(context->http == http);
@@ -242,7 +284,7 @@ clientProcessExpired(clientReplyContext * context)
     assert(storeClientIsThisAClient(context->sc, context));
 #endif
     /* Prepare to make a new temporary request */
-    clientReplyContextSaveState(context, http);
+    context->saveState(http);
     entry = storeCreateEntry(url,
        http->log_uri, http->request->flags, http->request->method);
     /* NOTE, don't call storeLockObject(), storeCreateEntry() does it */
@@ -346,7 +388,7 @@ clientGetsOldEntry(StoreEntry * new_entry, StoreEntry * old_entry,
 void
 clientHandleIMSReply(void *data, StoreIOBuffer result)
 {
-    clientReplyContext *context = data;
+    clientReplyContext *context = (clientReplyContext *)data;
     clientHttpRequest *http = context->http;
     StoreEntry *entry = http->entry;
     MemObject *mem;
@@ -374,7 +416,7 @@ clientHandleIMSReply(void *data, StoreIOBuffer result)
        http->logType = LOG_TCP_REFRESH_FAIL_HIT;
        clientRemoveStoreReference(context, &context->sc, &entry);
        /* Get the old request back */
-       clientReplyContextRestoreState(context, http);
+       context->restoreState(http);
        entry = http->entry;
        return;
     }
@@ -392,7 +434,7 @@ clientHandleIMSReply(void *data, StoreIOBuffer result)
            clientRemoveStoreReference(context, &context->sc, &entry);
            entry = http->entry = http->old_entry;
            /* Get the old request back */
-           clientReplyContextRestoreState(context, http);
+           context->restoreState(http);
            entry = http->entry;
        } else {
            StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
@@ -409,7 +451,7 @@ clientHandleIMSReply(void *data, StoreIOBuffer result)
        /* We initiated the IMS request, the client is not expecting
         * 304, so put the good one back.  First, make sure the old entry
         * headers have been loaded from disk. */
-       clientStreamNode *next = context->http->client_stream.head->next->data;
+       clientStreamNode *next = (clientStreamNode *)context->http->client_stream.head->next->data;
        StoreIOBuffer tempresult = EMPTYIOBUFFER;
        oldentry = http->old_entry;
        http->logType = LOG_TCP_REFRESH_HIT;
@@ -430,7 +472,7 @@ clientHandleIMSReply(void *data, StoreIOBuffer result)
            oldentry->mem_obj->request = NULL;
        }
        /* Get the old request back */
-       clientReplyContextRestoreState(context, http);
+       context->restoreState(http);
        entry = http->entry;
        /* here the data to send is in the next nodes buffers already */
        assert(!EBIT_TEST(entry->flags, ENTRY_ABORTED));
@@ -466,8 +508,8 @@ clientHandleIMSReply(void *data, StoreIOBuffer result)
     }
 }
 
-CSR clientGetMoreData;
-CSD clientReplyDetach;
+extern "C" CSR clientGetMoreData;
+extern "C" CSD clientReplyDetach;
 
 /*
  * clientCacheHit should only be called until the HTTP reply headers
@@ -479,7 +521,7 @@ CSD clientReplyDetach;
 void
 clientCacheHit(void *data, StoreIOBuffer result)
 {
-    clientReplyContext *context = data;
+    clientReplyContext *context = (clientReplyContext *)data;
     clientHttpRequest *http = context->http;
     StoreEntry *e = http->entry;
     MemObject *mem;
@@ -520,7 +562,7 @@ clientCacheHit(void *data, StoreIOBuffer result)
            /* get the next users' buffer */
            /* FIXME: HTTP_REQBUF_SZ must be wrong here ??!
             */
-           next = context->http->client_stream.head->next->data;
+           next = (clientStreamNode *)context->http->client_stream.head->next->data;
            tempBuffer.offset = http->out.offset + context->reqofs;
            tempBuffer.length = HTTP_REQBUF_SZ;
            tempBuffer.data = next->readBuffer.data + context->reqofs;
@@ -562,7 +604,7 @@ clientCacheHit(void *data, StoreIOBuffer result)
     if (r->method == METHOD_PURGE) {
        clientRemoveStoreReference(context, &context->sc, &http->entry);
        e = NULL;
-       clientPurgeRequest(context);
+       context->purgeRequest();
        return;
     }
     if (storeCheckNegativeHit(e)) {
@@ -692,7 +734,7 @@ clientProcessMiss(clientReplyContext * context)
        clientRemoveStoreReference(context, &context->sc, &http->entry);
     }
     if (r->method == METHOD_PURGE) {
-       clientPurgeRequest(context);
+       context->purgeRequest();
        return;
     }
     if (clientOnlyIfCached(http)) {
@@ -758,86 +800,143 @@ clientProcessOnlyIfCachedMiss(clientReplyContext * context)
 }
 
 void
-clientPurgeRequest(clientReplyContext * context)
+clientReplyContext::purgeRequestFindObjectToPurge()
+{
+    /* Try to find a base entry */
+    http->flags.purging = 1;
+    lookingforstore = 1;
+    _StoreEntry::getPublicByRequestMethod(this, http->request, METHOD_GET);
+}
+
+void
+clientReplyContext::created(_StoreEntry *newEntry)
+{
+    if (lookingforstore == 1)
+       purgeFoundGet(newEntry);
+    else if (lookingforstore == 2)
+       purgeFoundHead(newEntry);
+    else if (lookingforstore == 3)
+       purgeDoPurgeGet(newEntry);
+    else if (lookingforstore == 4)
+       purgeDoPurgeHead(newEntry);
+    else if (lookingforstore == 5)
+       identifyFoundObject(newEntry);
+}
+
+void
+clientReplyContext::purgeFoundGet(_StoreEntry *newEntry)
+{
+    if (newEntry->isNull()) {
+       lookingforstore = 2;
+       _StoreEntry::getPublicByRequestMethod(this, http->request, METHOD_HEAD);
+    } else
+       purgeFoundObject (newEntry);
+}
+
+void
+clientReplyContext::purgeFoundHead(_StoreEntry *newEntry)
+{
+    if (newEntry->isNull())
+       purgeDoMissPurge();
+    else
+       purgeFoundObject (newEntry);
+}
+       
+void
+clientReplyContext::purgeFoundObject(_StoreEntry *entry)
+{
+    assert (entry && !entry->isNull());
+       StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
+       /* Swap in the metadata */
+       http->entry = entry;
+       storeLockObject(http->entry);
+       storeCreateMemObject(http->entry, http->uri, http->log_uri);
+       http->entry->mem_obj->method = http->request->method;
+       sc = storeClientListAdd(http->entry, this);
+       http->logType = LOG_TCP_HIT;
+       reqofs = 0;
+       tempBuffer.offset = http->out.offset;
+       clientStreamNode *next = (clientStreamNode *)http->client_stream.head->next->data;
+       tempBuffer.length = next->readBuffer.length;
+       tempBuffer.data = next->readBuffer.data;
+       storeClientCopy(sc, http->entry,
+           tempBuffer, clientCacheHit, this);
+}
+
+void
+clientReplyContext::purgeRequest()
 {
-    clientHttpRequest *http = context->http;
-    StoreEntry *entry;
-    ErrorState *err = NULL;
-    HttpReply *r;
-    http_status status = HTTP_NOT_FOUND;
-    clientStreamNode *next;
-    http_version_t version;
     debug(88, 3) ("Config2.onoff.enable_purge = %d\n",
        Config2.onoff.enable_purge);
-    next = http->client_stream.head->next->data;
     if (!Config2.onoff.enable_purge) {
        http->logType = LOG_TCP_DENIED;
-       err =
+       ErrorState *err =
            clientBuildError(ERR_ACCESS_DENIED, HTTP_FORBIDDEN, NULL,
            &http->conn->peer.sin_addr, http->request);
-       startError(context, http, err);
+       startError(this, http, err);
        return;
     }
     /* Release both IP cache */
     ipcacheInvalidate(http->request->host);
 
-    /* RC FIXME: This doesn't make sense - we should only ever be here on PURGE
-     * requests!
-     */
-    if (!http->flags.purging) {
-       /* Try to find a base entry */
-       http->flags.purging = 1;
-       entry = storeGetPublicByRequestMethod(http->request, METHOD_GET);
-       if (!entry)
-           entry = storeGetPublicByRequestMethod(http->request, METHOD_HEAD);
-       if (entry) {
-           StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
-           /* Swap in the metadata */
-           http->entry = entry;
-           storeLockObject(http->entry);
-           storeCreateMemObject(http->entry, http->uri, http->log_uri);
-           http->entry->mem_obj->method = http->request->method;
-           context->sc = storeClientListAdd(http->entry, context);
-           http->logType = LOG_TCP_HIT;
-           context->reqofs = 0;
-           tempBuffer.offset = http->out.offset;
-           tempBuffer.length = next->readBuffer.length;
-           tempBuffer.data = next->readBuffer.data;
-           storeClientCopy(context->sc, http->entry,
-               tempBuffer, clientCacheHit, context);
-           return;
-       }
-    }
+    if (!http->flags.purging)
+       purgeRequestFindObjectToPurge();
+    else
+       purgeDoMissPurge();
+}
+
+void
+clientReplyContext::purgeDoMissPurge()
+{
     http->logType = LOG_TCP_MISS;
-    /* Release the cached URI */
-    entry = storeGetPublicByRequestMethod(http->request, METHOD_GET);
-    if (entry) {
-       debug(88, 4) ("clientPurgeRequest: GET '%s'\n", storeUrl(entry));
-       storeRelease(entry);
-       status = HTTP_OK;
+    lookingforstore = 3;
+    _StoreEntry::getPublicByRequestMethod(this,http->request, METHOD_GET);
+}
+
+void
+clientReplyContext::purgeDoPurgeGet(_StoreEntry *newEntry)
+{
+    assert (newEntry);
+    /* Move to new() when that is created */
+    purgeStatus = HTTP_NOT_FOUND;
+
+    if (!newEntry->isNull()) {
+       /* Release the cached URI */
+       debug(88, 4) ("clientPurgeRequest: GET '%s'\n", storeUrl(newEntry));
+       storeRelease(newEntry);
+       purgeStatus = HTTP_OK;
     }
-    entry = storeGetPublicByRequestMethod(http->request, METHOD_HEAD);
-    if (entry) {
-       debug(88, 4) ("clientPurgeRequest: HEAD '%s'\n", storeUrl(entry));
-       storeRelease(entry);
-       status = HTTP_OK;
+    lookingforstore = 4;
+    _StoreEntry::getPublicByRequestMethod(this, http->request, METHOD_HEAD);
+}
+
+void
+clientReplyContext::purgeDoPurgeHead(_StoreEntry *newEntry)
+{
+    if (newEntry) {
+       debug(88, 4) ("clientPurgeRequest: HEAD '%s'\n", storeUrl(newEntry));
+       storeRelease(newEntry);
+       purgeStatus = HTTP_OK;
     }
+    HttpReply *r;
+    http_version_t version;
+           
     /* And for Vary, release the base URI if none of the headers was included in the request */
     if (http->request->vary_headers
        && !strstr(http->request->vary_headers, "=")) {
-       entry = storeGetPublic(urlCanonical(http->request), METHOD_GET);
+       StoreEntry *entry = storeGetPublic(urlCanonical(http->request), METHOD_GET);
        if (entry) {
            debug(88, 4) ("clientPurgeRequest: Vary GET '%s'\n",
                storeUrl(entry));
            storeRelease(entry);
-           status = HTTP_OK;
+           purgeStatus = HTTP_OK;
        }
        entry = storeGetPublic(urlCanonical(http->request), METHOD_HEAD);
        if (entry) {
            debug(88, 4) ("clientPurgeRequest: Vary HEAD '%s'\n",
                storeUrl(entry));
            storeRelease(entry);
-           status = HTTP_OK;
+           purgeStatus = HTTP_OK;
        }
     }
     /*
@@ -845,12 +944,12 @@ clientPurgeRequest(clientReplyContext * context)
      * to the client.
      */
     http->entry =
-       clientCreateStoreEntry(context, http->request->method,
+       clientCreateStoreEntry(this, http->request->method,
        null_request_flags);
-    triggerStoreReadWithClientParameters(context, http);
+    triggerStoreReadWithClientParameters(this, http);
     httpReplyReset(r = http->entry->mem_obj->reply);
     httpBuildVersion(&version, 1, 0);
-    httpReplySetHeaders(r, version, status, NULL, NULL, 0, 0, -1);
+    httpReplySetHeaders(r, version, purgeStatus, NULL, NULL, 0, 0, -1);
     httpReplySwapOut(r, http->entry);
     storeComplete(http->entry);
 }
@@ -860,7 +959,7 @@ clientTraceReply(clientStreamNode * node, clientReplyContext * context)
 {
     HttpReply *rep;
     http_version_t version;
-    clientStreamNode *next = node->node.next->data;
+    clientStreamNode *next = (clientStreamNode *)node->node.next->data;
     StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
     assert(context->http->request->max_forwards == 0);
     context->http->entry =
@@ -893,7 +992,7 @@ clientCheckTransferDone(clientReplyContext * context)
     StoreEntry *entry = http->entry;
     MemObject *mem;
     http_reply *reply;
-    int sendlen;
+    size_t sendlen;
     if (entry == NULL)
        return 0;
     /*  
@@ -1015,9 +1114,9 @@ clientHttpRequestStatus(int fd, clientHttpRequest const *http)
  * of the object.
  */
 clientStream_status_t
-clientReplyStatus(clientStreamNode * this, clientHttpRequest * http)
+clientReplyStatus(clientStreamNode * aNode, clientHttpRequest * http)
 {
-    clientReplyContext *context = this->data;
+    clientReplyContext *context = (clientReplyContext *)aNode->data;
     int done;
     /* Here because lower nodes don't need it */
     if (http->entry == NULL)
@@ -1090,9 +1189,9 @@ clientAlwaysAllowResponse(http_status sline)
  * adds Squid specific entries
  */
 static void
-clientBuildReplyHeader(clientReplyContext * context, HttpReply * rep)
+clientBuildReplyHeader(clientReplyContext *context, HttpReply * rep)
 {
-    clientHttpRequest *http = context->http;
+    clientHttpRequest * http = context->http;
     HttpHeader *hdr = &rep->header;
     int is_hit = logTypeIsATcpHit(http->logType);
     request_t *request = http->request;
@@ -1208,7 +1307,7 @@ clientBuildReplyHeader(clientReplyContext * context, HttpReply * rep)
 
 
 static HttpReply *
-clientBuildReply(clientReplyContext * context, const char *buf, size_t size)
+clientBuildReply(clientReplyContext *context, const char *buf, size_t size)
 {
     HttpReply *rep = httpReplyCreate();
     size_t k = headersEnd(buf, size);
@@ -1225,16 +1324,27 @@ clientBuildReply(clientReplyContext * context, const char *buf, size_t size)
     return rep;
 }
 
-static log_type
-clientIdentifyStoreObject(clientReplyContext * context)
+void
+clientReplyContext::identifyStoreObject()
 {
-    clientHttpRequest *http = context->http;
     request_t *r = http->request;
-    StoreEntry *e;
-    if (r->flags.cachable || r->flags.internal)
-       e = http->entry = storeGetPublicByRequest(r);
-    else
-       e = http->entry = NULL;
+    if (r->flags.cachable || r->flags.internal) {
+       lookingforstore = 5;
+       _StoreEntry::getPublicByRequest (this, r);
+    } else
+       identifyFoundObject (NullStoreEntry::getInstance());
+}
+
+void
+clientReplyContext::identifyFoundObject(StoreEntry *newEntry)
+{
+    StoreEntry *e = newEntry;
+    request_t *r = http->request;
+    if (e->isNull()) {
+       http->entry = NULL;
+    } else {
+       http->entry = e;
+    }
     /* Release negatively cached IP-cache entries on reload */
     if (r->flags.nocache)
        ipcacheInvalidate(r->host);
@@ -1243,33 +1353,43 @@ clientIdentifyStoreObject(clientReplyContext * context)
        ipcacheInvalidate(r->host);
 #endif
 #if USE_CACHE_DIGESTS
-    context->lookup_type = e ? "HIT" : "MISS";
+    lookup_type = e ? "HIT" : "MISS";
 #endif
     if (NULL == e) {
        /* this object isn't in the cache */
        debug(85, 3) ("clientProcessRequest2: storeGet() MISS\n");
-       return LOG_TCP_MISS;
+       http->logType = LOG_TCP_MISS;
+       doGetMoreData();
+       return;
     }
     if (Config.onoff.offline) {
        debug(85, 3) ("clientProcessRequest2: offline HIT\n");
        http->entry = e;
-       return LOG_TCP_HIT;
+       http->logType = LOG_TCP_HIT;
+       doGetMoreData();
+       return;
     }
     if (http->redirect.status) {
        /* force this to be a miss */
        http->entry = NULL;
-       return LOG_TCP_MISS;
+       http->logType = LOG_TCP_MISS;
+       doGetMoreData();
+       return;
     }
     if (!storeEntryValidToSend(e)) {
        debug(85, 3) ("clientProcessRequest2: !storeEntryValidToSend MISS\n");
        http->entry = NULL;
-       return LOG_TCP_MISS;
+       http->logType = LOG_TCP_MISS;
+       doGetMoreData();
+       return;
     }
     if (EBIT_TEST(e->flags, ENTRY_SPECIAL)) {
        /* Special entries are always hits, no matter what the client says */
        debug(85, 3) ("clientProcessRequest2: ENTRY_SPECIAL HIT\n");
        http->entry = e;
-       return LOG_TCP_HIT;
+       http->logType = LOG_TCP_HIT;
+       doGetMoreData();
+       return;
     }
 #if HTTP_VIOLATIONS
     if (e->store_status == STORE_PENDING) {
@@ -1284,16 +1404,21 @@ clientIdentifyStoreObject(clientReplyContext * context)
     if (r->flags.nocache) {
        debug(85, 3) ("clientProcessRequest2: no-cache REFRESH MISS\n");
        http->entry = NULL;
-       return LOG_TCP_CLIENT_REFRESH_MISS;
+       http->logType = LOG_TCP_CLIENT_REFRESH_MISS;
+       doGetMoreData();
+       return;
     }
     /* We don't cache any range requests (for now!) -- adrian */
     if (r->flags.range) {
        http->entry = NULL;
-       return LOG_TCP_MISS;
+       http->logType = LOG_TCP_MISS;
+       doGetMoreData();
+       return;
     }
     debug(85, 3) ("clientProcessRequest2: default HIT\n");
     http->entry = e;
-    return LOG_TCP_HIT;
+    http->logType = LOG_TCP_HIT;
+    doGetMoreData();
 }
 
 /* Request more data from the store for the client Stream
@@ -1305,22 +1430,23 @@ clientIdentifyStoreObject(clientReplyContext * context)
  * data context is not null
  */
 void
-clientGetMoreData(clientStreamNode * this, clientHttpRequest * http)
+clientGetMoreData(clientStreamNode * aNode, clientHttpRequest * http)
 {
     clientStreamNode *next;
     clientReplyContext *context;
     /* Test preconditions */
-    assert(this != NULL);
-    assert(cbdataReferenceValid(this));
-    assert(this->data != NULL);
-    assert(this->node.prev == NULL);
-    assert(this->node.next != NULL);
-    context = this->data;
+    assert(aNode != NULL);
+    assert(cbdataReferenceValid(aNode));
+    assert(aNode->data != NULL);
+    assert(aNode->node.prev == NULL);
+    assert(aNode->node.next != NULL);
+    context = (clientReplyContext *)aNode->data;
     assert(context->http == http);
 
-    next = this->node.next->data;
+    next = ( clientStreamNode *)aNode->node.next->data;
     if (!context->ourNode)
-       context->ourNode = this;        /* no cbdatareference, this is only used once, and safely */
+       context->ourNode = aNode;
+    /* no cbdatareference, this is only used once, and safely */
     if (context->flags.storelogiccomplete) {
        StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
        tempBuffer.offset = next->readBuffer.offset + context->headers_sz;
@@ -1332,24 +1458,30 @@ clientGetMoreData(clientStreamNode * this, clientHttpRequest * http)
        return;
     }
     if (context->http->request->method == METHOD_PURGE) {
-       clientPurgeRequest(context);
+       context->purgeRequest();
        return;
     }
     if (context->http->request->method == METHOD_TRACE) {
        if (context->http->request->max_forwards == 0) {
-           clientTraceReply(this, context);
+           clientTraceReply(aNode, context);
            return;
        }
        /* continue forwarding, not finished yet. */
        http->logType = LOG_TCP_MISS;
+       context->doGetMoreData();
     } else
-       http->logType = clientIdentifyStoreObject(context);
+       context->identifyStoreObject();
+}
+
+void
+clientReplyContext::doGetMoreData()
+{
     /* We still have to do store logic processing - vary, cache hit etc */
-    if (context->http->entry != NULL) {
+    if (http->entry != NULL) {
        /* someone found the object in the cache for us */
        StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
-       storeLockObject(context->http->entry);
-       if (context->http->entry->mem_obj == NULL) {
+       storeLockObject(http->entry);
+       if (http->entry->mem_obj == NULL) {
            /*
             * This if-block exists because we don't want to clobber
             * a preexiting mem_obj->method value if the mem_obj
@@ -1357,26 +1489,28 @@ clientGetMoreData(clientStreamNode * this, clientHttpRequest * http)
             * is a cache hit for a GET response, we want to keep
             * the method as GET.
             */
-           storeCreateMemObject(context->http->entry, context->http->uri,
-               context->http->log_uri);
-           context->http->entry->mem_obj->method =
-               context->http->request->method;
+           storeCreateMemObject(http->entry, http->uri,
+               http->log_uri);
+           http->entry->mem_obj->method =
+               http->request->method;
        }
-       context->sc = storeClientListAdd(context->http->entry, context);
+       sc = storeClientListAdd(http->entry, this);
 #if DELAY_POOLS
-       delaySetStoreClient(context->sc, delayClient(context->http));
+       delaySetStoreClient(sc, delayClient(http));
 #endif
-       assert(context->http->logType == LOG_TCP_HIT);
-       context->reqofs = 0;
-       assert(http->out.offset == http->out.size && http->out.offset == 0);
-       tempBuffer.offset = context->reqofs;
-       tempBuffer.length = next->readBuffer.length;
-       tempBuffer.data = next->readBuffer.data;
-       storeClientCopy(context->sc, http->entry,
-           tempBuffer, clientCacheHit, context);
+       assert(http->logType == LOG_TCP_HIT);
+       reqofs = 0;
+       /* guarantee nothing has been sent yet! */
+       assert(http->out.size == 0);
+       assert(http->out.offset == 0);
+       tempBuffer.offset = reqofs;
+       tempBuffer.length = getNextNode()->readBuffer.length;
+       tempBuffer.data = getNextNode()->readBuffer.data;
+       storeClientCopy(sc, http->entry,
+           tempBuffer, clientCacheHit, this);
     } else {
        /* MISS CASE, http->logType is already set! */
-       clientProcessMiss(context);
+       clientProcessMiss(this);
     }
 }
 
@@ -1399,9 +1533,9 @@ clientReplyDetach(clientStreamNode * node, clientHttpRequest * http)
 void
 clientSendMoreData(void *data, StoreIOBuffer result)
 {
-    clientReplyContext *context = data;
+    clientReplyContext *context = static_cast<clientReplyContext *>(data);
     clientHttpRequest *http = context->http;
-    clientStreamNode *next = http->client_stream.head->next->data;
+    clientStreamNode *next = (clientStreamNode*)http->client_stream.head->next->data;
     StoreEntry *entry = http->entry;
     ConnStateData *conn = http->conn;
     int fd = conn ? conn->fd : -1;
@@ -1422,7 +1556,7 @@ clientSendMoreData(void *data, StoreIOBuffer result)
        xmemcpy(buf, result.data, result.length);
        body_buf = buf;
     } else if (!context->flags.headersSent &&
-       buf + context->reqofs != result.data) {
+              buf + context->reqofs !=result.data) {
        /* we've got to copy some data */
        assert(result.length + context->reqofs <= next->readBuffer.length);
        xmemcpy(buf + context->reqofs, result.data, result.length);
@@ -1460,7 +1594,7 @@ clientSendMoreData(void *data, StoreIOBuffer result)
        StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
        context->flags.complete = 1;
        tempBuffer.flags.error = result.flags.error;
-       clientStreamCallback(http->client_stream.head->data, http, NULL,
+       clientStreamCallback((clientStreamNode*)http->client_stream.head->data, http, NULL,
            tempBuffer);
        /* clientWriteComplete(fd, NULL, 0, COMM_OK, http); */
        return;
@@ -1474,7 +1608,7 @@ clientSendMoreData(void *data, StoreIOBuffer result)
        tempBuffer.offset = result.offset - context->headers_sz;
        tempBuffer.length = result.length;
        tempBuffer.data = buf;
-       clientStreamCallback(http->client_stream.head->data, http, NULL,
+       clientStreamCallback((clientStreamNode*)http->client_stream.head->data, http, NULL,
            tempBuffer);
        return;
     }
@@ -1483,7 +1617,7 @@ clientSendMoreData(void *data, StoreIOBuffer result)
        size_t k;
        if ((k = headersEnd(buf, size))) {
            safe_free(http->al.headers.reply);
-           http->al.headers.reply = xcalloc(k + 1, 1);
+           http->al.headers.reply = (char *)xcalloc(k + 1, 1);
            xstrncpy(http->al.headers.reply, buf, k);
        }
     }
@@ -1574,7 +1708,7 @@ clientSendMoreData(void *data, StoreIOBuffer result)
        tempBuffer.length = body_size;
        tempBuffer.data = body_buf;
        /* TODO: move the data in the buffer back by the request header size */
-       clientStreamCallback(http->client_stream.head->data, http, rep,
+       clientStreamCallback((clientStreamNode *)http->client_stream.head->data, http, rep,
            tempBuffer);
     }
 }
@@ -1586,7 +1720,7 @@ clientReplyBodyTooLarge(HttpReply * rep, ssize_t clen)
        return 0;               /* disabled */
     if (clen < 0)
        return 0;               /* unknown */
-    if (clen > rep->maxBodySize)
+    if ((unsigned int)clen > rep->maxBodySize)
        return 1;               /* too large */
     return 0;
 }
index e73160e96b9f2c4c595fe1082cdc280451855b5f..82c98a53e6f29b8be1a9f023c2709a978f8c727c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_request.cc,v 1.6 2002/10/03 06:45:53 hno Exp $
+ * $Id: client_side_request.cc,v 1.7 2002/10/13 20:35:00 robertc Exp $
  * 
  * DEBUG: section 85    Client-side Request Routines AUTHOR: Robert Collins
  * (Originally Duane Wessels in client_side.c)
@@ -44,6 +44,7 @@
 #include "squid.h"
 #include "clientStream.h"
 #include "client_side_request.h"
+#include "authenticate.h"
 
 #if LINGERING_CLOSE
 #define comm_close comm_lingering_close
@@ -73,14 +74,14 @@ static RH clientRedirectDone;
 static void clientCheckNoCache(clientRequestContext * context);
 static void clientCheckNoCacheDone(int answer, void *data);
 void clientProcessRequest(clientHttpRequest *);
-extern CSR clientGetMoreData;
-extern CSS clientReplyStatus;
-extern CSD clientReplyDetach;
+extern "C" CSR clientGetMoreData;
+extern "C" CSS clientReplyStatus;
+extern "C" CSD clientReplyDetach;
 
 void
 clientRequestContextFree(void *data)
 {
-    clientRequestContext *context = data;
+    clientRequestContext *context = (clientRequestContext *)data;
     cbdataReferenceDone(context->http);
     if (context->acl_checklist)
        aclChecklistFree(context->acl_checklist);
@@ -131,7 +132,7 @@ clientBeginRequest(method_t method, char const *url, CSCB * streamcallback,
                                 * accelerator today. TODO: accept flags ? */
     /* allow size for url rewriting */
     url_sz = strlen(url) + Config.appendDomainLen + 5;
-    http->uri = xcalloc(url_sz, 1);
+    http->uri = (char *)xcalloc(url_sz, 1);
     strcpy(http->uri, url);
 
     if ((request = urlParse(method, http->uri)) == NULL) {
@@ -197,7 +198,7 @@ checkAccelOnly(clientHttpRequest * http)
 void
 clientAccessCheck(void *data)
 {
-    clientHttpRequest *http = data;
+    clientHttpRequest *http = (clientHttpRequest *)data;
     clientRequestContext *context = clientRequestContextNew(http);
     if (checkAccelOnly(http)) {
        /* deny proxy requests in accel_only mode */
@@ -214,11 +215,11 @@ clientAccessCheck(void *data)
 void
 clientAccessCheckDone(int answer, void *data)
 {
-    clientRequestContext *context = data;
+    clientRequestContext *context = (clientRequestContext *)data;
     clientHttpRequest *http = context->http;
     err_type page_id;
     http_status status;
-    char *proxy_auth_msg = NULL;
+    char const *proxy_auth_msg = NULL;
     debug(85, 2) ("The request %s %s is %s, because it matched '%s'\n",
        RequestMethodStr[http->request->method], http->uri,
        answer == ACCESS_ALLOWED ? "ALLOWED" : "DENIED",
@@ -235,7 +236,7 @@ clientAccessCheckDone(int answer, void *data)
        redirectStart(http, clientRedirectDone, context);
     } else {
        /* Send an error */
-       clientStreamNode *node = http->client_stream.tail->prev->data;
+       clientStreamNode *node = (clientStreamNode *)http->client_stream.tail->prev->data;
        cbdataFree(context);
        debug(85, 5) ("Access Denied: %s\n", http->uri);
        debug(85, 5) ("AclMatchedName = %s\n",
@@ -271,7 +272,7 @@ clientAccessCheckDone(int answer, void *data)
            NULL, http->conn
            && http->conn->auth_user_request ? http->conn->
            auth_user_request : http->request->auth_user_request);
-       node = http->client_stream.tail->data;
+       node = (clientStreamNode *)http->client_stream.tail->data;
        clientStreamRead(node, http, node->readBuffer);
     }
 }
@@ -476,7 +477,7 @@ clientInterpretRequestHeaders(clientHttpRequest * http)
 void
 clientRedirectDone(void *data, char *result)
 {
-    clientRequestContext *context = data;
+    clientRequestContext *context = (clientRequestContext *)data;
     clientHttpRequest *http = context->http;
     request_t *new_request = NULL;
     request_t *old_request = http->request;
@@ -550,7 +551,7 @@ clientCheckNoCache(clientRequestContext * context)
 void
 clientCheckNoCacheDone(int answer, void *data)
 {
-    clientRequestContext *context = data;
+    clientRequestContext *context = (clientRequestContext *)data;
     clientHttpRequest *http = context->http;
     http->request->flags.cachable = answer;
     context->acl_checklist = NULL;
@@ -582,6 +583,6 @@ clientProcessRequest(clientHttpRequest * http)
     /* no one should have touched this */
     assert(http->out.offset == 0);
     /* Use the Stream Luke */
-    node = http->client_stream.tail->data;
+    node = (clientStreamNode *)http->client_stream.tail->data;
     clientStreamRead(node, http, node->readBuffer);
 }
index 43101203407f1e35cf25d7d006febef717538f22..17557f0583ad58027cdcdafc8531b583049e3070 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm.cc,v 1.335 2002/10/02 11:06:31 robertc Exp $
+ * $Id: comm.cc,v 1.336 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 5     Socket Functions
  * AUTHOR: Harvest Derived
@@ -57,7 +57,7 @@ typedef struct {
 } ConnectStateData;
 
 /* STATIC */
-static int commBind(int s, struct in_addr, u_short port);
+static comm_err_t commBind(int s, struct in_addr, u_short port);
 static void commSetReuseAddr(int);
 static void commSetNoLinger(int);
 static void CommWriteStateCallbackAndFree(int fd, comm_err_t code);
@@ -282,7 +282,7 @@ commConnectStart(int fd, const char *host, u_short port, CNCB * callback, void *
 static void
 commConnectDnsHandle(const ipcache_addrs * ia, void *data)
 {
-    ConnectStateData *cs = data;
+    ConnectStateData *cs = (ConnectStateData *)data;
     assert(cs->locks == 1);
     cs->locks--;
     if (ia == NULL) {
@@ -321,7 +321,7 @@ commConnectCallback(ConnectStateData * cs, comm_err_t status)
 static void
 commConnectFree(int fd, void *data)
 {
-    ConnectStateData *cs = data;
+    ConnectStateData *cs = (ConnectStateData *)data;
     debug(5, 3) ("commConnectFree: FD %d\n", fd);
     cbdataReferenceDone(cs->data);
     safe_free(cs->host);
@@ -403,7 +403,7 @@ commRetryConnect(ConnectStateData * cs)
 static void
 commConnectHandle(int fd, void *data)
 {
-    ConnectStateData *cs = data;
+    ConnectStateData *cs = (ConnectStateData *)data;
     if (cs->S.sin_addr.s_addr == 0) {
        cs->S.sin_family = AF_INET;
        cs->S.sin_addr = cs->in_addr;
@@ -715,16 +715,16 @@ commSetDefer(int fd, DEFER * func, void *data)
 void
 comm_add_close_handler(int fd, PF * handler, void *data)
 {
-    close_handler *new = memPoolAlloc(conn_close_pool);                /* AAA */
+    close_handler *newHandler = (close_handler *)memPoolAlloc(conn_close_pool);                /* AAA */
     close_handler *c;
     debug(5, 5) ("comm_add_close_handler: FD %d, handler=%p, data=%p\n",
        fd, handler, data);
     for (c = fd_table[fd].closeHandler; c; c = c->next)
        assert(c->handler != handler || c->data != data);
-    new->handler = handler;
-    new->data = cbdataReference(data);
-    new->next = fd_table[fd].closeHandler;
-    fd_table[fd].closeHandler = new;
+    newHandler->handler = handler;
+    newHandler->data = cbdataReference(data);
+    newHandler->next = fd_table[fd].closeHandler;
+    fd_table[fd].closeHandler = newHandler;
 }
 
 void
@@ -784,7 +784,7 @@ commSetNonBlocking(int fd)
     int nonblocking = TRUE;
     if (fd_table[fd].type != FD_PIPE) {
        if (ioctl(fd, FIONBIO, &nonblocking) < 0) {
-           debug(50, 0) ("commSetNonBlocking: FD %d: %s %D\n", fd, xstrerror(), fd_table[fd].type);
+           debug(50, 0) ("commSetNonBlocking: FD %d: %s %u\n", fd, xstrerror(), fd_table[fd].type);
            return COMM_ERROR;
        }
     } else {
@@ -852,7 +852,7 @@ commSetTcpNoDelay(int fd)
 void
 comm_init(void)
 {
-    fd_table = xcalloc(Squid_MaxFD, sizeof(fde));
+    fd_table = (fde *)xcalloc(Squid_MaxFD, sizeof(fde));
     /* XXX account fd_table */
     /* Keep a few file descriptors free so that we don't run out of FD's
      * after accepting a client but before it opens a socket or a file.
@@ -867,7 +867,7 @@ comm_init(void)
 static void
 commHandleWrite(int fd, void *data)
 {
-    CommWriteStateData *state = data;
+    CommWriteStateData *state = (CommWriteStateData *)data;
     int len = 0;
     int nleft;
 
@@ -909,7 +909,7 @@ commHandleWrite(int fd, void *data)
     } else {
        /* A successful write, continue */
        state->offset += len;
-       if (state->offset < state->size) {
+       if (state->offset < (off_t)state->size) {
            /* Not done, reinstall the write handler and write some more */
            commSetSelect(fd,
                COMM_SELECT_WRITE,
@@ -942,7 +942,7 @@ comm_write(int fd, const char *buf, int size, CWCB * handler, void *handler_data
        memPoolFree(comm_write_pool, state);
        fd_table[fd].rwstate = NULL;
     }
-    fd_table[fd].rwstate = state = memPoolAlloc(comm_write_pool);
+    fd_table[fd].rwstate = state = (CommWriteStateData *)memPoolAlloc(comm_write_pool);
     state->buf = (char *) buf;
     state->size = size;
     state->offset = 0;
index 49a5268637aaba00b2796537c0bd57e6bbce2359..b02c2edddc14add63a444faa967310b246660aa1 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_kqueue.cc,v 1.2 2002/09/15 06:23:28 adrian Exp $
+ * $Id: comm_kqueue.cc,v 1.3 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 5    Socket functions
  *
@@ -54,6 +54,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #ifdef USE_KQUEUE
 
index 38e1d5886466681896f3d3765d3ba02a6c1c1255..7ff8be268674b8a10f91eae9e6cbca37fbfeba12 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_poll.cc,v 1.6 2002/10/02 11:06:31 robertc Exp $
+ * $Id: comm_poll.cc,v 1.7 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -33,6 +33,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #ifdef USE_POLL
 
@@ -322,7 +323,6 @@ comm_select(int msec)
 #endif
     PF *hdl = NULL;
     int fd;
-    int i;
     int maxfd;
     unsigned long nfds;
     unsigned long npending;
@@ -351,7 +351,7 @@ comm_select(int msec)
        nfds = 0;
        npending = 0;
        maxfd = Biggest_FD + 1;
-       for (i = 0; i < maxfd; i++) {
+       for (int i = 0; i < maxfd; i++) {
            int events;
            events = 0;
            /* Check each open socket for a handler. */
@@ -420,10 +420,10 @@ comm_select(int msec)
         * more frequently to minimize losses due to the 5 connect 
         * limit in SunOS */
        PROF_start(comm_handle_ready_fd);
-       for (i = 0; i < nfds; i++) {
+       for (size_t loopIndex = 0; loopIndex < nfds; loopIndex++) {
            fde *F;
-           int revents = pfds[i].revents;
-           fd = pfds[i].fd;
+           int revents = pfds[loopIndex].revents;
+           fd = pfds[loopIndex].fd;
            if (fd == -1)
                continue;
            if (fd_table[fd].flags.read_pending)
index 60311952eb070557f00efb83359e2c8ad00656e7..9efa9ef265bd0a1418199c847445fa13928e8236 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_select.cc,v 1.60 2002/10/02 11:06:31 robertc Exp $
+ * $Id: comm_select.cc,v 1.61 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -33,6 +33,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #ifdef USE_SELECT
 
index ee5ae94880ed0215e8547da861e44d2b2f2e52d9..2c3490c4b4d1eafef5a7ff72b598d9a13470ea6a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: defines.h,v 1.108 2002/09/15 06:23:29 adrian Exp $
+ * $Id: defines.h,v 1.109 2002/10/13 20:35:00 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #endif
 #define cbdataReference(var)   (cbdataInternalLock(var), var)
 #define cbdataReferenceDone(var) do {if (var) {cbdataInternalUnlock(var); var = NULL;}} while(0)
-#define CBDATA_TYPE(type)      static cbdata_type CBDATA_##type = 0
+#define CBDATA_TYPE(type)      static cbdata_type CBDATA_##type = CBDATA_UNKNOWN
 #define CBDATA_GLOBAL_TYPE(type)       cbdata_type CBDATA_##type
-#define CBDATA_INIT_TYPE(type) (CBDATA_##type ? 0 : (CBDATA_##type = cbdataInternalAddType(CBDATA_##type, #type, sizeof(type), NULL)))
-#define CBDATA_INIT_TYPE_FREECB(type, free_func)       (CBDATA_##type ? 0 : (CBDATA_##type = cbdataInternalAddType(CBDATA_##type, #type, sizeof(type), free_func)))
+#define CBDATA_INIT_TYPE(type) (CBDATA_##type ?  CBDATA_UNKNOWN : (CBDATA_##type = cbdataInternalAddType(CBDATA_##type, #type, sizeof(type), NULL)))
+#define CBDATA_INIT_TYPE_FREECB(type, free_func)       (CBDATA_##type ?  CBDATA_UNKNOWN : (CBDATA_##type = cbdataInternalAddType(CBDATA_##type, #type, sizeof(type), free_func)))
 
 #ifndef O_TEXT
 #define O_TEXT 0
index 5a899eae75c14d332adb2027e296c617aa2c0a46..f49139d777a1ad51c2d10d65ff2b1fdcc8969354 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: disk.cc,v 1.161 2002/10/02 11:06:31 robertc Exp $
+ * $Id: disk.cc,v 1.162 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 6     Disk I/O Routines
  * AUTHOR: Harvest Derived
@@ -151,8 +151,8 @@ diskCombineWrites(struct _fde_disk *fdd)
        len = 0;
        for (q = fdd->write_q; q != NULL; q = q->next)
            len += q->len - q->buf_offset;
-       wq = memAllocate(MEM_DWRITE_Q);
-       wq->buf = xmalloc(len);
+       wq = (dwrite_q *)memAllocate(MEM_DWRITE_Q);
+       wq->buf = (char *)xmalloc(len);
        wq->len = 0;
        wq->buf_offset = 0;
        wq->next = NULL;
@@ -307,9 +307,9 @@ file_write(int fd,
     assert(fd >= 0);
     assert(F->flags.open);
     /* if we got here. Caller is eligible to write. */
-    wq = memAllocate(MEM_DWRITE_Q);
+    wq = (dwrite_q *)memAllocate(MEM_DWRITE_Q);
     wq->file_offset = file_offset;
-    wq->buf = ptr_to_buf;
+    wq->buf = (char *)ptr_to_buf;
     wq->len = len;
     wq->buf_offset = 0;
     wq->next = NULL;
@@ -349,7 +349,7 @@ file_write_mbuf(int fd, off_t off, MemBuf mb, DWCB * handler, void *handler_data
 static void
 diskHandleRead(int fd, void *data)
 {
-    dread_ctrl *ctrl_dat = data;
+    dread_ctrl *ctrl_dat = (dread_ctrl *)data;
     fde *F = &fd_table[fd];
     int len;
     int rc = DISK_OK;
@@ -405,7 +405,7 @@ file_read(int fd, char *buf, int req_len, off_t offset, DRCB * handler, void *cl
     dread_ctrl *ctrl_dat;
     PROF_start(file_read);
     assert(fd >= 0);
-    ctrl_dat = memAllocate(MEM_DREAD_CTRL);
+    ctrl_dat = (dread_ctrl *)memAllocate(MEM_DREAD_CTRL);
     ctrl_dat->fd = fd;
     ctrl_dat->offset = offset;
     ctrl_dat->req_len = req_len;
index 600bfdcda5bc152bd2b4e17896612e1b890ffd67..3c25d6ef63afbe4fa54d866e334e03538564bd68 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dns.cc,v 1.87 2002/04/04 23:59:25 hno Exp $
+ * $Id: dns.cc,v 1.88 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 34    Dnsserver interface
  * AUTHOR: Harvest Derived
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static helper *dnsservers = NULL;
 
index 749df669010a4bc8510507148c31771e3fc5ba15..b2481a1067ff07ee61a0a156659bc0b67e4108c8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dns_internal.cc,v 1.47 2002/06/25 11:43:34 hno Exp $
+ * $Id: dns_internal.cc,v 1.48 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 78    DNS lookups; interacts with lib/rfc1035.c
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_)
 #include <windows.h>
@@ -116,7 +117,7 @@ idnsAddNameserver(const char *buf)
            nns_alloc = 2;
        else
            nns_alloc <<= 1;
-       nameservers = xcalloc(nns_alloc, sizeof(*nameservers));
+       nameservers = (ns *)xcalloc(nns_alloc, sizeof(*nameservers));
        if (oldptr && oldalloc)
            xmemcpy(nameservers, oldptr, oldalloc * sizeof(*nameservers));
        if (oldptr)
@@ -181,7 +182,7 @@ idnsParseResolvConf(void)
 static void
 idnsParseWIN32Registry(void)
 {
-    char *t;
+    BYTE *t;
     char *token;
     HKEY hndKey, hndKey2;
 
@@ -335,7 +336,7 @@ idnsStats(StoreEntry * sentry)
     storeAppendPrintf(sentry, "  ID   SIZE SENDS FIRST SEND LAST SEND\n");
     storeAppendPrintf(sentry, "------ ---- ----- ---------- ---------\n");
     for (n = lru_list.head; n; n = n->next) {
-       q = n->data;
+       q = (idns_query *)n->data;
        storeAppendPrintf(sentry, "%#06x %4d %5d %10.3f %9.3f\n",
            (int) q->id, (int) q->sz, q->nsends,
            tvSubDsec(q->start_t, current_time),
@@ -430,7 +431,7 @@ idnsFindQuery(unsigned short id)
     dlink_node *n;
     idns_query *q;
     for (n = lru_list.tail; n; n = n->prev) {
-       q = n->data;
+       q = (idns_query*)n->data;
        if (q->id == id)
            return q;
     }
@@ -571,7 +572,7 @@ idnsCheckQueue(void *unused)
        if (0 == nns)
            /* name servers went away; reconfiguring or shutting down */
            break;
-       q = n->data;
+       q = (idns_query *)n->data;
        if (tvSubDsec(q->sent_t, current_time) < Config.Timeout.idns_retransmit * (1 << q->nsends % nns))
            break;
        debug(78, 3) ("idnsCheckQueue: ID %#04x timeout\n",
@@ -681,7 +682,7 @@ idnsShutdown(void)
 void
 idnsALookup(const char *name, IDNSCB * callback, void *data)
 {
-    idns_query *q = memAllocate(MEM_IDNS_QUERY);
+    idns_query *q = (idns_query *)memAllocate(MEM_IDNS_QUERY);
     q->sz = sizeof(q->buf);
     q->id = rfc1035BuildAQuery(name, q->buf, &q->sz);
     if (0 == q->id) {
@@ -701,7 +702,7 @@ idnsALookup(const char *name, IDNSCB * callback, void *data)
 void
 idnsPTRLookup(const struct in_addr addr, IDNSCB * callback, void *data)
 {
-    idns_query *q = memAllocate(MEM_IDNS_QUERY);
+    idns_query *q = (idns_query *)memAllocate(MEM_IDNS_QUERY);
     q->sz = sizeof(q->buf);
     q->id = rfc1035BuildPTRQuery(addr, q->buf, &q->sz);
     debug(78, 3) ("idnsPTRLookup: buf is %d bytes for %s, id = %#hx\n",
index 6c5a08c32c8fc32e0aa9394793073902a0885345..64b2344348aa8506bacdcd9fd550d4459bafa3bc 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: dnsserver.cc,v 1.60 2002/07/01 08:55:32 hno Exp $
+ * $Id: dnsserver.cc,v 1.61 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 0     DNS Resolver
  * AUTHOR: Harvest Derived
@@ -262,8 +262,12 @@ main(int argc, char *argv[])
     char request[512];
     char *t = NULL;
     int c;
+#if HAVE_RES_INIT
     int opt_s = 0;
+#if HAVE_RES_NSADDR_LIST || HAVE_RES_NS_LIST
     extern char *optarg;
+#endif
+#endif
 
     safe_inet_addr("255.255.255.255", &no_addr);
 
index 691053ec9e39d2cc0efdf9a112d21f9891ce2867..35b2a1388c72e1b6beedc818e60df702871f75c3 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: enums.h,v 1.216 2002/09/24 10:46:43 robertc Exp $
+ * $Id: enums.h,v 1.217 2002/10/13 20:35:00 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -183,7 +183,8 @@ typedef enum {
 
 /* recognized or "known" header fields; @?@ add more! */
 typedef enum {
-    HDR_ACCEPT,
+    HDR_BAD_HDR = -1,
+    HDR_ACCEPT = 0,
     HDR_ACCEPT_CHARSET,
     HDR_ACCEPT_ENCODING,
     HDR_ACCEPT_LANGUAGE,
@@ -251,7 +252,8 @@ typedef enum {
 } http_hdr_type;
 
 typedef enum {
-    CC_PUBLIC,
+    CC_BADHDR = -1,
+    CC_PUBLIC = 0,
     CC_PRIVATE,
     CC_NO_CACHE,
     CC_NO_STORE,
@@ -343,10 +345,10 @@ typedef enum {
     ICP_END
 } icp_opcode;
 
-enum {
+typedef enum _mem_status_t {
     NOT_IN_MEMORY,
     IN_MEMORY
-};
+} mem_status_t;
 
 enum {
     PING_NONE,
@@ -589,8 +591,6 @@ typedef enum {
     MEM_ACL_IP_DATA,
     MEM_ACL_LIST,
     MEM_ACL_NAME_LIST,
-    MEM_AUTH_USER_T,
-    MEM_AUTH_USER_HASH,
     MEM_ACL_PROXY_AUTH_MATCH,
     MEM_ACL_USER_DATA,
     MEM_ACL_TIME_DATA,
@@ -622,7 +622,6 @@ typedef enum {
     MEM_NET_DB_NAME,
     MEM_RELIST,
     MEM_REQUEST_T,
-    MEM_STOREENTRY,
     MEM_WORDLIST,
 #if !USE_DNSSERVERS
     MEM_IDNS_QUERY,
@@ -720,7 +719,6 @@ typedef enum {
     CBDATA_helper_server,
     CBDATA_statefulhelper,
     CBDATA_helper_stateful_server,
-    CBDATA_HttpStateData,
     CBDATA_peer,
     CBDATA_ps_state,
     CBDATA_RemovalPolicy,
index e87190f69be9d99593b32ba0f5ee067725e6dac1..b593c2b4c57566842856284e4352eaf0d3e3a484 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: errorpage.cc,v 1.177 2002/09/15 06:40:57 robertc Exp $
+ * $Id: errorpage.cc,v 1.178 2002/10/13 20:35:00 robertc Exp $
  *
  * DEBUG: section 4     Error Generation
  * AUTHOR: Duane Wessels
@@ -41,7 +41,8 @@
  */
 
 #include "squid.h"
-
+#include "authenticate.h"
+#include "Store.h"
 
 /* local types */
 
@@ -94,6 +95,12 @@ static int errorDump(ErrorState * err, MemBuf * mb);
 static const char *errorConvert(char token, ErrorState * err);
 static CWCB errorSendComplete;
 
+
+err_type &operator++ (err_type &anErr)
+{
+    anErr = (err_type)(++(int)anErr);
+    return anErr;
+}
 /*
  * Function:  errorInitialize
  *
@@ -109,8 +116,8 @@ errorInitialize(void)
     err_type i;
     const char *text;
     error_page_count = ERR_MAX + ErrorDynamicPages.count;
-    error_text = xcalloc(error_page_count, sizeof(char *));
-    for (i = ERR_NONE, i++; i < error_page_count; i++) {
+    error_text = static_cast<char **>(xcalloc(error_page_count, sizeof(char *)));
+    for (i = ERR_NONE, ++i; i < error_page_count; ++i) {
        safe_free(error_text[i]);
        /* hard-coded ? */
        if ((text = errorFindHardText(i)))
@@ -120,7 +127,7 @@ errorInitialize(void)
            error_text[i] = errorLoadText(err_type_str[i]);
        } else {
            /* dynamic */
-           ErrorDynamicPageInfo *info = ErrorDynamicPages.items[i - ERR_MAX];
+           ErrorDynamicPageInfo *info = static_cast<ErrorDynamicPageInfo *>(ErrorDynamicPages.items[i - ERR_MAX]);
            assert(info && info->id == i && info->page_name);
            if (strchr(info->page_name, ':') == NULL) {
                /* Not on redirected errors... */
@@ -140,7 +147,7 @@ errorClean(void)
        safe_free(error_text);
     }
     while (ErrorDynamicPages.count)
-       errorDynamicPageInfoDestroy(stackPop(&ErrorDynamicPages));
+       errorDynamicPageInfoDestroy(static_cast<ErrorDynamicPageInfo *>(stackPop(&ErrorDynamicPages)));
     error_page_count = 0;
 }
 
@@ -185,7 +192,7 @@ errorTryLoadText(const char *page_name, const char *dir)
            file_close(fd);
        return NULL;
     }
-    text = xcalloc(sb.st_size + 2 + 1, 1);     /* 2 == space for %S */
+    text = (char *)xcalloc(sb.st_size + 2 + 1, 1);     /* 2 == space for %S */
     if (FD_READ_METHOD(fd, text, sb.st_size) != sb.st_size) {
        debug(4, 0) ("errorTryLoadText: failed to fully read: '%s': %s\n",
            path, xstrerror());
@@ -201,7 +208,7 @@ errorTryLoadText(const char *page_name, const char *dir)
 static ErrorDynamicPageInfo *
 errorDynamicPageInfoCreate(int id, const char *page_name)
 {
-    ErrorDynamicPageInfo *info = xcalloc(1, sizeof(ErrorDynamicPageInfo));
+    ErrorDynamicPageInfo *info = static_cast<ErrorDynamicPageInfo *>(xcalloc(1, sizeof(ErrorDynamicPageInfo)));
     info->id = id;
     info->page_name = xstrdup(page_name);
     return info;
@@ -230,7 +237,7 @@ errorPageId(const char *page_name)
     return ERR_NONE;
 }
 
-int
+err_type
 errorReservePageId(const char *page_name)
 {
     ErrorDynamicPageInfo *info;
@@ -240,7 +247,7 @@ errorReservePageId(const char *page_name)
        stackPush(&ErrorDynamicPages, info);
        id = info->id;
     }
-    return id;
+    return (err_type)id;
 }
 
 static const char *
@@ -378,7 +385,7 @@ errorSend(int fd, ErrorState * err)
 static void
 errorSendComplete(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    ErrorState *err = data;
+    ErrorState *err = static_cast<ErrorState *>(data);
     debug(4, 3) ("errorSendComplete: FD %d, size=%ld\n", fd, (long int) size);
     if (errflag != COMM_ERR_CLOSING) {
        if (err->callback) {
@@ -721,6 +728,6 @@ errorBuildContent(ErrorState * err)
     }
     if (*m)
        memBufPrintf(&content, "%s", m);        /* copy tail */
-    assert(content.size == strlen(content.buf));
+    assert((size_t)content.size == strlen(content.buf));
     return content;
 }
index 424ce460bcdc254c7070f0b27e8b43c54049292a..9a969b57771a37dc3e0c73e49cab88897378455a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: event.cc,v 1.32 2002/04/13 23:07:50 hno Exp $
+ * $Id: event.cc,v 1.33 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 41    Event Processing
  * AUTHOR: Henrik Nordstrom
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 /* The list of event processes */
 struct ev_entry {
@@ -54,7 +55,7 @@ static const char *last_event_ran = NULL;
 void
 eventAdd(const char *name, EVH * func, void *arg, double when, int weight)
 {
-    struct ev_entry *event = memAllocate(MEM_EVENT);
+    struct ev_entry *event = (ev_entry *)memAllocate(MEM_EVENT);
     struct ev_entry **E;
     event->func = func;
     event->arg = cbdataReference(arg);
index 5d9ce336ad73f1554cf7b9db4d98e9ed2444d0e6..23902620b6639bf37e214ee903e039bf894ca3d6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: external_acl.cc,v 1.14 2002/09/29 19:01:31 hno Exp $
+ * $Id: external_acl.cc,v 1.15 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 82    External ACL
  * AUTHOR: Henrik Nordstrom, MARA Systems AB
@@ -41,6 +41,9 @@
  */
 
 #include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
+
 
 #ifndef DEFAULT_EXTERNAL_ACL_TTL
 #define DEFAULT_EXTERNAL_ACL_TTL 1 * 60 * 60
@@ -82,7 +85,7 @@ struct _external_acl {
     external_acl_format *format;
     wordlist *cmdline;
     int children;
-    helper *helper;
+    helper *theHelper;
     hash_table *cache;
     dlink_list lru_list;
     int cache_size;
@@ -124,14 +127,14 @@ CBDATA_TYPE(external_acl_format);
 static void
 free_external_acl_format(void *data)
 {
-    external_acl_format *p = data;
+    external_acl_format *p = static_cast<external_acl_format *>(data);
     safe_free(p->header);
 }
 
 static void
 free_external_acl(void *data)
 {
-    external_acl *p = data;
+    external_acl *p = static_cast<external_acl *>(data);
     safe_free(p->name);
     while (p->format) {
        external_acl_format *f = p->format;
@@ -139,13 +142,13 @@ free_external_acl(void *data)
        cbdataFree(f);
     }
     wordlistDestroy(&p->cmdline);
-    if (p->helper) {
-       helperShutdown(p->helper);
-       helperFree(p->helper);
-       p->helper = NULL;
+    if (p->theHelper) {
+       helperShutdown(p->theHelper);
+       helperFree(p->theHelper);
+       p->theHelper = NULL;
     }
     while (p->lru_list.tail)
-       external_acl_cache_delete(p, p->lru_list.tail->data);
+       external_acl_cache_delete(p, static_cast<external_acl_entry *>(p->lru_list.tail->data));
     if (p->cache)
        hashFreeMemory(p->cache);
 }
@@ -222,38 +225,38 @@ parse_externalAclHelper(external_acl ** list)
                else
                    format->separator = ',';
                format->member = xstrdup(member);
-               format->type = EXT_ACL_HEADER_MEMBER;
+               format->type = _external_acl_format::EXT_ACL_HEADER_MEMBER;
            } else {
-               format->type = EXT_ACL_HEADER;
+               format->type = _external_acl_format::EXT_ACL_HEADER;
            }
            format->header = xstrdup(header);
            format->header_id = httpHeaderIdByNameDef(header, strlen(header));
            if (format->header_id != -1) {
                if (member)
-                   format->type = EXT_ACL_HEADER_ID_MEMBER;
+                   format->type = _external_acl_format::EXT_ACL_HEADER_ID_MEMBER;
                else
-                   format->type = EXT_ACL_HEADER_ID;
+                   format->type = _external_acl_format::EXT_ACL_HEADER_ID;
            }
        } else if (strcmp(token, "%LOGIN") == 0) {
-           format->type = EXT_ACL_LOGIN;
+           format->type = _external_acl_format::EXT_ACL_LOGIN;
            a->require_auth = 1;
        }
 #if USE_IDENT
        else if (strcmp(token, "%IDENT") == 0)
-           format->type = EXT_ACL_IDENT;
+           format->type = _external_acl_format::EXT_ACL_IDENT;
 #endif
        else if (strcmp(token, "%SRC") == 0)
-           format->type = EXT_ACL_SRC;
+           format->type = _external_acl_format::EXT_ACL_SRC;
        else if (strcmp(token, "%DST") == 0)
-           format->type = EXT_ACL_DST;
+           format->type = _external_acl_format::EXT_ACL_DST;
        else if (strcmp(token, "%PROTO") == 0)
-           format->type = EXT_ACL_PROTO;
+           format->type = _external_acl_format::EXT_ACL_PROTO;
        else if (strcmp(token, "%PORT") == 0)
-           format->type = EXT_ACL_PORT;
+           format->type = _external_acl_format::EXT_ACL_PORT;
        else if (strcmp(token, "%PATH") == 0)
-           format->type = EXT_ACL_PATH;
+           format->type = _external_acl_format::EXT_ACL_PATH;
        else if (strcmp(token, "%METHOD") == 0)
-           format->type = EXT_ACL_METHOD;
+           format->type = _external_acl_format::EXT_ACL_METHOD;
        else {
            self_destruct();
        }
@@ -295,16 +298,16 @@ dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl
            storeAppendPrintf(sentry, " concurrency=%d", node->children);
        for (format = node->format; format; format = format->next) {
            switch (format->type) {
-           case EXT_ACL_HEADER:
-           case EXT_ACL_HEADER_ID:
+           case _external_acl_format::EXT_ACL_HEADER:
+           case _external_acl_format::EXT_ACL_HEADER_ID:
                storeAppendPrintf(sentry, " %%{%s}", format->header);
                break;
-           case EXT_ACL_HEADER_MEMBER:
-           case EXT_ACL_HEADER_ID_MEMBER:
+           case _external_acl_format::EXT_ACL_HEADER_MEMBER:
+           case _external_acl_format::EXT_ACL_HEADER_ID_MEMBER:
                storeAppendPrintf(sentry, " %%{%s:%s}", format->header, format->member);
                break;
 #define DUMP_EXT_ACL_TYPE(a) \
-           case EXT_ACL_##a: \
+           case _external_acl_format::EXT_ACL_##a: \
                storeAppendPrintf(sentry, " %%%s", #a); \
                break
                DUMP_EXT_ACL_TYPE(LOGIN);
@@ -362,7 +365,7 @@ CBDATA_TYPE(external_acl_data);
 static void
 free_external_acl_data(void *data)
 {
-    external_acl_data *p = data;
+    external_acl_data *p = static_cast<external_acl_data *>(data);
     wordlistDestroy(&p->arguments);
     cbdataReferenceDone(p->def);
 }
@@ -370,7 +373,7 @@ free_external_acl_data(void *data)
 void
 aclParseExternal(void *dataptr)
 {
-    external_acl_data **datap = dataptr;
+    external_acl_data **datap = static_cast<external_acl_data **>(dataptr);
     external_acl_data *data;
     char *token;
     if (*datap)
@@ -400,13 +403,13 @@ aclMatchExternal(void *data, aclCheck_t * ch)
 {
     int result;
     external_acl_entry *entry;
-    external_acl_data *acl = data;
+    external_acl_data *acl = static_cast<external_acl_data *>(data);
     const char *key = "";
     debug(82, 9) ("aclMatchExternal: acl=\"%s\"\n", acl->def->name);
     entry = ch->extacl_entry;
     if (entry) {
        if (cbdataReferenceValid(entry) && entry->def == acl->def &&
-           strcmp(entry->hash.key, key) == 0) {
+           strcmp((char *)entry->hash.key, key) == 0) {
            /* Ours, use it.. */
        } else {
            /* Not valid, or not ours.. get rid of it */
@@ -424,7 +427,7 @@ aclMatchExternal(void *data, aclCheck_t * ch)
            }
        }
        key = makeExternalAclKey(ch, acl);
-       entry = hash_lookup(acl->def->cache, key);
+       entry = static_cast<external_acl_entry *>(hash_lookup(acl->def->cache, key));
        if (entry && external_acl_entry_expired(acl->def, entry)) {
            /* Expired entry, ignore */
            debug(82, 2) ("external_acl_cache_lookup: '%s' = expired\n", key);
@@ -452,7 +455,7 @@ aclMatchExternal(void *data, aclCheck_t * ch)
 wordlist *
 aclDumpExternal(void *data)
 {
-    external_acl_data *acl = data;
+    external_acl_data *acl = static_cast<external_acl_data *>(data);
     wordlist *result = NULL;
     wordlist *arg;
     MemBuf mb;
@@ -493,11 +496,11 @@ makeExternalAclKey(aclCheck_t * ch, external_acl_data * acl_data)
     for (format = acl_data->def->format; format; format = format->next) {
        const char *str = NULL;
        switch (format->type) {
-       case EXT_ACL_LOGIN:
+       case _external_acl_format::EXT_ACL_LOGIN:
            str = authenticateUserRequestUsername(request->auth_user_request);
            break;
 #if USE_IDENT
-       case EXT_ACL_IDENT:
+       case _external_acl_format::EXT_ACL_IDENT:
            str = ch->rfc931;
            if (!str) {
                ch->state[ACL_IDENT] = ACL_LOOKUP_NEEDED;
@@ -505,38 +508,38 @@ makeExternalAclKey(aclCheck_t * ch, external_acl_data * acl_data)
            }
            break;
 #endif
-       case EXT_ACL_SRC:
+       case _external_acl_format::EXT_ACL_SRC:
            str = inet_ntoa(ch->src_addr);
            break;
-       case EXT_ACL_DST:
+       case _external_acl_format::EXT_ACL_DST:
            str = request->host;
            break;
-       case EXT_ACL_PROTO:
+       case _external_acl_format::EXT_ACL_PROTO:
            str = ProtocolStr[request->protocol];
            break;
-       case EXT_ACL_PORT:
+       case _external_acl_format::EXT_ACL_PORT:
            snprintf(buf, sizeof(buf), "%d", request->port);
            str = buf;
            break;
-       case EXT_ACL_PATH:
+       case _external_acl_format::EXT_ACL_PATH:
            str = strBuf(request->urlpath);
            break;
-       case EXT_ACL_METHOD:
+       case _external_acl_format::EXT_ACL_METHOD:
            str = RequestMethodStr[request->method];
            break;
-       case EXT_ACL_HEADER:
+       case _external_acl_format::EXT_ACL_HEADER:
            sb = httpHeaderGetByName(&request->header, format->header);
            str = strBuf(sb);
            break;
-       case EXT_ACL_HEADER_ID:
+       case _external_acl_format::EXT_ACL_HEADER_ID:
            sb = httpHeaderGetStrOrList(&request->header, format->header_id);
            str = strBuf(sb);
            break;
-       case EXT_ACL_HEADER_MEMBER:
+       case _external_acl_format::EXT_ACL_HEADER_MEMBER:
            sb = httpHeaderGetByNameListMember(&request->header, format->header, format->member, format->separator);
            str = strBuf(sb);
            break;
-       case EXT_ACL_HEADER_ID_MEMBER:
+       case _external_acl_format::EXT_ACL_HEADER_ID_MEMBER:
            sb = httpHeaderGetListMember(&request->header, format->header_id, format->member, format->separator);
            str = strBuf(sb);
            break;
@@ -569,11 +572,11 @@ external_acl_entry_expired(external_acl * def, external_acl_entry * entry)
     else
        return 0;
 }
-
 static void
 free_external_acl_entry(void *data)
 {
-    external_acl_entry *entry = data;
+    external_acl_entry *entry = static_cast<external_acl_entry *>(data);
     safe_free(entry->hash.key);
     safe_free(entry->user);
     safe_free(entry->error);
@@ -582,7 +585,7 @@ free_external_acl_entry(void *data)
 static external_acl_entry *
 external_acl_cache_add(external_acl * def, const char *key, int result, char *user, char *error)
 {
-    external_acl_entry *entry = hash_lookup(def->cache, key);
+    external_acl_entry *entry = static_cast<external_acl_entry *>(hash_lookup(def->cache, key));
     debug(82, 2) ("external_acl_cache_add: Adding '%s' = %d\n", key, result);
     if (entry) {
        debug(82, 3) ("external_acl_cache_add: updating existing entry\n");
@@ -600,7 +603,7 @@ external_acl_cache_add(external_acl * def, const char *key, int result, char *us
     CBDATA_INIT_TYPE_FREECB(external_acl_entry, free_external_acl_entry);
     /* Maintain cache size */
     if (def->cache_size && def->cache_entries >= def->cache_size)
-       external_acl_cache_delete(def, def->lru_list.tail->data);
+       external_acl_cache_delete(def, static_cast<external_acl_entry *>(def->lru_list.tail->data));
     entry = cbdataAlloc(external_acl_entry);
     entry->hash.key = xstrdup(key);
     entry->date = squid_curtime;
@@ -643,7 +646,7 @@ CBDATA_TYPE(externalAclState);
 static void
 free_externalAclState(void *data)
 {
-    externalAclState *state = data;
+    externalAclState *state = static_cast<externalAclState *>(data);
     safe_free(state->key);
     cbdataReferenceDone(state->callback_data);
     cbdataReferenceDone(state->def);
@@ -676,7 +679,7 @@ free_externalAclState(void *data)
 static void
 externalAclHandleReply(void *data, char *reply)
 {
-    externalAclState *state = data;
+    externalAclState *state = static_cast<externalAclState *>(data);
     externalAclState *next;
     int result = 0;
     char *status;
@@ -727,10 +730,10 @@ void
 externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * callback, void *callback_data)
 {
     MemBuf buf;
-    external_acl_data *acl = acl_data;
+    external_acl_data *acl = static_cast<external_acl_data *>(acl_data);
     external_acl *def = acl->def;
     const char *key = makeExternalAclKey(ch, acl);
-    external_acl_entry *entry = hash_lookup(def->cache, key);
+    external_acl_entry *entry = static_cast<external_acl_entry *>(hash_lookup(def->cache, key));
     externalAclState *state;
     debug(82, 2) ("externalAclLookup: lookup in '%s' for '%s'\n", def->name, key);
     if (!key) {
@@ -748,7 +751,7 @@ externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * callback, void *callbac
            /* There is a pending lookup. Hook into it */
            dlink_node *node;
            for (node = def->queue.head; node; node = node->next) {
-               externalAclState *oldstate = node->data;
+               externalAclState *oldstate = static_cast<externalAclState *>(node->data);
                if (strcmp(state->key, oldstate->key) == 0) {
                    state->queue = oldstate->queue;
                    oldstate->queue = state;
@@ -764,9 +767,9 @@ externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * callback, void *callbac
        }
     }
     /* Check for queue overload */
-    if (def->helper->stats.queue_size >= def->helper->n_running) {
+    if (def->theHelper->stats.queue_size >= def->theHelper->n_running) {
        int result = -1;
-       external_acl_entry *entry = hash_lookup(def->cache, key);
+       external_acl_entry *entry = static_cast<external_acl_entry *>(hash_lookup(def->cache, key));
        debug(82, 1) ("externalAclLookup: '%s' queue overload\n", def->name);
        if (entry)
            result = entry->result;
@@ -777,7 +780,7 @@ externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * callback, void *callbac
     /* Send it off to the helper */
     memBufDefInit(&buf);
     memBufPrintf(&buf, "%s\n", key);
-    helperSubmit(def->helper, buf.buf, externalAclHandleReply, state);
+    helperSubmit(def->theHelper, buf.buf, externalAclHandleReply, state);
     external_acl_cache_add(def, key, -1, NULL, NULL);
     dlinkAdd(state, &state->list, &def->queue);
     memBufClean(&buf);
@@ -791,7 +794,7 @@ externalAclStats(StoreEntry * sentry)
     for (p = Config.externalAclHelperList; p; p = p->next) {
        storeAppendPrintf(sentry, "External ACL Statistics: %s\n", p->name);
        storeAppendPrintf(sentry, "Cache size: %d\n", p->cache->count);
-       helperStats(sentry, p->helper);
+       helperStats(sentry, p->theHelper);
        storeAppendPrintf(sentry, "\n");
     }
 }
@@ -805,12 +808,12 @@ externalAclInit(void)
     for (p = Config.externalAclHelperList; p; p = p->next) {
        if (!p->cache)
            p->cache = hash_create((HASHCMP *) strcmp, hashPrime(1024), hash4);
-       if (!p->helper)
-           p->helper = helperCreate(p->name);
-       p->helper->cmdline = p->cmdline;
-       p->helper->n_to_start = p->children;
-       p->helper->ipc_type = IPC_TCP_SOCKET;
-       helperOpenServers(p->helper);
+       if (!p->theHelper)
+           p->theHelper = helperCreate(p->name);
+       p->theHelper->cmdline = p->cmdline;
+       p->theHelper->n_to_start = p->children;
+       p->theHelper->ipc_type = IPC_TCP_SOCKET;
+       helperOpenServers(p->theHelper);
     }
     if (firstTimeInit) {
        firstTimeInit = 0;
@@ -826,6 +829,6 @@ externalAclShutdown(void)
 {
     external_acl *p;
     for (p = Config.externalAclHelperList; p; p = p->next) {
-       helperShutdown(p->helper);
+       helperShutdown(p->theHelper);
     }
 }
index f1fd80f8f3c49b7f91803ebade01b56f76c87633..82f556c946d031621a8c8d99ff3d1357d12f15ad 100644 (file)
--- a/src/fd.cc
+++ b/src/fd.cc
@@ -1,6 +1,6 @@
 
 /*
- * $Id: fd.cc,v 1.44 2001/12/24 15:33:43 adrian Exp $
+ * $Id: fd.cc,v 1.45 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 51    Filedescriptor Functions
  * AUTHOR: Duane Wessels
@@ -182,7 +182,7 @@ fdNFree(void)
 void
 fdAdjustReserved(void)
 {
-    int new;
+    int newReserve;
     int x;
     static time_t last = 0;
     /*
@@ -193,16 +193,16 @@ fdAdjustReserved(void)
     /*
      * Calculate a new reserve, based on current usage and a small extra
      */
-    new = Squid_MaxFD - Number_FD + XMIN(25, Squid_MaxFD / 16);
-    if (new <= RESERVED_FD)
+    newReserve = Squid_MaxFD - Number_FD + XMIN(25, Squid_MaxFD / 16);
+    if (newReserve <= RESERVED_FD)
        return;
     x = Squid_MaxFD - 20 - XMIN(25, Squid_MaxFD / 16);
-    if (new > x) {
+    if (newReserve > x) {
        /* perhaps this should be fatal()? -DW */
        debug(51, 0) ("WARNING: This machine has a serious shortage of filedescriptors.\n");
-       new = x;
+       newReserve = x;
     }
     debug(51, 0) ("Reserved FD adjusted from %d to %d due to failures\n",
-       RESERVED_FD, new);
-    RESERVED_FD = new;
+       RESERVED_FD, newReserve);
+    RESERVED_FD = newReserve;
 }
index 9ed083dc561ec472f3da2dd6a338d784ea3c75e9..b7441b022af78bf2722d0268a8db43ecb7e8541c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: filemap.cc,v 1.39 2001/10/24 07:45:34 hno Exp $
+ * $Id: filemap.cc,v 1.40 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 8     Swap File Bitmap
  * AUTHOR: Harvest Derived
 fileMap *
 file_map_create(void)
 {
-    fileMap *fm = xcalloc(1, sizeof(fileMap));
+    fileMap *fm = (fileMap *)xcalloc(1, sizeof(fileMap));
     fm->max_n_files = FM_INITIAL_NUMBER;
     fm->nwords = fm->max_n_files >> LONG_BIT_SHIFT;
     debug(8, 3) ("file_map_create: creating space for %d files\n", fm->max_n_files);
     debug(8, 5) ("--> %d words of %d bytes each\n",
        fm->nwords, (int) sizeof(*fm->file_map));
-    fm->file_map = xcalloc(fm->nwords, sizeof(*fm->file_map));
+    fm->file_map = (unsigned long *)xcalloc(fm->nwords, sizeof(*fm->file_map));
     /* XXX account fm->file_map */
     return fm;
 }
@@ -78,7 +78,7 @@ file_map_grow(fileMap * fm)
     assert(fm->max_n_files <= (1 << 24));      /* swap_filen is 25 bits, signed */
     fm->nwords = fm->max_n_files >> LONG_BIT_SHIFT;
     debug(8, 3) ("file_map_grow: creating space for %d files\n", fm->max_n_files);
-    fm->file_map = xcalloc(fm->nwords, sizeof(*fm->file_map));
+    fm->file_map = (unsigned long *)xcalloc(fm->nwords, sizeof(*fm->file_map));
     debug(8, 3) ("copying %d old bytes\n", old_sz);
     xmemcpy(fm->file_map, old_map, old_sz);
     xfree(old_map);
index 71de9d65a3dd1afe5ab25991129dbbf689d594c8..c33fd43e59d06ca49af4d2bf3cc42ac51ff77582 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.cc,v 1.87 2002/09/15 06:40:57 robertc Exp $
+ * $Id: forward.cc,v 1.88 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -35,6 +35,8 @@
 
 
 #include "squid.h"
+#include "Store.h"
+
 
 static PSC fwdStartComplete;
 static void fwdDispatch(FwdState *);
@@ -145,7 +147,7 @@ fwdCheckRetry(FwdState * fwdState)
 static void
 fwdServerClosed(int fd, void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     debug(17, 2) ("fwdServerClosed: FD %d %s\n", fd, storeUrl(fwdState->entry));
     assert(fwdState->server_fd == fd);
     fwdState->server_fd = -1;
@@ -179,7 +181,7 @@ fwdServerClosed(int fd, void *data)
 static void
 fwdConnectDone(int server_fd, comm_err_t status, void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     static FwdState *current = NULL;
     FwdServer *fs = fwdState->servers;
     ErrorState *err;
@@ -242,7 +244,7 @@ fwdConnectDone(int server_fd, comm_err_t status, void *data)
 static void
 fwdConnectTimeout(int fd, void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     StoreEntry *entry = fwdState->entry;
     ErrorState *err;
     peer *p = fwdStateServerPeer(fwdState);
@@ -320,7 +322,7 @@ getOutgoingTOS(request_t * request)
 static void
 fwdConnectStart(void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     const char *url = storeUrl(fwdState->entry);
     int fd;
     ErrorState *err;
@@ -401,7 +403,7 @@ fwdConnectStart(void *data)
 static void
 fwdStartComplete(FwdServer * servers, void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     debug(17, 3) ("fwdStartComplete: %s\n", storeUrl(fwdState->entry));
     if (servers != NULL) {
        fwdState->servers = servers;
@@ -618,7 +620,7 @@ fwdStart(int fd, StoreEntry * e, request_t * r)
 int
 fwdCheckDeferRead(int fd, void *data)
 {
-    StoreEntry *e = data;
+    StoreEntry *e = (StoreEntry *)data;
     MemObject *mem = e->mem_obj;
     int rc = 0;
     if (mem == NULL)
@@ -644,7 +646,7 @@ fwdCheckDeferRead(int fd, void *data)
 #endif
     if (EBIT_TEST(e->flags, ENTRY_FWD_HDR_WAIT))
        return rc;
-    if (mem->inmem_hi - storeLowestMemReaderOffset(e) < Config.readAheadGap)
+    if ((size_t)mem->inmem_hi - storeLowestMemReaderOffset(e) < Config.readAheadGap)
        return rc;
     return 1;
 }
@@ -668,7 +670,7 @@ fwdFail(FwdState * fwdState, ErrorState * errorState)
 static void
 fwdAbort(void *data)
 {
-    FwdState *fwdState = data;
+    FwdState *fwdState = (FwdState *)data;
     debug(17, 2) ("fwdAbort: %s\n", storeUrl(fwdState->entry));
     fwdStateFree(fwdState);
 }
index 9729b7f632ea6824aeff3a509af4d7ec6b881413..67fbfa16efeee4d3fe768b56b104a7ed2fb7fa94 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: fqdncache.cc,v 1.151 2002/09/15 06:40:57 robertc Exp $
+ * $Id: fqdncache.cc,v 1.152 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 35    FQDN Cache
  * AUTHOR: Harvest Derived
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #define FQDN_LOW_WATER       90
 #define FQDN_HIGH_WATER      95
@@ -117,7 +118,7 @@ fqdncache_get(const char *name)
     static fqdncache_entry *f;
     f = NULL;
     if (fqdn_table) {
-       if ((e = hash_lookup(fqdn_table, name)) != NULL)
+       if ((e = (hash_link *)hash_lookup(fqdn_table, name)) != NULL)
            f = (fqdncache_entry *) e;
     }
     return f;
@@ -146,7 +147,7 @@ fqdncache_purgelru(void *notused)
        if (memInUse(MEM_FQDNCACHE_ENTRY) < fqdncache_low)
            break;
        prev = m->prev;
-       f = m->data;
+       f = (fqdncache_entry *)m->data;
        if (f->locks != 0)
            continue;
        fqdncacheRelease(f);
@@ -166,7 +167,7 @@ purge_entries_fromhosts(void)
            fqdncacheRelease(i);        /* we just override locks */
            i = NULL;
        }
-       t = m->data;
+       t = (fqdncache_entry *)m->data;
        if (t->flags.fromhosts)
            i = t;
        m = m->next;
@@ -180,7 +181,7 @@ static fqdncache_entry *
 fqdncacheCreateEntry(const char *name)
 {
     static fqdncache_entry *f;
-    f = memAllocate(MEM_FQDNCACHE_ENTRY);
+    f = (fqdncache_entry *)memAllocate(MEM_FQDNCACHE_ENTRY);
     f->hash.key = xstrdup(name);
     f->expires = squid_curtime + Config.negativeDnsTtl;
     return f;
@@ -189,7 +190,7 @@ fqdncacheCreateEntry(const char *name)
 static void
 fqdncacheAddEntry(fqdncache_entry * f)
 {
-    hash_link *e = hash_lookup(fqdn_table, f->hash.key);
+    hash_link *e = (hash_link *)hash_lookup(fqdn_table, f->hash.key);
     if (NULL != e) {
        /* avoid colission */
        fqdncache_entry *q = (fqdncache_entry *) e;
@@ -319,8 +320,8 @@ fqdncacheHandleReply(void *data, rfc1035_rr * answers, int na)
 #endif
 {
     int n;
-    generic_cbdata *c = data;
-    fqdncache_entry *f = c->data;
+    generic_cbdata *c = (generic_cbdata *)data;
+    fqdncache_entry *f = (fqdncache_entry *)c->data;
     fqdncache_entry *x = NULL;
     cbdataFree(c);
     c = NULL;
@@ -527,7 +528,7 @@ fqdncacheUnlockEntry(fqdncache_entry * f)
 static void
 fqdncacheFreeEntry(void *data)
 {
-    fqdncache_entry *f = data;
+    fqdncache_entry *f = (fqdncache_entry *)data;
     int k;
     for (k = 0; k < (int) f->name_count; k++)
        safe_free(f->names[k]);
index 3268afc0ff518c699318b0b3912178a63e113798..8a619ba9cbe6e92ac9ebc82d49dfdb304893f482 100644 (file)
@@ -1,9 +1,11 @@
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.2 2002/05/20 02:03:58 hno Exp $
+#  $Id: Makefile.am,v 1.3 2002/10/13 20:35:24 robertc Exp $
 #
 
 AUTOMAKE_OPTIONS = subdir-objects
+AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 DIST_SUBDIRS   = aufs coss diskd null ufs
 SUBDIRS                = @STORE_MODULE_SUBDIRS@
@@ -11,14 +13,14 @@ SUBDIRS             = @STORE_MODULE_SUBDIRS@
 EXTRA_LIBRARIES = libaufs.a libcoss.a libdiskd.a libnull.a libufs.a
 noinst_LIBRARIES = @STORE_LIBS@
 
-libaufs_a_SOURCES = aufs/aiops.c aufs/async_io.c aufs/store_asyncufs.h \
-       aufs/store_dir_aufs.c aufs/store_io_aufs.c
-libcoss_a_SOURCES = coss/store_coss.h   coss/store_io_coss.c coss/store_dir_coss.c \
-       coss/async_io.c coss/async_io.h
-libdiskd_a_SOURCES = diskd/diskd.c diskd/store_dir_diskd.c diskd/store_diskd.h \
-       diskd/store_io_diskd.c
-libnull_a_SOURCES = null/store_null.c
-libufs_a_SOURCES = ufs/store_dir_ufs.c ufs/store_io_ufs.c ufs/store_ufs.h
+libaufs_a_SOURCES = aufs/aiops.cc aufs/async_io.cc aufs/store_asyncufs.h \
+       aufs/store_dir_aufs.cc aufs/store_io_aufs.cc
+libcoss_a_SOURCES = coss/store_coss.h   coss/store_io_coss.cc coss/store_dir_coss.cc \
+       coss/async_io.cc coss/async_io.h
+libdiskd_a_SOURCES = diskd/diskd.cc diskd/store_dir_diskd.cc diskd/store_diskd.h \
+       diskd/store_io_diskd.cc
+libnull_a_SOURCES = null/store_null.cc
+libufs_a_SOURCES = ufs/store_dir_ufs.cc ufs/store_io_ufs.cc ufs/store_ufs.h
 
 EXTRA_DIST = \
        coss/coss-notes.txt
index 0f954b103e5b9f991ba717a6f8cadca70cc2625c..d7aa6371063fdd93e4017ee337609fde777fed31 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.19 2002/09/30 00:24:31 hno Exp $
+#  $Id: Makefile.in,v 1.20 2002/10/13 20:35:24 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -119,6 +126,8 @@ install_sh = @install_sh@
 makesnmplib = @makesnmplib@
 
 AUTOMAKE_OPTIONS = subdir-objects
+AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 DIST_SUBDIRS = aufs coss diskd null ufs
 SUBDIRS = @STORE_MODULE_SUBDIRS@
@@ -126,17 +135,17 @@ SUBDIRS = @STORE_MODULE_SUBDIRS@
 EXTRA_LIBRARIES = libaufs.a libcoss.a libdiskd.a libnull.a libufs.a
 noinst_LIBRARIES = @STORE_LIBS@
 
-libaufs_a_SOURCES = aufs/aiops.c aufs/async_io.c aufs/store_asyncufs.h \
-       aufs/store_dir_aufs.c aufs/store_io_aufs.c
+libaufs_a_SOURCES = aufs/aiops.cc aufs/async_io.cc aufs/store_asyncufs.h \
+       aufs/store_dir_aufs.cc aufs/store_io_aufs.cc
 
-libcoss_a_SOURCES = coss/store_coss.h   coss/store_io_coss.c coss/store_dir_coss.c \
-       coss/async_io.c coss/async_io.h
+libcoss_a_SOURCES = coss/store_coss.h   coss/store_io_coss.cc coss/store_dir_coss.cc \
+       coss/async_io.cc coss/async_io.h
 
-libdiskd_a_SOURCES = diskd/diskd.c diskd/store_dir_diskd.c diskd/store_diskd.h \
-       diskd/store_io_diskd.c
+libdiskd_a_SOURCES = diskd/diskd.cc diskd/store_dir_diskd.cc diskd/store_diskd.h \
+       diskd/store_io_diskd.cc
 
-libnull_a_SOURCES = null/store_null.c
-libufs_a_SOURCES = ufs/store_dir_ufs.c ufs/store_io_ufs.c ufs/store_ufs.h
+libnull_a_SOURCES = null/store_null.cc
+libufs_a_SOURCES = ufs/store_dir_ufs.cc ufs/store_io_ufs.cc ufs/store_ufs.h
 
 EXTRA_DIST = \
        coss/coss-notes.txt
@@ -182,24 +191,31 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/aufs/aiops.Po \
-@AMDEP_TRUE@   $(DEPDIR)/aufs/async_io.Po \
-@AMDEP_TRUE@   $(DEPDIR)/aufs/store_dir_aufs.Po \
-@AMDEP_TRUE@   $(DEPDIR)/aufs/store_io_aufs.Po \
-@AMDEP_TRUE@   $(DEPDIR)/coss/async_io.Po \
-@AMDEP_TRUE@   $(DEPDIR)/coss/store_dir_coss.Po \
-@AMDEP_TRUE@   $(DEPDIR)/coss/store_io_coss.Po \
-@AMDEP_TRUE@   $(DEPDIR)/diskd/diskd.Po \
-@AMDEP_TRUE@   $(DEPDIR)/diskd/store_dir_diskd.Po \
-@AMDEP_TRUE@   $(DEPDIR)/diskd/store_io_diskd.Po \
-@AMDEP_TRUE@   $(DEPDIR)/null/store_null.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ufs/store_dir_ufs.Po \
-@AMDEP_TRUE@   $(DEPDIR)/ufs/store_io_ufs.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = aufs/$(DEPDIR)/aiops.Po \
+@AMDEP_TRUE@   aufs/$(DEPDIR)/async_io.Po \
+@AMDEP_TRUE@   aufs/$(DEPDIR)/store_dir_aufs.Po \
+@AMDEP_TRUE@   aufs/$(DEPDIR)/store_io_aufs.Po \
+@AMDEP_TRUE@   coss/$(DEPDIR)/async_io.Po \
+@AMDEP_TRUE@   coss/$(DEPDIR)/store_dir_coss.Po \
+@AMDEP_TRUE@   coss/$(DEPDIR)/store_io_coss.Po \
+@AMDEP_TRUE@   diskd/$(DEPDIR)/diskd.Po \
+@AMDEP_TRUE@   diskd/$(DEPDIR)/store_dir_diskd.Po \
+@AMDEP_TRUE@   diskd/$(DEPDIR)/store_io_diskd.Po \
+@AMDEP_TRUE@   null/$(DEPDIR)/store_null.Po \
+@AMDEP_TRUE@   ufs/$(DEPDIR)/store_dir_ufs.Po \
+@AMDEP_TRUE@   ufs/$(DEPDIR)/store_io_ufs.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+CXXFLAGS = @CXXFLAGS@
+CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
 DIST_SOURCES = $(libaufs_a_SOURCES) $(libcoss_a_SOURCES) \
        $(libdiskd_a_SOURCES) $(libnull_a_SOURCES) $(libufs_a_SOURCES)
 
@@ -213,33 +229,29 @@ SOURCES = $(libaufs_a_SOURCES) $(libcoss_a_SOURCES) $(libdiskd_a_SOURCES) $(libn
 all: all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .cc .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 aufs/.dirstamp:
        @$(mkinstalldirs) aufs
        @: > aufs/.dirstamp
-$(DEPDIR)/aufs/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/aufs
-       @: > $(DEPDIR)/aufs/.dirstamp
-aufs/aiops.$(OBJEXT): aufs/aiops.c aufs/.dirstamp \
-       $(DEPDIR)/aufs/.dirstamp
-aufs/async_io.$(OBJEXT): aufs/async_io.c aufs/.dirstamp \
-       $(DEPDIR)/aufs/.dirstamp
-aufs/store_dir_aufs.$(OBJEXT): aufs/store_dir_aufs.c aufs/.dirstamp \
-       $(DEPDIR)/aufs/.dirstamp
-aufs/store_io_aufs.$(OBJEXT): aufs/store_io_aufs.c aufs/.dirstamp \
-       $(DEPDIR)/aufs/.dirstamp
+aufs/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) aufs/$(DEPDIR)
+       @: > aufs/$(DEPDIR)/.dirstamp
+aufs/aiops.$(OBJEXT): aufs/aiops.cc aufs/.dirstamp \
+       aufs/$(DEPDIR)/.dirstamp
+aufs/async_io.$(OBJEXT): aufs/async_io.cc aufs/.dirstamp \
+       aufs/$(DEPDIR)/.dirstamp
+aufs/store_dir_aufs.$(OBJEXT): aufs/store_dir_aufs.cc aufs/.dirstamp \
+       aufs/$(DEPDIR)/.dirstamp
+aufs/store_io_aufs.$(OBJEXT): aufs/store_io_aufs.cc aufs/.dirstamp \
+       aufs/$(DEPDIR)/.dirstamp
 libaufs.a: $(libaufs_a_OBJECTS) $(libaufs_a_DEPENDENCIES) 
        -rm -f libaufs.a
        $(libaufs_a_AR) libaufs.a $(libaufs_a_OBJECTS) $(libaufs_a_LIBADD)
@@ -247,15 +259,15 @@ libaufs.a: $(libaufs_a_OBJECTS) $(libaufs_a_DEPENDENCIES)
 coss/.dirstamp:
        @$(mkinstalldirs) coss
        @: > coss/.dirstamp
-$(DEPDIR)/coss/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/coss
-       @: > $(DEPDIR)/coss/.dirstamp
-coss/store_io_coss.$(OBJEXT): coss/store_io_coss.c coss/.dirstamp \
-       $(DEPDIR)/coss/.dirstamp
-coss/store_dir_coss.$(OBJEXT): coss/store_dir_coss.c coss/.dirstamp \
-       $(DEPDIR)/coss/.dirstamp
-coss/async_io.$(OBJEXT): coss/async_io.c coss/.dirstamp \
-       $(DEPDIR)/coss/.dirstamp
+coss/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) coss/$(DEPDIR)
+       @: > coss/$(DEPDIR)/.dirstamp
+coss/store_io_coss.$(OBJEXT): coss/store_io_coss.cc coss/.dirstamp \
+       coss/$(DEPDIR)/.dirstamp
+coss/store_dir_coss.$(OBJEXT): coss/store_dir_coss.cc coss/.dirstamp \
+       coss/$(DEPDIR)/.dirstamp
+coss/async_io.$(OBJEXT): coss/async_io.cc coss/.dirstamp \
+       coss/$(DEPDIR)/.dirstamp
 libcoss.a: $(libcoss_a_OBJECTS) $(libcoss_a_DEPENDENCIES) 
        -rm -f libcoss.a
        $(libcoss_a_AR) libcoss.a $(libcoss_a_OBJECTS) $(libcoss_a_LIBADD)
@@ -263,15 +275,15 @@ libcoss.a: $(libcoss_a_OBJECTS) $(libcoss_a_DEPENDENCIES)
 diskd/.dirstamp:
        @$(mkinstalldirs) diskd
        @: > diskd/.dirstamp
-$(DEPDIR)/diskd/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/diskd
-       @: > $(DEPDIR)/diskd/.dirstamp
-diskd/diskd.$(OBJEXT): diskd/diskd.c diskd/.dirstamp \
-       $(DEPDIR)/diskd/.dirstamp
-diskd/store_dir_diskd.$(OBJEXT): diskd/store_dir_diskd.c diskd/.dirstamp \
-       $(DEPDIR)/diskd/.dirstamp
-diskd/store_io_diskd.$(OBJEXT): diskd/store_io_diskd.c diskd/.dirstamp \
-       $(DEPDIR)/diskd/.dirstamp
+diskd/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) diskd/$(DEPDIR)
+       @: > diskd/$(DEPDIR)/.dirstamp
+diskd/diskd.$(OBJEXT): diskd/diskd.cc diskd/.dirstamp \
+       diskd/$(DEPDIR)/.dirstamp
+diskd/store_dir_diskd.$(OBJEXT): diskd/store_dir_diskd.cc \
+       diskd/.dirstamp diskd/$(DEPDIR)/.dirstamp
+diskd/store_io_diskd.$(OBJEXT): diskd/store_io_diskd.cc diskd/.dirstamp \
+       diskd/$(DEPDIR)/.dirstamp
 libdiskd.a: $(libdiskd_a_OBJECTS) $(libdiskd_a_DEPENDENCIES) 
        -rm -f libdiskd.a
        $(libdiskd_a_AR) libdiskd.a $(libdiskd_a_OBJECTS) $(libdiskd_a_LIBADD)
@@ -279,11 +291,11 @@ libdiskd.a: $(libdiskd_a_OBJECTS) $(libdiskd_a_DEPENDENCIES)
 null/.dirstamp:
        @$(mkinstalldirs) null
        @: > null/.dirstamp
-$(DEPDIR)/null/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/null
-       @: > $(DEPDIR)/null/.dirstamp
-null/store_null.$(OBJEXT): null/store_null.c null/.dirstamp \
-       $(DEPDIR)/null/.dirstamp
+null/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) null/$(DEPDIR)
+       @: > null/$(DEPDIR)/.dirstamp
+null/store_null.$(OBJEXT): null/store_null.cc null/.dirstamp \
+       null/$(DEPDIR)/.dirstamp
 libnull.a: $(libnull_a_OBJECTS) $(libnull_a_DEPENDENCIES) 
        -rm -f libnull.a
        $(libnull_a_AR) libnull.a $(libnull_a_OBJECTS) $(libnull_a_LIBADD)
@@ -291,13 +303,13 @@ libnull.a: $(libnull_a_OBJECTS) $(libnull_a_DEPENDENCIES)
 ufs/.dirstamp:
        @$(mkinstalldirs) ufs
        @: > ufs/.dirstamp
-$(DEPDIR)/ufs/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/ufs
-       @: > $(DEPDIR)/ufs/.dirstamp
-ufs/store_dir_ufs.$(OBJEXT): ufs/store_dir_ufs.c ufs/.dirstamp \
-       $(DEPDIR)/ufs/.dirstamp
-ufs/store_io_ufs.$(OBJEXT): ufs/store_io_ufs.c ufs/.dirstamp \
-       $(DEPDIR)/ufs/.dirstamp
+ufs/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) ufs/$(DEPDIR)
+       @: > ufs/$(DEPDIR)/.dirstamp
+ufs/store_dir_ufs.$(OBJEXT): ufs/store_dir_ufs.cc ufs/.dirstamp \
+       ufs/$(DEPDIR)/.dirstamp
+ufs/store_io_ufs.$(OBJEXT): ufs/store_io_ufs.cc ufs/.dirstamp \
+       ufs/$(DEPDIR)/.dirstamp
 libufs.a: $(libufs_a_OBJECTS) $(libufs_a_DEPENDENCIES) 
        -rm -f libufs.a
        $(libufs_a_AR) libufs.a $(libufs_a_OBJECTS) $(libufs_a_LIBADD)
@@ -321,202 +333,202 @@ mostlyclean-compile:
 
 distclean-compile:
        -rm -f *.tab.c
-       -rm -f $(DEPDIR)/aufs/.dirstamp
-       -rm -f $(DEPDIR)/coss/.dirstamp
-       -rm -f $(DEPDIR)/diskd/.dirstamp
-       -rm -f $(DEPDIR)/null/.dirstamp
-       -rm -f $(DEPDIR)/ufs/.dirstamp
+       -rm -f aufs/$(DEPDIR)/.dirstamp
        -rm -f aufs/.dirstamp
+       -rm -f coss/$(DEPDIR)/.dirstamp
        -rm -f coss/.dirstamp
+       -rm -f diskd/$(DEPDIR)/.dirstamp
        -rm -f diskd/.dirstamp
+       -rm -f null/$(DEPDIR)/.dirstamp
        -rm -f null/.dirstamp
+       -rm -f ufs/$(DEPDIR)/.dirstamp
        -rm -f ufs/.dirstamp
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/aufs/aiops.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/aufs/async_io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/aufs/store_dir_aufs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/aufs/store_io_aufs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/coss/async_io.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/coss/store_dir_coss.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/coss/store_io_coss.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diskd/diskd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diskd/store_dir_diskd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diskd/store_io_diskd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/null/store_null.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ufs/store_dir_ufs.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ufs/store_io_ufs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@aufs/$(DEPDIR)/aiops.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@aufs/$(DEPDIR)/async_io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@aufs/$(DEPDIR)/store_dir_aufs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@aufs/$(DEPDIR)/store_io_aufs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@coss/$(DEPDIR)/async_io.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@coss/$(DEPDIR)/store_dir_coss.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@coss/$(DEPDIR)/store_io_coss.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@diskd/$(DEPDIR)/diskd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@diskd/$(DEPDIR)/store_dir_diskd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@diskd/$(DEPDIR)/store_io_diskd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@null/$(DEPDIR)/store_null.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ufs/$(DEPDIR)/store_dir_ufs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ufs/$(DEPDIR)/store_io_ufs.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf aufs/$(DEPDIR) coss/$(DEPDIR) diskd/$(DEPDIR) null/$(DEPDIR) ufs/$(DEPDIR)
 
-.c.o:
+.cc.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
 
-.c.obj:
+.cc.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `cygpath -w $<`
-
-aufs/aiops.o: aufs/aiops.c
-@AMDEP_TRUE@   source='aufs/aiops.c' object='aufs/aiops.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/aiops.Po' tmpdepfile='$(DEPDIR)/aufs/aiops.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/aiops.o `test -f aufs/aiops.c || echo '$(srcdir)/'`aufs/aiops.c
-
-aufs/aiops.obj: aufs/aiops.c
-@AMDEP_TRUE@   source='aufs/aiops.c' object='aufs/aiops.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/aiops.Po' tmpdepfile='$(DEPDIR)/aufs/aiops.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/aiops.obj `cygpath -w aufs/aiops.c`
-
-aufs/async_io.o: aufs/async_io.c
-@AMDEP_TRUE@   source='aufs/async_io.c' object='aufs/async_io.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/async_io.Po' tmpdepfile='$(DEPDIR)/aufs/async_io.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/async_io.o `test -f aufs/async_io.c || echo '$(srcdir)/'`aufs/async_io.c
-
-aufs/async_io.obj: aufs/async_io.c
-@AMDEP_TRUE@   source='aufs/async_io.c' object='aufs/async_io.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/async_io.Po' tmpdepfile='$(DEPDIR)/aufs/async_io.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/async_io.obj `cygpath -w aufs/async_io.c`
-
-aufs/store_dir_aufs.o: aufs/store_dir_aufs.c
-@AMDEP_TRUE@   source='aufs/store_dir_aufs.c' object='aufs/store_dir_aufs.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/store_dir_aufs.Po' tmpdepfile='$(DEPDIR)/aufs/store_dir_aufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/store_dir_aufs.o `test -f aufs/store_dir_aufs.c || echo '$(srcdir)/'`aufs/store_dir_aufs.c
-
-aufs/store_dir_aufs.obj: aufs/store_dir_aufs.c
-@AMDEP_TRUE@   source='aufs/store_dir_aufs.c' object='aufs/store_dir_aufs.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/store_dir_aufs.Po' tmpdepfile='$(DEPDIR)/aufs/store_dir_aufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/store_dir_aufs.obj `cygpath -w aufs/store_dir_aufs.c`
-
-aufs/store_io_aufs.o: aufs/store_io_aufs.c
-@AMDEP_TRUE@   source='aufs/store_io_aufs.c' object='aufs/store_io_aufs.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/store_io_aufs.Po' tmpdepfile='$(DEPDIR)/aufs/store_io_aufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/store_io_aufs.o `test -f aufs/store_io_aufs.c || echo '$(srcdir)/'`aufs/store_io_aufs.c
-
-aufs/store_io_aufs.obj: aufs/store_io_aufs.c
-@AMDEP_TRUE@   source='aufs/store_io_aufs.c' object='aufs/store_io_aufs.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/aufs/store_io_aufs.Po' tmpdepfile='$(DEPDIR)/aufs/store_io_aufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o aufs/store_io_aufs.obj `cygpath -w aufs/store_io_aufs.c`
-
-coss/store_io_coss.o: coss/store_io_coss.c
-@AMDEP_TRUE@   source='coss/store_io_coss.c' object='coss/store_io_coss.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/store_io_coss.Po' tmpdepfile='$(DEPDIR)/coss/store_io_coss.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/store_io_coss.o `test -f coss/store_io_coss.c || echo '$(srcdir)/'`coss/store_io_coss.c
-
-coss/store_io_coss.obj: coss/store_io_coss.c
-@AMDEP_TRUE@   source='coss/store_io_coss.c' object='coss/store_io_coss.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/store_io_coss.Po' tmpdepfile='$(DEPDIR)/coss/store_io_coss.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/store_io_coss.obj `cygpath -w coss/store_io_coss.c`
-
-coss/store_dir_coss.o: coss/store_dir_coss.c
-@AMDEP_TRUE@   source='coss/store_dir_coss.c' object='coss/store_dir_coss.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/store_dir_coss.Po' tmpdepfile='$(DEPDIR)/coss/store_dir_coss.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/store_dir_coss.o `test -f coss/store_dir_coss.c || echo '$(srcdir)/'`coss/store_dir_coss.c
-
-coss/store_dir_coss.obj: coss/store_dir_coss.c
-@AMDEP_TRUE@   source='coss/store_dir_coss.c' object='coss/store_dir_coss.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/store_dir_coss.Po' tmpdepfile='$(DEPDIR)/coss/store_dir_coss.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/store_dir_coss.obj `cygpath -w coss/store_dir_coss.c`
-
-coss/async_io.o: coss/async_io.c
-@AMDEP_TRUE@   source='coss/async_io.c' object='coss/async_io.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/async_io.Po' tmpdepfile='$(DEPDIR)/coss/async_io.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/async_io.o `test -f coss/async_io.c || echo '$(srcdir)/'`coss/async_io.c
-
-coss/async_io.obj: coss/async_io.c
-@AMDEP_TRUE@   source='coss/async_io.c' object='coss/async_io.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/coss/async_io.Po' tmpdepfile='$(DEPDIR)/coss/async_io.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coss/async_io.obj `cygpath -w coss/async_io.c`
-
-diskd/diskd.o: diskd/diskd.c
-@AMDEP_TRUE@   source='diskd/diskd.c' object='diskd/diskd.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/diskd.Po' tmpdepfile='$(DEPDIR)/diskd/diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/diskd.o `test -f diskd/diskd.c || echo '$(srcdir)/'`diskd/diskd.c
-
-diskd/diskd.obj: diskd/diskd.c
-@AMDEP_TRUE@   source='diskd/diskd.c' object='diskd/diskd.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/diskd.Po' tmpdepfile='$(DEPDIR)/diskd/diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/diskd.obj `cygpath -w diskd/diskd.c`
-
-diskd/store_dir_diskd.o: diskd/store_dir_diskd.c
-@AMDEP_TRUE@   source='diskd/store_dir_diskd.c' object='diskd/store_dir_diskd.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/store_dir_diskd.Po' tmpdepfile='$(DEPDIR)/diskd/store_dir_diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/store_dir_diskd.o `test -f diskd/store_dir_diskd.c || echo '$(srcdir)/'`diskd/store_dir_diskd.c
-
-diskd/store_dir_diskd.obj: diskd/store_dir_diskd.c
-@AMDEP_TRUE@   source='diskd/store_dir_diskd.c' object='diskd/store_dir_diskd.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/store_dir_diskd.Po' tmpdepfile='$(DEPDIR)/diskd/store_dir_diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/store_dir_diskd.obj `cygpath -w diskd/store_dir_diskd.c`
-
-diskd/store_io_diskd.o: diskd/store_io_diskd.c
-@AMDEP_TRUE@   source='diskd/store_io_diskd.c' object='diskd/store_io_diskd.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/store_io_diskd.Po' tmpdepfile='$(DEPDIR)/diskd/store_io_diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/store_io_diskd.o `test -f diskd/store_io_diskd.c || echo '$(srcdir)/'`diskd/store_io_diskd.c
-
-diskd/store_io_diskd.obj: diskd/store_io_diskd.c
-@AMDEP_TRUE@   source='diskd/store_io_diskd.c' object='diskd/store_io_diskd.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/diskd/store_io_diskd.Po' tmpdepfile='$(DEPDIR)/diskd/store_io_diskd.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o diskd/store_io_diskd.obj `cygpath -w diskd/store_io_diskd.c`
-
-null/store_null.o: null/store_null.c
-@AMDEP_TRUE@   source='null/store_null.c' object='null/store_null.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/null/store_null.Po' tmpdepfile='$(DEPDIR)/null/store_null.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null/store_null.o `test -f null/store_null.c || echo '$(srcdir)/'`null/store_null.c
-
-null/store_null.obj: null/store_null.c
-@AMDEP_TRUE@   source='null/store_null.c' object='null/store_null.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/null/store_null.Po' tmpdepfile='$(DEPDIR)/null/store_null.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o null/store_null.obj `cygpath -w null/store_null.c`
-
-ufs/store_dir_ufs.o: ufs/store_dir_ufs.c
-@AMDEP_TRUE@   source='ufs/store_dir_ufs.c' object='ufs/store_dir_ufs.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ufs/store_dir_ufs.Po' tmpdepfile='$(DEPDIR)/ufs/store_dir_ufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ufs/store_dir_ufs.o `test -f ufs/store_dir_ufs.c || echo '$(srcdir)/'`ufs/store_dir_ufs.c
-
-ufs/store_dir_ufs.obj: ufs/store_dir_ufs.c
-@AMDEP_TRUE@   source='ufs/store_dir_ufs.c' object='ufs/store_dir_ufs.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ufs/store_dir_ufs.Po' tmpdepfile='$(DEPDIR)/ufs/store_dir_ufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ufs/store_dir_ufs.obj `cygpath -w ufs/store_dir_ufs.c`
-
-ufs/store_io_ufs.o: ufs/store_io_ufs.c
-@AMDEP_TRUE@   source='ufs/store_io_ufs.c' object='ufs/store_io_ufs.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ufs/store_io_ufs.Po' tmpdepfile='$(DEPDIR)/ufs/store_io_ufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ufs/store_io_ufs.o `test -f ufs/store_io_ufs.c || echo '$(srcdir)/'`ufs/store_io_ufs.c
-
-ufs/store_io_ufs.obj: ufs/store_io_ufs.c
-@AMDEP_TRUE@   source='ufs/store_io_ufs.c' object='ufs/store_io_ufs.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/ufs/store_io_ufs.Po' tmpdepfile='$(DEPDIR)/ufs/store_io_ufs.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ufs/store_io_ufs.obj `cygpath -w ufs/store_io_ufs.c`
-CCDEPMODE = @CCDEPMODE@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+
+aufs/aiops.o: aufs/aiops.cc
+@AMDEP_TRUE@   source='aufs/aiops.cc' object='aufs/aiops.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/aiops.Po' tmpdepfile='aufs/$(DEPDIR)/aiops.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/aiops.o `test -f 'aufs/aiops.cc' || echo '$(srcdir)/'`aufs/aiops.cc
+
+aufs/aiops.obj: aufs/aiops.cc
+@AMDEP_TRUE@   source='aufs/aiops.cc' object='aufs/aiops.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/aiops.Po' tmpdepfile='aufs/$(DEPDIR)/aiops.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/aiops.obj `cygpath -w aufs/aiops.cc`
+
+aufs/async_io.o: aufs/async_io.cc
+@AMDEP_TRUE@   source='aufs/async_io.cc' object='aufs/async_io.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/async_io.Po' tmpdepfile='aufs/$(DEPDIR)/async_io.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/async_io.o `test -f 'aufs/async_io.cc' || echo '$(srcdir)/'`aufs/async_io.cc
+
+aufs/async_io.obj: aufs/async_io.cc
+@AMDEP_TRUE@   source='aufs/async_io.cc' object='aufs/async_io.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/async_io.Po' tmpdepfile='aufs/$(DEPDIR)/async_io.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/async_io.obj `cygpath -w aufs/async_io.cc`
+
+aufs/store_dir_aufs.o: aufs/store_dir_aufs.cc
+@AMDEP_TRUE@   source='aufs/store_dir_aufs.cc' object='aufs/store_dir_aufs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/store_dir_aufs.Po' tmpdepfile='aufs/$(DEPDIR)/store_dir_aufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/store_dir_aufs.o `test -f 'aufs/store_dir_aufs.cc' || echo '$(srcdir)/'`aufs/store_dir_aufs.cc
+
+aufs/store_dir_aufs.obj: aufs/store_dir_aufs.cc
+@AMDEP_TRUE@   source='aufs/store_dir_aufs.cc' object='aufs/store_dir_aufs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/store_dir_aufs.Po' tmpdepfile='aufs/$(DEPDIR)/store_dir_aufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/store_dir_aufs.obj `cygpath -w aufs/store_dir_aufs.cc`
+
+aufs/store_io_aufs.o: aufs/store_io_aufs.cc
+@AMDEP_TRUE@   source='aufs/store_io_aufs.cc' object='aufs/store_io_aufs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/store_io_aufs.Po' tmpdepfile='aufs/$(DEPDIR)/store_io_aufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/store_io_aufs.o `test -f 'aufs/store_io_aufs.cc' || echo '$(srcdir)/'`aufs/store_io_aufs.cc
+
+aufs/store_io_aufs.obj: aufs/store_io_aufs.cc
+@AMDEP_TRUE@   source='aufs/store_io_aufs.cc' object='aufs/store_io_aufs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='aufs/$(DEPDIR)/store_io_aufs.Po' tmpdepfile='aufs/$(DEPDIR)/store_io_aufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o aufs/store_io_aufs.obj `cygpath -w aufs/store_io_aufs.cc`
+
+coss/store_io_coss.o: coss/store_io_coss.cc
+@AMDEP_TRUE@   source='coss/store_io_coss.cc' object='coss/store_io_coss.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/store_io_coss.Po' tmpdepfile='coss/$(DEPDIR)/store_io_coss.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/store_io_coss.o `test -f 'coss/store_io_coss.cc' || echo '$(srcdir)/'`coss/store_io_coss.cc
+
+coss/store_io_coss.obj: coss/store_io_coss.cc
+@AMDEP_TRUE@   source='coss/store_io_coss.cc' object='coss/store_io_coss.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/store_io_coss.Po' tmpdepfile='coss/$(DEPDIR)/store_io_coss.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/store_io_coss.obj `cygpath -w coss/store_io_coss.cc`
+
+coss/store_dir_coss.o: coss/store_dir_coss.cc
+@AMDEP_TRUE@   source='coss/store_dir_coss.cc' object='coss/store_dir_coss.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/store_dir_coss.Po' tmpdepfile='coss/$(DEPDIR)/store_dir_coss.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/store_dir_coss.o `test -f 'coss/store_dir_coss.cc' || echo '$(srcdir)/'`coss/store_dir_coss.cc
+
+coss/store_dir_coss.obj: coss/store_dir_coss.cc
+@AMDEP_TRUE@   source='coss/store_dir_coss.cc' object='coss/store_dir_coss.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/store_dir_coss.Po' tmpdepfile='coss/$(DEPDIR)/store_dir_coss.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/store_dir_coss.obj `cygpath -w coss/store_dir_coss.cc`
+
+coss/async_io.o: coss/async_io.cc
+@AMDEP_TRUE@   source='coss/async_io.cc' object='coss/async_io.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/async_io.Po' tmpdepfile='coss/$(DEPDIR)/async_io.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/async_io.o `test -f 'coss/async_io.cc' || echo '$(srcdir)/'`coss/async_io.cc
+
+coss/async_io.obj: coss/async_io.cc
+@AMDEP_TRUE@   source='coss/async_io.cc' object='coss/async_io.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='coss/$(DEPDIR)/async_io.Po' tmpdepfile='coss/$(DEPDIR)/async_io.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o coss/async_io.obj `cygpath -w coss/async_io.cc`
+
+diskd/diskd.o: diskd/diskd.cc
+@AMDEP_TRUE@   source='diskd/diskd.cc' object='diskd/diskd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/diskd.Po' tmpdepfile='diskd/$(DEPDIR)/diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/diskd.o `test -f 'diskd/diskd.cc' || echo '$(srcdir)/'`diskd/diskd.cc
+
+diskd/diskd.obj: diskd/diskd.cc
+@AMDEP_TRUE@   source='diskd/diskd.cc' object='diskd/diskd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/diskd.Po' tmpdepfile='diskd/$(DEPDIR)/diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/diskd.obj `cygpath -w diskd/diskd.cc`
+
+diskd/store_dir_diskd.o: diskd/store_dir_diskd.cc
+@AMDEP_TRUE@   source='diskd/store_dir_diskd.cc' object='diskd/store_dir_diskd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/store_dir_diskd.Po' tmpdepfile='diskd/$(DEPDIR)/store_dir_diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/store_dir_diskd.o `test -f 'diskd/store_dir_diskd.cc' || echo '$(srcdir)/'`diskd/store_dir_diskd.cc
+
+diskd/store_dir_diskd.obj: diskd/store_dir_diskd.cc
+@AMDEP_TRUE@   source='diskd/store_dir_diskd.cc' object='diskd/store_dir_diskd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/store_dir_diskd.Po' tmpdepfile='diskd/$(DEPDIR)/store_dir_diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/store_dir_diskd.obj `cygpath -w diskd/store_dir_diskd.cc`
+
+diskd/store_io_diskd.o: diskd/store_io_diskd.cc
+@AMDEP_TRUE@   source='diskd/store_io_diskd.cc' object='diskd/store_io_diskd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/store_io_diskd.Po' tmpdepfile='diskd/$(DEPDIR)/store_io_diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/store_io_diskd.o `test -f 'diskd/store_io_diskd.cc' || echo '$(srcdir)/'`diskd/store_io_diskd.cc
+
+diskd/store_io_diskd.obj: diskd/store_io_diskd.cc
+@AMDEP_TRUE@   source='diskd/store_io_diskd.cc' object='diskd/store_io_diskd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='diskd/$(DEPDIR)/store_io_diskd.Po' tmpdepfile='diskd/$(DEPDIR)/store_io_diskd.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o diskd/store_io_diskd.obj `cygpath -w diskd/store_io_diskd.cc`
+
+null/store_null.o: null/store_null.cc
+@AMDEP_TRUE@   source='null/store_null.cc' object='null/store_null.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='null/$(DEPDIR)/store_null.Po' tmpdepfile='null/$(DEPDIR)/store_null.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o null/store_null.o `test -f 'null/store_null.cc' || echo '$(srcdir)/'`null/store_null.cc
+
+null/store_null.obj: null/store_null.cc
+@AMDEP_TRUE@   source='null/store_null.cc' object='null/store_null.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='null/$(DEPDIR)/store_null.Po' tmpdepfile='null/$(DEPDIR)/store_null.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o null/store_null.obj `cygpath -w null/store_null.cc`
+
+ufs/store_dir_ufs.o: ufs/store_dir_ufs.cc
+@AMDEP_TRUE@   source='ufs/store_dir_ufs.cc' object='ufs/store_dir_ufs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ufs/$(DEPDIR)/store_dir_ufs.Po' tmpdepfile='ufs/$(DEPDIR)/store_dir_ufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ufs/store_dir_ufs.o `test -f 'ufs/store_dir_ufs.cc' || echo '$(srcdir)/'`ufs/store_dir_ufs.cc
+
+ufs/store_dir_ufs.obj: ufs/store_dir_ufs.cc
+@AMDEP_TRUE@   source='ufs/store_dir_ufs.cc' object='ufs/store_dir_ufs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ufs/$(DEPDIR)/store_dir_ufs.Po' tmpdepfile='ufs/$(DEPDIR)/store_dir_ufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ufs/store_dir_ufs.obj `cygpath -w ufs/store_dir_ufs.cc`
+
+ufs/store_io_ufs.o: ufs/store_io_ufs.cc
+@AMDEP_TRUE@   source='ufs/store_io_ufs.cc' object='ufs/store_io_ufs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ufs/$(DEPDIR)/store_io_ufs.Po' tmpdepfile='ufs/$(DEPDIR)/store_io_ufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ufs/store_io_ufs.o `test -f 'ufs/store_io_ufs.cc' || echo '$(srcdir)/'`ufs/store_io_ufs.cc
+
+ufs/store_io_ufs.obj: ufs/store_io_ufs.cc
+@AMDEP_TRUE@   source='ufs/store_io_ufs.cc' object='ufs/store_io_ufs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='ufs/$(DEPDIR)/store_io_ufs.Po' tmpdepfile='ufs/$(DEPDIR)/store_io_ufs.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ufs/store_io_ufs.obj `cygpath -w ufs/store_io_ufs.cc`
+CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -526,7 +538,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -546,7 +558,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -574,16 +586,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -594,23 +609,23 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
@@ -618,22 +633,27 @@ distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
        $(mkinstalldirs) $(distdir)/coss
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -663,6 +683,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -670,7 +691,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 79477be3433ea4ed49d4ffcc7aa29aef43d2adf6..a0557cfabe960614f1df98306583f5d947973308 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -125,29 +132,31 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/aufs/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -171,6 +180,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -178,7 +188,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -227,7 +237,6 @@ uninstall-am: uninstall-info-am
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-generic uninstall uninstall-am uninstall-info-am
 
-
 all clean:
        @cd .. && $(MAKE) $(MFLAGS) aufs/$@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index fa735a41279ad3523a712f0733416df62e4b2055..b5105ff0ef88e3e2bd935c2c50cfd3eba548e23d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: aiops.cc,v 1.14 2002/10/02 22:32:22 robertc Exp $
+ * $Id: aiops.cc,v 1.15 2002/10/13 20:35:24 robertc Exp $
  *
  * DEBUG: section 43    AIOPS
  * AUTHOR: Stewart Forster <slf@connect.com.au>
@@ -192,7 +192,7 @@ squidaio_xstrdup(const char *str)
     char *p;
     int len = strlen(str) + 1;
 
-    p = squidaio_xmalloc(len);
+    p = (char *)squidaio_xmalloc(len);
     strncpy(p, str, len);
 
     return p;
@@ -272,7 +272,7 @@ squidaio_init(void)
     squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t));
     assert (NUMTHREADS);
     for (i = 0; i < NUMTHREADS; i++) {
-       threadp = memPoolAlloc(squidaio_thread_pool);
+       threadp = (squidaio_thread_t *)memPoolAlloc(squidaio_thread_pool);
        threadp->status = _THREAD_STARTING;
        threadp->current_req = NULL;
        threadp->requests = 0;
@@ -300,9 +300,9 @@ squidaio_init(void)
 static void *
 squidaio_thread_loop(void *ptr)
 {
-    squidaio_thread_t *threadp = ptr;
+    squidaio_thread_t *threadp = (squidaio_thread_t *)ptr;
     squidaio_request_t *request;
-    sigset_t new;
+    sigset_t newSig;
 
     /*
      * Make sure to ignore signals which may possibly get sent to
@@ -310,21 +310,21 @@ squidaio_thread_loop(void *ptr)
      * condition waits otherwise
      */
 
-    sigemptyset(&new);
-    sigaddset(&new, SIGPIPE);
-    sigaddset(&new, SIGCHLD);
+    sigemptyset(&newSig);
+    sigaddset(&newSig, SIGPIPE);
+    sigaddset(&newSig, SIGCHLD);
 #ifdef _SQUID_LINUX_THREADS_
-    sigaddset(&new, SIGQUIT);
-    sigaddset(&new, SIGTRAP);
+    sigaddset(&newSig, SIGQUIT);
+    sigaddset(&newSig, SIGTRAP);
 #else
-    sigaddset(&new, SIGUSR1);
-    sigaddset(&new, SIGUSR2);
+    sigaddset(&newSig, SIGUSR1);
+    sigaddset(&newSig, SIGUSR2);
 #endif
-    sigaddset(&new, SIGHUP);
-    sigaddset(&new, SIGTERM);
-    sigaddset(&new, SIGINT);
-    sigaddset(&new, SIGALRM);
-    pthread_sigmask(SIG_BLOCK, &new, NULL);
+    sigaddset(&newSig, SIGHUP);
+    sigaddset(&newSig, SIGTERM);
+    sigaddset(&newSig, SIGINT);
+    sigaddset(&newSig, SIGALRM);
+    pthread_sigmask(SIG_BLOCK, &newSig, NULL);
 
     while (1) {
        threadp->current_req = request = NULL;
@@ -532,7 +532,7 @@ squidaio_cleanup_request(squidaio_request_t * requestp)
 int
 squidaio_cancel(squidaio_result_t * resultp)
 {
-    squidaio_request_t *request = resultp->_data;
+    squidaio_request_t *request = (squidaio_request_t *)resultp->_data;
 
     if (request && request->resultp == resultp) {
        debug(43, 9) ("squidaio_cancel: %p type=%d result=%p\n",
@@ -554,7 +554,7 @@ squidaio_open(const char *path, int oflag, mode_t mode, squidaio_result_t * resu
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->path = (char *) squidaio_xstrdup(path);
     requestp->oflag = oflag;
     requestp->mode = mode;
@@ -583,7 +583,7 @@ squidaio_read(int fd, char *bufp, int bufs, off_t offset, int whence, squidaio_r
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->fd = fd;
     requestp->bufferp = bufp;
     requestp->tmpbufp = (char *) squidaio_xmalloc(bufs);
@@ -616,7 +616,7 @@ squidaio_write(int fd, char *bufp, int bufs, off_t offset, int whence, squidaio_
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->fd = fd;
     requestp->tmpbufp = (char *) squidaio_xmalloc(bufs);
     xmemcpy(requestp->tmpbufp, bufp, bufs);
@@ -648,7 +648,7 @@ squidaio_close(int fd, squidaio_result_t * resultp)
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->fd = fd;
     requestp->resultp = resultp;
     requestp->request_type = _AIO_OP_CLOSE;
@@ -675,7 +675,7 @@ squidaio_stat(const char *path, struct stat *sb, squidaio_result_t * resultp)
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->path = (char *) squidaio_xstrdup(path);
     requestp->statp = sb;
     requestp->tmpstatp = (struct stat *) squidaio_xmalloc(sizeof(struct stat));
@@ -704,7 +704,7 @@ squidaio_unlink(const char *path, squidaio_result_t * resultp)
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->path = squidaio_xstrdup(path);
     requestp->resultp = resultp;
     requestp->request_type = _AIO_OP_UNLINK;
@@ -730,7 +730,7 @@ squidaio_truncate(const char *path, off_t length, squidaio_result_t * resultp)
 
     if (!squidaio_initialised)
        squidaio_init();
-    requestp = memPoolAlloc(squidaio_request_pool);
+    requestp = (squidaio_request_t *)memPoolAlloc(squidaio_request_pool);
     requestp->path = (char *) squidaio_xstrdup(path);
     requestp->offset = length;
     requestp->resultp = resultp;
index 3c9473c8c86cc30f5fc9b9f0124fa65d15da1a2b..144db3591f08b16073778450cd8e194009d46864 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: async_io.cc,v 1.15 2002/10/02 22:32:22 robertc Exp $
+ * $Id: async_io.cc,v 1.16 2002/10/13 20:35:24 robertc Exp $
  *
  * DEBUG: section 32    Asynchronous Disk I/O
  * AUTHOR: Pete Bentley <pete@demon.net>
@@ -36,6 +36,7 @@
 
 #include "squid.h"
 #include "store_asyncufs.h"
+#include "Store.h"
 
 #define _AIO_OPEN      0
 #define _AIO_READ      1
@@ -119,7 +120,7 @@ aioOpen(const char *path, int oflag, mode_t mode, AIOCB * callback, void *callba
 
     assert(initialised);
     squidaio_counts.open_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = -2;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
@@ -138,7 +139,7 @@ aioClose(int fd)
     assert(initialised);
     squidaio_counts.close_start++;
     aioCancel(fd);
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = fd;
     ctrlp->done_handler = NULL;
     ctrlp->done_handler_data = NULL;
@@ -159,7 +160,7 @@ aioCancel(int fd)
     squidaio_counts.cancel++;
     for (m = used_list.head; m; m = next) {
        next = m->next;
-       curr = m->data;
+       curr = (squidaio_ctrl_t *)m->data;
        if (curr->fd != fd)
            continue;
 
@@ -187,7 +188,7 @@ aioWrite(int fd, int offset, char *bufp, int len, AIOCB * callback, void *callba
 
     assert(initialised);
     squidaio_counts.write_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = fd;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
@@ -214,7 +215,7 @@ aioRead(int fd, int offset, char *bufp, int len, AIOCB * callback, void *callbac
 
     assert(initialised);
     squidaio_counts.read_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = fd;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
@@ -238,7 +239,7 @@ aioStat(char *path, struct stat *sb, AIOCB * callback, void *callback_data)
 
     assert(initialised);
     squidaio_counts.stat_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = -2;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
@@ -255,7 +256,7 @@ aioUnlink(const char *path, AIOCB * callback, void *callback_data)
     squidaio_ctrl_t *ctrlp;
     assert(initialised);
     squidaio_counts.unlink_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = -2;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
@@ -271,7 +272,7 @@ aioTruncate(const char *path, off_t length, AIOCB * callback, void *callback_dat
     squidaio_ctrl_t *ctrlp;
     assert(initialised);
     squidaio_counts.unlink_start++;
-    ctrlp = memPoolAlloc(squidaio_ctrl_pool);
+    ctrlp = (squidaio_ctrl_t *)memPoolAlloc(squidaio_ctrl_pool);
     ctrlp->fd = -2;
     ctrlp->done_handler = callback;
     ctrlp->done_handler_data = cbdataReference(callback_data);
index 5e8736d0838290a0d5027cc4cbb0915ae6838df6..0b8809383102b598296b84349056864787a50b5e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_aufs.cc,v 1.50 2002/10/12 09:45:56 robertc Exp $
+ * $Id: store_dir_aufs.cc,v 1.51 2002/10/13 20:35:24 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #include "store_asyncufs.h"
 #include "ufscommon.h"
@@ -174,7 +175,7 @@ storeAufsDirParse(SwapDir * sd, int index, char *path)
     if (l2 <= 0)
        fatal("storeAufsDirParse: invalid level 2 directories value");
 
-    aioinfo = xmalloc(sizeof(squidufsinfo_t));
+    aioinfo = (squidufsinfo_t *)xmalloc(sizeof(squidufsinfo_t));
     if (aioinfo == NULL)
        fatal("storeAufsDirParse: couldn't xmalloc() squidufsinfo_t!\n");
 
index 1d138fc552a7643fce89c3d8d510facadb29468a..13190d4dc0bef83ca7ed8f651c146b52cc7cb4d3 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "squid.h"
 #include "store_asyncufs.h"
+#include "Store.h"
 #include "ufscommon.h"
 
 #if ASYNC_READ
@@ -161,7 +162,7 @@ storeAufsRead(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t of
        debug(79, 3) ("storeAufsRead: queueing read because FD < 0\n");
        assert(aiostate->flags.opening);
        assert(aiostate->pending_reads == NULL);
-       q = memPoolAlloc(aufs_qread_pool);
+       q = (struct _queued_read *)memPoolAlloc(aufs_qread_pool);
        q->buf = buf;
        q->size = size;
        q->offset = offset;
@@ -196,7 +197,7 @@ storeAufsWrite(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t o
        /* disk file not opened yet */
        struct _queued_write *q;
        assert(aiostate->flags.opening);
-       q = memPoolAlloc(aufs_qwrite_pool);
+       q = (struct _queued_write *)memPoolAlloc(aufs_qwrite_pool);
        q->buf = buf;
        q->size = size;
        q->offset = offset;
@@ -208,7 +209,7 @@ storeAufsWrite(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t o
     if (aiostate->flags.writing) {
        struct _queued_write *q;
        debug(79, 3) ("storeAufsWrite: queuing write\n");
-       q = memPoolAlloc(aufs_qwrite_pool);
+       q = (struct _queued_write *)memPoolAlloc(aufs_qwrite_pool);
        q->buf = buf;
        q->size = size;
        q->offset = offset;
@@ -241,7 +242,7 @@ static int
 storeAufsKickWriteQueue(storeIOState * sio)
 {
     squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate;
-    struct _queued_write *q = linklistShift(&aiostate->pending_writes);
+    struct _queued_write *q = (struct _queued_write *)linklistShift(&aiostate->pending_writes);
     if (NULL == q)
        return 0;
     debug(79, 3) ("storeAufsKickWriteQueue: writing queued chunk of %ld bytes\n",
@@ -255,7 +256,7 @@ static int
 storeAufsKickReadQueue(storeIOState * sio)
 {
     squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate;
-    struct _queued_read *q = linklistShift(&(aiostate->pending_reads));
+    struct _queued_read *q = (struct _queued_read *)linklistShift(&(aiostate->pending_reads));
     if (NULL == q)
        return 0;
     debug(79, 3) ("storeAufsKickReadQueue: reading queued request of %ld bytes\n",
@@ -268,7 +269,7 @@ storeAufsKickReadQueue(storeIOState * sio)
 static void
 storeAufsOpenDone(int unused, void *my_data, int fd, int errflag)
 {
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate;
     debug(79, 3) ("storeAufsOpenDone: FD %d, errflag %d\n", fd, errflag);
     Opening_FD--;
@@ -304,7 +305,7 @@ static void
 storeAufsReadDone(int fd, const char *buf, int len, int errflag, void *my_data)
 #endif
 {
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate;
     STRCB *callback = sio->read.callback;
     void *cbdata;
@@ -349,7 +350,7 @@ storeAufsWriteDone(int fd, int errflag, size_t len, void *my_data)
 #endif
 {
     static int loop_detect = 0;
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     squidaiostate_t *aiostate = (squidaiostate_t *) sio->fsstate;
     debug(79, 3) ("storeAufsWriteDone: dirno %d, fileno %08X, FD %d, len %ld, err=%d\n",
        sio->swap_dirn, sio->swap_filen, fd, (long int) len, errflag);
index efeffc497b98cd945364410eec96de254bb34ca1..ccc5233a7df58a956153a298cd5acc31c3483b67 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -125,29 +132,31 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/coss/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -171,6 +180,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -178,7 +188,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -227,7 +237,6 @@ uninstall-am: uninstall-info-am
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-generic uninstall uninstall-am uninstall-info-am
 
-
 all clean:
        @cd .. && $(MAKE) $(MFLAGS) coss/$@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 30a29900d5e6f59ae2dad0e31ce9640d5c81b332..48c5d0ab9313bb2af290736a39fddc2733e6ed2a 100644 (file)
@@ -11,7 +11,7 @@
  * supports are read/write, and since COSS works on a single file
  * per storedir it should work just fine.
  *
- * $Id: async_io.cc,v 1.11 2002/07/21 00:27:31 hno Exp $
+ * $Id: async_io.cc,v 1.12 2002/10/13 20:35:25 robertc Exp $
  */
 
 #include "squid.h"
@@ -196,7 +196,7 @@ a_file_callback(async_queue_t * q)
                /* Callback */
                if (callback_valid) {
                    if (type == AQ_ENTRY_READ)
-                       rc(fd, buf, retval, reterr, cbdata);
+                       rc(fd, (char *)buf, retval, reterr, cbdata);
                    if (type == AQ_ENTRY_WRITE)
                        wc(fd, reterr, retval, cbdata);
                }
index 011339d3f8cdc4d6d842ed47fec0dac82a20aba5..c61322628584973797f14dcf5fd56c824f5b67e6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_coss.cc,v 1.38 2002/08/09 10:57:45 robertc Exp $
+ * $Id: store_dir_coss.cc,v 1.39 2002/10/13 20:35:25 robertc Exp $
  *
  * DEBUG: section 47    Store COSS Directory Routines
  * AUTHOR: Eric Stern
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 #include <aio.h>
 
 #include "async_io.h"
@@ -171,7 +172,7 @@ void
 storeCossRemove(SwapDir * sd, StoreEntry * e)
 {
     CossInfo *cs = (CossInfo *) sd->fsdata;
-    CossIndexNode *coss_node = e->repl.data;
+    CossIndexNode *coss_node = (CossIndexNode *)e->repl.data;
     e->repl.data = NULL;
     dlinkDelete(&coss_node->node, &cs->index);
     memPoolFree(coss_index_pool, coss_node);
@@ -182,7 +183,7 @@ void
 storeCossAdd(SwapDir * sd, StoreEntry * e)
 {
     CossInfo *cs = (CossInfo *) sd->fsdata;
-    CossIndexNode *coss_node = memPoolAlloc(coss_index_pool);
+    CossIndexNode *coss_node = (CossIndexNode *)memPoolAlloc(coss_index_pool);
     assert(!e->repl.data);
     e->repl.data = coss_node;
     dlinkAdd(e, &coss_node->node, &cs->index);
@@ -192,7 +193,7 @@ storeCossAdd(SwapDir * sd, StoreEntry * e)
 static void
 storeCossRebuildComplete(void *data)
 {
-    RebuildState *rb = data;
+    RebuildState *rb = (RebuildState *)data;
     SwapDir *sd = rb->sd;
     storeCossStartMembuf(sd);
     store_dirs_rebuilding--;
@@ -204,7 +205,7 @@ storeCossRebuildComplete(void *data)
 static void
 storeCossRebuildFromSwapLog(void *data)
 {
-    RebuildState *rb = data;
+    RebuildState *rb = (RebuildState *)data;
     StoreEntry *e = NULL;
     storeSwapLogData s;
     size_t ss = sizeof(storeSwapLogData);
@@ -461,7 +462,7 @@ storeCossDirOpenTmpSwapLog(SwapDir * sd, int *clean_flag, int *zero_flag)
 
 struct _clean_state {
     char *cur;
-    char *new;
+    char *newLog;
     char *cln;
     char *outbuf;
     off_t outbuf_offset;
@@ -479,14 +480,14 @@ static int
 storeCossDirWriteCleanStart(SwapDir * sd)
 {
     CossInfo *cs = (CossInfo *) sd->fsdata;
-    struct _clean_state *state = xcalloc(1, sizeof(*state));
+    struct _clean_state *state = (struct _clean_state *)xcalloc(1, sizeof(*state));
 #if HAVE_FCHMOD
     struct stat sb;
 #endif
-    state->new = xstrdup(storeCossDirSwapLogFile(sd, ".clean"));
-    state->fd = file_open(state->new, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY);
+    state->newLog = xstrdup(storeCossDirSwapLogFile(sd, ".clean"));
+    state->fd = file_open(state->newLog, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY);
     if (state->fd < 0) {
-       xfree(state->new);
+       xfree(state->newLog);
        xfree(state);
        return -1;
     }
@@ -494,12 +495,12 @@ storeCossDirWriteCleanStart(SwapDir * sd)
     sd->log.clean.state = NULL;
     state->cur = xstrdup(storeCossDirSwapLogFile(sd, NULL));
     state->cln = xstrdup(storeCossDirSwapLogFile(sd, ".last-clean"));
-    state->outbuf = xcalloc(CLEAN_BUF_SZ, 1);
+    state->outbuf = (char *)xcalloc(CLEAN_BUF_SZ, 1);
     state->outbuf_offset = 0;
     unlink(state->cln);
     state->current = cs->index.tail;
     debug(50, 3) ("storeCOssDirWriteCleanLogs: opened %s, FD %d\n",
-       state->new, state->fd);
+       state->newLog, state->fd);
 #if HAVE_FCHMOD
     if (stat(state->cur, &sb) == 0)
        fchmod(state->fd, sb.st_mode);
@@ -513,7 +514,7 @@ storeCossDirWriteCleanStart(SwapDir * sd)
 static const StoreEntry *
 storeCossDirCleanLogNextEntry(SwapDir * sd)
 {
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     const StoreEntry *entry;
     if (!state)
        return NULL;
@@ -532,7 +533,7 @@ storeCossDirWriteCleanEntry(SwapDir * sd, const StoreEntry * e)
 {
     storeSwapLogData s;
     static size_t ss = sizeof(storeSwapLogData);
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     memset(&s, '\0', ss);
     s.op = (char) SWAP_LOG_ADD;
     s.swap_filen = e->swap_filen;
@@ -550,11 +551,11 @@ storeCossDirWriteCleanEntry(SwapDir * sd, const StoreEntry * e)
     if (state->outbuf_offset + ss > CLEAN_BUF_SZ) {
        if (FD_WRITE_METHOD(state->fd, state->outbuf, state->outbuf_offset) < 0) {
            debug(50, 0) ("storeCossDirWriteCleanLogs: %s: write: %s\n",
-               state->new, xstrerror());
+               state->newLog, xstrerror());
            debug(50, 0) ("storeCossDirWriteCleanLogs: Current swap logfile not replaced.\n");
            file_close(state->fd);
            state->fd = -1;
-           unlink(state->new);
+           unlink(state->newLog);
            safe_free(state);
            sd->log.clean.state = NULL;
            sd->log.clean.write = NULL;
@@ -568,19 +569,19 @@ static void
 storeCossDirWriteCleanDone(SwapDir * sd)
 {
     int fd;
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     if (NULL == state)
        return;
     if (state->fd < 0)
        return;
     if (FD_WRITE_METHOD(state->fd, state->outbuf, state->outbuf_offset) < 0) {
        debug(50, 0) ("storeCossDirWriteCleanLogs: %s: write: %s\n",
-           state->new, xstrerror());
+           state->newLog, xstrerror());
        debug(50, 0) ("storeCossDirWriteCleanLogs: Current swap logfile "
            "not replaced.\n");
        file_close(state->fd);
        state->fd = -1;
-       unlink(state->new);
+       unlink(state->newLog);
     }
     safe_free(state->outbuf);
     /*
@@ -599,7 +600,7 @@ storeCossDirWriteCleanDone(SwapDir * sd)
            debug(50, 0) ("storeCossDirWriteCleanLogs: unlinkd failed: %s, %s\n",
                xstrerror(), state->cur);
 #endif
-       xrename(state->new, state->cur);
+       xrename(state->newLog, state->cur);
     }
     /* touch a timestamp file if we're not still validating */
     if (store_dirs_rebuilding)
@@ -610,7 +611,7 @@ storeCossDirWriteCleanDone(SwapDir * sd)
        file_close(file_open(state->cln, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY));
     /* close */
     safe_free(state->cur);
-    safe_free(state->new);
+    safe_free(state->newLog);
     safe_free(state->cln);
     if (state->fd >= 0)
        file_close(state->fd);
@@ -630,7 +631,7 @@ static void
 storeCossDirSwapLog(const SwapDir * sd, const StoreEntry * e, int op)
 {
     CossInfo *cs = (CossInfo *) sd->fsdata;
-    storeSwapLogData *s = memAllocate(MEM_SWAP_LOG_DATA);
+    storeSwapLogData *s = (storeSwapLogData *)memAllocate(MEM_SWAP_LOG_DATA);
     s->op = (char) op;
     s->swap_filen = e->swap_filen;
     s->timestamp = e->timestamp;
@@ -750,7 +751,7 @@ storeCossDirParse(SwapDir * sd, int index, char *path)
     if (size <= 0)
        fatal("storeCossDirParse: invalid size value");
 
-    cs = xmalloc(sizeof(CossInfo));
+    cs = (CossInfo *)xmalloc(sizeof(CossInfo));
     if (cs == NULL)
        fatal("storeCossDirParse: couldn't xmalloc() CossInfo!\n");
 
@@ -817,7 +818,7 @@ storeCossDirReconfigure(SwapDir * sd, int index, char *path)
     if (size <= 0)
        fatal("storeCossDirParse: invalid size value");
 
-    if (size == sd->max_size)
+    if (size == (size_t)sd->max_size)
        debug(3, 1) ("Cache COSS dir '%s' size remains unchanged at %d KB\n", path, size);
     else {
        debug(3, 1) ("Cache COSS dir '%s' size changed to %d KB\n", path, size);
index cbc94b662ae1236d4624535c9c489daf99b7969d..92399b05c15cdaaf1ac2149567ba4b70c01312b4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_io_coss.cc,v 1.18 2002/08/08 20:12:45 hno Exp $
+ * $Id: store_io_coss.cc,v 1.19 2002/10/13 20:35:25 robertc Exp $
  *
  * DEBUG: section 79    Storage Manager COSS Interface
  * AUTHOR: Eric Stern
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 #include <aio.h>
 #include "async_io.h"
 #include "store_coss.h"
@@ -89,7 +90,7 @@ storeCossAllocate(SwapDir * SD, const StoreEntry * e, int which)
     assert(which != COSS_ALLOC_NOTIFY);
 
     /* Check if we have overflowed the disk .. */
-    if ((cs->current_offset + allocsize) > (SD->max_size << 10)) {
+    if ((cs->current_offset + allocsize) > (size_t)(SD->max_size << 10)) {
        /*
         * tried to allocate past the end of the disk, so wrap
         * back to the beginning
@@ -141,7 +142,7 @@ storeCossCreate(SwapDir * SD, StoreEntry * e, STFNCB * file_callback, STIOCB * c
 
     CBDATA_INIT_TYPE_FREECB(storeIOState, storeCossIOFreeEntry);
     sio = cbdataAlloc(storeIOState);
-    cstate = memPoolAlloc(coss_state_pool);
+    cstate = (CossState *)memPoolAlloc(coss_state_pool);
     sio->fsstate = cstate;
     sio->offset = 0;
     sio->mode = O_WRONLY | O_BINARY;
@@ -192,7 +193,7 @@ storeCossOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
 
     CBDATA_INIT_TYPE_FREECB(storeIOState, storeCossIOFreeEntry);
     sio = cbdataAlloc(storeIOState);
-    cstate = memPoolAlloc(coss_state_pool);
+    cstate = (CossState *)memPoolAlloc(coss_state_pool);
 
     sio->fsstate = cstate;
     sio->swap_filen = f;
@@ -212,7 +213,7 @@ storeCossOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     p = storeCossMemPointerFromDiskOffset(SD, f, NULL);
     /* make local copy so we don't have to lock membuf */
     if (p) {
-       cstate->readbuffer = xmalloc(sio->st_size);
+       cstate->readbuffer = (char *)xmalloc(sio->st_size);
        xmemcpy(cstate->readbuffer, p, sio->st_size);
     } else {
        /* Do the allocation */
@@ -336,13 +337,13 @@ storeCossWrite(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t o
 static void
 storeCossReadDone(int fd, const char *buf, int len, int errflag, void *my_data)
 {
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     char *p;
     STRCB *callback = sio->read.callback;
     void *cbdata;
     SwapDir *SD = INDEXSD(sio->swap_dirn);
     CossState *cstate = (CossState *) sio->fsstate;
-    size_t rlen;
+    ssize_t rlen;
 
     debug(79, 3) ("storeCossReadDone: fileno %d, FD %d, len %d\n",
        sio->swap_filen, fd, len);
@@ -352,7 +353,7 @@ storeCossReadDone(int fd, const char *buf, int len, int errflag, void *my_data)
        rlen = -1;
     } else {
        if (cstate->readbuffer == NULL) {
-           cstate->readbuffer = xmalloc(sio->st_size);
+           cstate->readbuffer = (char *)xmalloc(sio->st_size);
            p = storeCossMemPointerFromDiskOffset(SD, sio->swap_filen, NULL);
            xmemcpy(cstate->readbuffer, p, sio->st_size);
            storeCossMemBufUnlock(SD, sio);
@@ -390,7 +391,7 @@ storeCossMemPointerFromDiskOffset(SwapDir * SD, size_t offset, CossMemBuf ** mb)
     CossInfo *cs = (CossInfo *) SD->fsdata;
 
     for (m = cs->membufs.head; m; m = m->next) {
-       t = m->data;
+       t = (CossMemBuf *)m->data;
        if ((offset >= t->diskstart) && (offset <= t->diskend)) {
            if (mb)
                *mb = t;
@@ -411,8 +412,8 @@ storeCossMemBufLock(SwapDir * SD, storeIOState * e)
     CossInfo *cs = (CossInfo *) SD->fsdata;
 
     for (m = cs->membufs.head; m; m = m->next) {
-       t = m->data;
-       if ((e->swap_filen >= t->diskstart) && (e->swap_filen <= t->diskend)) {
+       t = (CossMemBuf *)m->data;
+       if (((size_t)e->swap_filen >= t->diskstart) && ((size_t)e->swap_filen <= t->diskend)) {
            debug(79, 3) ("storeCossMemBufLock: locking %p, lockcount %d\n", t, t->lockcount);
            t->lockcount++;
            return;
@@ -435,8 +436,8 @@ storeCossMemBufUnlock(SwapDir * SD, storeIOState * e)
         * will make m = m->next kinda unworkable. So, get the next pointer.
         */
        n = m->next;
-       t = m->data;
-       if ((e->swap_filen >= t->diskstart) && (e->swap_filen <= t->diskend)) {
+       t = (CossMemBuf *)m->data;
+       if (((size_t)e->swap_filen >= t->diskstart) && ((size_t)e->swap_filen <= t->diskend)) {
            t->lockcount--;
            debug(79, 3) ("storeCossMemBufUnlock: unlocking %p, lockcount %d\n", t, t->lockcount);
        }
@@ -460,7 +461,7 @@ storeCossSync(SwapDir * SD)
     if (!cs->membufs.head)
        return;
     for (m = cs->membufs.head; m; m = m->next) {
-       t = m->data;
+       t = (CossMemBuf *)m->data;
        if (t->flags.writing)
            sleep(5);           /* XXX EEEWWW! */
        lseek(cs->fd, t->diskstart, SEEK_SET);
@@ -485,7 +486,7 @@ storeCossWriteMemBuf(SwapDir * SD, CossMemBuf * t)
 static void
 storeCossWriteMemBufDone(int fd, int errflag, size_t len, void *my_data)
 {
-    CossMemBuf *t = my_data;
+    CossMemBuf *t = (CossMemBuf *)my_data;
     CossInfo *cs = (CossInfo *) t->SD->fsdata;
 
     debug(79, 3) ("storeCossWriteMemBufDone: buf %p, len %ld\n", t, (long int) len);
@@ -521,7 +522,7 @@ storeCossCreateMemBuf(SwapDir * SD, size_t start,
 
     /* Print out the list of membufs */
     for (m = cs->membufs.head; m; m = m->next) {
-       t = m->data;
+       t = (CossMemBuf *)m->data;
        debug(79, 3) ("storeCossCreateMemBuf: membuflist %ld lockcount %d\n", (long int) t->diskstart, t->lockcount);
     }
 
@@ -530,11 +531,11 @@ storeCossCreateMemBuf(SwapDir * SD, size_t start,
      */
     for (m = cs->index.tail; m; m = prev) {
        prev = m->prev;
-       e = m->data;
+       e = (StoreEntry *)m->data;
        if (curfn == e->swap_filen)
            *collision = 1;     /* Mark an object alloc collision */
-       if ((e->swap_filen >= newmb->diskstart) &&
-           (e->swap_filen <= newmb->diskend)) {
+       if (((size_t)e->swap_filen >= newmb->diskstart) &&
+           ((size_t)e->swap_filen <= newmb->diskend)) {
            storeRelease(e);
            numreleased++;
        } else
index 06393b9a0cbd3c15e1e4675ca7817d21f9557f4b..bbc4e73d3dde1b2597c3b80ced42d82b222429b8 100644 (file)
@@ -1,10 +1,11 @@
 #
 #  Makefile for the DISKD storage driver for the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.1 2001/08/31 11:19:33 robertc Exp $
+#  $Id: Makefile.am,v 1.2 2002/10/13 20:35:26 robertc Exp $
 #
 
 libexec_PROGRAMS = diskd
+diskd_SOURCES = diskd.cc
 LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@
 
 INCLUDES      = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
index 08e314116d836ad1a588e387e0ef7a6eed4f52b8..f380c2bc04159f7a6ebd9c0dc172be9dccc8eb3c 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,9 +17,8 @@
 #
 #  Makefile for the DISKD storage driver for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.16 2002/09/30 00:24:46 hno Exp $
+#  $Id: Makefile.in,v 1.17 2002/10/13 20:35:26 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -49,9 +49,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -63,6 +67,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -80,7 +88,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -93,7 +100,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -110,6 +116,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -120,6 +127,7 @@ install_sh = @install_sh@
 makesnmplib = @makesnmplib@
 
 libexec_PROGRAMS = diskd
+diskd_SOURCES = diskd.cc
 LDADD = $(top_builddir)/lib/libmiscutil.a @XTRA_LIBS@
 
 INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
@@ -132,8 +140,8 @@ CONFIG_CLEAN_FILES =
 libexec_PROGRAMS = diskd$(EXEEXT)
 PROGRAMS = $(libexec_PROGRAMS)
 
-diskd_SOURCES = diskd.c
-diskd_OBJECTS = diskd.$(OBJEXT)
+am_diskd_OBJECTS = diskd.$(OBJEXT)
+diskd_OBJECTS = $(am_diskd_OBJECTS)
 diskd_LDADD = $(LDADD)
 diskd_DEPENDENCIES = $(top_builddir)/lib/libmiscutil.a
 diskd_LDFLAGS =
@@ -144,27 +152,28 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/diskd.Po
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
-DIST_SOURCES = diskd.c
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/diskd.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+CXXFLAGS = @CXXFLAGS@
+DIST_SOURCES = $(diskd_SOURCES)
 DIST_COMMON = Makefile.am Makefile.in
-SOURCES = diskd.c
+SOURCES = $(diskd_SOURCES)
 
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .cc .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/diskd/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 install-libexecPROGRAMS: $(libexec_PROGRAMS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(libexecdir)
@@ -172,16 +181,16 @@ install-libexecPROGRAMS: $(libexec_PROGRAMS)
          p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
          if test -f $$p \
          ; then \
-           f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f"; \
-          $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(libexecdir)/$$f; \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f"; \
+          $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) $$p $(DESTDIR)$(libexecdir)/$$f; \
          else :; fi; \
        done
 
 uninstall-libexecPROGRAMS:
        @$(NORMAL_UNINSTALL)
        @list='$(libexec_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
          echo " rm -f $(DESTDIR)$(libexecdir)/$$f"; \
          rm -f $(DESTDIR)$(libexecdir)/$$f; \
        done
@@ -190,7 +199,7 @@ clean-libexecPROGRAMS:
        -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
 diskd$(EXEEXT): $(diskd_OBJECTS) $(diskd_DEPENDENCIES) 
        @rm -f diskd$(EXEEXT)
-       $(LINK) $(diskd_LDFLAGS) $(diskd_OBJECTS) $(diskd_LDADD) $(LIBS)
+       $(CXXLINK) $(diskd_LDFLAGS) $(diskd_OBJECTS) $(diskd_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT) core *.core
@@ -198,72 +207,80 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/diskd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/diskd.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf ./$(DEPDIR)
 
-.c.o:
+.cc.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
 
-.c.obj:
+.cc.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c `cygpath -w $<`
-CCDEPMODE = @CCDEPMODE@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -288,6 +305,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -295,7 +313,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index 95ce34b8d0a1e2c381942a377dbb8406135c97bb..c83b96cb07b06a1a2309a9b3359b239dda00be6c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: diskd.cc,v 1.10 2001/02/07 18:56:54 hno Exp $
+ * $Id: diskd.cc,v 1.11 2002/10/13 20:35:26 robertc Exp $
  *
  * DEBUG: section --    External DISKD process implementation.
  * AUTHOR: Harvest Derived
@@ -78,7 +78,7 @@ do_open(diomsg * r, int len, const char *buf)
        }
        return -errno;
     }
-    fs = xcalloc(1, sizeof(*fs));
+    fs = (file_state *)xcalloc(1, sizeof(*fs));
     fs->id = r->id;
     fs->key = &fs->id;         /* gack */
     fs->fd = fd;
@@ -251,8 +251,8 @@ msg_handle(diomsg * r, int rl, diomsg * s)
 static int
 fsCmp(const void *a, const void *b)
 {
-    const int *A = a;
-    const int *B = b;
+    const int *A = (const int *)a;
+    const int *B = (const int *)b;
     return *A != *B;
 }
 
@@ -260,7 +260,7 @@ static unsigned int
 fsHash(const void *key, unsigned int n)
 {
     /* note, n must be a power of 2! */
-    const int *k = key;
+    const int *k = (const int *)key;
     return (*k & (--n));
 }
 
@@ -304,7 +304,7 @@ main(int argc, char *argv[])
        perror("shmget");
        return 1;
     }
-    shmbuf = shmat(shmid, NULL, 0);
+    shmbuf = (char *)shmat(shmid, NULL, 0);
     if (shmbuf == (void *) -1) {
        perror("shmat");
        return 1;
index c52dd857d3a04231beddfb06852af751cae2c9d6..e8685602150e70a2b304b3d01276013be2804818 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_diskd.cc,v 1.71 2002/10/12 09:45:57 robertc Exp $
+ * $Id: store_dir_diskd.cc,v 1.72 2002/10/13 20:35:26 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #include <sys/ipc.h>
 #include <sys/msg.h>
@@ -70,7 +71,7 @@ storeDiskdDirInit(SwapDir * sd)
     char skey1[32];
     char skey2[32];
     char skey3[32];
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
 
     ikey = (getpid() << 10) + (sd->index << 2);
     ikey &= 0x7fffffff;
@@ -84,19 +85,19 @@ storeDiskdDirInit(SwapDir * sd)
        debug(50, 0) ("storeDiskdInit: msgget: %s\n", xstrerror());
        fatal("msgget failed");
     }
-    diskdinfo->shm.nbufs = diskdinfo->magic2 * 1.3;
+    diskdinfo->shm.nbufs = (int)(diskdinfo->magic2 * 1.3);
     diskdinfo->shm.id = shmget((key_t) (ikey + 2),
        diskdinfo->shm.nbufs * SHMBUF_BLKSZ, 0600 | IPC_CREAT);
     if (diskdinfo->shm.id < 0) {
        debug(50, 0) ("storeDiskdInit: shmget: %s\n", xstrerror());
        fatal("shmget failed");
     }
-    diskdinfo->shm.buf = shmat(diskdinfo->shm.id, NULL, 0);
+    diskdinfo->shm.buf = (char *)shmat(diskdinfo->shm.id, NULL, 0);
     if (diskdinfo->shm.buf == (void *) -1) {
        debug(50, 0) ("storeDiskdInit: shmat: %s\n", xstrerror());
        fatal("shmat failed");
     }
-    diskdinfo->shm.inuse_map = xcalloc((diskdinfo->shm.nbufs + 7) / 8, 1);
+    diskdinfo->shm.inuse_map = (char *)xcalloc((diskdinfo->shm.nbufs + 7) / 8, 1);
     diskd_stats.shmbuf_count += diskdinfo->shm.nbufs;
     for (i = 0; i < diskdinfo->shm.nbufs; i++) {
        CBIT_SET(diskdinfo->shm.inuse_map, i);
@@ -165,7 +166,7 @@ static void
 storeDiskdDirSync(SwapDir * SD)
 {
     static time_t lastmsg = 0;
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     while (diskdinfo->away > 0) {
        if (squid_curtime > lastmsg) {
            debug(47, 1) ("storeDiskdDirSync: %d messages away\n",
@@ -189,7 +190,7 @@ storeDiskdDirCallback(SwapDir * SD)
 {
     diomsg M;
     int x;
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     int retval = 0;
 
     if (diskdinfo->away >= diskdinfo->magic2) {
@@ -231,7 +232,7 @@ storeDiskdDirCallback(SwapDir * SD)
 int
 storeDiskdDirCheckObj(SwapDir * SD, const StoreEntry * e)
 {
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     /* Check the queue length */
     if (diskdinfo->away >= diskdinfo->magic1)
        return -1;
@@ -261,7 +262,7 @@ void *
 storeDiskdShmGet(SwapDir * sd, off_t * shm_offset)
 {
     char *buf = NULL;
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     int i;
     for (i = 0; i < diskdinfo->shm.nbufs; i++) {
        if (CBIT_TEST(diskdinfo->shm.inuse_map, i))
@@ -284,7 +285,7 @@ void
 storeDiskdShmPut(SwapDir * sd, off_t offset)
 {
     int i;
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     assert(offset >= 0);
     assert(offset < diskdinfo->shm.nbufs * SHMBUF_BLKSZ);
     i = offset / SHMBUF_BLKSZ;
@@ -302,7 +303,7 @@ storeDiskdShmPut(SwapDir * sd, off_t offset)
 void
 storeDiskdDirStats(SwapDir * SD, StoreEntry * sentry)
 {
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     commonUfsDirStats (SD, sentry);
     storeAppendPrintf(sentry, "Pending operations: %d\n", diskdinfo->away);
 }
@@ -310,7 +311,7 @@ storeDiskdDirStats(SwapDir * SD, StoreEntry * sentry)
 static void
 storeDiskdDirParseQ1(SwapDir * sd, const char *name, const char *value, int reconfiguring)
 {
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     int old_magic1 = diskdinfo->magic1;
     diskdinfo->magic1 = atoi(value);
     if (!reconfiguring)
@@ -335,14 +336,14 @@ storeDiskdDirParseQ1(SwapDir * sd, const char *name, const char *value, int reco
 static void
 storeDiskdDirDumpQ1(StoreEntry * e, const char *option, SwapDir * sd)
 {
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     storeAppendPrintf(e, " Q1=%d", diskdinfo->magic1);
 }
 
 static void
 storeDiskdDirParseQ2(SwapDir * sd, const char *name, const char *value, int reconfiguring)
 {
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     int old_magic2 = diskdinfo->magic2;
     diskdinfo->magic2 = atoi(value);
     if (!reconfiguring)
@@ -361,7 +362,7 @@ storeDiskdDirParseQ2(SwapDir * sd, const char *name, const char *value, int reco
 static void
 storeDiskdDirDumpQ2(StoreEntry * e, const char *option, SwapDir * sd)
 {
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     storeAppendPrintf(e, " Q2=%d", diskdinfo->magic2);
 }
 
@@ -447,7 +448,7 @@ storeDiskdDirParse(SwapDir * sd, int index, char *path)
     if (l2 <= 0)
        fatal("storeDiskdDirParse: invalid level 2 directories value");
 
-    sd->fsdata = diskdinfo = xcalloc(1, sizeof(*diskdinfo));
+    sd->fsdata = diskdinfo = (diskdinfo_t *)xcalloc(1, sizeof(*diskdinfo));
     sd->index = index;
     sd->path = xstrdup(path);
     sd->max_size = size;
index f5cdb4e0b6790c37f20e37a9cdeaef8d0a56a055..d97d0384f96e66851ec7277a5acdf6d9283f37c4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_io_diskd.cc,v 1.28 2002/10/12 09:45:57 robertc Exp $
+ * $Id: store_io_diskd.cc,v 1.29 2002/10/13 20:35:26 robertc Exp $
  *
  * DEBUG: section 79    Squid-side DISKD I/O functions.
  * AUTHOR: Duane Wessels
@@ -35,6 +35,7 @@
 
 #include "config.h"
 #include "squid.h"
+#include "Store.h"
 
 #include <sys/ipc.h>
 #include <sys/msg.h>
@@ -60,7 +61,7 @@ storeDiskdOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     char *buf;
     diskdstate_t *diskdstate;
     off_t shm_offset;
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     debug(79, 3) ("storeDiskdOpen: fileno %08X\n", f);
     /*
      * Fail on open() if there are too many requests queued.
@@ -72,7 +73,7 @@ storeDiskdOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     }
     CBDATA_INIT_TYPE_FREECB(storeIOState, storeDiskdIOFreeEntry);
     sio = cbdataAlloc(storeIOState);
-    sio->fsstate = diskdstate = memPoolAlloc(diskd_state_pool);
+    sio->fsstate = diskdstate = (diskdstate_t *)memPoolAlloc(diskd_state_pool);
 
     sio->swap_filen = f;
     sio->swap_dirn = SD->index;
@@ -86,7 +87,7 @@ storeDiskdOpen(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     diskdstate->flags.close_request = 0;
     diskdstate->id = diskd_stats.sio_id++;
 
-    buf = storeDiskdShmGet(SD, &shm_offset);
+    buf = (char *)storeDiskdShmGet(SD, &shm_offset);
     xstrncpy(buf, commonUfsDirFullPath(SD, f, NULL), SHMBUF_BLKSZ);
     x = storeDiskdSend(_MQD_OPEN,
        SD,
@@ -115,7 +116,7 @@ storeDiskdCreate(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     storeIOState *sio;
     char *buf;
     off_t shm_offset;
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
     diskdstate_t *diskdstate;
     /*
      * Fail on open() if there are too many requests queued.
@@ -130,7 +131,7 @@ storeDiskdCreate(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
 
     CBDATA_INIT_TYPE_FREECB(storeIOState, storeDiskdIOFreeEntry);
     sio = cbdataAlloc(storeIOState);
-    sio->fsstate = diskdstate = memPoolAlloc(diskd_state_pool);
+    sio->fsstate = diskdstate = (diskdstate_t *)memPoolAlloc(diskd_state_pool);
 
     sio->swap_filen = f;
     sio->swap_dirn = SD->index;
@@ -144,7 +145,7 @@ storeDiskdCreate(SwapDir * SD, StoreEntry * e, STFNCB * file_callback,
     diskdstate->flags.close_request = 0;
     diskdstate->id = diskd_stats.sio_id++;
 
-    buf = storeDiskdShmGet(SD, &shm_offset);
+    buf = (char *)storeDiskdShmGet(SD, &shm_offset);
     xstrncpy(buf, commonUfsDirFullPath(SD, f, NULL), SHMBUF_BLKSZ);
     x = storeDiskdSend(_MQD_OPEN,
        SD,
@@ -170,7 +171,7 @@ void
 storeDiskdClose(SwapDir * SD, storeIOState * sio)
 {
     int x;
-    diskdstate_t *diskdstate = sio->fsstate;
+    diskdstate_t *diskdstate = (diskdstate_t *)sio->fsstate;
     debug(79, 3) ("storeDiskdClose: dirno %d, fileno %08X\n", SD->index,
        sio->swap_filen);
     x = storeDiskdSend(_MQD_CLOSE,
@@ -194,7 +195,7 @@ storeDiskdRead(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t o
     int x;
     off_t shm_offset;
     char *rbuf;
-    diskdstate_t *diskdstate = sio->fsstate;
+    diskdstate_t *diskdstate = (diskdstate_t *)sio->fsstate;
     debug(79, 3) ("storeDiskdRead: dirno %d, fileno %08X\n", sio->swap_dirn, sio->swap_filen);
     assert(!diskdstate->flags.close_request);
     if (!cbdataReferenceValid(sio))
@@ -210,7 +211,7 @@ storeDiskdRead(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t o
     diskdstate->read_buf = buf;        /* the one passed from above */
     sio->offset = offset;
     diskdstate->flags.reading = 1;
-    rbuf = storeDiskdShmGet(SD, &shm_offset);
+    rbuf = (char *)storeDiskdShmGet(SD, &shm_offset);
     assert(rbuf);
     x = storeDiskdSend(_MQD_READ,
        SD,
@@ -233,7 +234,7 @@ storeDiskdWrite(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t
     int x;
     char *sbuf;
     off_t shm_offset;
-    diskdstate_t *diskdstate = sio->fsstate;
+    diskdstate_t *diskdstate = (diskdstate_t *)sio->fsstate;
     debug(79, 3) ("storeDiskdWrite: dirno %d, fileno %08X\n", SD->index, sio->swap_filen);
     assert(!diskdstate->flags.close_request);
     if (!cbdataReferenceValid(sio)) {
@@ -241,7 +242,7 @@ storeDiskdWrite(SwapDir * SD, storeIOState * sio, char *buf, size_t size, off_t
        return;
     }
     diskdstate->flags.writing = 1;
-    sbuf = storeDiskdShmGet(SD, &shm_offset);
+    sbuf = (char *)storeDiskdShmGet(SD, &shm_offset);
     xmemcpy(sbuf, buf, size);
     if (free_func)
        free_func(buf);
@@ -266,7 +267,7 @@ storeDiskdUnlink(SwapDir * SD, StoreEntry * e)
     int x;
     off_t shm_offset;
     char *buf;
-    diskdinfo_t *diskdinfo = SD->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
 
     debug(79, 3) ("storeDiskdUnlink: dirno %d, fileno %08X\n", SD->index,
        e->swap_filen);
@@ -279,7 +280,7 @@ storeDiskdUnlink(SwapDir * SD, StoreEntry * e)
        return;
     }
     /* We can attempt a diskd unlink */
-    buf = storeDiskdShmGet(SD, &shm_offset);
+    buf = (char *)storeDiskdShmGet(SD, &shm_offset);
     xstrncpy(buf, commonUfsDirFullPath(SD, e->swap_filen, NULL), SHMBUF_BLKSZ);
     x = storeDiskdSend(_MQD_UNLINK,
        SD,
@@ -302,7 +303,7 @@ storeDiskdUnlink(SwapDir * SD, StoreEntry * e)
 static void
 storeDiskdOpenDone(diomsg * M)
 {
-    storeIOState *sio = M->callback_data;
+    storeIOState *sio = (storeIOState *)M->callback_data;
     statCounter.syscalls.disk.opens++;
     debug(79, 3) ("storeDiskdOpenDone: dirno %d, fileno %08x status %d\n",
        sio->swap_dirn, sio->swap_filen, M->status);
@@ -317,7 +318,7 @@ storeDiskdOpenDone(diomsg * M)
 static void
 storeDiskdCloseDone(diomsg * M)
 {
-    storeIOState *sio = M->callback_data;
+    storeIOState *sio = (storeIOState *)M->callback_data;
     statCounter.syscalls.disk.closes++;
     debug(79, 3) ("storeDiskdCloseDone: dirno %d, fileno %08x status %d\n",
        sio->swap_dirn, sio->swap_filen, M->status);
@@ -333,12 +334,12 @@ storeDiskdCloseDone(diomsg * M)
 static void
 storeDiskdReadDone(diomsg * M)
 {
-    storeIOState *sio = M->callback_data;
+    storeIOState *sio = (storeIOState *)M->callback_data;
     STRCB *callback = sio->read.callback;
     void *cbdata;
     SwapDir *sd = INDEXSD(sio->swap_dirn);
-    diskdstate_t *diskdstate = sio->fsstate;
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdstate_t *diskdstate = (diskdstate_t *)sio->fsstate;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     char *their_buf = diskdstate->read_buf;
     char *sbuf;
     size_t len;
@@ -373,8 +374,8 @@ storeDiskdReadDone(diomsg * M)
 static void
 storeDiskdWriteDone(diomsg * M)
 {
-    storeIOState *sio = M->callback_data;
-    diskdstate_t *diskdstate = sio->fsstate;
+    storeIOState *sio = (storeIOState *)M->callback_data;
+    diskdstate_t *diskdstate = (diskdstate_t *)sio->fsstate;
     statCounter.syscalls.disk.writes++;
     diskdstate->flags.writing = 0;
     debug(79, 3) ("storeDiskdWriteDone: dirno %d, fileno %08x status %d\n",
@@ -437,7 +438,7 @@ storeDiskdHandle(diomsg * M)
             * is most likely the wrong place for this. It should
             * be done before the sio becomes invalid, not here.
             */
-           storeIOState *sio = M->callback_data;
+           storeIOState *sio = (storeIOState *)M->callback_data;
            cbdataReferenceDone(sio->read.callback_data);
        }
     }
@@ -464,7 +465,7 @@ storeDiskdSend(int mtype, SwapDir * sd, int id, storeIOState * sio, int size, in
     static int send_errors = 0;
     static int last_seq_no = 0;
     static int seq_no = 0;
-    diskdinfo_t *diskdinfo = sd->fsdata;
+    diskdinfo_t *diskdinfo = (diskdinfo_t *)sd->fsdata;
     M.mtype = mtype;
     M.callback_data = cbdataReference(sio);
     M.size = size;
index f052776e5f70fa8ead200b4fc68f0f2a8dea7a74..241edc0a1569477c3aaf6b84b431660e8ba4fc6b 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -125,29 +132,31 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/null/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -171,6 +180,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -178,7 +188,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -227,7 +237,6 @@ uninstall-am: uninstall-info-am
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-generic uninstall uninstall-am uninstall-info-am
 
-
 all clean:
        @cd .. && $(MAKE) $(MFLAGS) null/$@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index e88efe00ca4067325ca3e745f19f59fe5d18a912..5446199934289134203d2b335904da4cf192216f 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,7 +13,6 @@
 # PARTICULAR PURPOSE.
 
 @SET_MAKE@
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -57,6 +61,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -74,7 +82,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -87,7 +94,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -104,6 +110,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -125,29 +132,31 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configu
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/fs/ufs/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 uninstall-info-am:
 tags: TAGS
 TAGS:
 
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
@@ -171,6 +180,7 @@ install-am: all-am
 installcheck: installcheck-am
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -178,7 +188,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
@@ -227,7 +237,6 @@ uninstall-am: uninstall-info-am
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-generic uninstall uninstall-am uninstall-info-am
 
-
 all clean:
        @cd .. && $(MAKE) $(MFLAGS) ufs/$@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 2b67ae437344644fc5996b5c61e6b5472f4020c6..74dd6c28d9c7ed18ead78c973ad012f4d95bb364 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir_ufs.cc,v 1.50 2002/10/12 09:45:58 robertc Exp $
+ * $Id: store_dir_ufs.cc,v 1.51 2002/10/13 20:35:27 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #include "store_ufs.h"
 #include "ufscommon.h"
@@ -156,7 +157,7 @@ storeUfsDirParse(SwapDir * sd, int index, char *path)
     if (l2 <= 0)
        fatal("storeUfsDirParse: invalid level 2 directories value");
 
-    ufsinfo = xmalloc(sizeof(squidufsinfo_t));
+    ufsinfo = (squidufsinfo_t *)xmalloc(sizeof(squidufsinfo_t));
     if (ufsinfo == NULL)
        fatal("storeUfsDirParse: couldn't xmalloc() squidufsinfo_t!\n");
 
index cd8524cf929acb9594174715c3106835e650e525..c13ff039116554b2b1d5163df85bb8e53a8bbcc5 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_io_ufs.cc,v 1.12 2002/10/12 09:45:58 robertc Exp $
+ * $Id: store_io_ufs.cc,v 1.13 2002/10/13 20:35:27 robertc Exp $
  *
  * DEBUG: section 79    Storage Manager UFS Interface
  * AUTHOR: Duane Wessels
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "store_ufs.h"
+#include "Store.h"
 #include "ufscommon.h"
 
 
@@ -195,7 +196,7 @@ storeUfsUnlink(SwapDir * SD, StoreEntry * e)
 static void
 storeUfsReadDone(int fd, const char *buf, int len, int errflag, void *my_data)
 {
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     ufsstate_t *ufsstate = (ufsstate_t *) sio->fsstate;
     STRCB *callback;
     void *cbdata;
@@ -222,7 +223,7 @@ storeUfsReadDone(int fd, const char *buf, int len, int errflag, void *my_data)
 static void
 storeUfsWriteDone(int fd, int errflag, size_t len, void *my_data)
 {
-    storeIOState *sio = my_data;
+    storeIOState *sio = (storeIOState *)my_data;
     ufsstate_t *ufsstate = (ufsstate_t *) sio->fsstate;
     debug(79, 3) ("storeUfsWriteDone: dirno %d, fileno %08X, FD %d, len %ld\n",
        sio->swap_dirn, sio->swap_filen, fd, (long int) len);
index 99f6fb9841b67ea1ae51aaab42af86b59895b483..7b9bb49c8e48ca83e58e44cc0fc6172fd92d69b8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ftp.cc,v 1.328 2002/09/15 06:23:29 adrian Exp $
+ * $Id: ftp.cc,v 1.329 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 9     File Transfer Protocol (FTP)
  * AUTHOR: Harvest Derived
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+
 
 static const char *const crlf = "\r\n";
 static char cbuf[1024];
@@ -263,7 +265,7 @@ FTPSM *FTP_SM_FUNCS[] =
 static void
 ftpStateFree(int fdnotused, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     if (ftpState == NULL)
        return;
     debug(9, 3) ("ftpStateFree: %s\n", storeUrl(ftpState->entry));
@@ -329,7 +331,7 @@ ftpLoginParser(const char *login, FtpStateData * ftpState, int escaped)
 static void
 ftpTimeout(int fd, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     StoreEntry *entry = ftpState->entry;
     debug(9, 4) ("ftpTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (SENT_PASV == ftpState->state && fd == ftpState->data.fd) {
@@ -486,7 +488,7 @@ ftpListParseParts(const char *buf, struct _ftp_flags flags)
        return NULL;
     if (*buf == '\0')
        return NULL;
-    p = xcalloc(1, sizeof(ftpListParts));
+    p = (ftpListParts *)xcalloc(1, sizeof(ftpListParts));
     n_tokens = 0;
     memset(tokens, 0, sizeof(tokens));
     xbuf = xstrdup(buf);
@@ -633,14 +635,14 @@ static const char *
 dots_fill(size_t len)
 {
     static char buf[256];
-    int i = 0;
+    size_t i = 0;
     if (len > Config.Ftp.list_width) {
        memset(buf, ' ', 256);
        buf[0] = '\n';
        buf[Config.Ftp.list_width + 4] = '\0';
        return buf;
     }
-    for (i = (int) len; i < Config.Ftp.list_width; i++)
+    for (i = len; i < Config.Ftp.list_width; i++)
        buf[i - len] = (i % 2) ? '.' : ' ';
     buf[i - len] = '\0';
     return buf;
@@ -801,11 +803,11 @@ ftpParseListing(FtpStateData * ftpState)
     size_t linelen;
     size_t usable;
     StoreEntry *e = ftpState->entry;
-    int len = ftpState->data.offset;
+    size_t len = ftpState->data.offset;
     /*
      * We need a NULL-terminated buffer for scanning, ick
      */
-    sbuf = xmalloc(len + 1);
+    sbuf = (char *)xmalloc(len + 1);
     xstrncpy(sbuf, buf, len + 1);
     end = sbuf + len - 1;
     while (*end != '\r' && *end != '\n' && end > sbuf)
@@ -818,7 +820,7 @@ ftpParseListing(FtpStateData * ftpState)
        return;
     }
     debug(9, 3) ("ftpParseListing: %d bytes to play with\n", len);
-    line = memAllocate(MEM_4K_BUF);
+    line = (char *)memAllocate(MEM_4K_BUF);
     end++;
     storeBuffer(e);
     s = sbuf;
@@ -873,7 +875,7 @@ ftpDataComplete(FtpStateData * ftpState)
 static void
 ftpDataRead(int fd, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     int len;
     int j;
     int bin;
@@ -921,7 +923,7 @@ ftpDataRead(int fd, void *data)
            commSetSelect(fd,
                COMM_SELECT_READ,
                ftpDataRead,
-               data,
+               ftpState,
                Config.Timeout.read);
        } else {
            ftpFailed(ftpState, ERR_READ_ERROR);
@@ -940,7 +942,7 @@ ftpDataRead(int fd, void *data)
        commSetSelect(fd,
            COMM_SELECT_READ,
            ftpDataRead,
-           data,
+           ftpState,
            Config.Timeout.read);
     }
 }
@@ -1103,9 +1105,9 @@ ftpStart(FwdState * fwd)
        ftpState->user, ftpState->password);
     ftpState->state = BEGIN;
     ftpState->ctrl.last_command = xstrdup("Connect to server");
-    ftpState->ctrl.buf = memAllocBuf(4096, &ftpState->ctrl.size);
+    ftpState->ctrl.buf = (char *)memAllocBuf(4096, &ftpState->ctrl.size);
     ftpState->ctrl.offset = 0;
-    ftpState->data.buf = memAllocBuf(SQUID_TCP_SO_RCVBUF, &ftpState->data.size);
+    ftpState->data.buf = (char *)memAllocBuf(SQUID_TCP_SO_RCVBUF, &ftpState->data.size);
     ftpScheduleReadControlReply(ftpState, 0);
 }
 
@@ -1130,7 +1132,7 @@ ftpWriteCommand(const char *buf, FtpStateData * ftpState)
 static void
 ftpWriteCommandCallback(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     debug(9, 7) ("ftpWriteCommandCallback: wrote %d bytes\n", (int) size);
     if (size > 0) {
        fd_bytes(fd, size, FD_WRITE);
@@ -1165,7 +1167,7 @@ ftpParseControlReply(char *buf, size_t len, int *codep, int *used)
     /*
      * We need a NULL-terminated buffer for scanning, ick
      */
-    sbuf = xmalloc(len + 1);
+    sbuf = (char *)xmalloc(len + 1);
     xstrncpy(sbuf, buf, len + 1);
     end = sbuf + len - 1;
     while (*end != '\r' && *end != '\n' && end > sbuf)
@@ -1196,8 +1198,8 @@ ftpParseControlReply(char *buf, size_t len, int *codep, int *used)
        if (linelen > 3)
            if (*s >= '0' && *s <= '9' && (*(s + 3) == '-' || *(s + 3) == ' '))
                offset = 4;
-       list = memAllocate(MEM_WORDLIST);
-       list->key = xmalloc(linelen - offset);
+       list = (wordlist *)memAllocate(MEM_WORDLIST);
+       list->key = (char *)xmalloc(linelen - offset);
        xstrncpy(list->key, s + offset, linelen - offset);
        debug(9, 7) ("%d %s\n", code, list->key);
        *tail = list;
@@ -1239,15 +1241,15 @@ ftpScheduleReadControlReply(FtpStateData * ftpState, int buffered_ok)
 static void
 ftpReadControlReply(int fd, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     StoreEntry *entry = ftpState->entry;
-    int len;
+    size_t len;
     debug(9, 5) ("ftpReadControlReply\n");
     if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
        comm_close(ftpState->ctrl.fd);
        return;
     }
-    assert(ftpState->ctrl.offset < ftpState->ctrl.size);
+    assert(ftpState->ctrl.offset < (off_t)ftpState->ctrl.size);
     statCounter.syscalls.sock.reads++;
     len = FD_READ_METHOD(fd,
        ftpState->ctrl.buf + ftpState->ctrl.offset,
@@ -1294,8 +1296,8 @@ ftpHandleControlReply(FtpStateData * ftpState)
        ftpState->ctrl.offset, &ftpState->ctrl.replycode, &bytes_used);
     if (ftpState->ctrl.message == NULL) {
        /* didn't get complete reply yet */
-       if (ftpState->ctrl.offset == ftpState->ctrl.size) {
-           ftpState->ctrl.buf = memReallocBuf(ftpState->ctrl.buf, ftpState->ctrl.size << 1, &ftpState->ctrl.size);
+       if (ftpState->ctrl.offset == (off_t)ftpState->ctrl.size) {
+           ftpState->ctrl.buf = (char *)memReallocBuf(ftpState->ctrl.buf, ftpState->ctrl.size << 1, &ftpState->ctrl.size);
        }
        ftpScheduleReadControlReply(ftpState, 0);
        return;
@@ -1780,9 +1782,9 @@ ftpReadPasv(FtpStateData * ftpState)
 }
 
 static void
-ftpPasvCallback(int fd, int status, void *data)
+ftpPasvCallback(int fd, comm_err_t status, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     debug(9, 3) ("ftpPasvCallback\n");
     if (status != COMM_OK) {
        debug(9, 2) ("ftpPasvCallback: failed to connect. Retrying without PASV.\n");
@@ -1894,7 +1896,7 @@ ftpReadPort(FtpStateData * ftpState)
 static void
 ftpAcceptDataConnection(int fd, void *data)
 {
-    FtpStateData *ftpState = data;
+    FtpStateData *ftpState = (FtpStateData *)data;
     struct sockaddr_in my_peer, me;
     debug(9, 3) ("ftpAcceptDataConnection\n");
 
@@ -2213,14 +2215,14 @@ ftpReadTransferDone(FtpStateData * ftpState)
 
 /* This will be called when there is data available to put */
 static void
-ftpRequestBody(char *buf, size_t size, void *data)
+ftpRequestBody(char *buf, ssize_t size, void *data)
 {
     FtpStateData *ftpState = (FtpStateData *) data;
     debug(9, 3) ("ftpRequestBody: buf=%p size=%d ftpState=%p\n", buf, (int) size, data);
     ftpState->data.offset = size;
     if (size > 0) {
        /* DataWrite */
-       comm_write(ftpState->data.fd, buf, size, ftpDataWriteCallback, data, NULL);
+       comm_write(ftpState->data.fd, buf, size, ftpDataWriteCallback, ftpState, NULL);
     } else if (size < 0) {
        /* Error */
        debug(9, 1) ("ftpRequestBody: request aborted");
@@ -2233,7 +2235,7 @@ ftpRequestBody(char *buf, size_t size, void *data)
 
 /* This will be called when the put write is completed */
 static void
-ftpDataWriteCallback(int fd, char *buf, size_t size, int err, void *data)
+ftpDataWriteCallback(int fd, char *buf, size_t size, comm_err_t err, void *data)
 {
     FtpStateData *ftpState = (FtpStateData *) data;
     if (!err) {
index 28d843bcb0e1342d2ec0c269ad7c38d0be6259a0..64e4dac85beb9603e8ed2aff9b7f9cd3060b6567 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: globals.h,v 1.111 2002/07/14 17:19:06 hno Exp $
+ * $Id: globals.h,v 1.112 2002/10/13 20:35:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -117,7 +117,7 @@ extern time_t squid_curtime;        /* 0 */
 extern int shutting_down;      /* 0 */
 extern int reconfiguring;      /* 0 */
 extern int store_dirs_rebuilding;      /* 1 */
-extern int store_swap_size;    /* 0 */
+extern unsigned long store_swap_size;  /* 0 */
 extern unsigned long store_mem_size;   /* 0 */
 extern time_t hit_only_mode_until;     /* 0 */
 extern StatCounters statCounter;
index f110e39cb0cf4e840e6c4f87a40af172eb715410..c0c407b184c6732c43812a62815c3654fbc654aa 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: gopher.cc,v 1.172 2002/09/24 10:46:42 robertc Exp $
+ * $Id: gopher.cc,v 1.173 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 10    Gopher
  * AUTHOR: Harvest Derived
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 /* gopher type code from rfc. Anawat. */
 #define GOPHER_FILE         '0'
@@ -107,7 +108,7 @@ static char def_gopher_text[] = "text/plain";
 static void
 gopherStateFree(int fdnotused, void *data)
 {
-    GopherStateData *gopherState = data;
+    GopherStateData *gopherState = (GopherStateData *)data;
     if (gopherState == NULL)
        return;
     if (gopherState->entry) {
@@ -300,7 +301,7 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
 
     entry = gopherState->entry;
 
-    if (gopherState->conversion == HTML_INDEX_PAGE) {
+    if (gopherState->conversion == gopher_ds::HTML_INDEX_PAGE) {
        char *html_url = html_quote(storeUrl(entry));
        gopherHTMLHeader(entry, "Gopher Index %s", html_url);
        storeAppendPrintf(entry,
@@ -314,7 +315,7 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
 
        return;
     }
-    if (gopherState->conversion == HTML_CSO_PAGE) {
+    if (gopherState->conversion == gopher_ds::HTML_CSO_PAGE) {
        char *html_url = html_quote(storeUrl(entry));
        gopherHTMLHeader(entry, "CSO Search of %s", html_url);
        storeAppendPrintf(entry,
@@ -331,7 +332,7 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
     inbuf[len] = '\0';
 
     if (!gopherState->HTML_header_added) {
-       if (gopherState->conversion == HTML_CSO_RESULT)
+       if (gopherState->conversion == gopher_ds::HTML_CSO_RESULT)
            gopherHTMLHeader(entry, "CSO Search Result", NULL);
        else
            gopherHTMLHeader(entry, "Gopher Menu", NULL);
@@ -403,8 +404,8 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
        }
        switch (gopherState->conversion) {
 
-       case HTML_INDEX_RESULT:
-       case HTML_DIR:{
+       case gopher_ds::HTML_INDEX_RESULT:
+       case gopher_ds::HTML_DIR:{
                tline = line;
                gtype = *tline++;
                name = tline;
@@ -518,7 +519,7 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
            }                   /* HTML_DIR, HTML_INDEX_RESULT */
 
 
-       case HTML_CSO_RESULT:{
+       case gopher_ds::HTML_CSO_RESULT:{
                if (line[0] == '-') {
                    int code, recno;
                    char *s_code, *s_recno, *result;
@@ -599,7 +600,7 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len)
 static void
 gopherTimeout(int fd, void *data)
 {
-    GopherStateData *gopherState = data;
+    GopherStateData *gopherState = (GopherStateData *)data;
     StoreEntry *entry = gopherState->entry;
     debug(10, 4) ("gopherTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (entry->store_status == STORE_PENDING) {
@@ -616,7 +617,7 @@ gopherTimeout(int fd, void *data)
 static void
 gopherReadReply(int fd, void *data)
 {
-    GopherStateData *gopherState = data;
+    GopherStateData *gopherState = (GopherStateData *)data;
     StoreEntry *entry = gopherState->entry;
     char *buf = NULL;
     int len;
@@ -631,7 +632,7 @@ gopherReadReply(int fd, void *data)
        return;
     }
     errno = 0;
-    buf = memAllocate(MEM_4K_BUF);
+    buf = (char *)memAllocate(MEM_4K_BUF);
     read_sz = 4096 - 1;                /* leave room for termination */
 #if DELAY_POOLS
     read_sz = delayBytesWanted(delay_id, 1, read_sz);
@@ -658,7 +659,7 @@ gopherReadReply(int fd, void *data)
     if (len < 0) {
        debug(50, 1) ("gopherReadReply: error reading: %s\n", xstrerror());
        if (ignoreErrno(errno)) {
-           commSetSelect(fd, COMM_SELECT_READ, gopherReadReply, data, 0);
+           commSetSelect(fd, COMM_SELECT_READ, gopherReadReply, gopherState, 0);
        } else if (entry->mem_obj->inmem_hi == 0) {
            ErrorState *err;
            err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
@@ -679,22 +680,22 @@ gopherReadReply(int fd, void *data)
     } else if (len == 0) {
        /* Connection closed; retrieval done. */
        /* flush the rest of data in temp buf if there is one. */
-       if (gopherState->conversion != NORMAL)
-           gopherEndHTML(data);
+       if (gopherState->conversion != gopher_ds::NORMAL)
+           gopherEndHTML(gopherState);
        storeTimestampsSet(entry);
        storeBufferFlush(entry);
        fwdComplete(gopherState->fwdState);
        comm_close(fd);
     } else {
-       if (gopherState->conversion != NORMAL) {
-           gopherToHTML(data, buf, len);
+       if (gopherState->conversion != gopher_ds::NORMAL) {
+           gopherToHTML(gopherState, buf, len);
        } else {
            storeAppend(entry, buf, len);
        }
        commSetSelect(fd,
            COMM_SELECT_READ,
            gopherReadReply,
-           data, 0);
+           gopherState, 0);
     }
     memFree(buf, MEM_4K_BUF);
     return;
@@ -736,24 +737,24 @@ gopherSendComplete(int fd, char *buf, size_t size, comm_err_t errflag, void *dat
     case GOPHER_DIRECTORY:
        /* we got to convert it first */
        storeBuffer(entry);
-       gopherState->conversion = HTML_DIR;
+       gopherState->conversion = gopher_ds::HTML_DIR;
        gopherState->HTML_header_added = 0;
        break;
     case GOPHER_INDEX:
        /* we got to convert it first */
        storeBuffer(entry);
-       gopherState->conversion = HTML_INDEX_RESULT;
+       gopherState->conversion = gopher_ds::HTML_INDEX_RESULT;
        gopherState->HTML_header_added = 0;
        break;
     case GOPHER_CSO:
        /* we got to convert it first */
        storeBuffer(entry);
-       gopherState->conversion = HTML_CSO_RESULT;
+       gopherState->conversion = gopher_ds::HTML_CSO_RESULT;
        gopherState->cso_recno = 0;
        gopherState->HTML_header_added = 0;
        break;
     default:
-       gopherState->conversion = NORMAL;
+       gopherState->conversion = gopher_ds::NORMAL;
     }
     /* Schedule read reply. */
     commSetSelect(fd, COMM_SELECT_READ, gopherReadReply, gopherState, 0);
@@ -766,8 +767,8 @@ gopherSendComplete(int fd, char *buf, size_t size, comm_err_t errflag, void *dat
 static void
 gopherSendRequest(int fd, void *data)
 {
-    GopherStateData *gopherState = data;
-    char *buf = memAllocate(MEM_4K_BUF);
+    GopherStateData *gopherState = (GopherStateData *)data;
+    char *buf = (char *)memAllocate(MEM_4K_BUF);
     if (gopherState->type_id == GOPHER_CSO) {
        const char *t = strchr(gopherState->request, '?');
        if (t != NULL)
@@ -788,7 +789,7 @@ gopherSendRequest(int fd, void *data)
        buf,
        strlen(buf),
        gopherSendComplete,
-       data,
+       gopherState,
        memFree4K);
     if (EBIT_TEST(gopherState->entry->flags, ENTRY_CACHABLE))
        storeSetPublicKey(gopherState->entry);  /* Make it public */
@@ -804,7 +805,7 @@ gopherStart(FwdState * fwdState)
     GopherStateData *gopherState;
     CBDATA_INIT_TYPE(GopherStateData);
     gopherState = cbdataAlloc(GopherStateData);
-    gopherState->buf = memAllocate(MEM_4K_BUF);
+    gopherState->buf = (char *)memAllocate(MEM_4K_BUF);
     storeLockObject(entry);
     gopherState->entry = entry;
     gopherState->fwdState = fwdState;
@@ -831,12 +832,12 @@ gopherStart(FwdState * fwdState)
        /* We have to generate search page back to client. No need for connection */
        gopherMimeCreate(gopherState);
        if (gopherState->type_id == GOPHER_INDEX) {
-           gopherState->conversion = HTML_INDEX_PAGE;
+           gopherState->conversion = gopher_ds::HTML_INDEX_PAGE;
        } else {
            if (gopherState->type_id == GOPHER_CSO) {
-               gopherState->conversion = HTML_CSO_PAGE;
+               gopherState->conversion = gopher_ds::HTML_CSO_PAGE;
            } else {
-               gopherState->conversion = HTML_INDEX_PAGE;
+               gopherState->conversion = gopher_ds::HTML_INDEX_PAGE;
            }
        }
        gopherToHTML(gopherState, (char *) NULL, 0);
index 1503d630749d351575cd6c020aa2d8f0458e71de..80a76aa6e745e06d5b2af66a5bd61d3987009d27 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.cc,v 1.47 2002/09/29 12:08:48 hno Exp $
+ * $Id: helper.cc,v 1.48 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #define HELPER_MAX_ARGS 64
 
@@ -82,7 +83,7 @@ helperOpenServers(helper * hlp)
        shortname = xstrdup(progname);
     debug(84, 1) ("helperOpenServers: Starting %d '%s' processes\n",
        hlp->n_to_start, shortname);
-    procname = xmalloc(strlen(shortname) + 3);
+    procname = (char *)xmalloc(strlen(shortname) + 3);
     snprintf(procname, strlen(shortname) + 3, "(%s)", shortname);
     args[nargs++] = procname;
     for (w = hlp->cmdline->next; w && nargs < HELPER_MAX_ARGS; w = w->next)
@@ -109,7 +110,7 @@ helperOpenServers(helper * hlp)
        srv->index = k;
        srv->rfd = rfd;
        srv->wfd = wfd;
-       srv->buf = memAllocate(MEM_8K_BUF);
+       srv->buf = (char *)memAllocate(MEM_8K_BUF);
        srv->buf_sz = 8192;
        srv->offset = 0;
        srv->parent = cbdataReference(hlp);
@@ -158,7 +159,7 @@ helperStatefulOpenServers(statefulhelper * hlp)
        shortname = xstrdup(progname);
     debug(84, 1) ("helperStatefulOpenServers: Starting %d '%s' processes\n",
        hlp->n_to_start, shortname);
-    procname = xmalloc(strlen(shortname) + 3);
+    procname = (char *)xmalloc(strlen(shortname) + 3);
     snprintf(procname, strlen(shortname) + 3, "(%s)", shortname);
     args[nargs++] = procname;
     for (w = hlp->cmdline->next; w && nargs < HELPER_MAX_ARGS; w = w->next)
@@ -191,7 +192,7 @@ helperStatefulOpenServers(statefulhelper * hlp)
        srv->index = k;
        srv->rfd = rfd;
        srv->wfd = wfd;
-       srv->buf = memAllocate(MEM_8K_BUF);
+       srv->buf = (char *)memAllocate(MEM_8K_BUF);
        srv->buf_sz = 8192;
        srv->offset = 0;
        srv->parent = cbdataReference(hlp);
@@ -221,7 +222,7 @@ helperStatefulOpenServers(statefulhelper * hlp)
 void
 helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data)
 {
-    helper_request *r = memAllocate(MEM_HELPER_REQUEST);
+    helper_request *r = (helper_request *)memAllocate(MEM_HELPER_REQUEST);
     helper_server *srv;
     if (hlp == NULL) {
        debug(84, 3) ("helperSubmit: hlp == NULL\n");
@@ -244,7 +245,7 @@ helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data)
 void
 helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver)
 {
-    helper_stateful_request *r = memAllocate(MEM_HELPER_STATEFUL_REQUEST);
+    helper_stateful_request *r = (helper_stateful_request *)memAllocate(MEM_HELPER_STATEFUL_REQUEST);
     helper_stateful_server *srv;
     if (hlp == NULL) {
        debug(84, 3) ("helperStatefulSubmit: hlp == NULL\n");
@@ -311,7 +312,7 @@ helperStatefulDefer(statefulhelper * hlp)
     rv = srv;
     if (rv == NULL)
        for (n = hlp->servers.head; n != NULL; n = n->next) {
-           srv = n->data;
+           srv = (helper_stateful_server *)n->data;
            if (srv->flags.reserved == S_HELPER_RESERVED)
                continue;
            if (!srv->flags.alive)
@@ -424,7 +425,7 @@ helperStats(StoreEntry * sentry, helper * hlp)
        "Offset",
        "Request");
     for (link = hlp->servers.head; link; link = link->next) {
-       srv = link->data;
+       srv = (helper_server*)link->data;
        tt = 0.001 * tvSubMsec(srv->dispatch_time,
            srv->flags.busy ? current_time : srv->answer_time);
        storeAppendPrintf(sentry, "%7d\t%7d\t%7d\t%11d\t%c%c%c%c\t%7.3f\t%7d\t%s\n",
@@ -475,7 +476,7 @@ helperStatefulStats(StoreEntry * sentry, statefulhelper * hlp)
        "Offset",
        "Request");
     for (link = hlp->servers.head; link; link = link->next) {
-       srv = link->data;
+       srv = (helper_stateful_server *)link->data;
        tt = 0.001 * tvSubMsec(srv->dispatch_time, current_time);
        storeAppendPrintf(sentry, "%7d\t%7d\t%7d\t%11d\t%11d\t%c%c%c%c%c%c\t%7.3f\t%7d\t%s\n",
            srv->index + 1,
@@ -508,7 +509,7 @@ helperShutdown(helper * hlp)
     dlink_node *link = hlp->servers.head;
     while (link) {
        helper_server *srv;
-       srv = link->data;
+       srv = (helper_server *)link->data;
        link = link->next;
        if (!srv->flags.alive) {
            debug(34, 3) ("helperShutdown: %s #%d is NOT ALIVE.\n",
@@ -540,7 +541,7 @@ helperStatefulShutdown(statefulhelper * hlp)
     dlink_node *link = hlp->servers.head;
     helper_stateful_server *srv;
     while (link) {
-       srv = link->data;
+       srv = (helper_stateful_server *)link->data;
        link = link->next;
        if (!srv->flags.alive) {
            debug(34, 3) ("helperStatefulShutdown: %s #%d is NOT ALIVE.\n",
@@ -628,7 +629,7 @@ helperStatefulFree(statefulhelper * hlp)
 static void
 helperServerFree(int fd, void *data)
 {
-    helper_server *srv = data;
+    helper_server *srv = (helper_server *)data;
     helper *hlp = srv->parent;
     helper_request *r;
     assert(srv->rfd == fd);
@@ -661,7 +662,7 @@ helperServerFree(int fd, void *data)
 static void
 helperStatefulServerFree(int fd, void *data)
 {
-    helper_stateful_server *srv = data;
+    helper_stateful_server *srv = (helper_stateful_server *)data;
     statefulhelper *hlp = srv->parent;
     helper_stateful_request *r;
     assert(srv->rfd == fd);
@@ -700,7 +701,7 @@ helperHandleRead(int fd, void *data)
 {
     int len;
     char *t = NULL;
-    helper_server *srv = data;
+    helper_server *srv = (helper_server *)data;
     helper_request *r;
     helper *hlp = srv->parent;
     assert(fd == srv->rfd);
@@ -760,7 +761,7 @@ helperStatefulHandleRead(int fd, void *data)
 {
     int len;
     char *t = NULL;
-    helper_stateful_server *srv = data;
+    helper_stateful_server *srv = (helper_stateful_server *)data;
     helper_stateful_request *r;
     statefulhelper *hlp = srv->parent;
     assert(fd == srv->rfd);
@@ -858,7 +859,7 @@ helperStatefulHandleRead(int fd, void *data)
 static void
 Enqueue(helper * hlp, helper_request * r)
 {
-    dlink_node *link = memAllocate(MEM_DLINK_NODE);
+    dlink_node *link = (dlink_node *)memAllocate(MEM_DLINK_NODE);
     dlinkAddTail(r, link, &hlp->queue);
     hlp->stats.queue_size++;
     if (hlp->stats.queue_size < hlp->n_running)
@@ -878,7 +879,7 @@ Enqueue(helper * hlp, helper_request * r)
 static void
 StatefulEnqueue(statefulhelper * hlp, helper_stateful_request * r)
 {
-    dlink_node *link = memAllocate(MEM_DLINK_NODE);
+    dlink_node *link = (dlink_node *)memAllocate(MEM_DLINK_NODE);
     dlinkAddTail(r, link, &hlp->queue);
     hlp->stats.queue_size++;
     if (hlp->stats.queue_size < hlp->n_running)
@@ -898,7 +899,7 @@ StatefulEnqueue(statefulhelper * hlp, helper_stateful_request * r)
 static void
 StatefulServerEnqueue(helper_stateful_server * srv, helper_stateful_request * r)
 {
-    dlink_node *link = memAllocate(MEM_DLINK_NODE);
+    dlink_node *link = (dlink_node *)memAllocate(MEM_DLINK_NODE);
     dlinkAddTail(r, link, &srv->queue);
 /* TODO: warning if the queue on this server is more than X
  * We don't check the queue size at the moment, because
@@ -926,7 +927,7 @@ Dequeue(helper * hlp)
     dlink_node *link;
     helper_request *r = NULL;
     if ((link = hlp->queue.head)) {
-       r = link->data;
+       r = (helper_request *)link->data;
        dlinkDelete(link, &hlp->queue);
        memFree(link, MEM_DLINK_NODE);
        hlp->stats.queue_size--;
@@ -940,7 +941,7 @@ StatefulServerDequeue(helper_stateful_server * srv)
     dlink_node *link;
     helper_stateful_request *r = NULL;
     if ((link = srv->queue.head)) {
-       r = link->data;
+       r = (helper_stateful_request *)link->data;
        dlinkDelete(link, &srv->queue);
        memFree(link, MEM_DLINK_NODE);
     }
@@ -953,7 +954,7 @@ StatefulDequeue(statefulhelper * hlp)
     dlink_node *link;
     helper_stateful_request *r = NULL;
     if ((link = hlp->queue.head)) {
-       r = link->data;
+       r = (helper_stateful_request *)link->data;
        dlinkDelete(link, &hlp->queue);
        memFree(link, MEM_DLINK_NODE);
        hlp->stats.queue_size--;
@@ -969,7 +970,7 @@ GetFirstAvailable(helper * hlp)
     if (hlp->n_running == 0)
        return NULL;
     for (n = hlp->servers.head; n != NULL; n = n->next) {
-       srv = n->data;
+       srv = (helper_server *)n->data;
        if (srv->flags.busy)
            continue;
        if (!srv->flags.alive)
@@ -988,7 +989,7 @@ StatefulGetFirstAvailable(statefulhelper * hlp)
     if (hlp->n_running == 0)
        return NULL;
     for (n = hlp->servers.head; n != NULL; n = n->next) {
-       srv = n->data;
+       srv = (helper_stateful_server *)n->data;
        if (srv->flags.busy)
            continue;
        if (srv->flags.reserved == S_HELPER_RESERVED)
index 01994d2c10d68e3a21335e12ed6155ceee00b098..f2141e92da3412b5737273865ecc88c402ff7f8f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: htcp.cc,v 1.42 2002/10/04 14:00:22 hno Exp $
+ * $Id: htcp.cc,v 1.43 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 31    Hypertext Caching Protocol
  * AUTHOR: Duane Wesssels
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "StoreClient.h"
 
 typedef struct _Countstr Countstr;
 typedef struct _htcpHeader htcpHeader;
 typedef struct _htcpDataHeader htcpDataHeader;
 typedef struct _htcpAuthHeader htcpAuthHeader;
 typedef struct _htcpStuff htcpStuff;
-typedef struct _htcpSpecifier htcpSpecifier;
 typedef struct _htcpDetail htcpDetail;
 
 struct _Countstr {
@@ -88,11 +89,25 @@ struct _htcpAuthHeader {
     Countstr signature;
 };
 
-struct _htcpSpecifier {
+class htcpSpecifier : public StoreClient {
+public:
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+
+    void created (_StoreEntry *newEntry);
+    void checkHit();
+    void checkedHit(StoreEntry *e);
+    void setFrom (struct sockaddr_in *from);
+    void setDataHeader (htcpDataHeader *);
     char *method;
     char *uri;
     char *version;
     char *req_hdrs;
+private:
+    static MemPool *pool;
+    request_t *checkHitRequest;
+    struct sockaddr_in *from;
+    htcpDataHeader *dhdr;
 };
 
 struct _htcpDetail {
@@ -155,7 +170,7 @@ static int htcpInSocket = -1;
 static int htcpOutSocket = -1;
 #define N_QUERIED_KEYS 256
 static cache_key queried_keys[N_QUERIED_KEYS][MD5_DIGEST_CHARS];
-static MemPool *htcpSpecifierPool = NULL;
+MemPool *htcpSpecifier::pool = NULL;
 static MemPool *htcpDetailPool = NULL;
 
 
@@ -183,7 +198,6 @@ static void htcpSend(const char *buf, int len, struct sockaddr_in *to);
 static void htcpTstReply(htcpDataHeader *, StoreEntry *, htcpSpecifier *, struct sockaddr_in *);
 static void htcpHandleTstRequest(htcpDataHeader *, char *buf, int sz, struct sockaddr_in *from);
 static void htcpHandleTstResponse(htcpDataHeader *, char *, int, struct sockaddr_in *);
-static StoreEntry *htcpCheckHit(const htcpSpecifier *);
 
 static void
 htcpHexdump(const char *tag, const char *s, int sz)
@@ -366,7 +380,7 @@ htcpBuildPacket(htcpStuff * stuff, ssize_t * len)
     ssize_t off = 0;
     size_t hdr_sz = sizeof(htcpHeader);
     htcpHeader hdr;
-    char *buf = xcalloc(buflen, 1);
+    char *buf = (char *)xcalloc(buflen, 1);
     /* skip the header -- we don't know the overall length */
     if (buflen < hdr_sz) {
        xfree(buf);
@@ -414,6 +428,34 @@ htcpSend(const char *buf, int len, struct sockaddr_in *to)
  * STUFF FOR RECEIVING HTCP MESSAGES
  */
 
+void *
+htcpSpecifier::operator new (unsigned int byteCount)
+{
+    /* derived classes with different sizes must implement their own new */
+    assert (byteCount == sizeof (htcpSpecifier));
+    if (!pool)
+       pool = memPoolCreate("htcpSpecifier", sizeof(htcpSpecifier));
+    return static_cast<htcpSpecifier *> (memPoolAlloc(pool));
+}
+
+void 
+htcpSpecifier::operator delete (void *address)
+{
+    memPoolFree(pool, address);
+}
+
+void
+htcpSpecifier::setFrom (struct sockaddr_in *aSocket)
+{
+    from = aSocket;
+}
+
+void
+htcpSpecifier::setDataHeader (htcpDataHeader *aDataHeader)
+{
+    dhdr = aDataHeader;
+}
+
 static void
 htcpFreeSpecifier(htcpSpecifier * s)
 {
@@ -421,7 +463,7 @@ htcpFreeSpecifier(htcpSpecifier * s)
     safe_free(s->uri);
     safe_free(s->version);
     safe_free(s->req_hdrs);
-    memPoolFree(htcpSpecifierPool, s);
+    delete s;
 }
 
 static void
@@ -453,7 +495,7 @@ htcpUnpackCountstr(char *buf, int sz, char **str)
        return -1;
     }
     if (str) {
-       *str = xmalloc(l + 1);
+       *str = (char *)xmalloc(l + 1);
        xstrncpy(*str, buf, l + 1);
        debug(31, 3) ("htcpUnpackCountstr: TEXT = {%s}\n", *str);
     }
@@ -463,7 +505,7 @@ htcpUnpackCountstr(char *buf, int sz, char **str)
 static htcpSpecifier *
 htcpUnpackSpecifier(char *buf, int sz)
 {
-    htcpSpecifier *s = memPoolAlloc(htcpSpecifierPool);
+    htcpSpecifier *s = new htcpSpecifier;
     int o;
     debug(31, 3) ("htcpUnpackSpecifier: %d bytes\n", (int) sz);
     o = htcpUnpackCountstr(buf, sz, &s->method);
@@ -505,7 +547,7 @@ htcpUnpackSpecifier(char *buf, int sz)
 static htcpDetail *
 htcpUnpackDetail(char *buf, int sz)
 {
-    htcpDetail *d = memPoolAlloc(htcpDetailPool);
+    htcpDetail *d = static_cast<htcpDetail *>(memPoolAlloc(htcpDetailPool));
     int o;
     debug(31, 3) ("htcpUnpackDetail: %d bytes\n", (int) sz);
     o = htcpUnpackCountstr(buf, sz, &d->resp_hdrs);
@@ -612,25 +654,34 @@ htcpHandleNop(htcpDataHeader * hdr, char *buf, int sz, struct sockaddr_in *from)
     debug(31, 3) ("htcpHandleNop: Unimplemented\n");
 }
 
-static StoreEntry *
-htcpCheckHit(const htcpSpecifier * s)
+void
+htcpSpecifier::checkHit()
 {
-    request_t *request;
-    method_t m = urlParseMethod(s->method);
-    StoreEntry *e = NULL, *hit = NULL;
+    method_t m = urlParseMethod(method);
     char *blk_end;
-    request = urlParse(m, s->uri);
-    if (NULL == request) {
+    checkHitRequest = urlParse(m, uri);
+    if (NULL == checkHitRequest) {
        debug(31, 3) ("htcpCheckHit: NO; failed to parse URL\n");
-       return NULL;
+       checkedHit(NullStoreEntry::getInstance());
+       return;
     }
-    blk_end = s->req_hdrs + strlen(s->req_hdrs);
-    if (!httpHeaderParse(&request->header, s->req_hdrs, blk_end)) {
+    blk_end = req_hdrs + strlen(req_hdrs);
+    if (!httpHeaderParse(&checkHitRequest->header, req_hdrs, blk_end)) {
        debug(31, 3) ("htcpCheckHit: NO; failed to parse request headers\n");
-       goto miss;
+       requestDestroy(checkHitRequest);
+       checkHitRequest = NULL;
+       checkedHit(NullStoreEntry::getInstance());
+       return;
     }
-    e = storeGetPublicByRequest(request);
-    if (NULL == e) {
+    _StoreEntry::getPublicByRequest(this, checkHitRequest);
+}
+
+void
+htcpSpecifier::created (_StoreEntry *e)
+{
+    StoreEntry *hit=NULL;
+    assert (e);
+    if (e->isNull()) {
        debug(31, 3) ("htcpCheckHit: NO; public object not found\n");
        goto miss;
     }
@@ -638,15 +689,15 @@ htcpCheckHit(const htcpSpecifier * s)
        debug(31, 3) ("htcpCheckHit: NO; entry not valid to send\n");
        goto miss;
     }
-    if (refreshCheckHTCP(e, request)) {
+    if (refreshCheckHTCP(e, checkHitRequest)) {
        debug(31, 3) ("htcpCheckHit: NO; cached response is stale\n");
        goto miss;
     }
     debug(31, 3) ("htcpCheckHit: YES!?\n");
     hit = e;
   miss:
-    requestDestroy(request);
-    return hit;
+    requestDestroy(checkHitRequest);
+    checkedHit (hit);
 }
 
 static void
@@ -704,14 +755,16 @@ htcpHandleTstRequest(htcpDataHeader * dhdr, char *buf, int sz, struct sockaddr_i
 {
     /* buf should be a SPECIFIER */
     htcpSpecifier *s;
-    StoreEntry *e;
     if (sz == 0) {
        debug(31, 3) ("htcpHandleTst: nothing to do\n");
        return;
     }
     if (dhdr->F1 == 0)
        return;
+    /* s is a new object */
     s = htcpUnpackSpecifier(buf, sz);
+    s->setFrom (from);
+    s->setDataHeader (dhdr);
     if (NULL == s) {
        debug(31, 3) ("htcpHandleTstRequest: htcpUnpackSpecifier failed\n");
        return;
@@ -721,11 +774,17 @@ htcpHandleTstRequest(htcpDataHeader * dhdr, char *buf, int sz, struct sockaddr_i
        s->uri,
        s->version);
     debug(31, 3) ("htcpHandleTstRequest: %s\n", s->req_hdrs);
-    if ((e = htcpCheckHit(s)))
-       htcpTstReply(dhdr, e, s, from);         /* hit */
+    s->checkHit();
+}
+
+void
+htcpSpecifier::checkedHit(StoreEntry *e)
+{
+    if (e)
+       htcpTstReply(dhdr, e, this, from);              /* hit */
     else
        htcpTstReply(dhdr, NULL, NULL, from);   /* cache miss */
-    htcpFreeSpecifier(s);
+    htcpFreeSpecifier(this);
 }
 
 static void
@@ -744,7 +803,8 @@ static void
 htcpHandleData(char *buf, int sz, struct sockaddr_in *from)
 {
     htcpDataHeader hdr;
-    if (sz < sizeof(htcpDataHeader)) {
+    assert (sz >= 0);
+    if ((size_t)sz < sizeof(htcpDataHeader)) {
        debug(31, 0) ("htcpHandleData: msg size less than htcpDataHeader size\n");
        return;
     }
@@ -805,7 +865,8 @@ static void
 htcpHandle(char *buf, int sz, struct sockaddr_in *from)
 {
     htcpHeader htcpHdr;
-    if (sz < sizeof(htcpHeader)) {
+    assert (sz >= 0);
+    if ((size_t)sz < sizeof(htcpHeader)) {
        debug(31, 0) ("htcpHandle: msg size less than htcpHeader size\n");
        return;
     }
@@ -830,7 +891,7 @@ htcpRecv(int fd, void *data)
     static char buf[8192];
     int len;
     static struct sockaddr_in from;
-    int flen = sizeof(struct sockaddr_in);
+    socklen_t flen = sizeof(struct sockaddr_in);
     memset(&from, '\0', flen);
     statCounter.syscalls.sock.recvfroms++;
     len = recvfrom(fd, buf, 8192, 0, (struct sockaddr *) &from, &flen);
@@ -884,8 +945,7 @@ htcpInit(void)
     } else {
        htcpOutSocket = htcpInSocket;
     }
-    if (!htcpSpecifierPool) {
-       htcpSpecifierPool = memPoolCreate("htcpSpecifier", sizeof(htcpSpecifier));
+    if (!htcpDetailPool) {
        htcpDetailPool = memPoolCreate("htcpDetail", sizeof(htcpDetail));
     }
 }
@@ -932,7 +992,7 @@ htcpQuery(StoreEntry * e, request_t * req, peer * p)
     }
     htcpSend(pkt, (int) pktlen, &p->in_addr);
     save_key = queried_keys[stuff.msg_id % N_QUERIED_KEYS];
-    storeKeyCopy(save_key, e->hash.key);
+    storeKeyCopy(save_key, (unsigned char const *)e->hash.key);
     debug(31, 3) ("htcpQuery: key (%p) %s\n", save_key, storeKeyText(save_key));
     xfree(pkt);
 }
diff --git a/src/htcp.h b/src/htcp.h
new file mode 100644 (file)
index 0000000..b9ca52f
--- /dev/null
@@ -0,0 +1,37 @@
+
+/*
+ * $Id: htcp.h,v 1.1 2002/10/13 20:35:01 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_HTCP_H
+#define SQUID_HTCP_H
+
+#endif /* SQUID_HTCP_H */
index fe29f1a13eb07e23a0b82ab63034e1e11c92983c..707c65b4add4e8f8309ddc383575f659d01dc5be 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.cc,v 1.394 2002/10/04 09:53:35 hno Exp $
+ * $Id: http.cc,v 1.395 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
  */
 
 #include "squid.h"
+#include "http.h"
+#include "authenticate.h"
+#include "Store.h"
+
+CBDATA_TYPE(HttpStateData);
+
 
 static const char *const crlf = "\r\n";
 
@@ -54,17 +60,11 @@ static void httpMakePrivate(StoreEntry *);
 static void httpMakePublic(StoreEntry *);
 static int httpCachableReply(HttpStateData *);
 static void httpMaybeRemovePublic(StoreEntry *, http_status);
-static mb_size_t httpBuildRequestPrefix(request_t * request,
-    request_t * orig_request,
-    StoreEntry * entry,
-    MemBuf * mb,
-    http_state_flags);
-static void httpProcessReplyHeader(HttpStateData *, const char *, int);
 
 static void
 httpStateFree(int fd, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
 #if DELAY_POOLS
     delayClearNoDelay(fd);
 #endif
@@ -95,7 +95,7 @@ httpCachable(method_t method)
 static void
 httpTimeout(int fd, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
     StoreEntry *entry = httpState->entry;
     debug(11, 4) ("httpTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (entry->store_status == STORE_PENDING) {
@@ -348,7 +348,7 @@ httpMakeVaryMark(request_t * request, HttpReply * reply)
     stringClean(&vstr);
     vary = httpHeaderGetList(&reply->header, HDR_VARY);
     while (strListGetItem(&vary, ',', &item, &ilen, &pos)) {
-       char *name = xmalloc(ilen + 1);
+       char *name = (char *)xmalloc(ilen + 1);
        xstrncpy(name, item, ilen + 1);
        Tolower(name);
        strListAdd(&vstr, name, ',');
@@ -390,62 +390,71 @@ httpMakeVaryMark(request_t * request, HttpReply * reply)
 
 /* rewrite this later using new interfaces @?@ */
 void
-httpProcessReplyHeader(HttpStateData * httpState, const char *buf, int size)
+HttpStateData::processReplyHeader(const char *buf, int size)
 {
     char *t = NULL;
-    StoreEntry *entry = httpState->entry;
     int room;
     size_t hdr_len;
     HttpReply *reply = entry->mem_obj->reply;
     Ctx ctx;
     debug(11, 3) ("httpProcessReplyHeader: key '%s'\n",
-       storeKeyText(entry->hash.key));
-    if (httpState->reply_hdr == NULL)
-       httpState->reply_hdr = memAllocate(MEM_8K_BUF);
-    assert(httpState->reply_hdr_state == 0);
-    hdr_len = httpState->reply_hdr_size;
+       storeKeyText((const cache_key *)(entry->hash.key)));
+    if (reply_hdr == NULL)
+       reply_hdr = (char *)memAllocate(MEM_8K_BUF);
+    assert(reply_hdr_state == 0);
+    hdr_len = reply_hdr_size;
     room = 8191 - hdr_len;
-    xmemcpy(httpState->reply_hdr + hdr_len, buf, room < size ? room : size);
+    xmemcpy(reply_hdr + hdr_len, buf, room < size ? room : size);
     hdr_len += room < size ? room : size;
-    httpState->reply_hdr[hdr_len] = '\0';
-    httpState->reply_hdr_size = hdr_len;
-    if (hdr_len > 4 && strncmp(httpState->reply_hdr, "HTTP/", 5)) {
-       debug(11, 3) ("httpProcessReplyHeader: Non-HTTP-compliant header: '%s'\n", httpState->reply_hdr);
-       httpState->reply_hdr_state += 2;
+    reply_hdr[hdr_len] = '\0';
+    reply_hdr_size = hdr_len;
+    if (hdr_len > 4 && strncmp(reply_hdr, "HTTP/", 5)) {
+       debug(11, 3) ("httpProcessReplyHeader: Non-HTTP-compliant header: '%s'\n", reply_hdr);
+       reply_hdr_state += 2;
        reply->sline.status = HTTP_INVALID_HEADER;
+       if (eof == 1) {
+           fwdComplete(fwd);
+           comm_close(fd);
+       }
        return;
     }
-    t = httpState->reply_hdr + hdr_len;
+    t = reply_hdr + hdr_len;
     /* headers can be incomplete only if object still arriving */
-    if (!httpState->eof) {
-       size_t k = headersEnd(httpState->reply_hdr, 8192);
-       if (0 == k)
+    if (!eof) {
+       size_t k = headersEnd(reply_hdr, 8192);
+       if (0 == k) {
+           if (eof == 1) {
+               fwdComplete(fwd);
+               comm_close(fd);
+           }
            return;             /* headers not complete */
-       t = httpState->reply_hdr + k;
+       }
+       t = reply_hdr + k;
     }
     *t = '\0';
-    httpState->reply_hdr_state++;
-    assert(httpState->reply_hdr_state == 1);
+    reply_hdr_state++;
+    assert(reply_hdr_state == 1);
     ctx = ctx_enter(entry->mem_obj->url);
-    httpState->reply_hdr_state++;
+    reply_hdr_state++;
     debug(11, 9) ("GOT HTTP REPLY HDR:\n---------\n%s\n----------\n",
-       httpState->reply_hdr);
+       reply_hdr);
     /* Parse headers into reply structure */
     /* what happens if we fail to parse here? */
-    httpReplyParse(reply, httpState->reply_hdr, hdr_len);
+    httpReplyParse(reply, reply_hdr, hdr_len);
     storeTimestampsSet(entry);
     /* Check if object is cacheable or not based on reply code */
     debug(11, 3) ("httpProcessReplyHeader: HTTP CODE: %d\n", reply->sline.status);
     if (neighbors_do_private_keys)
        httpMaybeRemovePublic(entry, reply->sline.status);
-    switch (httpCachableReply(httpState)) {
+
+    switch (httpCachableReply(this)) {
     case 1:
        if (httpHeaderHas(&reply->header, HDR_VARY)
 #if X_ACCELERATOR_VARY
            || httpHeaderHas(&reply->header, HDR_X_ACCELERATOR_VARY)
 #endif
            ) {
-           const char *vary = httpMakeVaryMark(httpState->orig_request, reply);
+           const char *vary = httpMakeVaryMark(orig_request, reply);
            if (vary) {
                entry->mem_obj->vary_headers = xstrdup(vary);
                /* Kill the old base object if a change in variance is detected */
@@ -473,22 +482,26 @@ httpProcessReplyHeader(HttpStateData * httpState, const char *buf, int size)
        else if (EBIT_TEST(reply->cache_control->mask, CC_MUST_REVALIDATE))
            EBIT_SET(entry->flags, ENTRY_REVALIDATE);
     }
-    if (httpState->flags.keepalive)
-       if (httpState->_peer)
-           httpState->_peer->stats.n_keepalives_sent++;
+    if (flags.keepalive)
+       if (_peer)
+           _peer->stats.n_keepalives_sent++;
     if (reply->keep_alive)
-       if (httpState->_peer)
-           httpState->_peer->stats.n_keepalives_recv++;
-    if (reply->date > -1 && !httpState->_peer) {
+       if (_peer)
+           _peer->stats.n_keepalives_recv++;
+    if (reply->date > -1 && !_peer) {
        int skew = abs(reply->date - squid_curtime);
        if (skew > 86400)
            debug(11, 3) ("%s's clock is skewed by %d seconds!\n",
-               httpState->request->host, skew);
+               request->host, skew);
     }
     ctx_exit(ctx);
 #if HEADERS_LOG
-    headersLog(1, 0, httpState->request->method, reply);
+    headersLog(1, 0, request->method, reply);
 #endif
+    if (eof == 1) {
+       fwdComplete(fwd);
+       comm_close(fd);
+    }
 }
 
 static int
@@ -544,7 +557,7 @@ httpPconnTransferDone(HttpStateData * httpState)
 static void
 httpReadReply(int fd, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
     LOCAL_ARRAY(char, buf, SQUID_TCP_SO_RCVBUF);
     StoreEntry *entry = httpState->entry;
     const request_t *request = httpState->request;
@@ -630,12 +643,15 @@ httpReadReply(int fd, void *data)
             * the end of headers, but now we are definately at EOF, so
             * we want to process the reply headers.
             */
-           httpProcessReplyHeader(httpState, buf, len);
-       fwdComplete(httpState->fwd);
-       comm_close(fd);
+           /* doesn't return */
+           httpState->processReplyHeader(buf, len);
+       else {
+           fwdComplete(httpState->fwd);
+           comm_close(fd);
+       }
     } else {
        if (httpState->reply_hdr_state < 2) {
-           httpProcessReplyHeader(httpState, buf, len);
+           httpState->processReplyHeader(buf, len);
            if (httpState->reply_hdr_state == 2) {
                http_status s = entry->mem_obj->reply->sline.status;
 #if WIP_FWD_LOG
@@ -649,32 +665,38 @@ httpReadReply(int fd, void *data)
                    EBIT_CLR(entry->flags, ENTRY_FWD_HDR_WAIT);
            }
        }
-       storeAppend(entry, buf, len);
-       if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
-           /*
-            * the above storeAppend() call could ABORT this entry,
-            * in that case, the server FD should already be closed.
-            * there's nothing for us to do.
-            */
-           (void) 0;
-       } else if (httpPconnTransferDone(httpState)) {
-           /* yes we have to clear all these! */
-           commSetDefer(fd, NULL, NULL);
-           commSetTimeout(fd, -1, NULL, NULL);
-           commSetSelect(fd, COMM_SELECT_READ, NULL, NULL, 0);
+       httpState->processReplyData(buf, len);
+    }
+}
+
+void
+HttpStateData::processReplyData(const char *buf, int len)
+{
+    storeAppend(entry, buf, len);
+    if (EBIT_TEST(entry->flags, ENTRY_ABORTED)) {
+       /*
+        * the above storeAppend() call could ABORT this entry,
+        * in that case, the server FD should already be closed.
+        * there's nothing for us to do.
+        */
+       (void) 0;
+    } else if (httpPconnTransferDone(this)) {
+       /* yes we have to clear all these! */
+       commSetDefer(fd, NULL, NULL);
+       commSetTimeout(fd, -1, NULL, NULL);
+       commSetSelect(fd, COMM_SELECT_READ, NULL, NULL, 0);
 #if DELAY_POOLS
-           delayClearNoDelay(fd);
+       delayClearNoDelay(fd);
 #endif
-           comm_remove_close_handler(fd, httpStateFree, httpState);
-           fwdUnregister(fd, httpState->fwd);
-           pconnPush(fd, request->host, request->port);
-           fwdComplete(httpState->fwd);
-           httpState->fd = -1;
-           httpStateFree(fd, httpState);
-       } else {
-           /* Wait for EOF condition */
-           commSetSelect(fd, COMM_SELECT_READ, httpReadReply, httpState, 0);
-       }
+       comm_remove_close_handler(fd, httpStateFree, this);
+       fwdUnregister(fd, fwd);
+       pconnPush(fd, request->host, request->port);
+       fwdComplete(fwd);
+       fd = -1;
+       httpStateFree(fd, this);
+    } else {
+       /* Wait for EOF condition */
+       commSetSelect(fd, COMM_SELECT_READ, httpReadReply, this, 0);
     }
 }
 
@@ -683,7 +705,7 @@ httpReadReply(int fd, void *data)
 static void
 httpSendComplete(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
     StoreEntry *entry = httpState->entry;
     ErrorState *err;
     debug(11, 5) ("httpSendComplete: FD %d: size %d: errflag %d.\n",
@@ -867,7 +889,7 @@ httpBuildRequestHeader(request_t * request,
            char loginbuf[256];
            const char *username = "-";
            if (orig_request->auth_user_request)
-               username = authenticateUserRequestUsername(orig_request->auth_user_request);
+               username = orig_request->auth_user_request->username();
            snprintf(loginbuf, sizeof(loginbuf), "%s%s", username, orig_request->peer_login + 1);
            httpHeaderPutStrf(hdr_out, HDR_PROXY_AUTHORIZATION, "Basic %s",
                base64_encode(loginbuf));
@@ -988,6 +1010,7 @@ httpStart(FwdState * fwd)
     debug(11, 3) ("httpStart: \"%s %s\"\n",
        RequestMethodStr[orig_req->method],
        storeUrl(fwd->entry));
+    CBDATA_INIT_TYPE(HttpStateData);
     httpState = cbdataAlloc(HttpStateData);
     storeLockObject(fwd->entry);
     httpState->fwd = fwd;
@@ -1038,7 +1061,7 @@ httpStart(FwdState * fwd)
 static void
 httpSendRequestEntityDone(int fd, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
     aclCheck_t ch;
     debug(11, 5) ("httpSendRequestEntityDone: FD %d\n",
        fd);
@@ -1046,10 +1069,10 @@ httpSendRequestEntityDone(int fd, void *data)
     ch.request = httpState->request;
     if (!Config.accessList.brokenPosts) {
        debug(11, 5) ("httpSendRequestEntityDone: No brokenPosts list\n");
-       httpSendComplete(fd, NULL, 0, 0, data);
+       httpSendComplete(fd, NULL, 0, COMM_OK, data);
     } else if (!aclCheckFast(Config.accessList.brokenPosts, &ch)) {
        debug(11, 5) ("httpSendRequestEntityDone: didn't match brokenPosts\n");
-       httpSendComplete(fd, NULL, 0, 0, data);
+       httpSendComplete(fd, NULL, 0, COMM_OK, data);
     } else {
        debug(11, 2) ("httpSendRequestEntityDone: matched brokenPosts\n");
        comm_write(fd, "\r\n", 2, httpSendComplete, data, NULL);
@@ -1057,7 +1080,7 @@ httpSendRequestEntityDone(int fd, void *data)
 }
 
 static void
-httpRequestBodyHandler(char *buf, size_t size, void *data)
+httpRequestBodyHandler(char *buf, ssize_t size, void *data)
 {
     HttpStateData *httpState = (HttpStateData *) data;
     if (size > 0) {
@@ -1076,7 +1099,7 @@ httpRequestBodyHandler(char *buf, size_t size, void *data)
 static void
 httpSendRequestEntity(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    HttpStateData *httpState = data;
+    HttpStateData *httpState = static_cast<HttpStateData *>(data);
     StoreEntry *entry = httpState->entry;
     ErrorState *err;
     debug(11, 5) ("httpSendRequestEntity: FD %d: size %d: errflag %d.\n",
@@ -1100,7 +1123,7 @@ httpSendRequestEntity(int fd, char *bufnotused, size_t size, comm_err_t errflag,
        comm_close(fd);
        return;
     }
-    clientReadBody(httpState->orig_request, memAllocate(MEM_8K_BUF), 8192, httpRequestBodyHandler, httpState);
+    clientReadBody(httpState->orig_request, (char *)memAllocate(MEM_8K_BUF), 8192, httpRequestBodyHandler, httpState);
 }
 
 void
diff --git a/src/http.h b/src/http.h
new file mode 100644 (file)
index 0000000..c4e9e55
--- /dev/null
@@ -0,0 +1,57 @@
+
+/*
+ * $Id: http.h,v 1.1 2002/10/13 20:35:01 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_HTTP_H
+#define SQUID_HTTP_H
+
+#include "StoreIOBuffer.h"
+
+class HttpStateData {
+    public:
+    void processReplyHeader(const char *, int);
+    void processReplyData(const char *, int);
+
+    StoreEntry *entry;
+    request_t *request;
+    char *reply_hdr;
+    size_t reply_hdr_size;
+    int reply_hdr_state;
+    peer *_peer;               /* peer request made to */
+    int eof;                   /* reached end-of-object? */
+    request_t *orig_request;
+    int fd;
+    http_state_flags flags;
+    FwdState *fwd;
+};
+
+#endif /* SQUID_HTTP_H */
index 74774fb9c2cf5f67f8a1332377b872881d7af8bf..256ffc2d3bddf847b92f86488ba13db8e123da02 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: icp_v2.cc,v 1.67 2002/08/09 10:57:43 robertc Exp $
+ * $Id: icp_v2.cc,v 1.68 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 12    Internet Cache Protocol
  * AUTHOR: Duane Wessels
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "ICP.h"
 
 static void icpLogIcp(struct in_addr, log_type, int, const char *, int);
 static void icpHandleIcpV2(int, struct sockaddr_in, char *, int);
@@ -45,6 +47,94 @@ static void icpCount(void *, int, size_t, int);
  */
 static icpUdpData *IcpQueueTail = NULL;
 
+/* icp_common_t */
+_icp_common_t::_icp_common_t() : opcode(ICP_INVALID), version(0), length(0), reqnum(0), flags(0), pad(0), shostid(0)
+{
+}
+
+_icp_common_t::_icp_common_t(char *buf, unsigned int len)
+{
+    if (len < sizeof(_icp_common_t)) {
+       /* mark as invalid */
+       length = len + 1;
+       return;
+    }
+    xmemcpy(this, buf, sizeof(icp_common_t));
+    /*
+     * Convert network order sensitive fields
+     */
+    length = ntohs(length);
+    reqnum = ntohl(reqnum);
+    flags = ntohl(flags);
+    pad = ntohl(pad);
+}
+
+icp_opcode
+_icp_common_t::getOpCode() const
+{
+    if (opcode > (char)ICP_END)
+       return ICP_INVALID;
+    return (icp_opcode)opcode;
+}
+
+/* ICPState */
+
+ICPState:: ICPState(icp_common_t & aHeader):header(aHeader)
+{
+}
+
+ICPState::~ICPState()
+{
+    safe_free(url);
+    if (request)
+       requestDestroy(request);
+}
+
+
+/* End ICPState */
+
+/* ICP2State */
+class ICP2State:public ICPState, public StoreClient {
+    public:
+    ICP2State(icp_common_t & aHeader):ICPState(aHeader),rtt(0),src_rtt(0),flags(0) {
+    }    ~ICP2State();
+    void created(StoreEntry * newEntry);
+
+    int rtt;
+    int src_rtt;
+    u_int32_t flags;
+};
+
+ICP2State::~ICP2State ()
+{
+}
+
+void
+ICP2State::created (StoreEntry *newEntry)
+{
+    StoreEntry *entry = newEntry->isNull () ? NULL : newEntry;
+    debug(12, 5) ("icpHandleIcpV2: OPCODE %s\n", icp_opcode_str[header.opcode]);
+    icp_opcode codeToSend;
+    if (icpCheckUdpHit(entry, request)) {
+       codeToSend = ICP_HIT;
+    } else {
+       if (Config.onoff.test_reachability && rtt == 0) {
+           if ((rtt = netdbHostRtt(request->host)) == 0)
+               netdbPingSite(request->host);
+       } 
+       if (icpGetCommonOpcode() != ICP_ERR) 
+           codeToSend = icpGetCommonOpcode();
+       else if (Config.onoff.test_reachability && rtt == 0)
+           codeToSend = ICP_MISS_NOFETCH;
+       else
+           codeToSend = ICP_MISS;
+    }
+    icpCreateAndSend(codeToSend, flags, url, header.reqnum, src_rtt, fd, &from);
+    delete this;
+}
+
+/* End ICP2State */
+
 static void
 icpLogIcp(struct in_addr caddr, log_type logcode, int len, const char *url, int delay)
 {
@@ -75,7 +165,7 @@ icpUdpSendQueue(int fd, void *unused)
     while ((q = IcpQueueHead) != NULL) {
        delay = tvSubUsec(q->queue_time, current_time);
        /* increment delay to prevent looping */
-       x = icpUdpSend(fd, &q->address, q->msg, q->logcode, ++delay);
+       x = icpUdpSend(fd, &q->address, (icp_common_t *) q->msg, q->logcode, ++delay);
        IcpQueueHead = q->next;
        safe_free(q);
        if (x < 0)
@@ -83,8 +173,8 @@ icpUdpSendQueue(int fd, void *unused)
     }
 }
 
-void *
-icpCreateMessage(
+_icp_common_t *
+_icp_common_t::createMessage(
     icp_opcode opcode,
     int flags,
     const char *url,
@@ -98,7 +188,7 @@ icpCreateMessage(
     buf_len = sizeof(icp_common_t) + strlen(url) + 1;
     if (opcode == ICP_QUERY)
        buf_len += sizeof(u_int32_t);
-    buf = xcalloc(buf_len, 1);
+    buf = (char *) xcalloc(buf_len, 1);
     headerp = (icp_common_t *) (void *) buf;
     headerp->opcode = (char) opcode;
     headerp->version = ICP_VERSION_CURRENT;
@@ -111,7 +201,7 @@ icpCreateMessage(
     if (opcode == ICP_QUERY)
        urloffset += sizeof(u_int32_t);
     xmemcpy(urloffset, url, strlen(url));
-    return buf;
+    return (icp_common_t *)buf;
 }
 
 int
@@ -139,7 +229,7 @@ icpUdpSend(int fd,
        safe_free(msg);
     } else if (0 == delay) {
        /* send failed, but queue it */
-       queue = xcalloc(1, sizeof(icpUdpData));
+       queue = (icpUdpData *) xcalloc(1, sizeof(icpUdpData));
        queue->address = *to;
        queue->msg = msg;
        queue->len = (int) ntohs(msg->length);
@@ -178,29 +268,154 @@ icpCheckUdpHit(StoreEntry * e, request_t * request)
     return 1;
 }
 
-static void
-icpHandleIcpV2(int fd, struct sockaddr_in from, char *buf, int len)
+/* ICP_ERR means no opcode selected here */
+icp_opcode
+icpGetCommonOpcode()
+{
+    /* if store is rebuilding, return a UDP_HIT, but not a MISS */
+    if (store_dirs_rebuilding && opt_reload_hit_only ||
+       hit_only_mode_until > squid_curtime) {
+       return ICP_MISS_NOFETCH;
+    }
+    return ICP_ERR;
+}
+
+log_type
+icpLogFromICPCode(icp_opcode opcode)
+{
+    if (opcode == ICP_ERR)
+       return LOG_UDP_INVALID;
+    if (opcode == ICP_DENIED)
+       return LOG_UDP_DENIED;
+    if (opcode == ICP_HIT)
+       return LOG_UDP_HIT;
+    if (opcode == ICP_MISS)
+       return LOG_UDP_MISS;
+    if (opcode == ICP_MISS_NOFETCH)
+       return LOG_UDP_MISS_NOFETCH;
+    fatal("expected ICP opcode\n");
+    return LOG_UDP_INVALID;
+}
+
+void
+icpCreateAndSend(icp_opcode opcode, int flags, char const *url, int reqnum, int pad, int fd, const struct sockaddr_in *from)
+{
+    icp_common_t *reply = _icp_common_t::createMessage(opcode, flags, url, reqnum, pad);
+    icpUdpSend(fd, from, reply, icpLogFromICPCode(opcode), 0);
+}
+
+void
+icpDenyAccess(struct sockaddr_in *from, char *url, int reqnum, int fd)
+{
+    debug(12, 2) ("icpDenyAccess: Access Denied for %s by %s.\n",
+       inet_ntoa(from->sin_addr), AclMatchedName);
+    if (clientdbCutoffDenied(from->sin_addr)) {
+       /*
+        * count this DENIED query in the clientdb, even though
+        * we're not sending an ICP reply...
+        */
+       clientdbUpdate(from->sin_addr, LOG_UDP_DENIED, PROTO_ICP, 0);
+    } else {
+       icpCreateAndSend(ICP_DENIED, 0, url, reqnum, 0, fd, from);
+    }
+}
+
+int
+icpAccessAllowed(struct sockaddr_in *from, request_t * icp_request)
 {
-    icp_common_t header;
-    StoreEntry *entry = NULL;
-    char *url = NULL;
-    const cache_key *key;
-    request_t *icp_request = NULL;
-    int allow = 0;
     aclCheck_t checklist;
-    icp_common_t *reply;
+    memset(&checklist, '\0', sizeof(checklist));
+    checklist.src_addr = from->sin_addr;
+    checklist.my_addr = no_addr;
+    checklist.request = icp_request;
+    return aclCheckFast(Config.accessList.icp, &checklist);
+}
+
+char const *
+icpGetUrlToSend(char *url)
+{
+    if (strpbrk(url, w_space))
+       return rfc1738_escape(url);
+    else
+       return url;
+}
+
+request_t *
+icpGetRequest(char *url, int reqnum, int fd, struct sockaddr_in * from)
+{
+    if (strpbrk(url, w_space)) {
+       url = rfc1738_escape(url);
+       icpCreateAndSend(ICP_ERR, 0, rfc1738_escape(url), reqnum, 0, fd, from);
+       return NULL;
+    }
+    request_t *result;
+    if ((result = urlParse(METHOD_GET, url)) == NULL)
+       icpCreateAndSend(ICP_ERR, 0, url, reqnum, 0, fd, from);
+    return result;
+
+}
+
+static void
+doV2Query(int fd, struct sockaddr_in from, char *buf, icp_common_t header)
+{
+    int rtt = 0;
     int src_rtt = 0;
     u_int32_t flags = 0;
-    int rtt = 0;
-    int hops = 0;
-    xmemcpy(&header, buf, sizeof(icp_common_t));
-    /*
-     * Only these fields need to be converted
-     */
-    header.length = ntohs(header.length);
-    header.reqnum = ntohl(header.reqnum);
-    header.flags = ntohl(header.flags);
-    header.pad = ntohl(header.pad);
+    /* We have a valid packet */
+    char *url = buf + sizeof(icp_common_t) + sizeof(u_int32_t);
+    request_t *icp_request = icpGetRequest(url, header.reqnum, fd, &from);
+    if (!icp_request)
+       return;
+    if (!icpAccessAllowed(&from, icp_request)) {
+       icpDenyAccess(&from, url, header.reqnum, fd);
+       requestDestroy(icp_request);
+       return;
+    }
+    if (header.flags & ICP_FLAG_SRC_RTT) {
+       rtt = netdbHostRtt(icp_request->host);
+       int hops = netdbHostHops(icp_request->host);
+       src_rtt = ((hops & 0xFFFF) << 16) | (rtt & 0xFFFF);
+       if (rtt)
+           flags |= ICP_FLAG_SRC_RTT;
+    }
+    /* The peer is allowed to use this cache */
+    ICP2State *state = new ICP2State (header);
+    state->fd = fd;
+    state->from = from;
+    state->url = xstrdup (url);
+    state->flags = flags;
+    state->rtt = rtt;
+    state->src_rtt = src_rtt;
+    _StoreEntry::getPublic (state, url, METHOD_GET);
+}
+
+void
+_icp_common_t::handleReply(char *buf, struct sockaddr_in *from)
+{
+    if (neighbors_do_private_keys && reqnum == 0) {
+       debug(12, 0) ("icpHandleIcpV2: Neighbor %s returned reqnum = 0\n",
+           inet_ntoa(from->sin_addr));
+       debug(12, 0) ("icpHandleIcpV2: Disabling use of private keys\n");
+       neighbors_do_private_keys = 0;
+    }
+    char *url = buf + sizeof(icp_common_t);
+    debug(12, 3) ("icpHandleIcpV2: %s from %s for '%s'\n",
+       icp_opcode_str[opcode],
+       inet_ntoa(from->sin_addr),
+       url);
+    const cache_key *key = icpGetCacheKey(url, (int) reqnum);
+    /* call neighborsUdpAck even if ping_status != PING_WAITING */
+    neighborsUdpAck(key, this, from);
+}
+
+static void
+icpHandleIcpV2(int fd, struct sockaddr_in from, char *buf, int len)
+{
+    if (len <= 0) {
+       debug(12, 3) ("icpHandleIcpV2: ICP message is too small\n");
+       return;
+    }
+    icp_common_t header(buf, len);
     /*
      * Length field should match the number of bytes read
      */
@@ -211,71 +426,7 @@ icpHandleIcpV2(int fd, struct sockaddr_in from, char *buf, int len)
     switch (header.opcode) {
     case ICP_QUERY:
        /* We have a valid packet */
-       url = buf + sizeof(icp_common_t) + sizeof(u_int32_t);
-       if (strpbrk(url, w_space)) {
-           url = rfc1738_escape(url);
-           reply = icpCreateMessage(ICP_ERR, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
-           break;
-       }
-       if ((icp_request = urlParse(METHOD_GET, url)) == NULL) {
-           reply = icpCreateMessage(ICP_ERR, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
-           break;
-       }
-       memset(&checklist, '\0', sizeof(checklist));
-       checklist.src_addr = from.sin_addr;
-       checklist.my_addr = no_addr;
-       checklist.request = icp_request;
-       allow = aclCheckFast(Config.accessList.icp, &checklist);
-       if (!allow) {
-           debug(12, 2) ("icpHandleIcpV2: Access Denied for %s by %s.\n",
-               inet_ntoa(from.sin_addr), AclMatchedName);
-           if (clientdbCutoffDenied(from.sin_addr)) {
-               /*
-                * count this DENIED query in the clientdb, even though
-                * we're not sending an ICP reply...
-                */
-               clientdbUpdate(from.sin_addr, LOG_UDP_DENIED, PROTO_ICP, 0);
-           } else {
-               reply = icpCreateMessage(ICP_DENIED, 0, url, header.reqnum, 0);
-               icpUdpSend(fd, &from, reply, LOG_UDP_DENIED, 0);
-           }
-           break;
-       }
-       if (header.flags & ICP_FLAG_SRC_RTT) {
-           rtt = netdbHostRtt(icp_request->host);
-           hops = netdbHostHops(icp_request->host);
-           src_rtt = ((hops & 0xFFFF) << 16) | (rtt & 0xFFFF);
-           if (rtt)
-               flags |= ICP_FLAG_SRC_RTT;
-       }
-       /* The peer is allowed to use this cache */
-       entry = storeGetPublic(url, METHOD_GET);
-       debug(12, 5) ("icpHandleIcpV2: OPCODE %s\n", icp_opcode_str[header.opcode]);
-       if (icpCheckUdpHit(entry, icp_request)) {
-           reply = icpCreateMessage(ICP_HIT, flags, url, header.reqnum, src_rtt);
-           icpUdpSend(fd, &from, reply, LOG_UDP_HIT, 0);
-           break;
-       }
-       if (Config.onoff.test_reachability && rtt == 0) {
-           if ((rtt = netdbHostRtt(icp_request->host)) == 0)
-               netdbPingSite(icp_request->host);
-       }
-       /* if store is rebuilding, return a UDP_HIT, but not a MISS */
-       if (store_dirs_rebuilding && opt_reload_hit_only) {
-           reply = icpCreateMessage(ICP_MISS_NOFETCH, flags, url, header.reqnum, src_rtt);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS_NOFETCH, 0);
-       } else if (hit_only_mode_until > squid_curtime) {
-           reply = icpCreateMessage(ICP_MISS_NOFETCH, flags, url, header.reqnum, src_rtt);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS_NOFETCH, 0);
-       } else if (Config.onoff.test_reachability && rtt == 0) {
-           reply = icpCreateMessage(ICP_MISS_NOFETCH, flags, url, header.reqnum, src_rtt);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS_NOFETCH, 0);
-       } else {
-           reply = icpCreateMessage(ICP_MISS, flags, url, header.reqnum, src_rtt);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS, 0);
-       }
+       doV2Query(fd, from, buf, header);
        break;
 
     case ICP_HIT:
@@ -286,20 +437,7 @@ icpHandleIcpV2(int fd, struct sockaddr_in from, char *buf, int len)
     case ICP_MISS:
     case ICP_DENIED:
     case ICP_MISS_NOFETCH:
-       if (neighbors_do_private_keys && header.reqnum == 0) {
-           debug(12, 0) ("icpHandleIcpV2: Neighbor %s returned reqnum = 0\n",
-               inet_ntoa(from.sin_addr));
-           debug(12, 0) ("icpHandleIcpV2: Disabling use of private keys\n");
-           neighbors_do_private_keys = 0;
-       }
-       url = buf + sizeof(icp_common_t);
-       debug(12, 3) ("icpHandleIcpV2: %s from %s for '%s'\n",
-           icp_opcode_str[header.opcode],
-           inet_ntoa(from.sin_addr),
-           url);
-       key = icpGetCacheKey(url, (int) header.reqnum);
-       /* call neighborsUdpAck even if ping_status != PING_WAITING */
-       neighborsUdpAck(key, &header, &from);
+       header.handleReply(buf, &from);
        break;
 
     case ICP_INVALID:
@@ -311,8 +449,6 @@ icpHandleIcpV2(int fd, struct sockaddr_in from, char *buf, int len)
            header.opcode, inet_ntoa(from.sin_addr));
        break;
     }
-    if (icp_request)
-       requestDestroy(icp_request);
 }
 
 #ifdef ICP_PKT_DUMP
@@ -341,7 +477,7 @@ icpHandleUdp(int sock, void *data)
     struct sockaddr_in from;
     socklen_t from_len;
     LOCAL_ARRAY(char, buf, SQUID_UDP_SO_RCVBUF);
-    int len;
+    size_t len;
     int icp_version;
     int max = INCOMING_ICP_MAX;
     commSetSelect(sock, COMM_SELECT_READ, icpHandleUdp, NULL, 0);
@@ -510,7 +646,7 @@ icpConnectionClose(void)
 static void
 icpCount(void *buf, int which, size_t len, int delay)
 {
-    icp_common_t *icp = buf;
+    icp_common_t *icp = (icp_common_t *) buf;
     if (len < sizeof(*icp))
        return;
     if (SENT == which) {
index 9eb727f251076a36f48d4557a2a1a61f8e81be67..8dcf8235528ad7fc8ac2030158087257ac200a8e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: icp_v3.cc,v 1.34 2002/08/09 10:57:43 robertc Exp $
+ * $Id: icp_v3.cc,v 1.35 2002/10/13 20:35:01 robertc Exp $
  *
  * DEBUG: section 12    Internet Cache Protocol
  * AUTHOR: Duane Wessels
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "ICP.h"
+
+class ICP3State : public ICPState, public StoreClient {
+public:
+    ICP3State(icp_common_t &aHeader):ICPState(aHeader){}
+    ~ICP3State();
+    void created (StoreEntry *newEntry);
+};
+
+static void
+doV3Query(int fd, struct sockaddr_in from, char *buf, icp_common_t header)
+{
+    /* We have a valid packet */
+    char *url = buf + sizeof(icp_common_t) + sizeof(u_int32_t);
+    request_t *icp_request = icpGetRequest (url, header.reqnum, fd, &from);
+    if (!icp_request)
+       return;
+    if (!icpAccessAllowed(&from, icp_request)) {
+       icpDenyAccess (&from, url, header.reqnum, fd);
+       requestDestroy(icp_request);
+       return;
+    }
+    /* The peer is allowed to use this cache */
+    ICP3State *state = new ICP3State (header);
+    state->request = icp_request;
+    state->fd = fd;
+    state->from = from;
+    state->url = xstrdup (url);
+    _StoreEntry::getPublic (state, url, METHOD_GET);
+}
+
+ICP3State::~ICP3State ()
+{
+}
+
+void
+ICP3State::created (StoreEntry *newEntry)
+{
+    StoreEntry *entry = newEntry->isNull () ? NULL : newEntry;
+    debug(12, 5) ("icpHandleIcpV3: OPCODE %s\n",
+       icp_opcode_str[header.opcode]);
+    icp_opcode codeToSend;
+    if (icpCheckUdpHit(entry, request)) {
+       codeToSend = ICP_HIT;
+    } else if (icpGetCommonOpcode() == ICP_ERR)
+       codeToSend = ICP_MISS;
+    else
+       codeToSend = icpGetCommonOpcode();
+    icpCreateAndSend (codeToSend, 0, url, header.reqnum, 0, fd, &from);
+    delete this;
+}
 
 /* Currently Harvest cached-2.x uses ICP_VERSION_3 */
 void
 icpHandleIcpV3(int fd, struct sockaddr_in from, char *buf, int len)
 {
-    icp_common_t header;
-    icp_common_t *reply;
-    StoreEntry *entry = NULL;
-    char *url = NULL;
-    const cache_key *key;
-    request_t *icp_request = NULL;
-    int allow = 0;
-    aclCheck_t checklist;
-    xmemcpy(&header, buf, sizeof(icp_common_t));
-    /*
-     * Only these fields need to be converted
-     */
-    header.length = ntohs(header.length);
-    header.reqnum = ntohl(header.reqnum);
-    header.flags = ntohl(header.flags);
-    header.pad = ntohl(header.pad);
+    if (len <= 0) {
+       debug(12, 3) ("icpHandleIcpV3: ICP message is too small\n");
+       return;
+    }
+    icp_common_t header (buf, len);
     /*
      * Length field should match the number of bytes read
      */
@@ -64,59 +105,7 @@ icpHandleIcpV3(int fd, struct sockaddr_in from, char *buf, int len)
     }
     switch (header.opcode) {
     case ICP_QUERY:
-       /* We have a valid packet */
-       url = buf + sizeof(icp_common_t) + sizeof(u_int32_t);
-       if (strpbrk(url, w_space)) {
-           url = rfc1738_escape(url);
-           reply = icpCreateMessage(ICP_ERR, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
-           break;
-       }
-       if ((icp_request = urlParse(METHOD_GET, url)) == NULL) {
-           reply = icpCreateMessage(ICP_ERR, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
-           break;
-       }
-       memset(&checklist, '\0', sizeof(checklist));
-       checklist.src_addr = from.sin_addr;
-       checklist.my_addr = no_addr;
-       checklist.request = icp_request;
-       allow = aclCheckFast(Config.accessList.icp, &checklist);
-       if (!allow) {
-           debug(12, 2) ("icpHandleIcpV3: Access Denied for %s by %s.\n",
-               inet_ntoa(from.sin_addr), AclMatchedName);
-           if (clientdbCutoffDenied(from.sin_addr)) {
-               /*
-                * count this DENIED query in the clientdb, even though
-                * we're not sending an ICP reply...
-                */
-               clientdbUpdate(from.sin_addr, LOG_UDP_DENIED, PROTO_ICP, 0);
-           } else {
-               reply = icpCreateMessage(ICP_DENIED, 0, url, header.reqnum, 0);
-               icpUdpSend(fd, &from, reply, LOG_UDP_DENIED, 0);
-           }
-           break;
-       }
-       /* The peer is allowed to use this cache */
-       entry = storeGetPublic(url, METHOD_GET);
-       debug(12, 5) ("icpHandleIcpV3: OPCODE %s\n",
-           icp_opcode_str[header.opcode]);
-       if (icpCheckUdpHit(entry, icp_request)) {
-           reply = icpCreateMessage(ICP_HIT, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_HIT, 0);
-           break;
-       }
-       /* if store is rebuilding, return a UDP_HIT, but not a MISS */
-       if (opt_reload_hit_only && store_dirs_rebuilding) {
-           reply = icpCreateMessage(ICP_MISS_NOFETCH, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS_NOFETCH, 0);
-       } else if (hit_only_mode_until > squid_curtime) {
-           reply = icpCreateMessage(ICP_MISS_NOFETCH, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS_NOFETCH, 0);
-       } else {
-           reply = icpCreateMessage(ICP_MISS, 0, url, header.reqnum, 0);
-           icpUdpSend(fd, &from, reply, LOG_UDP_MISS, 0);
-       }
+       doV3Query(fd, from,buf, header);
        break;
 
     case ICP_HIT:
@@ -127,20 +116,7 @@ icpHandleIcpV3(int fd, struct sockaddr_in from, char *buf, int len)
     case ICP_MISS:
     case ICP_DENIED:
     case ICP_MISS_NOFETCH:
-       if (neighbors_do_private_keys && header.reqnum == 0) {
-           debug(12, 0) ("icpHandleIcpV3: Neighbor %s returned reqnum = 0\n",
-               inet_ntoa(from.sin_addr));
-           debug(12, 0) ("icpHandleIcpV3: Disabling use of private keys\n");
-           neighbors_do_private_keys = 0;
-       }
-       url = buf + sizeof(icp_common_t);
-       debug(12, 3) ("icpHandleIcpV3: %s from %s for '%s'\n",
-           icp_opcode_str[header.opcode],
-           inet_ntoa(from.sin_addr),
-           url);
-       key = icpGetCacheKey(url, (int) header.reqnum);
-       /* call neighborsUdpAck even if ping_status != PING_WAITING */
-       neighborsUdpAck(key, &header, &from);
+       header.handleReply(buf, &from);
        break;
 
     case ICP_INVALID:
@@ -152,6 +128,4 @@ icpHandleIcpV3(int fd, struct sockaddr_in from, char *buf, int len)
            header.opcode, inet_ntoa(from.sin_addr));
        break;
     }
-    if (icp_request)
-       requestDestroy(icp_request);
 }
index ac309bb90b9cab589192d63de9179d82e4752b04..a2653bbc7c331a112c657131b2d379f0a487001d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: internal.cc,v 1.25 2002/04/11 21:34:03 hno Exp $
+ * $Id: internal.cc,v 1.26 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 76    Internal Squid Object handling
  * AUTHOR: Duane, Alex, Henrik
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 /* called when we "miss" on an internal object;
  * generate known dynamic objects, 
index 947b2822a3dc9f23346ca0741c93c6eff6c13feb..a5cca7c221a530b328b2ca32028149f4b5101e2e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ipc.cc,v 1.28 2002/04/04 23:59:25 hno Exp $
+ * $Id: ipc.cc,v 1.29 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 54    Interprocess Communication
  * AUTHOR: Duane Wessels
@@ -272,7 +272,7 @@ ipcCreate(int type, const char *prog, const char *const args[], const char *name
        }
     }
 #if HAVE_PUTENV
-    env_str = xcalloc((tmp_s = strlen(Config.debugOptions) + 32), 1);
+    env_str = (char *)xcalloc((tmp_s = strlen(Config.debugOptions) + 32), 1);
     snprintf(env_str, tmp_s, "SQUID_DEBUG=%s", Config.debugOptions);
     putenv(env_str);
 #endif
index 3ab6b6d5b189d905d65efab86c1ace9891e656bb..1566b804d7864a3ee93622c8456e1aa4bfc04a3d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ipcache.cc,v 1.238 2002/09/15 06:40:57 robertc Exp $
+ * $Id: ipcache.cc,v 1.239 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 14    IP Cache
  * AUTHOR: Harvest Derived
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 typedef struct _ipcache_entry ipcache_entry;
 
@@ -156,7 +157,7 @@ ipcache_purgelru(void *voidnotused)
        if (memInUse(MEM_IPCACHE_ENTRY) < ipcache_low)
            break;
        prev = m->prev;
-       i = m->data;
+       i = (ipcache_entry *)m->data;
        if (i->locks != 0)
            continue;
        ipcacheRelease(i);
@@ -176,7 +177,7 @@ purge_entries_fromhosts(void)
            ipcacheRelease(i);  /* we just override locks */
            i = NULL;
        }
-       t = m->data;
+       t = (ipcache_entry*)m->data;
        if (t->flags.fromhosts)
            i = t;
        m = m->next;
@@ -190,7 +191,7 @@ static ipcache_entry *
 ipcacheCreateEntry(const char *name)
 {
     static ipcache_entry *i;
-    i = memAllocate(MEM_IPCACHE_ENTRY);
+    i = (ipcache_entry *)memAllocate(MEM_IPCACHE_ENTRY);
     i->hash.key = xstrdup(name);
     i->expires = squid_curtime + Config.negativeDnsTtl;
     return i;
@@ -199,7 +200,7 @@ ipcacheCreateEntry(const char *name)
 static void
 ipcacheAddEntry(ipcache_entry * i)
 {
-    hash_link *e = hash_lookup(ip_table, i->hash.key);
+    hash_link *e = (hash_link *)hash_lookup(ip_table, i->hash.key);
     if (NULL != e) {
        /* avoid colission */
        ipcache_entry *q = (ipcache_entry *) e;
@@ -287,8 +288,8 @@ ipcacheParse(const char *inbuf)
        i.addrs.in_addrs = NULL;
        i.addrs.bad_mask = NULL;
     } else {
-       i.addrs.in_addrs = xcalloc(ipcount, sizeof(struct in_addr));
-       i.addrs.bad_mask = xcalloc(ipcount, sizeof(unsigned char));
+       i.addrs.in_addrs = (struct in_addr *)xcalloc(ipcount, sizeof(struct in_addr));
+       i.addrs.bad_mask = (unsigned char *)xcalloc(ipcount, sizeof(unsigned char));
     }
     for (j = 0, k = 0; k < ipcount; k++) {
        if (safe_inet_addr(A[k], &i.addrs.in_addrs[j]))
@@ -335,8 +336,8 @@ ipcacheParse(rfc1035_rr * answers, int nr)
        return &i;
     }
     i.flags.negcached = 0;
-    i.addrs.in_addrs = xcalloc(na, sizeof(struct in_addr));
-    i.addrs.bad_mask = xcalloc(na, sizeof(unsigned char));
+    i.addrs.in_addrs = (struct in_addr *)xcalloc(na, sizeof(struct in_addr));
+    i.addrs.bad_mask = (unsigned char *)xcalloc(na, sizeof(unsigned char));
     i.addrs.count = (unsigned char) na;
     for (j = 0, k = 0; k < nr; k++) {
        if (answers[k].type != RFC1035_TYPE_A)
@@ -363,8 +364,8 @@ ipcacheHandleReply(void *data, char *reply)
 ipcacheHandleReply(void *data, rfc1035_rr * answers, int na)
 #endif
 {
-    generic_cbdata *c = data;
-    ipcache_entry *i = c->data;
+    generic_cbdata *c = (generic_cbdata *)data;
+    ipcache_entry *i = (ipcache_entry *)c->data;
     ipcache_entry *x = NULL;
     cbdataFree(c);
     c = NULL;
@@ -455,8 +456,8 @@ ipcache_init(void)
        debug(14, 1) ("Successful DNS name lookup tests...\n");
     }
     memset(&static_addrs, '\0', sizeof(ipcache_addrs));
-    static_addrs.in_addrs = xcalloc(1, sizeof(struct in_addr));
-    static_addrs.bad_mask = xcalloc(1, sizeof(unsigned char));
+    static_addrs.in_addrs = (struct in_addr *)xcalloc(1, sizeof(struct in_addr));
+    static_addrs.bad_mask = (unsigned char *)xcalloc(1, sizeof(unsigned char));
     ipcache_high = (long) (((float) Config.ipcache.size *
            (float) Config.ipcache.high) / (float) 100);
     ipcache_low = (long) (((float) Config.ipcache.size *
@@ -549,7 +550,7 @@ stat_ipcache_get(StoreEntry * sentry)
        "TTL",
        "N");
     for (m = lru_list.head; m; m = m->next)
-       ipcacheStatPrint(m->data, sentry);
+       ipcacheStatPrint((ipcache_entry *)m->data, sentry);
 }
 
 static void
@@ -688,7 +689,7 @@ ipcacheMarkGoodAddr(const char *name, struct in_addr addr)
 static void
 ipcacheFreeEntry(void *data)
 {
-    ipcache_entry *i = data;
+    ipcache_entry *i = (ipcache_entry *)data;
     safe_free(i->addrs.in_addrs);
     safe_free(i->addrs.bad_mask);
     safe_free(i->hash.key);
@@ -748,8 +749,8 @@ ipcacheAddEntryFromHosts(const char *name, const char *ipaddr)
     i->addrs.count = 1;
     i->addrs.cur = 0;
     i->addrs.badcount = 0;
-    i->addrs.in_addrs = xcalloc(1, sizeof(struct in_addr));
-    i->addrs.bad_mask = xcalloc(1, sizeof(unsigned char));
+    i->addrs.in_addrs = (struct in_addr *)xcalloc(1, sizeof(struct in_addr));
+    i->addrs.bad_mask = (unsigned char *)xcalloc(1, sizeof(unsigned char));
     i->addrs.in_addrs[0].s_addr = ip.s_addr;
     i->addrs.bad_mask[0] = FALSE;
     i->flags.fromhosts = 1;
index 21f30df89741bedade202c365310a78046cb74eb..1e72530421934cbb1f059621b6c900b4866a378e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: leakfinder.cc,v 1.6 2002/10/12 09:45:56 robertc Exp $
+ * $Id: leakfinder.cc,v 1.7 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 45    Callback Data Registry
  * AUTHOR: Duane Wessels
@@ -38,6 +38,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static hash_table *htable = NULL;
 
@@ -75,7 +76,7 @@ leakAddFL(void *p, const char *file, int line)
     assert(p);
     assert(htable != NULL);
     assert(hash_lookup(htable, p) == NULL);
-    c = xcalloc(1, sizeof(*c));
+    c = (ptr *)xcalloc(1, sizeof(*c));
     c->key = p;
     c->file = file;
     c->line = line;
@@ -132,9 +133,9 @@ ptrDump(StoreEntry * sentry)
     ptr *c;
     storeAppendPrintf(sentry, "Tracking %d pointers\n", leakCount);
     hash_first(htable);
-    while ((hptr = hash_next(htable))) {
+    while ((hptr = (hash_link *)hash_next(htable))) {
        c = (ptr *) hptr;
        storeAppendPrintf(sentry, "%20p last used %9d seconds ago by %s:%d\n",
-           c->key, (int) (squid_curtime - c->when), c->file, c->line);
+           c->key, (int)(squid_curtime - c->when), c->file, c->line);
     }
 }
index 99ebc440f858ef231bc05b7c2228b11b9f0b5f85..6ff8c939f6df42475a7dd680bd006561e7b0e123 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: logfile.cc,v 1.11 2002/06/26 09:55:56 hno Exp $
+ * $Id: logfile.cc,v 1.12 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 50    Log file handling
  * AUTHOR: Duane Wessels
@@ -33,6 +33,7 @@
  */
 
 #include "squid.h"
+#include "authenticate.h"
 
 static void logfileWriteWrapper(Logfile * lf, const void *buf, size_t len);
 
@@ -57,13 +58,13 @@ logfileOpen(const char *path, size_t bufsz, int fatal_flag)
            return NULL;
        }
     }
-    lf = xcalloc(1, sizeof(*lf));
+    lf = static_cast<Logfile *>(xcalloc(1, sizeof(*lf)));
     lf->fd = fd;
     if (fatal_flag)
        lf->flags.fatal = 1;
     xstrncpy(lf->path, path, MAXPATHLEN);
     if (bufsz > 0) {
-       lf->buf = xmalloc(bufsz);
+       lf->buf = (char *) xmalloc(bufsz);
        lf->bufsz = bufsz;
     }
     return lf;
@@ -135,7 +136,8 @@ logfileWrite(Logfile * lf, void *buf, size_t len)
     /* buffer it */
     xmemcpy(lf->buf + lf->offset, buf, len);
     lf->offset += len;
-    assert(lf->offset <= lf->bufsz);
+    assert (lf->offset >= 0);
+    assert((size_t)lf->offset <= lf->bufsz);
 }
 
 void
@@ -179,8 +181,8 @@ logfileFlush(Logfile * lf)
 static void
 logfileWriteWrapper(Logfile * lf, const void *buf, size_t len)
 {
-    int s;
-    s = FD_WRITE_METHOD(lf->fd, buf, len);
+    size_t s;
+    s = FD_WRITE_METHOD(lf->fd, (char const *)buf, len);
     fd_bytes(lf->fd, s, FD_WRITE);
     if (s == len)
        return;
index ede5aad80ae01df3749b480c51ff42d2de174c2a..a2221c761f6e4f7ae1fb52a41bedceb95037e643 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.cc,v 1.354 2002/10/02 11:06:31 robertc Exp $
+ * $Id: main.cc,v 1.355 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -34,6 +34,9 @@
  */
 
 #include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
+#include "ICP.h"
 
 /* for error reporting from xmalloc and friends */
 extern void (*failure_notify) (const char *);
@@ -351,7 +354,7 @@ mainReconfigure(void)
     idnsInit();
 #endif
     redirectInit();
-    authenticateInit(&Config.authConfig);
+    authenticateInit(&Config.authConfiguration);
     externalAclInit();
 #if USE_WCCP
     wccpInit();
@@ -394,7 +397,7 @@ mainRotate(void)
     dnsInit();
 #endif
     redirectInit();
-    authenticateInit(&Config.authConfig);
+    authenticateInit(&Config.authConfiguration);
     externalAclInit();
 }
 
@@ -476,7 +479,7 @@ mainInitialize(void)
     idnsInit();
 #endif
     redirectInit();
-    authenticateInit(&Config.authConfig);
+    authenticateInit(&Config.authConfiguration);
     externalAclInit();
     useragentOpenLog();
     refererOpenLog();
@@ -549,6 +552,7 @@ mainInitialize(void)
 #if USE_XPROF_STATS
        eventAdd("cpuProfiling", xprof_event, NULL, 1.0, 1);
 #endif
+         
        eventAdd("memPoolCleanIdlePools", memPoolCleanIdlePools, NULL, 15.0, 1);
     }
     configured_once = 1;
index 252055cac4cd191e0d2fdeb4ed6ebbf352b0ff4e..4aed8d2545b478360f25867595acb4f25d0008a7 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mem.cc,v 1.67 2002/09/15 05:41:57 robertc Exp $
+ * $Id: mem.cc,v 1.68 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 13    High Level Memory Pool Management
  * AUTHOR: Harvest Derived
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "memMeter.h"
+#include "Store.h"
 
 /* module globals */
 
@@ -264,10 +265,10 @@ memReallocBuf(void *oldbuf, size_t net_size, size_t * gross_size)
 {
     /* XXX This can be optimized on very large buffers to use realloc() */
     /* TODO: if the existing gross size is >= new gross size, do nothing */
-    int new_gross_size;
+    size_t new_gross_size;
     void *newbuf = memAllocBuf(net_size, &new_gross_size);
     if (oldbuf) {
-       int data_size = *gross_size;
+       size_t data_size = *gross_size;
        if (data_size > net_size)
            data_size = net_size;
        memcpy(newbuf, oldbuf, data_size);
@@ -296,7 +297,7 @@ static double clean_interval = 15.0;        /* time to live of idle chunk before releas
 void
 memPoolCleanIdlePools(void *unused)
 {
-    memPoolClean(clean_interval);
+    memPoolClean(static_cast<time_t>(clean_interval));
     eventAdd("memPoolCleanIdlePools", memPoolCleanIdlePools, NULL, clean_interval, 1);
 }
 
@@ -349,10 +350,6 @@ memInit(void)
     memDataInit(MEM_ACL_LIST, "acl_list", sizeof(acl_list), 0);
     memDataInit(MEM_ACL_NAME_LIST, "acl_name_list", sizeof(acl_name_list), 0);
     memDataInit(MEM_ACL_TIME_DATA, "acl_time_data", sizeof(acl_time_data), 0);
-    memDataInit(MEM_AUTH_USER_T, "auth_user_t",
-       sizeof(auth_user_t), 0);
-    memDataInit(MEM_AUTH_USER_HASH, "auth_user_hash_pointer",
-       sizeof(auth_user_hash_pointer), 0);
     memDataInit(MEM_ACL_PROXY_AUTH_MATCH, "acl_proxy_auth_match_cache",
        sizeof(acl_proxy_auth_match_cache), 0);
     memDataInit(MEM_ACL_USER_DATA, "acl_user_data",
@@ -380,8 +377,6 @@ memInit(void)
     memDataInit(MEM_RELIST, "relist", sizeof(relist), 0);
     memDataInit(MEM_REQUEST_T, "request_t", sizeof(request_t),
        Squid_MaxFD >> 3);
-    memDataInit(MEM_STOREENTRY, "StoreEntry", sizeof(StoreEntry), 0);
-    memPoolSetChunkSize(MemPools[MEM_STOREENTRY], 2048 * 1024);
     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);
@@ -402,6 +397,12 @@ memInit(void)
        memStats, 0, 1);
 }
 
+mem_type &operator++ (mem_type &aMem)
+{
+    aMem = (mem_type)(++(int)aMem);
+    return aMem;
+}
+
 /*
  * Test that all entries are initialized
  */
@@ -409,7 +410,7 @@ void
 memCheckInit(void)
 {
     mem_type t;
-    for (t = MEM_NONE, t++; t < MEM_MAX; t++) {
+    for (t = MEM_NONE, ++t; t < MEM_MAX; ++t) {
        if (MEM_DONTFREE == t)
            continue;
        /*
index b2f06d31300d6f24d50791f599838a5a10acea54..e7c04cdd1f3ec1adad0a75839b8fe2f9c763bc40 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mime.cc,v 1.104 2002/10/08 16:20:10 wessels Exp $
+ * $Id: mime.cc,v 1.105 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 25    MIME Parsing
  * AUTHOR: Harvest Derived
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "StoreClient.h"
 
 #define GET_HDR_SZ 1024
 
-typedef struct _mime_entry {
+class MimeIcon : public StoreClient {
+public: 
+    MimeIcon ();
+    void setName (char const *);
+    char const * getName () const;
+    void _free();
+    void load();
+    void created (_StoreEntry *newEntry);
+private:
+    char *icon;
+    char *url;
+};
+
+class mimeEntry {
+public:
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+  
     char *pattern;
     regex_t compiled_pattern;
     char *icon;
@@ -45,13 +64,24 @@ typedef struct _mime_entry {
     char *content_encoding;
     char transfer_mode;
     unsigned int view_option:1, download_option:1;
-    struct _mime_entry *next;
-} mimeEntry;
+    mimeEntry *next;
+    MimeIcon theIcon;
+};
 
 static mimeEntry *MimeTable = NULL;
 static mimeEntry **MimeTableTail = &MimeTable;
 
-static void mimeLoadIconFile(const char *icon);
+void *
+mimeEntry::operator new (unsigned int byteCount)
+{
+    return xcalloc(1, byteCount);
+}
+
+void
+mimeEntry::operator delete (void *address)
+{
+    safe_free (address);
+}
 
 /* returns a pointer to a field-value of the first matching field-name */
 char *
@@ -205,21 +235,48 @@ mimeGetEntry(const char *fn, int skip_encodings)
     return m;
 }
 
-char *
+MimeIcon::MimeIcon () : icon (NULL), url (NULL)
+{
+}
+
+void
+MimeIcon::setName (char const *aString)
+{
+    safe_free (icon);
+    safe_free (url);
+    icon = xstrdup (aString);
+    url = xstrdup (internalLocalUri("/squid-internal-static/icons/", icon));
+}
+
+char const *
+MimeIcon::getName () const
+{
+    return icon;
+}
+
+void
+MimeIcon::_free()
+{
+    safe_free (icon);
+    safe_free (url);
+}
+
+
+char const *
 mimeGetIcon(const char *fn)
 {
     mimeEntry *m = mimeGetEntry(fn, 1);
     if (m == NULL)
        return NULL;
-    if (!strcmp(m->icon, dash_str))
+    if (!strcmp(m->theIcon.getName(), dash_str))
        return NULL;
-    return m->icon;
+    return m->theIcon.getName();
 }
 
 const char *
 mimeGetIconURL(const char *fn)
 {
-    char *icon = mimeGetIcon(fn);
+    char const *icon = mimeGetIcon(fn);
     if (icon == NULL)
        return null_string;
     return internalLocalUri("/squid-internal-static/icons/", icon);
@@ -345,10 +402,10 @@ mimeInit(char *filename)
            debug(25, 1) ("mimeInit: regcomp error: '%s'\n", buf);
            continue;
        }
-       m = xcalloc(1, sizeof(mimeEntry));
+       m = new mimeEntry;
        m->pattern = xstrdup(pattern);
        m->content_type = xstrdup(type);
-       m->icon = xstrdup(icon);
+       m->theIcon.setName(icon);
        m->content_encoding = xstrdup(encoding);
        m->compiled_pattern = re;
        if (!strcasecmp(mode, "ascii"))
@@ -368,7 +425,7 @@ mimeInit(char *filename)
      * Create Icon StoreEntry's
      */
     for (m = MimeTable; m != NULL; m = m->next)
-       mimeLoadIconFile(m->icon);
+       m->theIcon.load();
     debug(25, 1) ("Loaded Icons.\n");
 }
 
@@ -383,32 +440,36 @@ mimeFreeMemory(void)
        safe_free(m->icon);
        safe_free(m->content_encoding);
        regfree(&m->compiled_pattern);
-       safe_free(m);
+       delete m;
     }
     MimeTableTail = &MimeTable;
 }
 
-static void
-mimeLoadIconFile(const char *icon)
+void
+MimeIcon::load()
+{
+    const char *type = mimeGetContentType(icon);
+    if (type == NULL)
+       fatal("Unknown icon format while reading mime.conf\n");
+    _StoreEntry::getPublic(this, url, METHOD_GET);
+}
+
+void
+MimeIcon::created (StoreEntry *newEntry)
 {
+    /* is already in the store, do nothing */
+    if (!newEntry->isNull())
+       return;
     int fd;
     int n;
     request_flags flags;
     struct stat sb;
-    StoreEntry *e;
     LOCAL_ARRAY(char, path, MAXPATHLEN);
-    LOCAL_ARRAY(char, url, MAX_URL);
     char *buf;
-    const char *type = mimeGetContentType(icon);
     HttpReply *reply;
     http_version_t version;
-    request_t *r;
-    if (type == NULL)
-       fatal("Unknown icon format while reading mime.conf\n");
-    buf = internalLocalUri("/squid-internal-static/icons/", icon);
-    xstrncpy(url, buf, MAX_URL);
-    if (storeGetPublic(url, METHOD_GET))
-       return;
+       
+                               
     snprintf(path, MAXPATHLEN, "%s/%s", Config.icons.directory, icon);
     fd = file_open(path, O_RDONLY | O_BINARY);
     if (fd < 0) {
@@ -422,7 +483,7 @@ mimeLoadIconFile(const char *icon)
     }
     flags = null_request_flags;
     flags.cachable = 1;
-    e = storeCreateEntry(url,
+    StoreEntry *e = storeCreateEntry(url,
        url,
        flags,
        METHOD_GET);
@@ -430,21 +491,21 @@ mimeLoadIconFile(const char *icon)
     EBIT_SET(e->flags, ENTRY_SPECIAL);
     storeSetPublicKey(e);
     storeBuffer(e);
-    r = urlParse(METHOD_GET, url);
+    request_t *r = urlParse(METHOD_GET, url);
     if (NULL == r)
        fatal("mimeLoadIcon: cannot parse internal URL");
     e->mem_obj->request = requestLink(r);
     httpReplyReset(reply = e->mem_obj->reply);
     httpBuildVersion(&version, 1, 0);
     httpReplySetHeaders(reply, version, HTTP_OK, NULL,
-       type, (int) sb.st_size, sb.st_mtime, -1);
+       mimeGetContentType(icon), (int) sb.st_size, sb.st_mtime, -1);
     reply->cache_control = httpHdrCcCreate();
     httpHdrCcSetMaxAge(reply->cache_control, 86400);
     httpHeaderPutCc(&reply->header, reply->cache_control);
     httpReplySwapOut(reply, e);
     reply->hdr_sz = e->mem_obj->inmem_hi;      /* yuk */
     /* read the file into the buffer and append it to store */
-    buf = memAllocate(MEM_4K_BUF);
+    buf = (char *)memAllocate(MEM_4K_BUF);
     while ((n = FD_READ_METHOD(fd, buf, 4096)) > 0)
        storeAppend(e, buf, n);
     file_close(fd);
index 7ef317514eb275fd17851b4a9f651edcd06f40e4..08b83f62d472bf7c4058f316bb82e9dde32c3f93 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: neighbors.cc,v 1.305 2002/09/15 06:23:29 adrian Exp $
+ * $Id: neighbors.cc,v 1.306 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 15    Neighbor Routines
  * AUTHOR: Harvest Derived
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "ICP.h"
 
 /* count mcast group peers every 15 minutes */
 #define MCAST_COUNT_RATE 900
@@ -321,7 +323,7 @@ getWeightedRoundRobinParent(request_t * request)
 void
 peerClearRR(void *data)
 {
-    peer *p = data;
+    peer *p = (peer *)data;
     p->rr_count -= p->rr_lastcount;
     if (p->rr_count < 0)
        p->rr_count = 0;
@@ -409,29 +411,29 @@ neighbors_open(int fd)
     socklen_t len = sizeof(struct sockaddr_in);
     struct servent *sep = NULL;
     const char *me = getMyHostname();
-    peer *this;
+    peer *thisPeer;
     peer *next;
     memset(&name, '\0', sizeof(struct sockaddr_in));
     if (getsockname(fd, (struct sockaddr *) &name, &len) < 0)
        debug(15, 1) ("getsockname(%d,%p,%p) failed.\n", fd, &name, &len);
-    for (this = Config.peers; this; this = next) {
+    for (thisPeer = Config.peers; thisPeer; thisPeer = next) {
        sockaddr_in_list *s;
-       next = this->next;
-       if (0 != strcmp(this->host, me))
+       next = thisPeer->next;
+       if (0 != strcmp(thisPeer->host, me))
            continue;
        for (s = Config.Sockaddr.http; s; s = s->next) {
-           if (this->http_port != ntohs(s->s.sin_port))
+           if (thisPeer->http_port != ntohs(s->s.sin_port))
                continue;
            debug(15, 1) ("WARNING: Peer looks like this host\n");
            debug(15, 1) ("         Ignoring %s %s/%d/%d\n",
-               neighborTypeStr(this), this->host, this->http_port,
-               this->icp.port);
-           neighborRemove(this);
+               neighborTypeStr(thisPeer), thisPeer->host, thisPeer->http_port,
+               thisPeer->icp.port);
+           neighborRemove(thisPeer);
        }
     }
 
     peerRefreshDNS((void *) 1);
-    if (0 == echo_hdr.opcode) {
+    if (ICP_INVALID == echo_hdr.opcode) {
        echo_hdr.opcode = ICP_SECHO;
        echo_hdr.version = ICP_VERSION_CURRENT;
        echo_hdr.length = 0;
@@ -479,7 +481,7 @@ neighborsUdpPing(request_t * request,
     mem->start_ping = current_time;
     mem->ping_reply_callback = callback;
     mem->ircb_data = callback_data;
-    reqnum = icpSetCacheKey(entry->hash.key);
+    reqnum = icpSetCacheKey((const cache_key *)entry->hash.key);
     for (i = 0, p = first_ping; i++ < Config.npeers; p = p->next) {
        if (p == NULL)
            p = Config.peers;
@@ -491,7 +493,7 @@ neighborsUdpPing(request_t * request,
            p->host, url);
        if (p->type == PEER_MULTICAST)
            mcastSetTtl(theOutIcpConnection, p->mcast.ttl);
-       debug(15, 3) ("neighborsUdpPing: key = '%s'\n", storeKeyText(entry->hash.key));
+       debug(15, 3) ("neighborsUdpPing: key = '%s'\n", storeKeyText((const cache_key *)entry->hash.key));
        debug(15, 3) ("neighborsUdpPing: reqnum = %d\n", reqnum);
 
 #if USE_HTCP
@@ -503,7 +505,7 @@ neighborsUdpPing(request_t * request,
        if (p->icp.port == echo_port) {
            debug(15, 4) ("neighborsUdpPing: Looks like a dumb cache, send DECHO ping\n");
            echo_hdr.reqnum = reqnum;
-           query = icpCreateMessage(ICP_DECHO, 0, url, reqnum, 0);
+           query = _icp_common_t::createMessage(ICP_DECHO, 0, url, reqnum, 0);
            icpUdpSend(theOutIcpConnection,
                &p->in_addr,
                query,
@@ -514,7 +516,7 @@ neighborsUdpPing(request_t * request,
            if (Config.onoff.query_icmp)
                if (p->icp.version == ICP_VERSION_2)
                    flags |= ICP_FLAG_SRC_RTT;
-           query = icpCreateMessage(ICP_QUERY, flags, url, reqnum, 0);
+           query = _icp_common_t::createMessage(ICP_QUERY, flags, url, reqnum, 0);
            icpUdpSend(theOutIcpConnection,
                &p->in_addr,
                query,
@@ -575,7 +577,7 @@ neighborsUdpPing(request_t * request,
                to_addr.sin_family = AF_INET;
                to_addr.sin_addr = ia->in_addrs[ia->cur];
                to_addr.sin_port = htons(echo_port);
-               query = icpCreateMessage(ICP_SECHO, 0, url, reqnum, 0);
+               query = _icp_common_t::createMessage(ICP_SECHO, 0, url, reqnum, 0);
                icpUdpSend(theOutIcpConnection,
                    &to_addr,
                    query,
@@ -795,7 +797,7 @@ neighborIgnoreNonPeer(const struct sockaddr_in *from, icp_opcode opcode)
        break;
     }
     if (np == NULL) {
-       np = xcalloc(1, sizeof(peer));
+       np = (peer *)xcalloc(1, sizeof(peer));
        np->in_addr.sin_addr = from->sin_addr;
        np->in_addr.sin_port = from->sin_port;
        np->icp.port = ntohl(from->sin_port);
@@ -996,7 +998,7 @@ neighborUp(const peer * p)
 void
 peerDestroy(void *data)
 {
-    peer *p = data;
+    peer *p = (peer *)data;
     struct _domain_ping *l = NULL;
     struct _domain_ping *nl = NULL;
     if (p == NULL)
@@ -1023,7 +1025,7 @@ peerNoteDigestGone(peer * p)
 static void
 peerDNSConfigure(const ipcache_addrs * ia, void *data)
 {
-    peer *p = data;
+    peer *p = (peer *)data;
     struct sockaddr_in *ap;
     int j;
     if (p->n_addresses == 0) {
@@ -1129,7 +1131,7 @@ peerProbeConnect(peer * p)
 static void
 peerProbeConnect2(const ipcache_addrs * ianotused, void *data)
 {
-    peer *p = data;
+    peer *p = (peer *)data;
     commConnectStart(p->test_fd,
        p->host,
        p->http_port,
@@ -1140,7 +1142,7 @@ peerProbeConnect2(const ipcache_addrs * ianotused, void *data)
 static void
 peerProbeConnectDone(int fd, comm_err_t status, void *data)
 {
-    peer *p = data;
+    peer *p = (peer*)data;
     if (status == COMM_OK) {
        peerConnectSucceded(p);
     } else {
@@ -1166,7 +1168,7 @@ peerCountMcastPeersSchedule(peer * p, time_t when)
 static void
 peerCountMcastPeersStart(void *data)
 {
-    peer *p = data;
+    peer *p = (peer *)data;
     ps_state *psstate;
     StoreEntry *fake;
     MemObject *mem;
@@ -1190,8 +1192,8 @@ peerCountMcastPeersStart(void *data)
     mem->ircb_data = psstate;
     mcastSetTtl(theOutIcpConnection, p->mcast.ttl);
     p->mcast.id = mem->id;
-    reqnum = icpSetCacheKey(fake->hash.key);
-    query = icpCreateMessage(ICP_QUERY, 0, url, reqnum, 0);
+    reqnum = icpSetCacheKey((const cache_key *)fake->hash.key);
+    query = _icp_common_t::createMessage(ICP_QUERY, 0, url, reqnum, 0);
     icpUdpSend(theOutIcpConnection,
        &p->in_addr,
        query,
@@ -1209,8 +1211,8 @@ peerCountMcastPeersStart(void *data)
 static void
 peerCountMcastPeersDone(void *data)
 {
-    ps_state *psstate = data;
-    peer *p = psstate->callback_data;
+    ps_state *psstate = (ps_state *)data;
+    peer *p = (peer *)psstate->callback_data;
     StoreEntry *fake = psstate->entry;
     p->mcast.flags.counting = 0;
     p->mcast.avg_n_members = doubleAverage(p->mcast.avg_n_members,
@@ -1237,7 +1239,7 @@ peerCountHandleIcpReply(peer * p, peer_t type, protocol_t proto, void *hdrnotuse
 {
     int rtt_av_factor;
 
-    ps_state *psstate = data;
+    ps_state *psstate = (ps_state *)data;
     StoreEntry *fake = psstate->entry;
     MemObject *mem = fake->mem_obj;
     int rtt = tvSubMsec(mem->start_ping, current_time);
@@ -1352,7 +1354,7 @@ dump_peers(StoreEntry * sentry, peer * peers)
                percent(e->htcp.counts[1], e->stats.pings_acked));
        } else {
 #endif
-           for (op = ICP_INVALID; op < ICP_END; op++) {
+           for (op = ICP_INVALID; op < ICP_END; ++op) {
                if (e->icp.counts[op] == 0)
                    continue;
                storeAppendPrintf(sentry, "    %12.12s : %8d %3d%%\n",
index da0a040f9943e85dc59bf1d230d90c70cacc88dc..1b57c1a9ca3cc7d9818d3442c9714a1f8dfb2519 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: net_db.cc,v 1.163 2002/09/25 22:23:59 robertc Exp $
+ * $Id: net_db.cc,v 1.164 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 38    Network Measurement Database
  * AUTHOR: Duane Wessels
@@ -42,6 +42,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+
 
 #if USE_ICMP
 #include "StoreClient.h"
@@ -107,7 +109,7 @@ netdbHashInsert(netdbEntry * n, struct in_addr addr)
 static void
 netdbHashDelete(const char *key)
 {
-    hash_link *hptr = hash_lookup(addr_table, key);
+    hash_link *hptr = (hash_link *)hash_lookup(addr_table, key);
     if (hptr == NULL) {
        debug_trap("netdbHashDelete: key not found");
        return;
@@ -118,7 +120,7 @@ netdbHashDelete(const char *key)
 static void
 netdbHostInsert(netdbEntry * n, const char *hostname)
 {
-    net_db_name *x = memAllocate(MEM_NET_DB_NAME);
+    net_db_name *x = (net_db_name *)memAllocate(MEM_NET_DB_NAME);
     x->hash.key = xstrdup(hostname);
     x->next = n->hosts;
     n->hosts = x;
@@ -178,8 +180,8 @@ netdbRelease(netdbEntry * n)
 static int
 netdbLRU(const void *A, const void *B)
 {
-    const netdbEntry *const *n1 = A;
-    const netdbEntry *const *n2 = B;
+    const netdbEntry *const *n1 = (const netdbEntry *const *)A;
+    const netdbEntry *const *n2 = (const netdbEntry *const *)B;
     if ((*n1)->last_use_time > (*n2)->last_use_time)
        return (1);
     if ((*n1)->last_use_time < (*n2)->last_use_time)
@@ -195,7 +197,7 @@ netdbPurgeLRU(void)
     int k = 0;
     int list_count = 0;
     int removed = 0;
-    list = xcalloc(memInUse(MEM_NETDBENTRY), sizeof(netdbEntry *));
+    list = (netdbEntry **)xcalloc(memInUse(MEM_NETDBENTRY), sizeof(netdbEntry *));
     hash_first(addr_table);
     while ((n = (netdbEntry *) hash_next(addr_table))) {
        assert(list_count < memInUse(MEM_NETDBENTRY));
@@ -231,7 +233,7 @@ netdbAdd(struct in_addr addr)
     if (memInUse(MEM_NETDBENTRY) > Config.Netdb.high)
        netdbPurgeLRU();
     if ((n = netdbLookupAddr(addr)) == NULL) {
-       n = memAllocate(MEM_NETDBENTRY);
+       n = (netdbEntry *)memAllocate(MEM_NETDBENTRY);
        netdbHashInsert(n, addr);
     }
     return n;
@@ -241,7 +243,7 @@ static void
 netdbSendPing(const ipcache_addrs * ia, void *data)
 {
     struct in_addr addr;
-    char *hostname = ((generic_cbdata *) data)->data;
+    char *hostname = (char *)((generic_cbdata *) data)->data;
     netdbEntry *n;
     netdbEntry *na;
     net_db_name *x;
@@ -318,8 +320,8 @@ networkFromInaddr(struct in_addr a)
 static int
 sortByRtt(const void *A, const void *B)
 {
-    const netdbEntry *const *n1 = A;
-    const netdbEntry *const *n2 = B;
+    const netdbEntry *const *n1 = (const netdbEntry *const *)A;
+    const netdbEntry *const *n2 = (const netdbEntry *const *)B;
     if ((*n1)->rtt > (*n2)->rtt)
        return 1;
     else if ((*n1)->rtt < (*n2)->rtt)
@@ -356,7 +358,7 @@ netdbPeerAdd(netdbEntry * n, peer * e)
            n->n_peers_alloc <<= 1;
        debug(38, 3) ("netdbPeerAdd: Growing peer list for '%s' to %d\n",
            n->network, n->n_peers_alloc);
-       n->peers = xcalloc(n->n_peers_alloc, sizeof(net_db_peer));
+       n->peers = (net_db_peer *)xcalloc(n->n_peers_alloc, sizeof(net_db_peer));
        for (i = 0; i < osize; i++)
            *(n->peers + i) = *(o + i);
        if (osize) {
@@ -372,8 +374,8 @@ netdbPeerAdd(netdbEntry * n, peer * e)
 static int
 sortPeerByRtt(const void *A, const void *B)
 {
-    const net_db_peer *p1 = A;
-    const net_db_peer *p2 = B;
+    const net_db_peer *p1 = (net_db_peer *)A;
+    const net_db_peer *p2 = (net_db_peer *)B;
     if (p1->rtt > p2->rtt)
        return 1;
     else if (p1->rtt < p2->rtt)
@@ -460,7 +462,7 @@ netdbReloadState(void)
        file_close(fd);
        return;
     }
-    t = buf = xcalloc(1, sb.st_size + 1);
+    t = buf = (char *)xcalloc(1, sb.st_size + 1);
     l = FD_READ_METHOD(fd, buf, sb.st_size);
     file_close(fd);
     if (l <= 0)
@@ -501,7 +503,7 @@ netdbReloadState(void)
        if ((q = strtok(NULL, w_space)) == NULL)
            continue;
        N.last_use_time = (time_t) atoi(q);
-       n = memAllocate(MEM_NETDBENTRY);
+       n = (netdbEntry *)memAllocate(MEM_NETDBENTRY);
        xmemcpy(n, &N, sizeof(netdbEntry));
        netdbHashInsert(n, addr);
        while ((q = strtok(NULL, w_space)) != NULL) {
@@ -531,7 +533,7 @@ netdbPeerName(const char *name)
 static void
 netdbFreeNetdbEntry(void *data)
 {
-    netdbEntry *n = data;
+    netdbEntry *n = (netdbEntry *)data;
     safe_free(n->peers);
     memFree(n, MEM_NETDBENTRY);
 }
@@ -539,7 +541,7 @@ netdbFreeNetdbEntry(void *data)
 static void
 netdbFreeNameEntry(void *data)
 {
-    net_db_name *x = data;
+    net_db_name *x = (net_db_name *)data;
     xfree(x->hash.key);
     memFree(x, MEM_NET_DB_NAME);
 }
@@ -548,7 +550,7 @@ netdbFreeNameEntry(void *data)
 static void
 netdbExchangeHandleReply(void *data, StoreIOBuffer recievedData)
 {
-    netdbExchangeState *ex = data;
+    netdbExchangeState *ex = (netdbExchangeState *)data;
     int rec_sz = 0;
     off_t o;
     struct in_addr addr;
@@ -596,7 +598,7 @@ netdbExchangeHandleReply(void *data, StoreIOBuffer recievedData)
                netdbExchangeDone(ex);
                return;
            }
-           assert(ex->buf_ofs >= hdr_sz);
+           assert((size_t)ex->buf_ofs >= hdr_sz);
 
            /*
             * Now, point p to the part of the buffer where the data
@@ -723,7 +725,7 @@ netdbExchangeHandleReply(void *data, StoreIOBuffer recievedData)
 static void
 netdbExchangeDone(void *data)
 {
-    netdbExchangeState *ex = data;
+    netdbExchangeState *ex = (netdbExchangeState *)data;
     debug(38, 3) ("netdbExchangeDone: %s\n", storeUrl(ex->e));
     requestUnlink(ex->r);
     storeUnregister(ex->sc, ex->e, ex);
@@ -782,8 +784,8 @@ netdbHandlePingReply(const struct sockaddr_in *from, int hops, int rtt)
     N = ++n->pings_recv;
     if (N > 5)
        N = 5;
-    if (rtt < 1.0)
-       rtt = 1.0;
+    if (rtt < 1)
+       rtt = 1;
     n->hops = ((n->hops * (N - 1)) + hops) / N;
     n->rtt = ((n->rtt * (N - 1)) + rtt) / N;
     debug(38, 3) ("netdbHandlePingReply: %s; rtt=%5.1f  hops=%4.1f\n",
@@ -839,7 +841,7 @@ netdbDump(StoreEntry * sentry)
        "RTT",
        "Hops",
        "Hostnames");
-    list = xcalloc(memInUse(MEM_NETDBENTRY), sizeof(netdbEntry *));
+    list = (netdbEntry **)xcalloc(memInUse(MEM_NETDBENTRY), sizeof(netdbEntry *));
     i = 0;
     hash_first(addr_table);
     while ((n = (netdbEntry *) hash_next(addr_table)))
@@ -1018,7 +1020,7 @@ netdbBinaryExchange(StoreEntry * s)
     rec_sz += 1 + sizeof(addr.s_addr);
     rec_sz += 1 + sizeof(int);
     rec_sz += 1 + sizeof(int);
-    buf = memAllocate(MEM_4K_BUF);
+    buf = (char *)memAllocate(MEM_4K_BUF);
     i = 0;
     hash_first(addr_table);
     while ((n = (netdbEntry *) hash_next(addr_table))) {
@@ -1069,7 +1071,7 @@ void
 netdbExchangeStart(void *data)
 {
 #if USE_ICMP
-    peer *p = data;
+    peer *p = (peer *)data;
     char *uri;
     netdbExchangeState *ex;
     StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
index 998960843769fdb78214c4611aa08f42993bcbf8..4e0482ac097eeec8dcd6017f23d3b24099247b4e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: pconn.cc,v 1.32 2002/04/13 23:07:51 hno Exp $
+ * $Id: pconn.cc,v 1.33 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 48    Persistent Connections
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 struct _pconn {
     hash_link hash;            /* must be first */
@@ -77,7 +78,7 @@ pconnNew(const char *key)
     p = cbdataAlloc(pconn);
     p->hash.key = xstrdup(key);
     p->nfds_alloc = PCONN_FDS_SZ;
-    p->fds = memPoolAlloc(pconn_fds_pool);
+    p->fds = (int *)memPoolAlloc(pconn_fds_pool);
     debug(48, 3) ("pconnNew: adding %s\n", hashKeyStr(&p->hash));
     hash_join(table, &p->hash);
     return p;
@@ -115,7 +116,7 @@ pconnRemoveFD(struct _pconn *p, int fd)
 static void
 pconnTimeout(int fd, void *data)
 {
-    struct _pconn *p = data;
+    struct _pconn *p = (_pconn *)data;
     assert(table != NULL);
     debug(48, 3) ("pconnTimeout: FD %d %s\n", fd, hashKeyStr(&p->hash));
     pconnRemoveFD(p, fd);
@@ -126,7 +127,7 @@ static void
 pconnRead(int fd, void *data)
 {
     LOCAL_ARRAY(char, buf, 256);
-    struct _pconn *p = data;
+    struct _pconn *p = (_pconn *)data;
     int n;
     assert(table != NULL);
     statCounter.syscalls.sock.reads++;
@@ -211,7 +212,7 @@ pconnPush(int fd, const char *host, u_short port)
        debug(48, 3) ("pconnPush: growing FD array\n");
        p->nfds_alloc <<= 1;
        old = p->fds;
-       p->fds = xmalloc(p->nfds_alloc * sizeof(int));
+       p->fds = (int *)xmalloc(p->nfds_alloc * sizeof(int));
        xmemcpy(p->fds, old, p->nfds * sizeof(int));
        if (p->nfds == PCONN_FDS_SZ)
            memPoolFree(pconn_fds_pool, old);
@@ -235,7 +236,7 @@ pconnPop(const char *host, u_short port)
     LOCAL_ARRAY(char, key, SQUIDHOSTNAMELEN + 10);
     assert(table != NULL);
     strcpy(key, pconnKey(host, port));
-    hptr = hash_lookup(table, key);
+    hptr = (hash_link *)hash_lookup(table, key);
     if (hptr != NULL) {
        p = (struct _pconn *) hptr;
        assert(p->nfds > 0);
index c47b07c393550d80b26d84b57dcd2355f15cf8e2..20a97b18276aeaaa160847df429f41337b86d1ab 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_digest.cc,v 1.91 2002/09/29 11:43:17 robertc Exp $
+ * $Id: peer_digest.cc,v 1.92 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 72    Peer Digest Routines
  * AUTHOR: Alex Rousskov
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #if USE_CACHE_DIGESTS
 
@@ -219,7 +220,7 @@ peerDigestNotePeerGone(PeerDigest * pd)
 static void
 peerDigestCheck(void *data)
 {
-    PeerDigest *pd = data;
+    PeerDigest *pd = (PeerDigest *)data;
     time_t req_time;
 
     assert(!pd->flags.requested);
@@ -345,7 +346,7 @@ peerDigestRequest(PeerDigest * pd)
 static void
 peerDigestHandleReply(void *data, StoreIOBuffer recievedData)
 {
-    DigestFetchState *fetch = data;
+    DigestFetchState *fetch = (DigestFetchState *)data;
     PeerDigest *pd = fetch->pd;
     int retsize = -1;
     digest_read_state_t prevstate;
@@ -381,16 +382,16 @@ peerDigestHandleReply(void *data, StoreIOBuffer recievedData)
        prevstate = fetch->state;
        switch (fetch->state) {
        case DIGEST_READ_REPLY:
-           retsize = peerDigestFetchReply(data, fetch->buf, fetch->bufofs);
+           retsize = peerDigestFetchReply(fetch, fetch->buf, fetch->bufofs);
            break;
        case DIGEST_READ_HEADERS:
-           retsize = peerDigestSwapInHeaders(data, fetch->buf, fetch->bufofs);
+           retsize = peerDigestSwapInHeaders(fetch, fetch->buf, fetch->bufofs);
            break;
        case DIGEST_READ_CBLOCK:
-           retsize = peerDigestSwapInCBlock(data, fetch->buf, fetch->bufofs);
+           retsize = peerDigestSwapInCBlock(fetch, fetch->buf, fetch->bufofs);
            break;
        case DIGEST_READ_MASK:
-           retsize = peerDigestSwapInMask(data, fetch->buf, fetch->bufofs);
+           retsize = peerDigestSwapInMask(fetch, fetch->buf, fetch->bufofs);
            break;
        case DIGEST_READ_NONE:
            break;
@@ -443,7 +444,7 @@ peerDigestHandleReply(void *data, StoreIOBuffer recievedData)
 static int
 peerDigestFetchReply(void *data, char *buf, ssize_t size)
 {
-    DigestFetchState *fetch = data;
+    DigestFetchState *fetch = (DigestFetchState *)data;
     PeerDigest *pd = fetch->pd;
     size_t hdr_size;
     assert(pd && buf);
@@ -519,7 +520,7 @@ peerDigestFetchReply(void *data, char *buf, ssize_t size)
 static int
 peerDigestSwapInHeaders(void *data, char *buf, ssize_t size)
 {
-    DigestFetchState *fetch = data;
+    DigestFetchState *fetch = (DigestFetchState *)data;
     size_t hdr_size;
 
     assert(fetch->state == DIGEST_READ_HEADERS);
@@ -554,13 +555,13 @@ peerDigestSwapInHeaders(void *data, char *buf, ssize_t size)
 static int
 peerDigestSwapInCBlock(void *data, char *buf, ssize_t size)
 {
-    DigestFetchState *fetch = data;
+    DigestFetchState *fetch = (DigestFetchState *)data;
 
     assert(fetch->state == DIGEST_READ_CBLOCK);
     if (peerDigestFetchedEnough(fetch, buf, size, "peerDigestSwapInCBlock"))
        return -1;
 
-    if (size >= StoreDigestCBlockSize) {
+    if (size >= (ssize_t)StoreDigestCBlockSize) {
        PeerDigest *pd = fetch->pd;
        HttpReply *rep = fetch->entry->mem_obj->reply;
 
@@ -591,7 +592,7 @@ peerDigestSwapInCBlock(void *data, char *buf, ssize_t size)
 static int
 peerDigestSwapInMask(void *data, char *buf, ssize_t size)
 {
-    DigestFetchState *fetch = data;
+    DigestFetchState *fetch = (DigestFetchState *)data;
     PeerDigest *pd;
 
     pd = fetch->pd;
@@ -608,10 +609,10 @@ peerDigestSwapInMask(void *data, char *buf, ssize_t size)
        return -1;
 
     fetch->mask_offset += size;
-    if (fetch->mask_offset >= pd->cd->mask_size) {
+    if (fetch->mask_offset >= (off_t)pd->cd->mask_size) {
        debug(72, 2) ("peerDigestSwapInMask: Done! Got %d, expected %d\n",
            fetch->mask_offset, pd->cd->mask_size);
-       assert(fetch->mask_offset == pd->cd->mask_size);
+       assert(fetch->mask_offset == (off_t)pd->cd->mask_size);
        assert(peerDigestFetchedEnough(fetch, NULL, 0, "peerDigestSwapInMask"));
        return -1;              /* XXX! */
     } else {
@@ -663,7 +664,7 @@ peerDigestFetchedEnough(DigestFetchState * fetch, char *buf, ssize_t size, const
     if (!reason && !size) {
        if (!pd->cd)
            reason = "null digest?!";
-       else if (fetch->mask_offset != pd->cd->mask_size)
+       else if (fetch->mask_offset != (off_t)pd->cd->mask_size)
            reason = "premature end of digest?!";
        else if (!peerDigestUseful(pd))
            reason = "useless digest";
@@ -877,7 +878,7 @@ peerDigestSetCBlock(PeerDigest * pd, const char *buf)
        return 0;
     }
     /* check consistency further */
-    if (cblock.mask_size != cacheDigestCalcMaskSize(cblock.capacity, cblock.bits_per_entry)) {
+    if ((size_t)cblock.mask_size != cacheDigestCalcMaskSize(cblock.capacity, cblock.bits_per_entry)) {
        debug(72, 0) ("%s digest cblock is corrupted (mask size mismatch: %d ? %d).\n",
            host, cblock.mask_size, cacheDigestCalcMaskSize(cblock.capacity, cblock.bits_per_entry));
        return 0;
@@ -892,7 +893,7 @@ peerDigestSetCBlock(PeerDigest * pd, const char *buf)
      * no cblock bugs below this point
      */
     /* check size changes */
-    if (pd->cd && cblock.mask_size != pd->cd->mask_size) {
+    if (pd->cd && cblock.mask_size != (ssize_t)pd->cd->mask_size) {
        debug(72, 2) ("%s digest changed size: %d -> %d\n",
            host, cblock.mask_size, pd->cd->mask_size);
        freed_size = pd->cd->mask_size;
index 795a252152aa78493bf1c08a399a92bcbf89277f..bf88db3524caa49fa02f83a6d48d6e17f36f592e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_select.cc,v 1.123 2002/09/15 06:40:57 robertc Exp $
+ * $Id: peer_select.cc,v 1.124 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 44    Peer Selection Algorithm
  * AUTHOR: Duane Wessels
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "ICP.h"
 
 const char *hier_strings[] =
 {
@@ -156,7 +158,7 @@ peerSelect(request_t * request,
 static void
 peerCheckNeverDirectDone(int answer, void *data)
 {
-    ps_state *psstate = data;
+    ps_state *psstate = (ps_state *) data;
     psstate->acl_checklist = NULL;
     debug(44, 3) ("peerCheckNeverDirectDone: %d\n", answer);
     psstate->never_direct = answer ? 1 : -1;
@@ -166,7 +168,7 @@ peerCheckNeverDirectDone(int answer, void *data)
 static void
 peerCheckAlwaysDirectDone(int answer, void *data)
 {
-    ps_state *psstate = data;
+    ps_state *psstate = (ps_state *)data;
     psstate->acl_checklist = NULL;
     debug(44, 3) ("peerCheckAlwaysDirectDone: %d\n", answer);
     psstate->always_direct = answer ? 1 : -1;
@@ -490,7 +492,7 @@ peerGetAllParents(ps_state * ps)
 static void
 peerPingTimeout(void *data)
 {
-    ps_state *psstate = data;
+    ps_state *psstate = (ps_state *)data;
     StoreEntry *entry = psstate->entry;
     if (entry)
        debug(44, 3) ("peerPingTimeout: '%s'\n", storeUrl(entry));
@@ -549,8 +551,8 @@ peerIcpParentMiss(peer * p, icp_common_t * header, ps_state * ps)
 static void
 peerHandleIcpReply(peer * p, peer_t type, icp_common_t * header, void *data)
 {
-    ps_state *psstate = data;
-    icp_opcode op = header->opcode;
+    ps_state *psstate = (ps_state *)data;
+    icp_opcode op = header->getOpCode();
     debug(44, 3) ("peerHandleIcpReply: %s %s\n",
        icp_opcode_str[op],
        storeUrl(psstate->entry));
@@ -586,7 +588,7 @@ peerHandleIcpReply(peer * p, peer_t type, icp_common_t * header, void *data)
 static void
 peerHandleHtcpReply(peer * p, peer_t type, htcpReplyData * htcp, void *data)
 {
-    ps_state *psstate = data;
+    ps_state *psstate = (ps_state *)data;
     debug(44, 3) ("peerHandleIcpReply: %s %s\n",
        htcp->hit ? "HIT" : "MISS",
        storeUrl(psstate->entry));
@@ -641,10 +643,10 @@ static void
 peerHandlePingReply(peer * p, peer_t type, protocol_t proto, void *pingdata, void *data)
 {
     if (proto == PROTO_ICP)
-       peerHandleIcpReply(p, type, pingdata, data);
+       peerHandleIcpReply(p, type, (icp_common_t *)pingdata, data);
 #if USE_HTCP
     else if (proto == PROTO_HTCP)
-       peerHandleHtcpReply(p, type, pingdata, data);
+       peerHandleHtcpReply(p, type, (htcpReplyData *)pingdata, data);
 #endif
     else
        debug(44, 1) ("peerHandlePingReply: unknown protocol_t %d\n", (int) proto);
@@ -653,7 +655,7 @@ peerHandlePingReply(peer * p, peer_t type, protocol_t proto, void *pingdata, voi
 static void
 peerAddFwdServer(FwdServer ** FS, peer * p, hier_code code)
 {
-    FwdServer *fs = memAllocate(MEM_FWD_SERVER);
+    FwdServer *fs = (FwdServer *)memAllocate(MEM_FWD_SERVER);
     debug(44, 5) ("peerAddFwdServer: adding %s %s\n",
        p ? p->host : "DIRECT",
        hier_strings[code]);
index 8357c24f79ad9e2196670780b23a992396859b1a..8c5ead4ae69ba9f1c413114d353f143a369c4499 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: pinger.cc,v 1.47 2002/10/06 02:05:23 robertc Exp $
+ * $Id: pinger.cc,v 1.48 2002/10/13 20:35:02 robertc Exp $
  *
  * DEBUG: section 42    ICMP Pinger program
  * AUTHOR: Duane Wessels
@@ -150,7 +150,7 @@ pingerSendEcho(struct in_addr to, int opcode, char *payload, int len)
     LOCAL_ARRAY(char, pkt, MAX_PKT_SZ);
     struct icmphdr *icmp = NULL;
     icmpEchoData *echo;
-    int icmp_pktsize = sizeof(struct icmphdr);
+    size_t icmp_pktsize = sizeof(struct icmphdr);
     struct sockaddr_in S;
     memset(pkt, '\0', MAX_PKT_SZ);
     icmp = (struct icmphdr *) (void *) pkt;
@@ -209,7 +209,7 @@ pingerRecv(void)
     static pingerReplyData preply;
 
     if (pkt == NULL)
-       pkt = xmalloc(MAX_PKT_SZ);
+       pkt = (char *)xmalloc(MAX_PKT_SZ);
     fromlen = sizeof(from);
     n = recvfrom(icmp_sock,
        pkt,
index 334b6c0f982ca5d95dea106ae0dc19fd80de632f..38ab57f7ee6ab5e92a87fabdc89934d5bba3717b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.451 2002/10/08 16:08:17 wessels Exp $
+ * $Id: protos.h,v 1.452 2002/10/13 20:35:03 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #ifndef SQUID_PROTOS_H
 #define SQUID_PROTOS_H
 
-extern void accessLogLog(AccessLogEntry *);
-extern void accessLogRotate(void);
-extern void accessLogClose(void);
-extern void accessLogInit(void);
-extern void accessLogFreeMemory(AccessLogEntry * aLogEntry);
-extern const char *accessLogTime(time_t);
-extern void hierarchyNote(HierarchyLogEntry *, hier_code, const char *);
+SQUIDCEXTERN void accessLogLog(AccessLogEntry *);
+SQUIDCEXTERN void accessLogRotate(void);
+SQUIDCEXTERN void accessLogClose(void);
+SQUIDCEXTERN void accessLogInit(void);
+SQUIDCEXTERN void accessLogFreeMemory(AccessLogEntry * aLogEntry);
+SQUIDCEXTERN const char *accessLogTime(time_t);
+SQUIDCEXTERN void hierarchyNote(HierarchyLogEntry *, hier_code, const char *);
 #if FORW_VIA_DB
-extern void fvdbCountVia(const char *key);
-extern void fvdbCountForw(const char *key);
+SQUIDCEXTERN void fvdbCountVia(const char *key);
+SQUIDCEXTERN void fvdbCountForw(const char *key);
 #endif
 #if HEADERS_LOG
-extern void headersLog(int cs, int pq, method_t m, void *data);
+SQUIDCEXTERN void headersLog(int cs, int pq, method_t m, void *data);
 #endif
-char *log_quote(const char *header);
-extern int logTypeIsATcpHit(log_type);
+SQUIDCEXTERN char *log_quote(const char *header);
+SQUIDCEXTERN int logTypeIsATcpHit(log_type);
 
 /* acl.c */
-extern aclCheck_t *aclChecklistCreate(const struct _acl_access *,
+SQUIDCEXTERN aclCheck_t *aclChecklistCreate(const struct _acl_access *,
     request_t *,
     const char *ident);
-extern void aclNBCheck(aclCheck_t *, PF *, void *);
-extern int aclCheckFast(const struct _acl_access *A, aclCheck_t *);
-extern void aclChecklistFree(aclCheck_t *);
-extern int aclMatchAclList(const acl_list * list, aclCheck_t * checklist);
-extern void aclDestroyAccessList(struct _acl_access **list);
-extern void aclDestroyAcls(acl **);
-extern void aclDestroyAclList(acl_list **);
-extern void aclParseAccessLine(struct _acl_access **);
-extern void aclParseAclList(acl_list **);
-extern void aclParseAclLine(acl **);
-extern int aclIsProxyAuth(const char *name);
-extern err_type aclGetDenyInfoPage(acl_deny_info_list ** head, const char *name);
-extern void aclParseDenyInfoLine(struct _acl_deny_info_list **);
-extern void aclDestroyDenyInfoList(struct _acl_deny_info_list **);
-extern void aclDestroyRegexList(struct _relist *data);
-extern int aclMatchRegex(relist * data, const char *word);
-extern void aclParseRegexList(void *curlist);
-extern const char *aclTypeToStr(squid_acl);
-extern wordlist *aclDumpGeneric(const acl *);
-extern int aclPurgeMethodInUse(acl_access *);
-extern void aclCacheMatchFlush(dlink_list * cache);
-extern int aclAuthenticated(aclCheck_t * checklist);
+SQUIDCEXTERN void aclNBCheck(aclCheck_t *, PF *, void *);
+SQUIDCEXTERN int aclCheckFast(const struct _acl_access *A, aclCheck_t *);
+SQUIDCEXTERN void aclChecklistFree(aclCheck_t *);
+SQUIDCEXTERN int aclMatchAclList(const acl_list * list, aclCheck_t * checklist);
+SQUIDCEXTERN void aclDestroyAccessList(struct _acl_access **list);
+SQUIDCEXTERN void aclDestroyAcls(acl **);
+SQUIDCEXTERN void aclDestroyAclList(acl_list **);
+SQUIDCEXTERN void aclParseAccessLine(struct _acl_access **);
+SQUIDCEXTERN void aclParseAclList(acl_list **);
+SQUIDCEXTERN void aclParseAclLine(acl **);
+SQUIDCEXTERN int aclIsProxyAuth(const char *name);
+SQUIDCEXTERN err_type aclGetDenyInfoPage(acl_deny_info_list ** head, const char *name);
+SQUIDCEXTERN void aclParseDenyInfoLine(struct _acl_deny_info_list **);
+SQUIDCEXTERN void aclDestroyDenyInfoList(struct _acl_deny_info_list **);
+SQUIDCEXTERN void aclDestroyRegexList(struct _relist *data);
+SQUIDCEXTERN int aclMatchRegex(relist * data, const char *word);
+SQUIDCEXTERN void aclParseRegexList(void *curlist);
+SQUIDCEXTERN const char *aclTypeToStr(squid_acl);
+SQUIDCEXTERN wordlist *aclDumpGeneric(const acl *);
+SQUIDCEXTERN int aclPurgeMethodInUse(acl_access *);
+SQUIDCEXTERN void aclCacheMatchFlush(dlink_list * cache);
+SQUIDCEXTERN int aclAuthenticated(aclCheck_t * checklist);
 
 /*
  * cache_cf.c
  */
-extern int parseConfigFile(const char *file_name);
-extern void intlistDestroy(intlist **);
-extern int intlistFind(intlist * list, int i);
-extern const char *wordlistAdd(wordlist **, const char *);
-extern void wordlistAddWl(wordlist **, wordlist *);
-extern void wordlistJoin(wordlist **, wordlist **);
-extern wordlist *wordlistDup(const wordlist *);
-extern void wordlistDestroy(wordlist **);
-extern void configFreeMemory(void);
-extern void wordlistCat(const wordlist *, MemBuf * mb);
-extern void allocate_new_swapdir(cacheSwap *);
-extern void self_destruct(void);
-extern int GetInteger(void);
+SQUIDCEXTERN int parseConfigFile(const char *file_name);
+SQUIDCEXTERN void intlistDestroy(intlist **);
+SQUIDCEXTERN int intlistFind(intlist * list, int i);
+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 allocate_new_swapdir(cacheSwap *);
+SQUIDCEXTERN void self_destruct(void);
+SQUIDCEXTERN int GetInteger(void);
 
 /* extra functions from cache_cf.c useful for lib modules */
-extern void parse_int(int *var);
-extern void parse_onoff(int *var);
-extern void parse_eol(char *volatile *var);
-extern void parse_wordlist(wordlist ** list);
-extern void requirePathnameExists(const char *name, const char *path);
-extern void parse_time_t(time_t * var);
-extern void parse_cachedir_options(SwapDir * sd, struct cache_dir_option *options, int reconfiguring);
-extern void dump_cachedir_options(StoreEntry * e, struct cache_dir_option *options, SwapDir * sd);
-extern void parse_sockaddr_in_list_token(sockaddr_in_list **, char *);
+SQUIDCEXTERN void parse_int(int *var);
+SQUIDCEXTERN void parse_onoff(int *var);
+SQUIDCEXTERN void parse_eol(char *volatile *var);
+SQUIDCEXTERN void parse_wordlist(wordlist ** list);
+SQUIDCEXTERN void requirePathnameExists(const char *name, const char *path);
+SQUIDCEXTERN void parse_time_t(time_t * var);
+SQUIDCEXTERN void parse_cachedir_options(SwapDir * sd, struct cache_dir_option *options, int reconfiguring);
+SQUIDCEXTERN void dump_cachedir_options(StoreEntry * e, struct cache_dir_option *options, SwapDir * sd);
+SQUIDCEXTERN void parse_sockaddr_in_list_token(sockaddr_in_list **, char *);
 
 
 /*
  * cbdata.c
  */
-extern void cbdataInit(void);
+SQUIDCEXTERN void cbdataInit(void);
 #if CBDATA_DEBUG
-extern void *cbdataInternalAllocDbg(cbdata_type type, const char *, int);
-extern void *cbdataInternalFreeDbg(void *p, const char *, int);
-extern void cbdataInternalLockDbg(const void *p, const char *, int);
-extern void cbdataInternalUnlockDbg(const void *p, const char *, int);
-extern int cbdataInternalReferenceDoneValidDbg(void **p, void **tp, const char *, int);
+SQUIDCEXTERN void *cbdataInternalAllocDbg(cbdata_type type, const char *, int);
+SQUIDCEXTERN void *cbdataInternalFreeDbg(void *p, const char *, int);
+SQUIDCEXTERN void cbdataInternalLockDbg(const void *p, const char *, int);
+SQUIDCEXTERN void cbdataInternalUnlockDbg(const void *p, const char *, int);
+SQUIDCEXTERN int cbdataInternalReferenceDoneValidDbg(void **p, void **tp, const char *, int);
 #else
-extern void *cbdataInternalAlloc(cbdata_type type);
-extern void *cbdataInternalFree(void *p);
-extern void cbdataInternalLock(const void *p);
-extern void cbdataInternalUnlock(const void *p);
-extern int cbdataInternalReferenceDoneValid(void **p, void **tp);
+SQUIDCEXTERN void *cbdataInternalAlloc(cbdata_type type);
+SQUIDCEXTERN void *cbdataInternalFree(void *p);
+SQUIDCEXTERN void cbdataInternalLock(const void *p);
+SQUIDCEXTERN void cbdataInternalUnlock(const void *p);
+SQUIDCEXTERN int cbdataInternalReferenceDoneValid(void **p, void **tp);
 #endif
-extern int cbdataReferenceValid(const void *p);
-extern cbdata_type cbdataInternalAddType(cbdata_type type, const char *label, int size, FREE * free_func);
+SQUIDCEXTERN int cbdataReferenceValid(const void *p);
+SQUIDCEXTERN cbdata_type cbdataInternalAddType(cbdata_type type, const char *label, int size, FREE * free_func);
 
 /* client_side.c - FD related client side routines */
 
-extern void clientdbInit(void);
-extern void clientdbUpdate(struct in_addr, log_type, protocol_t, size_t);
-extern int clientdbCutoffDenied(struct in_addr);
-extern void clientdbDump(StoreEntry *);
-extern void clientdbFreeMemory(void);
-extern int clientdbEstablished(struct in_addr, int);
-
-extern char *clientConstructTraceEcho(clientHttpRequest *);
-extern void clientOpenListenSockets(void);
-extern void clientHttpConnectionsClose(void);
-extern void clientReadBody(request_t * req, char *buf, size_t size, CBCB * callback, void *data);
-extern int clientAbortBody(request_t * req);
-extern void httpRequestFree(void *);
+SQUIDCEXTERN void clientdbInit(void);
+SQUIDCEXTERN void clientdbUpdate(struct in_addr, log_type, protocol_t, size_t);
+SQUIDCEXTERN int clientdbCutoffDenied(struct in_addr);
+SQUIDCEXTERN void clientdbDump(StoreEntry *);
+SQUIDCEXTERN void clientdbFreeMemory(void);
+SQUIDCEXTERN int clientdbEstablished(struct in_addr, int);
+
+SQUIDCEXTERN void clientAccessCheck(void *);
+SQUIDCEXTERN char *clientConstructTraceEcho(clientHttpRequest *);
+SQUIDCEXTERN void clientOpenListenSockets(void);
+SQUIDCEXTERN void clientHttpConnectionsClose(void);
+SQUIDCEXTERN void clientReadBody(request_t * req, char *buf, size_t size, CBCB * callback, void *data);
+SQUIDCEXTERN int clientAbortBody(request_t * req);
+SQUIDCEXTERN void httpRequestFree(void *);
 
 extern void clientAccessCheck(void *);
-extern aclCheck_t *clientAclChecklistCreate(const acl_access * acl, const clientHttpRequest * http);
+SQUIDCEXTERN aclCheck_t *clientAclChecklistCreate(const acl_access * acl, const clientHttpRequest * http);
 
 /* client_side_reply.c - client side reply related routines (pure logic, no comms) */
-extern void *clientReplyNewContext(clientHttpRequest *);
-extern int clientHttpRequestStatus(int fd, clientHttpRequest const *http);
-extern void clientSetReplyToError(void *, err_type, http_status, method_t, char const *, struct in_addr *, request_t *, char *, auth_user_request_t * auth_user_request);
-
-extern int commSetNonBlocking(int fd);
-extern int commUnsetNonBlocking(int fd);
-extern void commSetCloseOnExec(int fd);
-extern int comm_accept(int fd, struct sockaddr_in *, struct sockaddr_in *);
-extern void comm_close(int fd);
-extern void comm_reset_close(int fd);
+SQUIDCEXTERN void *clientReplyNewContext(clientHttpRequest *);
+SQUIDCEXTERN int clientHttpRequestStatus(int fd, clientHttpRequest const *http);
+SQUIDCEXTERN void clientSetReplyToError(void *, err_type, http_status, method_t, char const *, struct in_addr *, request_t *, char *, auth_user_request_t * auth_user_request);
+
+SQUIDCEXTERN int commSetNonBlocking(int fd);
+SQUIDCEXTERN int commUnsetNonBlocking(int fd);
+SQUIDCEXTERN void commSetCloseOnExec(int fd);
+SQUIDCEXTERN int comm_accept(int fd, struct sockaddr_in *, struct sockaddr_in *);
+SQUIDCEXTERN void comm_close(int fd);
+SQUIDCEXTERN void comm_reset_close(int fd);
 #if LINGERING_CLOSE
-extern void comm_lingering_close(int fd);
+SQUIDCEXTERN void comm_lingering_close(int fd);
 #endif
-extern void commConnectStart(int fd, const char *, u_short, CNCB *, void *);
-extern int comm_connect_addr(int sock, const struct sockaddr_in *);
-extern void comm_init(void);
-extern int comm_listen(int sock);
-extern int comm_open(int, int, struct in_addr, u_short port, int, const char *note);
-extern int comm_openex(int, int, struct in_addr, u_short, int, unsigned char TOS, const char *);
-extern u_short comm_local_port(int fd);
-
-extern void commSetSelect(int, unsigned int, PF *, void *, time_t);
-extern void comm_add_close_handler(int fd, PF *, void *);
-extern void comm_remove_close_handler(int fd, PF *, void *);
-extern int comm_udp_sendto(int, const struct sockaddr_in *, int, const void *, int);
-extern void comm_write(int fd,
+SQUIDCEXTERN void commConnectStart(int fd, const char *, u_short, CNCB *, void *);
+SQUIDCEXTERN int comm_connect_addr(int sock, const struct sockaddr_in *);
+SQUIDCEXTERN void comm_init(void);
+SQUIDCEXTERN int comm_listen(int sock);
+SQUIDCEXTERN int comm_open(int, int, struct in_addr, u_short port, int, const char *note);
+SQUIDCEXTERN int comm_openex(int, int, struct in_addr, u_short, int, unsigned char TOS, const char *);
+SQUIDCEXTERN u_short comm_local_port(int fd);
+
+SQUIDCEXTERN void commSetSelect(int, unsigned int, PF *, void *, time_t);
+SQUIDCEXTERN void comm_add_close_handler(int fd, PF *, void *);
+SQUIDCEXTERN void comm_remove_close_handler(int fd, PF *, void *);
+SQUIDCEXTERN int comm_udp_sendto(int, const struct sockaddr_in *, int, const void *, int);
+SQUIDCEXTERN void comm_write(int fd,
     const char *buf,
     int size,
     CWCB * handler,
     void *handler_data,
     FREE *);
-extern void comm_write_mbuf(int fd, MemBuf mb, CWCB * handler, void *handler_data);
-extern void commCallCloseHandlers(int fd);
-extern int commSetTimeout(int fd, int, PF *, void *);
-extern void commSetDefer(int fd, DEFER * func, void *);
-extern int ignoreErrno(int);
-extern void commCloseAllSockets(void);
-extern void checkTimeouts(void);
-extern int commDeferRead(int fd);
+SQUIDCEXTERN void comm_write_mbuf(int fd, MemBuf mb, CWCB * handler, void *handler_data);
+SQUIDCEXTERN void commCallCloseHandlers(int fd);
+SQUIDCEXTERN int commSetTimeout(int fd, int, PF *, void *);
+SQUIDCEXTERN void commSetDefer(int fd, DEFER * func, void *);
+SQUIDCEXTERN int ignoreErrno(int);
+SQUIDCEXTERN void commCloseAllSockets(void);
+SQUIDCEXTERN void checkTimeouts(void);
+SQUIDCEXTERN int commDeferRead(int fd);
 
 
 /*
  * comm_select.c
  */
-extern void comm_select_init(void);
-extern comm_err_t comm_select(int);
-extern void comm_quick_poll_required(void);
-
-extern void packerToStoreInit(Packer * p, StoreEntry * e);
-extern void packerToMemInit(Packer * p, MemBuf * mb);
-extern void packerClean(Packer * p);
-extern void packerAppend(Packer * p, const char *buf, int size);
+SQUIDCEXTERN void comm_select_init(void);
+SQUIDCEXTERN comm_err_t comm_select(int);
+SQUIDCEXTERN void comm_quick_poll_required(void);
+
+SQUIDCEXTERN void packerToStoreInit(Packer * p, StoreEntry * e);
+SQUIDCEXTERN void packerToMemInit(Packer * p, MemBuf * mb);
+SQUIDCEXTERN void packerClean(Packer * p);
+SQUIDCEXTERN void packerAppend(Packer * p, const char *buf, int size);
 #if STDC_HEADERS
-extern void
+SQUIDCEXTERN void
 packerPrintf(Packer * p, const char *fmt,...) PRINTF_FORMAT_ARG2;
 #else
-extern void packerPrintf();
+SQUIDCEXTERN void packerPrintf();
 #endif
 
 
 /* see debug.c for info on context-based debugging */
-extern Ctx ctx_enter(const char *descr);
-extern void ctx_exit(Ctx ctx);
+SQUIDCEXTERN Ctx ctx_enter(const char *descr);
+SQUIDCEXTERN void ctx_exit(Ctx ctx);
 
-extern void _db_init(const char *logfile, const char *options);
-extern void _db_rotate_log(void);
+SQUIDCEXTERN void _db_init(const char *logfile, const char *options);
+SQUIDCEXTERN void _db_rotate_log(void);
 
 #if STDC_HEADERS
-extern void
-_db_print(const char *,...) PRINTF_FORMAT_ARG1;
+SQUIDCEXTERN void _db_print(const char *,...) PRINTF_FORMAT_ARG1;
 #else
-extern void _db_print();
+SQUIDCEXTERN void _db_print();
 #endif
-extern void xassert(const char *, const char *, int);
+SQUIDCEXTERN void xassert(const char *, const char *, int);
 
 /* packs, then prints an object using debug() */
-extern void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
+SQUIDCEXTERN void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
 
 /* disk.c */
-extern int file_open(const char *path, int mode);
-extern void file_close(int fd);
-extern void file_write(int, off_t, void *, int len, DWCB *, void *, FREE *);
-extern void file_write_mbuf(int fd, off_t, MemBuf mb, DWCB * handler, void *handler_data);
-extern void file_read(int, char *, int, off_t, DRCB *, void *);
-extern void disk_init(void);
+SQUIDCEXTERN int file_open(const char *path, int mode);
+SQUIDCEXTERN void file_close(int fd);
+SQUIDCEXTERN void file_write(int, off_t, void *, int len, DWCB *, void *, FREE *);
+SQUIDCEXTERN void file_write_mbuf(int fd, off_t, MemBuf mb, DWCB * handler, void *handler_data);
+SQUIDCEXTERN void file_read(int, char *, int, off_t, DRCB *, void *);
+SQUIDCEXTERN void disk_init(void);
 
 /* diskd.c */
-extern diskd_queue *afile_create_queue(void);
-extern void afile_destroy_queue(diskd_queue *);
-extern void afile_sync_queue(diskd_queue *);
-extern void afile_sync(void);
-extern void afile_open(const char *path, int mode, DOCB *, void *);
-extern void afile_close(int fd, DCCB * callback, void *data);
-extern void afile_write(int, off_t, void *, int len, DWCB *, void *, FREE *);
-extern void afile_write_mbuf(int fd, off_t, MemBuf, DWCB *, void *);
-extern void afile_read(int, char *, int, off_t, DRCB *, void *);
-extern void afile_unlink(const char *path, DUCB *, void *);
-extern void afile_truncate(const char *path, DTCB *, void *);
-
-extern void dnsShutdown(void);
-extern void dnsInit(void);
-extern void dnsSubmit(const char *lookup, HLPCB * callback, void *data);
+SQUIDCEXTERN diskd_queue *afile_create_queue(void);
+SQUIDCEXTERN void afile_destroy_queue(diskd_queue *);
+SQUIDCEXTERN void afile_sync_queue(diskd_queue *);
+SQUIDCEXTERN void afile_sync(void);
+SQUIDCEXTERN void afile_open(const char *path, int mode, DOCB *, void *);
+SQUIDCEXTERN void afile_close(int fd, DCCB * callback, void *data);
+SQUIDCEXTERN void afile_write(int, off_t, void *, int len, DWCB *, void *, FREE *);
+SQUIDCEXTERN void afile_write_mbuf(int fd, off_t, MemBuf, DWCB *, void *);
+SQUIDCEXTERN void afile_read(int, char *, int, off_t, DRCB *, void *);
+SQUIDCEXTERN void afile_unlink(const char *path, DUCB *, void *);
+SQUIDCEXTERN void afile_truncate(const char *path, DTCB *, void *);
+
+SQUIDCEXTERN void dnsShutdown(void);
+SQUIDCEXTERN void dnsInit(void);
+SQUIDCEXTERN void dnsSubmit(const char *lookup, HLPCB * callback, void *data);
 
 /* dns_internal.c */
-extern void idnsInit(void);
-extern void idnsShutdown(void);
-extern void idnsALookup(const char *, IDNSCB *, void *);
-extern void idnsPTRLookup(const struct in_addr, IDNSCB *, void *);
-
-extern void eventAdd(const char *name, EVH * func, void *arg, double when, int);
-extern void eventAddIsh(const char *name, EVH * func, void *arg, double delta_ish, int);
-extern void eventRun(void);
-extern time_t eventNextTime(void);
-extern void eventDelete(EVH * func, void *arg);
-extern void eventInit(void);
-extern void eventFreeMemory(void);
-extern int eventFind(EVH *, void *);
-
-extern void fd_close(int fd);
-extern void fd_open(int fd, unsigned int type, const char *);
-extern void fd_note(int fd, const char *);
-extern void fd_bytes(int fd, int len, unsigned int type);
-extern void fdFreeMemory(void);
-extern void fdDumpOpen(void);
-extern int fdNFree(void);
-extern void fdAdjustReserved(void);
-
-extern fileMap *file_map_create(void);
-extern int file_map_allocate(fileMap *, int);
-extern int file_map_bit_set(fileMap *, int);
-extern int file_map_bit_test(fileMap *, int);
-extern void file_map_bit_reset(fileMap *, int);
-extern void filemapFreeMemory(fileMap *);
-
-
-extern void fqdncache_nbgethostbyaddr(struct in_addr, FQDNH *, void *);
-extern const char *fqdncache_gethostbyaddr(struct in_addr, int flags);
-extern void fqdncache_init(void);
-extern void fqdnStats(StoreEntry *);
-extern void fqdncacheReleaseInvalid(const char *);
-extern const char *fqdnFromAddr(struct in_addr);
-extern int fqdncacheQueueDrain(void);
-extern void fqdncacheFreeMemory(void);
-extern void fqdncache_restart(void);
-extern EVH fqdncache_purgelru;
-extern void fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames);
-
-extern void ftpStart(FwdState *);
-extern char *ftpUrlWith2f(const request_t *);
-
-extern void gopherStart(FwdState *);
-extern int gopherCachable(const request_t *);
-
-
-extern void whoisStart(FwdState *);
+SQUIDCEXTERN void idnsInit(void);
+SQUIDCEXTERN void idnsShutdown(void);
+SQUIDCEXTERN void idnsALookup(const char *, IDNSCB *, void *);
+SQUIDCEXTERN void idnsPTRLookup(const struct in_addr, IDNSCB *, void *);
+
+SQUIDCEXTERN void eventAdd(const char *name, EVH * func, void *arg, double when, int);
+SQUIDCEXTERN void eventAddIsh(const char *name, EVH * func, void *arg, double delta_ish, int);
+SQUIDCEXTERN void eventRun(void);
+SQUIDCEXTERN time_t eventNextTime(void);
+SQUIDCEXTERN void eventDelete(EVH * func, void *arg);
+SQUIDCEXTERN void eventInit(void);
+SQUIDCEXTERN void eventFreeMemory(void);
+SQUIDCEXTERN int eventFind(EVH *, void *);
+
+SQUIDCEXTERN void fd_close(int fd);
+SQUIDCEXTERN void fd_open(int fd, unsigned int type, const char *);
+SQUIDCEXTERN void fd_note(int fd, const char *);
+SQUIDCEXTERN void fd_bytes(int fd, int len, unsigned int type);
+SQUIDCEXTERN void fdFreeMemory(void);
+SQUIDCEXTERN void fdDumpOpen(void);
+SQUIDCEXTERN int fdNFree(void);
+SQUIDCEXTERN void fdAdjustReserved(void);
+
+SQUIDCEXTERN fileMap *file_map_create(void);
+SQUIDCEXTERN int file_map_allocate(fileMap *, int);
+SQUIDCEXTERN int file_map_bit_set(fileMap *, int);
+SQUIDCEXTERN int file_map_bit_test(fileMap *, int);
+SQUIDCEXTERN void file_map_bit_reset(fileMap *, int);
+SQUIDCEXTERN void filemapFreeMemory(fileMap *);
+
+
+SQUIDCEXTERN void fqdncache_nbgethostbyaddr(struct in_addr, FQDNH *, void *);
+SQUIDCEXTERN const char *fqdncache_gethostbyaddr(struct in_addr, int flags);
+SQUIDCEXTERN void fqdncache_init(void);
+SQUIDCEXTERN void fqdnStats(StoreEntry *);
+SQUIDCEXTERN void fqdncacheReleaseInvalid(const char *);
+SQUIDCEXTERN const char *fqdnFromAddr(struct in_addr);
+SQUIDCEXTERN int fqdncacheQueueDrain(void);
+SQUIDCEXTERN void fqdncacheFreeMemory(void);
+SQUIDCEXTERN void fqdncache_restart(void);
+SQUIDCEXTERN EVH fqdncache_purgelru;
+SQUIDCEXTERN void fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames);
+
+SQUIDCEXTERN void ftpStart(FwdState *);
+SQUIDCEXTERN char *ftpUrlWith2f(const request_t *);
+
+SQUIDCEXTERN void gopherStart(FwdState *);
+SQUIDCEXTERN int gopherCachable(const request_t *);
+
+
+SQUIDCEXTERN void whoisStart(FwdState *);
 
 /* http.c */
-extern int httpCachable(method_t);
-extern void httpStart(FwdState *);
-extern void httpAnonInitModule(void);
-extern int httpAnonHdrAllowed(http_hdr_type hdr_id);
-extern int httpAnonHdrDenied(http_hdr_type hdr_id);
-extern void httpBuildRequestHeader(request_t *, request_t *, StoreEntry *, HttpHeader *, http_state_flags);
-extern void httpBuildVersion(http_version_t * version, unsigned int major, unsigned int minor);
-extern const char *httpMakeVaryMark(request_t * request, HttpReply * reply);
+SQUIDCEXTERN int httpCachable(method_t);
+SQUIDCEXTERN void httpStart(FwdState *);
+SQUIDCEXTERN void httpParseReplyHeaders(const char *, http_reply *);
+SQUIDCEXTERN mb_size_t httpBuildRequestPrefix(request_t * request,
+    request_t * orig_request,
+    StoreEntry * entry,
+    MemBuf * mb,
+    int cfd,
+    http_state_flags);
+SQUIDCEXTERN void httpAnonInitModule(void);
+SQUIDCEXTERN int httpAnonHdrAllowed(http_hdr_type hdr_id);
+SQUIDCEXTERN int httpAnonHdrDenied(http_hdr_type hdr_id);
+SQUIDCEXTERN void httpBuildRequestHeader(request_t *, request_t *, StoreEntry *, HttpHeader *, http_state_flags);
+SQUIDCEXTERN void httpBuildVersion(http_version_t * version, unsigned int major, unsigned int minor);
+SQUIDCEXTERN const char *httpMakeVaryMark(request_t * request, HttpReply * reply);
 
 /* ETag */
-extern int etagParseInit(ETag * etag, const char *str);
-extern int etagIsEqual(const ETag * tag1, const ETag * tag2);
+SQUIDCEXTERN int etagParseInit(ETag * etag, const char *str);
+SQUIDCEXTERN int etagIsEqual(const ETag * tag1, const ETag * tag2);
 
 /* Http Status Line */
 /* init/clean */
-extern void httpStatusLineInit(HttpStatusLine * sline);
-extern void httpStatusLineClean(HttpStatusLine * sline);
+SQUIDCEXTERN void httpStatusLineInit(HttpStatusLine * sline);
+SQUIDCEXTERN void httpStatusLineClean(HttpStatusLine * sline);
 /* set/get values */
-extern void httpStatusLineSet(HttpStatusLine * sline, http_version_t version,
+SQUIDCEXTERN void httpStatusLineSet(HttpStatusLine * sline, http_version_t version,
     http_status status, const char *reason);
-extern const char *httpStatusLineReason(const HttpStatusLine * sline);
+SQUIDCEXTERN const char *httpStatusLineReason(const HttpStatusLine * sline);
 /* parse/pack */
 /* parse a 0-terminating buffer and fill internal structires; returns true on success */
-extern int httpStatusLineParse(HttpStatusLine * sline, const char *start,
+SQUIDCEXTERN int httpStatusLineParse(HttpStatusLine * sline, const char *start,
     const char *end);
 /* pack fields using Packer */
-extern void httpStatusLinePackInto(const HttpStatusLine * sline, Packer * p);
-extern const char *httpStatusString(http_status status);
+SQUIDCEXTERN void httpStatusLinePackInto(const HttpStatusLine * sline, Packer * p);
+SQUIDCEXTERN const char *httpStatusString(http_status status);
 
 /* Http Body */
 /* init/clean */
-extern void httpBodyInit(HttpBody * body);
-extern void httpBodyClean(HttpBody * body);
+SQUIDCEXTERN void httpBodyInit(HttpBody * body);
+SQUIDCEXTERN void httpBodyClean(HttpBody * body);
 /* get body ptr (always use this) */
-extern const char *httpBodyPtr(const HttpBody * body);
+SQUIDCEXTERN const char *httpBodyPtr(const HttpBody * body);
 /* set body, does not clone mb so you should not reuse it */
-extern void httpBodySet(HttpBody * body, MemBuf * mb);
+SQUIDCEXTERN void httpBodySet(HttpBody * body, MemBuf * mb);
 
 /* pack */
-extern void httpBodyPackInto(const HttpBody * body, Packer * p);
+SQUIDCEXTERN void httpBodyPackInto(const HttpBody * body, Packer * p);
 
 /* Http Cache Control Header Field */
-extern void httpHdrCcInitModule(void);
-extern void httpHdrCcCleanModule(void);
-extern HttpHdrCc *httpHdrCcCreate(void);
-extern HttpHdrCc *httpHdrCcParseCreate(const String * str);
-extern void httpHdrCcDestroy(HttpHdrCc * cc);
-extern HttpHdrCc *httpHdrCcDup(const HttpHdrCc * cc);
-extern void httpHdrCcPackInto(const HttpHdrCc * cc, Packer * p);
-extern void httpHdrCcJoinWith(HttpHdrCc * cc, const HttpHdrCc * new_cc);
-extern void httpHdrCcSetMaxAge(HttpHdrCc * cc, int max_age);
-extern void httpHdrCcSetSMaxAge(HttpHdrCc * cc, int s_maxage);
-extern void httpHdrCcUpdateStats(const HttpHdrCc * cc, StatHist * hist);
-extern void httpHdrCcStatDumper(StoreEntry * sentry, int idx, double val, double size, int count);
+SQUIDCEXTERN void httpHdrCcInitModule(void);
+SQUIDCEXTERN void httpHdrCcCleanModule(void);
+SQUIDCEXTERN HttpHdrCc *httpHdrCcCreate(void);
+SQUIDCEXTERN HttpHdrCc *httpHdrCcParseCreate(const String * str);
+SQUIDCEXTERN void httpHdrCcDestroy(HttpHdrCc * cc);
+SQUIDCEXTERN HttpHdrCc *httpHdrCcDup(const HttpHdrCc * cc);
+SQUIDCEXTERN void httpHdrCcPackInto(const HttpHdrCc * cc, Packer * p);
+SQUIDCEXTERN void httpHdrCcJoinWith(HttpHdrCc * cc, const HttpHdrCc * new_cc);
+SQUIDCEXTERN void httpHdrCcSetMaxAge(HttpHdrCc * cc, int max_age);
+SQUIDCEXTERN void httpHdrCcSetSMaxAge(HttpHdrCc * cc, int s_maxage);
+SQUIDCEXTERN void httpHdrCcUpdateStats(const HttpHdrCc * cc, StatHist * hist);
+SQUIDCEXTERN void httpHdrCcStatDumper(StoreEntry * sentry, int idx, double val, double size, int count);
 
 /* Http Range Header Field */
-extern HttpHdrRange *httpHdrRangeParseCreate(const String * range_spec);
+SQUIDCEXTERN HttpHdrRange *httpHdrRangeParseCreate(const String * range_spec);
 /* returns true if ranges are valid; inits HttpHdrRange */
-extern int httpHdrRangeParseInit(HttpHdrRange * range, const String * range_spec);
-extern void httpHdrRangeDestroy(HttpHdrRange * range);
-extern HttpHdrRange *httpHdrRangeDup(const HttpHdrRange * range);
-extern void httpHdrRangePackInto(const HttpHdrRange * range, Packer * p);
+SQUIDCEXTERN int httpHdrRangeParseInit(HttpHdrRange * range, const String * range_spec);
+SQUIDCEXTERN void httpHdrRangeDestroy(HttpHdrRange * range);
+SQUIDCEXTERN HttpHdrRange *httpHdrRangeDup(const HttpHdrRange * range);
+SQUIDCEXTERN void httpHdrRangePackInto(const HttpHdrRange * range, Packer * p);
 /* iterate through specs */
-extern HttpHdrRangeSpec *httpHdrRangeGetSpec(const HttpHdrRange * range, HttpHdrRangePos * pos);
+SQUIDCEXTERN HttpHdrRangeSpec *httpHdrRangeGetSpec(const HttpHdrRange * range, HttpHdrRangePos * pos);
 /* adjust specs after the length is known */
-extern int httpHdrRangeCanonize(HttpHdrRange *, ssize_t);
+SQUIDCEXTERN int httpHdrRangeCanonize(HttpHdrRange *, ssize_t);
 /* other */
-extern String httpHdrRangeBoundaryStr(clientHttpRequest * http);
-extern int httpHdrRangeIsComplex(const HttpHdrRange * range);
-extern int httpHdrRangeWillBeComplex(const HttpHdrRange * range);
-extern ssize_t httpHdrRangeFirstOffset(const HttpHdrRange * range);
-extern ssize_t httpHdrRangeLowestOffset(const HttpHdrRange * range, ssize_t);
-extern int httpHdrRangeOffsetLimit(HttpHdrRange *);
+SQUIDCEXTERN String httpHdrRangeBoundaryStr(clientHttpRequest * http);
+SQUIDCEXTERN int httpHdrRangeIsComplex(const HttpHdrRange * range);
+SQUIDCEXTERN int httpHdrRangeWillBeComplex(const HttpHdrRange * range);
+SQUIDCEXTERN ssize_t httpHdrRangeFirstOffset(const HttpHdrRange * range);
+SQUIDCEXTERN ssize_t httpHdrRangeLowestOffset(const HttpHdrRange * range, ssize_t);
+SQUIDCEXTERN int httpHdrRangeOffsetLimit(HttpHdrRange *);
 
 
 /* Http Content Range Header Field */
-extern HttpHdrContRange *httpHdrContRangeCreate(void);
-extern HttpHdrContRange *httpHdrContRangeParseCreate(const char *crange_spec);
+SQUIDCEXTERN HttpHdrContRange *httpHdrContRangeCreate(void);
+SQUIDCEXTERN HttpHdrContRange *httpHdrContRangeParseCreate(const char *crange_spec);
 /* returns true if range is valid; inits HttpHdrContRange */
-extern int httpHdrContRangeParseInit(HttpHdrContRange * crange, const char *crange_spec);
-extern void httpHdrContRangeDestroy(HttpHdrContRange * crange);
-extern HttpHdrContRange *httpHdrContRangeDup(const HttpHdrContRange * crange);
-extern void httpHdrContRangePackInto(const HttpHdrContRange * crange, Packer * p);
+SQUIDCEXTERN int httpHdrContRangeParseInit(HttpHdrContRange * crange, const char *crange_spec);
+SQUIDCEXTERN void httpHdrContRangeDestroy(HttpHdrContRange * crange);
+SQUIDCEXTERN HttpHdrContRange *httpHdrContRangeDup(const HttpHdrContRange * crange);
+SQUIDCEXTERN void httpHdrContRangePackInto(const HttpHdrContRange * crange, Packer * p);
 /* inits with given spec */
-extern void httpHdrContRangeSet(HttpHdrContRange *, HttpHdrRangeSpec, ssize_t);
+SQUIDCEXTERN void httpHdrContRangeSet(HttpHdrContRange *, HttpHdrRangeSpec, ssize_t);
 
 /* Http Header Tools */
-extern HttpHeaderFieldInfo *httpHeaderBuildFieldsInfo(const HttpHeaderFieldAttrs * attrs, int count);
-extern void httpHeaderDestroyFieldsInfo(HttpHeaderFieldInfo * info, int count);
-extern int httpHeaderIdByName(const char *name, int name_len, const HttpHeaderFieldInfo * attrs, int end);
-extern int httpHeaderIdByNameDef(const char *name, int name_len);
-extern const char *httpHeaderNameById(int id);
-extern void httpHeaderMaskInit(HttpHeaderMask * mask, int value);
-extern void httpHeaderCalcMask(HttpHeaderMask * mask, const int *enums, int count);
-extern int httpHeaderHasConnDir(const HttpHeader * hdr, const char *directive);
-extern void httpHeaderAddContRange(HttpHeader *, HttpHdrRangeSpec, ssize_t);
-extern void strListAdd(String * str, const char *item, char del);
-extern int strListIsMember(const String * str, const char *item, char del);
-extern int strListIsSubstr(const String * list, const char *s, char del);
-extern int strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos);
-extern const char *getStringPrefix(const char *str, const char *end);
-extern int httpHeaderParseInt(const char *start, int *val);
-extern int httpHeaderParseSize(const char *start, ssize_t * sz);
-extern int httpHeaderReset(HttpHeader * hdr);
+SQUIDCEXTERN HttpHeaderFieldInfo *httpHeaderBuildFieldsInfo(const HttpHeaderFieldAttrs * attrs, int count);
+SQUIDCEXTERN void httpHeaderDestroyFieldsInfo(HttpHeaderFieldInfo * info, int count);
+SQUIDCEXTERN http_hdr_type httpHeaderIdByName(const char *name, int name_len, const HttpHeaderFieldInfo * attrs, int end);
+SQUIDCEXTERN http_hdr_type httpHeaderIdByNameDef(const char *name, int name_len);
+SQUIDCEXTERN const char *httpHeaderNameById(int id);
+SQUIDCEXTERN void httpHeaderMaskInit(HttpHeaderMask * mask, int value);
+SQUIDCEXTERN void httpHeaderCalcMask(HttpHeaderMask * mask, const int *enums, size_t count);
+SQUIDCEXTERN int httpHeaderHasConnDir(const HttpHeader * hdr, const char *directive);
+SQUIDCEXTERN void httpHeaderAddContRange(HttpHeader *, HttpHdrRangeSpec, ssize_t);
+SQUIDCEXTERN void strListAdd(String * str, const char *item, char del);
+SQUIDCEXTERN int strListIsMember(const String * str, const char *item, char del);
+SQUIDCEXTERN int strListIsSubstr(const String * list, const char *s, char del);
+SQUIDCEXTERN int strListGetItem(const String * str, char del, const char **item, int *ilen, const char **pos);
+SQUIDCEXTERN const char *getStringPrefix(const char *str, const char *end);
+SQUIDCEXTERN int httpHeaderParseInt(const char *start, int *val);
+SQUIDCEXTERN int httpHeaderParseSize(const char *start, ssize_t * sz);
+SQUIDCEXTERN int httpHeaderReset(HttpHeader * hdr);
 #if STDC_HEADERS
-extern void
+SQUIDCEXTERN void
 httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt,...) PRINTF_FORMAT_ARG3;
 #else
-extern void httpHeaderPutStrf();
+SQUIDCEXTERN void httpHeaderPutStrf();
 #endif
 
 
 /* Http Header */
-extern void httpHeaderInitModule(void);
-extern void httpHeaderCleanModule(void);
+SQUIDCEXTERN void httpHeaderInitModule(void);
+SQUIDCEXTERN void httpHeaderCleanModule(void);
 /* init/clean */
-extern void httpHeaderInit(HttpHeader * hdr, http_hdr_owner_type owner);
-extern void httpHeaderClean(HttpHeader * hdr);
+SQUIDCEXTERN void httpHeaderInit(HttpHeader * hdr, http_hdr_owner_type owner);
+SQUIDCEXTERN void httpHeaderClean(HttpHeader * hdr);
 /* append/update */
-extern void httpHeaderAppend(HttpHeader * dest, const HttpHeader * src);
-extern void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask * denied_mask);
+SQUIDCEXTERN void httpHeaderAppend(HttpHeader * dest, const HttpHeader * src);
+SQUIDCEXTERN void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask * denied_mask);
 /* parse/pack */
-extern int httpHeaderParse(HttpHeader * hdr, const char *header_start, const char *header_end);
-extern void httpHeaderPackInto(const HttpHeader * hdr, Packer * p);
+SQUIDCEXTERN int httpHeaderParse(HttpHeader * hdr, const char *header_start, const char *header_end);
+SQUIDCEXTERN void httpHeaderPackInto(const HttpHeader * hdr, Packer * p);
 /* field manipulation */
-extern int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type);
-extern void httpHeaderPutInt(HttpHeader * hdr, http_hdr_type type, int number);
-extern void httpHeaderPutTime(HttpHeader * hdr, http_hdr_type type, time_t htime);
-extern void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str);
-extern void httpHeaderPutAuth(HttpHeader * hdr, const char *auth_scheme, const char *realm);
-extern void httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc);
-extern void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr);
-extern void httpHeaderPutRange(HttpHeader * hdr, const HttpHdrRange * range);
-extern void httpHeaderPutExt(HttpHeader * hdr, const char *name, const char *value);
-extern int httpHeaderGetInt(const HttpHeader * hdr, http_hdr_type id);
-extern time_t httpHeaderGetTime(const HttpHeader * hdr, http_hdr_type id);
-extern TimeOrTag httpHeaderGetTimeOrTag(const HttpHeader * hdr, http_hdr_type id);
-extern HttpHdrCc *httpHeaderGetCc(const HttpHeader * hdr);
-extern ETag httpHeaderGetETag(const HttpHeader * hdr, http_hdr_type id);
-extern HttpHdrRange *httpHeaderGetRange(const HttpHeader * hdr);
-extern HttpHdrContRange *httpHeaderGetContRange(const HttpHeader * hdr);
-extern const char *httpHeaderGetStr(const HttpHeader * hdr, http_hdr_type id);
-extern const char *httpHeaderGetLastStr(const HttpHeader * hdr, http_hdr_type id);
-extern const char *httpHeaderGetAuth(const HttpHeader * hdr, http_hdr_type id, const char *auth_scheme);
-extern String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id);
-extern String httpHeaderGetStrOrList(const HttpHeader * hdr, http_hdr_type id);
-extern String httpHeaderGetByName(const HttpHeader * hdr, const char *name);
-extern String httpHeaderGetListMember(const HttpHeader * hdr, http_hdr_type id, const char *member, const char separator);
-extern String httpHeaderGetByNameListMember(const HttpHeader * hdr, const char *name, const char *member, const char separator);
-extern int httpHeaderDelByName(HttpHeader * hdr, const char *name);
-extern int httpHeaderDelById(HttpHeader * hdr, http_hdr_type id);
-extern void httpHeaderDelAt(HttpHeader * hdr, HttpHeaderPos pos);
+SQUIDCEXTERN int httpHeaderHas(const HttpHeader * hdr, http_hdr_type type);
+SQUIDCEXTERN void httpHeaderPutInt(HttpHeader * hdr, http_hdr_type type, int number);
+SQUIDCEXTERN void httpHeaderPutTime(HttpHeader * hdr, http_hdr_type type, time_t htime);
+SQUIDCEXTERN void httpHeaderPutStr(HttpHeader * hdr, http_hdr_type type, const char *str);
+SQUIDCEXTERN void httpHeaderPutAuth(HttpHeader * hdr, const char *auth_scheme, const char *realm);
+SQUIDCEXTERN void httpHeaderPutCc(HttpHeader * hdr, const HttpHdrCc * cc);
+SQUIDCEXTERN void httpHeaderPutContRange(HttpHeader * hdr, const HttpHdrContRange * cr);
+SQUIDCEXTERN void httpHeaderPutRange(HttpHeader * hdr, const HttpHdrRange * range);
+SQUIDCEXTERN void httpHeaderPutExt(HttpHeader * hdr, const char *name, const char *value);
+SQUIDCEXTERN int httpHeaderGetInt(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN time_t httpHeaderGetTime(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN TimeOrTag httpHeaderGetTimeOrTag(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN HttpHdrCc *httpHeaderGetCc(const HttpHeader * hdr);
+SQUIDCEXTERN ETag httpHeaderGetETag(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN HttpHdrRange *httpHeaderGetRange(const HttpHeader * hdr);
+SQUIDCEXTERN HttpHdrContRange *httpHeaderGetContRange(const HttpHeader * hdr);
+SQUIDCEXTERN const char *httpHeaderGetStr(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN const char *httpHeaderGetLastStr(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN const char *httpHeaderGetAuth(const HttpHeader * hdr, http_hdr_type id, const char *auth_scheme);
+SQUIDCEXTERN String httpHeaderGetList(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN String httpHeaderGetStrOrList(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN String httpHeaderGetByName(const HttpHeader * hdr, const char *name);
+SQUIDCEXTERN String httpHeaderGetListMember(const HttpHeader * hdr, http_hdr_type id, const char *member, const char separator);
+SQUIDCEXTERN String httpHeaderGetByNameListMember(const HttpHeader * hdr, const char *name, const char *member, const char separator);
+SQUIDCEXTERN int httpHeaderDelByName(HttpHeader * hdr, const char *name);
+SQUIDCEXTERN int httpHeaderDelById(HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN void httpHeaderDelAt(HttpHeader * hdr, HttpHeaderPos pos);
 /* avoid using these low level routines */
-extern HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos);
-extern HttpHeaderEntry *httpHeaderFindEntry(const HttpHeader * hdr, http_hdr_type id);
-extern void httpHeaderAddEntry(HttpHeader * hdr, HttpHeaderEntry * e);
-extern HttpHeaderEntry *httpHeaderEntryClone(const HttpHeaderEntry * e);
-extern void httpHeaderEntryPackInto(const HttpHeaderEntry * e, Packer * p);
+SQUIDCEXTERN HttpHeaderEntry *httpHeaderGetEntry(const HttpHeader * hdr, HttpHeaderPos * pos);
+SQUIDCEXTERN HttpHeaderEntry *httpHeaderFindEntry(const HttpHeader * hdr, http_hdr_type id);
+SQUIDCEXTERN void httpHeaderAddEntry(HttpHeader * hdr, HttpHeaderEntry * e);
+SQUIDCEXTERN HttpHeaderEntry *httpHeaderEntryClone(const HttpHeaderEntry * e);
+SQUIDCEXTERN void httpHeaderEntryPackInto(const HttpHeaderEntry * e, Packer * p);
 /* store report about current header usage and other stats */
-extern void httpHeaderStoreReport(StoreEntry * e);
-extern void httpHdrMangleList(HttpHeader *, request_t *);
+SQUIDCEXTERN void httpHeaderStoreReport(StoreEntry * e);
+SQUIDCEXTERN void httpHdrMangleList(HttpHeader *, request_t *);
 
 /* Http Msg (currently in HttpReply.c @?@ ) */
-extern int httpMsgIsPersistent(http_version_t http_ver, const HttpHeader * hdr);
-extern int httpMsgIsolateHeaders(const char **parse_start, const char **blk_start, const char **blk_end);
+SQUIDCEXTERN int httpMsgIsPersistent(http_version_t http_ver, const HttpHeader * hdr);
+SQUIDCEXTERN int httpMsgIsolateHeaders(const char **parse_start, const char **blk_start, const char **blk_end);
 
 /* Http Reply */
-extern void httpReplyInitModule(void);
+SQUIDCEXTERN void httpReplyInitModule(void);
 /* create/destroy */
-extern HttpReply *httpReplyCreate(void);
-extern void httpReplyDestroy(HttpReply * rep);
+SQUIDCEXTERN HttpReply *httpReplyCreate(void);
+SQUIDCEXTERN void httpReplyDestroy(HttpReply * rep);
 /* reset: clean, then init */
-extern void httpReplyReset(HttpReply * rep);
+SQUIDCEXTERN void httpReplyReset(HttpReply * rep);
 /* absorb: copy the contents of a new reply to the old one, destroy new one */
-extern void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep);
+SQUIDCEXTERN void httpReplyAbsorb(HttpReply * rep, HttpReply * new_rep);
 /* parse returns -1,0,+1 on error,need-more-data,success */
-extern int httpReplyParse(HttpReply * rep, const char *buf, ssize_t);
-extern void httpReplyPackInto(const HttpReply * rep, Packer * p);
+SQUIDCEXTERN int httpReplyParse(HttpReply * rep, const char *buf, ssize_t);
+SQUIDCEXTERN void httpReplyPackInto(const HttpReply * rep, Packer * p);
 /* ez-routines */
 /* mem-pack: returns a ready to use mem buffer with a packed reply */
-extern MemBuf httpReplyPack(const HttpReply * rep);
+SQUIDCEXTERN MemBuf httpReplyPack(const HttpReply * rep);
 /* swap: create swap-based packer, pack, destroy packer */
-extern void httpReplySwapOut(const HttpReply * rep, StoreEntry * e);
+SQUIDCEXTERN void httpReplySwapOut(const HttpReply * rep, StoreEntry * e);
 /* set commonly used info with one call */
-extern void httpReplySetHeaders(HttpReply * rep, http_version_t ver, http_status status,
+SQUIDCEXTERN void httpReplySetHeaders(HttpReply * rep, http_version_t ver, http_status status,
     const char *reason, const char *ctype, int clen, time_t lmt, time_t expires);
 /* do everything in one call: init, set, pack, clean, return MemBuf */
-extern MemBuf httpPackedReply(http_version_t ver, http_status status, const char *ctype,
+SQUIDCEXTERN MemBuf httpPackedReply(http_version_t ver, http_status status, const char *ctype,
     int clen, time_t lmt, time_t expires);
 /* construct 304 reply and pack it into MemBuf, return MemBuf */
-extern MemBuf httpPacked304Reply(const HttpReply * rep);
+SQUIDCEXTERN MemBuf httpPacked304Reply(const HttpReply * rep);
 /* update when 304 reply is received for a cached object */
-extern void httpReplyUpdateOnNotModified(HttpReply * rep, HttpReply * freshRep);
+SQUIDCEXTERN void httpReplyUpdateOnNotModified(HttpReply * rep, HttpReply * freshRep);
 /* header manipulation */
-extern int httpReplyContentLen(const HttpReply * rep);
-extern const char *httpReplyContentType(const HttpReply * rep);
-extern time_t httpReplyExpires(const HttpReply * rep);
-extern int httpReplyHasCc(const HttpReply * rep, http_hdr_cc_type type);
-extern void httpRedirectReply(HttpReply *, http_status, const char *);
-extern int httpReplyBodySize(method_t, HttpReply *);
-extern void httpReplyBodyBuildSize(request_t *, HttpReply *, dlink_list *);
+SQUIDCEXTERN int httpReplyContentLen(const HttpReply * rep);
+SQUIDCEXTERN const char *httpReplyContentType(const HttpReply * rep);
+SQUIDCEXTERN time_t httpReplyExpires(const HttpReply * rep);
+SQUIDCEXTERN int httpReplyHasCc(const HttpReply * rep, http_hdr_cc_type type);
+SQUIDCEXTERN void httpRedirectReply(HttpReply *, http_status, const char *);
+SQUIDCEXTERN int httpReplyBodySize(method_t, HttpReply *);
+SQUIDCEXTERN void httpReplyBodyBuildSize(request_t *, HttpReply *, dlink_list *);
 
 /* Http Request */
-extern request_t *requestCreate(method_t, protocol_t, const char *urlpath);
-extern void requestDestroy(request_t *);
-extern request_t *requestLink(request_t *);
-extern void requestUnlink(request_t *);
-extern int httpRequestParseHeader(request_t * req, const char *parse_start);
-extern void httpRequestSwapOut(const request_t * req, StoreEntry * e);
-extern void httpRequestPack(const request_t * req, Packer * p);
-extern int httpRequestPrefixLen(const request_t * req);
-extern int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
-extern int httpRequestHdrAllowedByName(http_hdr_type id);
-
-extern void icmpOpen(void);
-extern void icmpClose(void);
-extern void icmpPing(struct in_addr to);
-extern void icmpSourcePing(struct in_addr to, const icp_common_t *, const char *url);
-extern void icmpDomainPing(struct in_addr to, const char *domain);
-
-extern void *icpCreateMessage(icp_opcode opcode,
-    int flags,
-    const char *url,
-    int reqnum,
-    int pad);
-extern int icpUdpSend(int, const struct sockaddr_in *, icp_common_t *, log_type, int);
-extern PF icpHandleUdp;
-extern PF icpUdpSendQueue;
-extern PF httpAccept;
+SQUIDCEXTERN request_t *requestCreate(method_t, protocol_t, const char *urlpath);
+SQUIDCEXTERN void requestDestroy(request_t *);
+SQUIDCEXTERN request_t *requestLink(request_t *);
+SQUIDCEXTERN void requestUnlink(request_t *);
+SQUIDCEXTERN int httpRequestParseHeader(request_t * req, const char *parse_start);
+SQUIDCEXTERN void httpRequestSwapOut(const request_t * req, StoreEntry * e);
+SQUIDCEXTERN void httpRequestPack(const request_t * req, Packer * p);
+SQUIDCEXTERN int httpRequestPrefixLen(const request_t * req);
+SQUIDCEXTERN int httpRequestHdrAllowed(const HttpHeaderEntry * e, String * strConnection);
+SQUIDCEXTERN int httpRequestHdrAllowedByName(http_hdr_type id);
+
+SQUIDCEXTERN void icmpOpen(void);
+SQUIDCEXTERN void icmpClose(void);
+SQUIDCEXTERN void icmpPing(struct in_addr to);
+SQUIDCEXTERN void icmpSourcePing(struct in_addr to, const icp_common_t *, const char *url);
+SQUIDCEXTERN void icmpDomainPing(struct in_addr to, const char *domain);
+
+SQUIDCEXTERN PF httpAccept;
 
 #ifdef SQUID_SNMP
-extern PF snmpHandleUdp;
-extern void snmpInit(void);
-extern void snmpConnectionOpen(void);
-extern void snmpConnectionShutdown(void);
-extern void snmpConnectionClose(void);
-extern void snmpDebugOid(int lvl, oid * Name, snint Len);
-extern void addr2oid(struct in_addr addr, oid * Dest);
-extern struct in_addr *oid2addr(oid * id);
-extern struct in_addr *client_entry(struct in_addr *current);
-extern variable_list *snmp_basicFn(variable_list *, snint *);
-extern variable_list *snmp_confFn(variable_list *, snint *);
-extern variable_list *snmp_sysFn(variable_list *, snint *);
-extern variable_list *snmp_prfSysFn(variable_list *, snint *);
-extern variable_list *snmp_prfProtoFn(variable_list *, snint *);
-extern variable_list *snmp_prfPeerFn(variable_list *, snint *);
-extern variable_list *snmp_netIpFn(variable_list *, snint *);
-extern variable_list *snmp_netFqdnFn(variable_list *, snint *);
+SQUIDCEXTERN PF snmpHandleUdp;
+SQUIDCEXTERN void snmpInit(void);
+SQUIDCEXTERN void snmpConnectionOpen(void);
+SQUIDCEXTERN void snmpConnectionShutdown(void);
+SQUIDCEXTERN void snmpConnectionClose(void);
+SQUIDCEXTERN void snmpDebugOid(int lvl, oid * Name, snint Len);
+SQUIDCEXTERN void addr2oid(struct in_addr addr, oid * Dest);
+SQUIDCEXTERN struct in_addr *oid2addr(oid * id);
+SQUIDCEXTERN struct in_addr *client_entry(struct in_addr *current);
+SQUIDCEXTERN variable_list *snmp_basicFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_confFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_sysFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_prfSysFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_prfProtoFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_prfPeerFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_netIpFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_netFqdnFn(variable_list *, snint *);
 #if USE_DNSSERVERS
-extern variable_list *snmp_netDnsFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_netDnsFn(variable_list *, snint *);
 #else
-extern variable_list *snmp_netIdnsFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_netIdnsFn(variable_list *, snint *);
 #endif
-extern variable_list *snmp_meshPtblFn(variable_list *, snint *);
-extern variable_list *snmp_meshCtblFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_meshPtblFn(variable_list *, snint *);
+SQUIDCEXTERN variable_list *snmp_meshCtblFn(variable_list *, snint *);
 #endif /* SQUID_SNMP */
 
 #if USE_WCCP
-extern void wccpInit(void);
-extern void wccpConnectionOpen(void);
-extern void wccpConnectionShutdown(void);
-extern void wccpConnectionClose(void);
+SQUIDCEXTERN void wccpInit(void);
+SQUIDCEXTERN void wccpConnectionOpen(void);
+SQUIDCEXTERN void wccpConnectionShutdown(void);
+SQUIDCEXTERN void wccpConnectionClose(void);
 #endif /* USE_WCCP */
 
-extern void icpHandleIcpV3(int, struct sockaddr_in, char *, int);
-extern int icpCheckUdpHit(StoreEntry *, request_t * request);
-extern void icpConnectionsOpen(void);
-extern void icpConnectionShutdown(void);
-extern void icpConnectionClose(void);
-extern int icpSetCacheKey(const cache_key * key);
-extern const cache_key *icpGetCacheKey(const char *url, int reqnum);
-
-extern void ipcache_nbgethostbyname(const char *name,
+SQUIDCEXTERN void ipcache_nbgethostbyname(const char *name,
     IPH * handler,
     void *handlerData);
-extern EVH ipcache_purgelru;
-extern const ipcache_addrs *ipcache_gethostbyname(const char *, int flags);
-extern void ipcacheInvalidate(const char *);
-extern void ipcacheReleaseInvalid(const char *);
-extern void ipcache_init(void);
-extern void stat_ipcache_get(StoreEntry *);
-extern int ipcacheQueueDrain(void);
-extern void ipcacheCycleAddr(const char *name, ipcache_addrs *);
-extern void ipcacheMarkBadAddr(const char *name, struct in_addr);
-extern void ipcacheMarkGoodAddr(const char *name, struct in_addr);
-extern void ipcacheFreeMemory(void);
-extern ipcache_addrs *ipcacheCheckNumeric(const char *name);
-extern void ipcache_restart(void);
-extern int ipcacheAddEntryFromHosts(const char *name, const char *ipaddr);
+SQUIDCEXTERN EVH ipcache_purgelru;
+SQUIDCEXTERN const ipcache_addrs *ipcache_gethostbyname(const char *, int flags);
+SQUIDCEXTERN void ipcacheInvalidate(const char *);
+SQUIDCEXTERN void ipcacheReleaseInvalid(const char *);
+SQUIDCEXTERN void ipcache_init(void);
+SQUIDCEXTERN void stat_ipcache_get(StoreEntry *);
+SQUIDCEXTERN int ipcacheQueueDrain(void);
+SQUIDCEXTERN void ipcacheCycleAddr(const char *name, ipcache_addrs *);
+SQUIDCEXTERN void ipcacheMarkBadAddr(const char *name, struct in_addr);
+SQUIDCEXTERN void ipcacheMarkGoodAddr(const char *name, struct in_addr);
+SQUIDCEXTERN void ipcacheFreeMemory(void);
+SQUIDCEXTERN ipcache_addrs *ipcacheCheckNumeric(const char *name);
+SQUIDCEXTERN void ipcache_restart(void);
+SQUIDCEXTERN int ipcacheAddEntryFromHosts(const char *name, const char *ipaddr);
 
 /* MemBuf */
 /* init with specific sizes */
-extern void memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax);
+SQUIDCEXTERN void memBufInit(MemBuf * mb, mb_size_t szInit, mb_size_t szMax);
 /* init with defaults */
-extern void memBufDefInit(MemBuf * mb);
+SQUIDCEXTERN void memBufDefInit(MemBuf * mb);
 /* cleans mb; last function to call if you do not give .buf away */
-extern void memBufClean(MemBuf * mb);
+SQUIDCEXTERN void memBufClean(MemBuf * mb);
 /* resets mb preserving (or initializing if needed) memory buffer */
-extern void memBufReset(MemBuf * mb);
+SQUIDCEXTERN void memBufReset(MemBuf * mb);
 /* unfirtunate hack to test if the buffer has been Init()ialized */
-extern int memBufIsNull(MemBuf * mb);
+SQUIDCEXTERN int memBufIsNull(MemBuf * mb);
 /* calls memcpy, appends exactly size bytes, extends buffer if needed */
-extern void memBufAppend(MemBuf * mb, const char *buf, mb_size_t size);
+SQUIDCEXTERN void memBufAppend(MemBuf * mb, const char *buf, mb_size_t size);
 /* calls snprintf, extends buffer if needed */
 #if STDC_HEADERS
-extern void
+SQUIDCEXTERN void
 memBufPrintf(MemBuf * mb, const char *fmt,...) PRINTF_FORMAT_ARG2;
 #else
-extern void memBufPrintf();
+SQUIDCEXTERN void memBufPrintf();
 #endif
 /* vprintf for other printf()'s to use */
-extern void memBufVPrintf(MemBuf * mb, const char *fmt, va_list ap);
+SQUIDCEXTERN void memBufVPrintf(MemBuf * mb, const char *fmt, va_list ap);
 /* returns free() function to be used, _freezes_ the object! */
-extern FREE *memBufFreeFunc(MemBuf * mb);
+SQUIDCEXTERN FREE *memBufFreeFunc(MemBuf * mb);
 /* puts report on MemBuf _module_ usage into mb */
-extern void memBufReport(MemBuf * mb);
-
-extern char *mime_get_header(const char *mime, const char *header);
-extern char *mime_get_header_field(const char *mime, const char *name, const char *prefix);
-extern size_t headersEnd(const char *, size_t);
-extern const char *mime_get_auth(const char *hdr, const char *auth_scheme, const char **auth_field);
-
-extern void mimeInit(char *filename);
-extern void mimeFreeMemory(void);
-extern char *mimeGetContentEncoding(const char *fn);
-extern char *mimeGetContentType(const char *fn);
-extern char *mimeGetIcon(const char *fn);
-extern const char *mimeGetIconURL(const char *fn);
-extern char mimeGetTransferMode(const char *fn);
-extern int mimeGetDownloadOption(const char *fn);
-extern int mimeGetViewOption(const char *fn);
-
-extern int mcastSetTtl(int, int);
-extern IPH mcastJoinGroups;
+SQUIDCEXTERN void memBufReport(MemBuf * mb);
+
+SQUIDCEXTERN char *mime_get_header(const char *mime, const char *header);
+SQUIDCEXTERN char *mime_get_header_field(const char *mime, const char *name, const char *prefix);
+SQUIDCEXTERN size_t headersEnd(const char *, size_t);
+SQUIDCEXTERN const char *mime_get_auth(const char *hdr, const char *auth_scheme, const char **auth_field);
+
+SQUIDCEXTERN void mimeInit(char *filename);
+SQUIDCEXTERN void mimeFreeMemory(void);
+SQUIDCEXTERN char *mimeGetContentEncoding(const char *fn);
+SQUIDCEXTERN char *mimeGetContentType(const char *fn);
+SQUIDCEXTERN char const *mimeGetIcon(const char *fn);
+SQUIDCEXTERN const char *mimeGetIconURL(const char *fn);
+SQUIDCEXTERN char mimeGetTransferMode(const char *fn);
+SQUIDCEXTERN int mimeGetDownloadOption(const char *fn);
+SQUIDCEXTERN int mimeGetViewOption(const char *fn);
+
+SQUIDCEXTERN int mcastSetTtl(int, int);
+SQUIDCEXTERN IPH mcastJoinGroups;
 
 /* Labels for hierachical log file */
 /* put them all here for easier reference when writing a logfile analyzer */
 
 
-extern peer *getFirstPeer(void);
-extern peer *getFirstUpParent(request_t *);
-extern peer *getNextPeer(peer *);
-extern peer *getSingleParent(request_t *);
-extern int neighborsCount(request_t *);
-extern int neighborsUdpPing(request_t *,
+SQUIDCEXTERN peer *getFirstPeer(void);
+SQUIDCEXTERN peer *getFirstUpParent(request_t *);
+SQUIDCEXTERN peer *getNextPeer(peer *);
+SQUIDCEXTERN peer *getSingleParent(request_t *);
+SQUIDCEXTERN int neighborsCount(request_t *);
+SQUIDCEXTERN int neighborsUdpPing(request_t *,
     StoreEntry *,
     IRCB * callback,
     void *data,
     int *exprep,
     int *timeout);
-extern void neighborAddAcl(const char *, const char *);
-extern void neighborsUdpAck(const cache_key *, icp_common_t *, const struct sockaddr_in *);
-extern void neighborAdd(const char *, const char *, int, int, int, int, int);
-extern void neighbors_open(int);
-extern peer *peerFindByName(const char *);
-extern peer *peerFindByNameAndPort(const char *, unsigned short);
-extern peer *getDefaultParent(request_t * request);
-extern peer *getRoundRobinParent(request_t * request);
-extern peer *getWeightedRoundRobinParent(request_t * request);
-EVH peerClearRR;
-extern peer *getAnyParent(request_t * request);
-extern lookup_t peerDigestLookup(peer * p, request_t * request);
-extern peer *neighborsDigestSelect(request_t * request);
-extern void peerNoteDigestLookup(request_t * request, peer * p, lookup_t lookup);
-extern void peerNoteDigestGone(peer * p);
-extern int neighborUp(const peer * e);
-extern CBDUNL peerDestroy;
-extern const char *neighborTypeStr(const peer * e);
-extern peer_t neighborType(const peer *, const request_t *);
-extern void peerConnectFailed(peer *);
-extern void peerConnectSucceded(peer *);
-extern void dump_peer_options(StoreEntry *, peer *);
-extern int peerHTTPOkay(const peer *, request_t *);
-extern peer *whichPeer(const struct sockaddr_in *from);
+SQUIDCEXTERN void neighborAddAcl(const char *, const char *);
+SQUIDCEXTERN void neighborsUdpAck(const cache_key *, icp_common_t *, const struct sockaddr_in *);
+SQUIDCEXTERN void neighborAdd(const char *, const char *, int, int, int, int, int);
+SQUIDCEXTERN void neighbors_open(int);
+SQUIDCEXTERN peer *peerFindByName(const char *);
+SQUIDCEXTERN peer *peerFindByNameAndPort(const char *, unsigned short);
+SQUIDCEXTERN peer *getDefaultParent(request_t * request);
+SQUIDCEXTERN peer *getRoundRobinParent(request_t * request);
+SQUIDCEXTERN peer *getWeightedRoundRobinParent(request_t * request);
+SQUIDCEXTERN EVH peerClearRR;
+SQUIDCEXTERN peer *getAnyParent(request_t * request);
+SQUIDCEXTERN lookup_t peerDigestLookup(peer * p, request_t * request);
+SQUIDCEXTERN peer *neighborsDigestSelect(request_t * request);
+SQUIDCEXTERN void peerNoteDigestLookup(request_t * request, peer * p, lookup_t lookup);
+SQUIDCEXTERN void peerNoteDigestGone(peer * p);
+SQUIDCEXTERN int neighborUp(const peer * e);
+SQUIDCEXTERN CBDUNL peerDestroy;
+SQUIDCEXTERN const char *neighborTypeStr(const peer * e);
+SQUIDCEXTERN peer_t neighborType(const peer *, const request_t *);
+SQUIDCEXTERN void peerConnectFailed(peer *);
+SQUIDCEXTERN void peerConnectSucceded(peer *);
+SQUIDCEXTERN void dump_peer_options(StoreEntry *, peer *);
+SQUIDCEXTERN int peerHTTPOkay(const peer *, request_t *);
+SQUIDCEXTERN peer *whichPeer(const struct sockaddr_in *from);
 #if USE_HTCP
-extern void neighborsHtcpReply(const cache_key *, htcpReplyData *, const struct sockaddr_in *);
+SQUIDCEXTERN void neighborsHtcpReply(const cache_key *, htcpReplyData *, const struct sockaddr_in *);
 #endif
 
-extern void netdbInit(void);
-extern void netdbHandlePingReply(const struct sockaddr_in *from, int hops, int rtt);
-extern void netdbPingSite(const char *hostname);
-extern void netdbDump(StoreEntry *);
-extern int netdbHops(struct in_addr);
-extern void netdbFreeMemory(void);
-extern int netdbHostHops(const char *host);
-extern int netdbHostRtt(const char *host);
-extern int netdbHostPeerRtt(const char *host, peer * p);
-extern void netdbUpdatePeer(request_t *, peer * e, int rtt, int hops);
-extern void netdbDeleteAddrNetwork(struct in_addr addr);
-extern void netdbBinaryExchange(StoreEntry *);
-extern EVH netdbExchangeStart;
-extern void netdbExchangeUpdatePeer(struct in_addr, peer *, double, double);
-extern peer *netdbClosestParent(request_t *);
-extern void netdbHostData(const char *host, int *samp, int *rtt, int *hops);
-
-extern void cachemgrStart(int fd, request_t * request, StoreEntry * entry);
-extern void cachemgrRegister(const char *, const char *, OBJH *, int, int);
-extern void cachemgrInit(void);
-
-extern void peerSelect(request_t *, StoreEntry *, PSC *, void *data);
-extern void peerSelectInit(void);
+SQUIDCEXTERN void netdbInit(void);
+SQUIDCEXTERN void netdbHandlePingReply(const struct sockaddr_in *from, int hops, int rtt);
+SQUIDCEXTERN void netdbPingSite(const char *hostname);
+SQUIDCEXTERN void netdbDump(StoreEntry *);
+SQUIDCEXTERN int netdbHops(struct in_addr);
+SQUIDCEXTERN void netdbFreeMemory(void);
+SQUIDCEXTERN int netdbHostHops(const char *host);
+SQUIDCEXTERN int netdbHostRtt(const char *host);
+SQUIDCEXTERN int netdbHostPeerRtt(const char *host, peer * p);
+SQUIDCEXTERN void netdbUpdatePeer(request_t *, peer * e, int rtt, int hops);
+SQUIDCEXTERN void netdbDeleteAddrNetwork(struct in_addr addr);
+SQUIDCEXTERN void netdbBinaryExchange(StoreEntry *);
+SQUIDCEXTERN EVH netdbExchangeStart;
+SQUIDCEXTERN void netdbExchangeUpdatePeer(struct in_addr, peer *, double, double);
+SQUIDCEXTERN peer *netdbClosestParent(request_t *);
+SQUIDCEXTERN void netdbHostData(const char *host, int *samp, int *rtt, int *hops);
+
+SQUIDCEXTERN void cachemgrStart(int fd, request_t * request, StoreEntry * entry);
+SQUIDCEXTERN void cachemgrRegister(const char *, const char *, OBJH *, int, int);
+SQUIDCEXTERN void cachemgrInit(void);
+
+SQUIDCEXTERN void peerSelect(request_t *, StoreEntry *, PSC *, void *data);
+SQUIDCEXTERN void peerSelectInit(void);
 
 /* peer_digest.c */
-extern PeerDigest *peerDigestCreate(peer * p);
-extern void peerDigestNeeded(PeerDigest * pd);
-extern void peerDigestNotePeerGone(PeerDigest * pd);
-extern void peerDigestStatsReport(const PeerDigest * pd, StoreEntry * e);
+SQUIDCEXTERN PeerDigest *peerDigestCreate(peer * p);
+SQUIDCEXTERN void peerDigestNeeded(PeerDigest * pd);
+SQUIDCEXTERN void peerDigestNotePeerGone(PeerDigest * pd);
+SQUIDCEXTERN void peerDigestStatsReport(const PeerDigest * pd, StoreEntry * e);
 
 /* forward.c */
-extern void fwdStart(int, StoreEntry *, request_t *);
-extern DEFER fwdCheckDeferRead;
-extern void fwdFail(FwdState *, ErrorState *);
-extern void fwdUnregister(int fd, FwdState *);
-extern void fwdComplete(FwdState * fwdState);
-extern void fwdInit(void);
-extern int fwdReforwardableStatus(http_status s);
-extern void fwdServersFree(FwdServer ** FS);
+SQUIDCEXTERN void fwdStart(int, StoreEntry *, request_t *);
+SQUIDCEXTERN DEFER fwdCheckDeferRead;
+SQUIDCEXTERN void fwdFail(FwdState *, ErrorState *);
+SQUIDCEXTERN void fwdUnregister(int fd, FwdState *);
+SQUIDCEXTERN void fwdComplete(FwdState * fwdState);
+SQUIDCEXTERN void fwdInit(void);
+SQUIDCEXTERN int fwdReforwardableStatus(http_status s);
+SQUIDCEXTERN void fwdServersFree(FwdServer ** FS);
 #if WIP_FWD_LOG
-extern void fwdUninit(void);
-extern void fwdLogRotate(void);
-extern void fwdStatus(FwdState *, http_status);
+SQUIDCEXTERN void fwdUninit(void);
+SQUIDCEXTERN void fwdLogRotate(void);
+SQUIDCEXTERN void fwdStatus(FwdState *, http_status);
 #endif
-struct in_addr getOutgoingAddr(request_t * request);
+SQUIDCEXTERN struct in_addr getOutgoingAddr(request_t * request);
 unsigned long getOutgoingTOS(request_t * request);
 
-extern void urnStart(request_t *, StoreEntry *);
-
-extern void redirectStart(clientHttpRequest *, RH *, void *);
-extern void redirectInit(void);
-extern void redirectShutdown(void);
-
-/* auth_modules.c */
-extern void authSchemeSetup(void);
-
-/* authenticate.c */
-extern void authenticateAuthUserMerge(auth_user_t *, auth_user_t *);
-extern auth_user_t *authenticateAuthUserNew(const char *);
-extern int authenticateAuthSchemeId(const char *typestr);
-extern void authenticateStart(auth_user_request_t *, RH *, void *);
-extern void authenticateSchemeInit(void);
-extern void authenticateInit(authConfig *);
-extern void authenticateShutdown(void);
-extern void authenticateFixHeader(HttpReply *, auth_user_request_t *, request_t *, int, int);
-extern void authenticateAddTrailer(HttpReply *, auth_user_request_t *, request_t *, int);
-extern auth_acl_t authenticateTryToAuthenticateAndSetAuthUser(auth_user_request_t **, http_hdr_type, request_t *, ConnStateData *, struct in_addr);
-extern void authenticateAuthUserUnlock(auth_user_t * auth_user);
-extern void authenticateAuthUserLock(auth_user_t * auth_user);
-extern void authenticateAuthUserRequestUnlock(auth_user_request_t *);
-extern void authenticateAuthUserRequestLock(auth_user_request_t *);
-extern char *authenticateAuthUserRequestMessage(auth_user_request_t *);
-extern int authenticateAuthUserInuse(auth_user_t * auth_user);
-extern void authenticateAuthUserRequestRemoveIp(auth_user_request_t *, struct in_addr);
-extern void authenticateAuthUserRequestClearIp(auth_user_request_t *);
-extern size_t authenticateAuthUserRequestIPCount(auth_user_request_t *);
-extern int authenticateDirection(auth_user_request_t *);
-extern FREE authenticateFreeProxyAuthUser;
-extern void authenticateFreeProxyAuthUserACLResults(void *data);
-extern void authenticateProxyUserCacheCleanup(void *);
-extern void authenticateInitUserCache(void);
-extern int authenticateActiveSchemeCount(void);
-extern int authenticateSchemeCount(void);
-extern void authenticateUserNameCacheAdd(auth_user_t * auth_user);
-extern int authenticateCheckAuthUserIP(struct in_addr request_src_addr, auth_user_request_t * auth_user);
-extern int authenticateUserAuthenticated(auth_user_request_t *);
-extern void authenticateUserCacheRestart(void);
-extern char *authenticateUserUsername(auth_user_t *);
-extern char *authenticateUserRequestUsername(auth_user_request_t *);
-extern int authenticateValidateUser(auth_user_request_t *);
-extern void authenticateOnCloseConnection(ConnStateData * conn);
-extern void authSchemeAdd(const char *type, AUTHSSETUP * setup);
+SQUIDCEXTERN void urnStart(request_t *, StoreEntry *);
+
+SQUIDCEXTERN void redirectStart(clientHttpRequest *, RH *, void *);
+SQUIDCEXTERN void redirectInit(void);
+SQUIDCEXTERN void redirectShutdown(void);
+
+SQUIDCEXTERN void refreshAddToList(const char *, int, time_t, int, time_t);
+SQUIDCEXTERN int refreshIsCachable(const StoreEntry *);
+SQUIDCEXTERN int refreshCheckHTTP(const StoreEntry *, request_t *);
+SQUIDCEXTERN int refreshCheckICP(const StoreEntry *, request_t *);
+SQUIDCEXTERN int refreshCheckHTCP(const StoreEntry *, request_t *);
+SQUIDCEXTERN int refreshCheckDigest(const StoreEntry *, time_t delta);
+SQUIDCEXTERN time_t getMaxAge(const char *url);
+SQUIDCEXTERN void refreshInit(void);
+
+SQUIDCEXTERN void serverConnectionsClose(void);
+SQUIDCEXTERN void shut_down(int);
+
+
+SQUIDCEXTERN void start_announce(void *unused);
+SQUIDCEXTERN void sslStart(clientHttpRequest *, size_t *, int *);
+SQUIDCEXTERN void waisStart(FwdState *);
 
 extern void refreshAddToList(const char *, int, time_t, int, time_t);
 extern int refreshIsCachable(const StoreEntry *);
@@ -794,377 +762,315 @@ extern void waisStart(FwdState *);
 
 /* ident.c */
 #if USE_IDENT
-extern void identStart(struct sockaddr_in *me, struct sockaddr_in *my_peer,
+SQUIDCEXTERN void identStart(struct sockaddr_in *me, struct sockaddr_in *my_peer,
     IDCB * callback, void *cbdata);
-extern void identInit(void);
+SQUIDCEXTERN void identInit(void);
 #endif
 
-extern void statInit(void);
-extern void statFreeMemory(void);
-extern double median_svc_get(int, int);
-extern void pconnHistCount(int, int);
-extern int stat5minClientRequests(void);
-extern double stat5minCPUUsage(void);
-extern const char *storeEntryFlags(const StoreEntry *);
-extern double statRequestHitRatio(int minutes);
-extern double statRequestHitMemoryRatio(int minutes);
-extern double statRequestHitDiskRatio(int minutes);
-extern double statByteHitRatio(int minutes);
-extern int storeEntryLocked(const StoreEntry *);
-
+SQUIDCEXTERN void statInit(void);
+SQUIDCEXTERN void statFreeMemory(void);
+SQUIDCEXTERN double median_svc_get(int, int);
+SQUIDCEXTERN void pconnHistCount(int, int);
+SQUIDCEXTERN int stat5minClientRequests(void);
+SQUIDCEXTERN double stat5minCPUUsage(void);
+SQUIDCEXTERN double statRequestHitRatio(int minutes);
+SQUIDCEXTERN double statRequestHitMemoryRatio(int minutes);
+SQUIDCEXTERN double statRequestHitDiskRatio(int minutes);
+SQUIDCEXTERN double statByteHitRatio(int minutes);
 
 /* StatHist */
-extern void statHistClean(StatHist * H);
-extern void statHistCount(StatHist * H, double val);
-extern void statHistCopy(StatHist * Dest, const StatHist * Orig);
-extern void statHistSafeCopy(StatHist * Dest, const StatHist * Orig);
-extern double statHistDeltaMedian(const StatHist * A, const StatHist * B);
-extern void statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper * bd);
-extern void statHistLogInit(StatHist * H, int capacity, double min, double max);
-extern void statHistEnumInit(StatHist * H, int last_enum);
-extern void statHistIntInit(StatHist * H, int n);
-extern StatHistBinDumper statHistEnumDumper;
-extern StatHistBinDumper statHistIntDumper;
+SQUIDCEXTERN void statHistClean(StatHist * H);
+SQUIDCEXTERN void statHistCount(StatHist * H, double val);
+SQUIDCEXTERN void statHistCopy(StatHist * Dest, const StatHist * Orig);
+SQUIDCEXTERN void statHistSafeCopy(StatHist * Dest, const StatHist * Orig);
+SQUIDCEXTERN double statHistDeltaMedian(const StatHist * A, const StatHist * B);
+SQUIDCEXTERN void statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper * bd);
+SQUIDCEXTERN void statHistLogInit(StatHist * H, int capacity, double min, double max);
+SQUIDCEXTERN void statHistEnumInit(StatHist * H, int last_enum);
+SQUIDCEXTERN void statHistIntInit(StatHist * H, int n);
+SQUIDCEXTERN StatHistBinDumper statHistEnumDumper;
+SQUIDCEXTERN StatHistBinDumper statHistIntDumper;
 
 
 /* mem */
-extern void memInit(void);
-extern void memClean(void);
-extern void memInitModule(void);
-extern void memCleanModule(void);
-extern void memConfigure(void);
-extern void *memAllocate(mem_type);
-extern void *memAllocString(size_t net_size, size_t * gross_size);
-extern void *memAllocBuf(size_t net_size, size_t * gross_size);
-extern void *memReallocBuf(void *buf, size_t net_size, size_t * gross_size);
-extern void memFree(void *, int type);
-extern void memFree4K(void *);
-extern void memFree8K(void *);
-extern void memFreeString(size_t size, void *);
-extern void memFreeBuf(size_t size, void *);
-extern FREE *memFreeBufFunc(size_t size);
-extern int memInUse(mem_type);
-extern void memDataInit(mem_type, const char *, size_t, int);
-extern void memCheckInit(void);
+SQUIDCEXTERN void memInit(void);
+SQUIDCEXTERN void memClean(void);
+SQUIDCEXTERN void memInitModule(void);
+SQUIDCEXTERN void memCleanModule(void);
+SQUIDCEXTERN void memConfigure(void);
+SQUIDCEXTERN void *memAllocate(mem_type);
+SQUIDCEXTERN void *memAllocString(size_t net_size, size_t * gross_size);
+SQUIDCEXTERN void *memAllocBuf(size_t net_size, size_t * gross_size);
+SQUIDCEXTERN void *memReallocBuf(void *buf, size_t net_size, size_t * gross_size);
+SQUIDCEXTERN void memFree(void *, int type);
+SQUIDCEXTERN void memFree4K(void *);
+SQUIDCEXTERN void memFree8K(void *);
+SQUIDCEXTERN void memFreeString(size_t size, void *);
+SQUIDCEXTERN void memFreeBuf(size_t size, void *);
+SQUIDCEXTERN FREE *memFreeBufFunc(size_t size);
+SQUIDCEXTERN int memInUse(mem_type);
+SQUIDCEXTERN void memDataInit(mem_type, const char *, size_t, int);
+SQUIDCEXTERN void memCheckInit(void);
 
 /* MemPool */
-extern MemPool *memPoolCreate(const char *label, size_t obj_size);
-extern void *memPoolAlloc(MemPool * pool);
-extern void memPoolFree(MemPool * pool, void *obj);
-extern void memPoolDestroy(MemPool ** pool);
-extern MemPoolIterator *memPoolGetFirst(void);
-extern MemPool *memPoolGetNext(MemPoolIterator ** iter);
-extern void memPoolSetChunkSize(MemPool * pool, size_t chunksize);
-extern void memPoolSetIdleLimit(size_t new_idle_limit);
-extern int memPoolGetStats(MemPoolStats * stats, MemPool * pool);
-extern int memPoolGetGlobalStats(MemPoolGlobalStats * stats);
-extern void memPoolClean(time_t maxage);
+SQUIDCEXTERN MemPool *memPoolCreate(const char *label, size_t obj_size);
+SQUIDCEXTERN void *memPoolAlloc(MemPool * pool);
+SQUIDCEXTERN void memPoolFree(MemPool * pool, void *obj);
+SQUIDCEXTERN void memPoolDestroy(MemPool ** pool);
+SQUIDCEXTERN MemPoolIterator *memPoolGetFirst(void);
+SQUIDCEXTERN MemPool *memPoolGetNext(MemPoolIterator ** iter);
+SQUIDCEXTERN void memPoolSetChunkSize(MemPool * pool, size_t chunksize);
+SQUIDCEXTERN void memPoolSetIdleLimit(size_t new_idle_limit);
+SQUIDCEXTERN int memPoolGetStats(MemPoolStats * stats, MemPool * pool);
+SQUIDCEXTERN int memPoolGetGlobalStats(MemPoolGlobalStats * stats);
+SQUIDCEXTERN void memPoolClean(time_t maxage);
 
 /* Mem */
-extern void memReport(StoreEntry * e);
-extern void memConfigure(void);
-extern void memPoolCleanIdlePools(void *unused);
-extern int memPoolInUseCount(MemPool * pool);
-extern int memPoolsTotalAllocated(void);
-
-extern int stmemFreeDataUpto(mem_hdr *, int);
-extern void stmemAppend(mem_hdr *, const char *, int);
-extern ssize_t stmemCopy(const mem_hdr *, off_t, char *, size_t);
-extern void stmemFree(mem_hdr *);
-extern void stmemFreeData(mem_hdr *);
+SQUIDCEXTERN void memReport(StoreEntry * e);
+SQUIDCEXTERN void memConfigure(void);
+SQUIDCEXTERN void memPoolCleanIdlePools(void *unused);
+SQUIDCEXTERN int memPoolInUseCount(MemPool * pool);
+SQUIDCEXTERN int memPoolsTotalAllocated(void);
+
+SQUIDCEXTERN int stmemFreeDataUpto(mem_hdr *, int);
+SQUIDCEXTERN void stmemAppend(mem_hdr *, const char *, int);
+SQUIDCEXTERN ssize_t stmemCopy(const mem_hdr *, off_t, char *, size_t);
+SQUIDCEXTERN void stmemFree(mem_hdr *);
+SQUIDCEXTERN void stmemFreeData(mem_hdr *);
 
 /* ----------------------------------------------------------------- */
 
-/*
- * store.c
- */
-extern StoreEntry *new_StoreEntry(int, const char *, const char *);
-extern StoreEntry *storeGet(const cache_key *);
-extern StoreEntry *storeGetPublic(const char *uri, const method_t method);
-extern StoreEntry *storeGetPublicByRequest(request_t * request);
-extern StoreEntry *storeGetPublicByRequestMethod(request_t * request, const method_t method);
-extern StoreEntry *storeCreateEntry(const char *, const char *, request_flags, method_t);
-extern void storeSetPublicKey(StoreEntry *);
-extern void storeComplete(StoreEntry *);
-extern void storeInit(void);
-extern void storeAbort(StoreEntry *);
-extern void storeAppend(StoreEntry *, const char *, int);
-extern void storeLockObject(StoreEntry *);
-extern void storeRelease(StoreEntry *);
-extern int storeUnlockObject(StoreEntry *);
-extern EVH storeMaintainSwapSpace;
-extern void storeExpireNow(StoreEntry *);
-extern void storeReleaseRequest(StoreEntry *);
-extern void storeConfigure(void);
-extern int storeCheckNegativeHit(StoreEntry *);
-extern void storeNegativeCache(StoreEntry *);
-extern void storeFreeMemory(void);
-extern int expiresMoreThan(time_t, time_t);
-extern int storeEntryValidToSend(StoreEntry *);
-extern void storeTimestampsSet(StoreEntry *);
-extern void storeRegisterAbort(StoreEntry * e, STABH * cb, void *);
-extern void storeUnregisterAbort(StoreEntry * e);
-extern void storeMemObjectDump(MemObject * mem);
-extern void storeEntryDump(const StoreEntry * e, int debug_lvl);
-extern const char *storeUrl(const StoreEntry *);
-extern void storeCreateMemObject(StoreEntry *, const char *, const char *);
-extern void storeCopyNotModifiedReplyHeaders(MemObject * O, MemObject * N);
-extern void storeBuffer(StoreEntry *);
-extern void storeBufferFlush(StoreEntry *);
-extern void storeHashInsert(StoreEntry * e, const cache_key *);
-extern void storeSetMemStatus(StoreEntry * e, int);
-#if STDC_HEADERS
-extern void
-storeAppendPrintf(StoreEntry *, const char *,...) PRINTF_FORMAT_ARG2;
-#else
-extern void storeAppendPrintf();
-#endif
-extern void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
-extern int storeCheckCachable(StoreEntry * e);
-extern void storeSetPrivateKey(StoreEntry *);
-extern int objectLen(const StoreEntry * e);
-extern int contentLen(const StoreEntry * e);
-extern HttpReply *storeEntryReply(StoreEntry *);
-extern int storeTooManyDiskFilesOpen(void);
-extern void storeEntryReset(StoreEntry *);
-extern void storeHeapPositionUpdate(StoreEntry *, SwapDir *);
-extern void storeSwapFileNumberSet(StoreEntry * e, sfileno filn);
-extern void storeFsInit(void);
-extern void storeFsDone(void);
-extern void storeFsAdd(const char *, STSETUP *);
-extern void storeReplAdd(const char *, REMOVALPOLICYCREATE *);
-
 /* store_modules.c */
-extern void storeFsSetup(void);
+SQUIDCEXTERN void storeFsSetup(void);
 
 /* repl_modules.c */
-extern void storeReplSetup(void);
+SQUIDCEXTERN void storeReplSetup(void);
 
 /* store_io.c */
-extern storeIOState *storeCreate(StoreEntry *, STFNCB *, STIOCB *, void *);
-extern storeIOState *storeOpen(StoreEntry *, STFNCB *, STIOCB *, void *);
-extern void storeClose(storeIOState *);
-extern void storeRead(storeIOState *, char *, size_t, off_t, STRCB *, void *);
-extern void storeWrite(storeIOState *, char *, size_t, off_t, FREE *);
-extern void storeUnlink(StoreEntry *);
-extern off_t storeOffset(storeIOState *);
+SQUIDCEXTERN storeIOState *storeCreate(StoreEntry *, STFNCB *, STIOCB *, void *);
+SQUIDCEXTERN storeIOState *storeOpen(StoreEntry *, STFNCB *, STIOCB *, void *);
+SQUIDCEXTERN void storeClose(storeIOState *);
+SQUIDCEXTERN void storeRead(storeIOState *, char *, size_t, off_t, STRCB *, void *);
+SQUIDCEXTERN void storeWrite(storeIOState *, char *, size_t, off_t, FREE *);
+SQUIDCEXTERN void storeUnlink(StoreEntry *);
+SQUIDCEXTERN off_t storeOffset(storeIOState *);
 
 /*
  * store_log.c
  */
-extern void storeLog(int tag, const StoreEntry * e);
-extern void storeLogRotate(void);
-extern void storeLogClose(void);
-extern void storeLogOpen(void);
+SQUIDCEXTERN void storeLog(int tag, const StoreEntry * e);
+SQUIDCEXTERN void storeLogRotate(void);
+SQUIDCEXTERN void storeLogClose(void);
+SQUIDCEXTERN void storeLogOpen(void);
 
 
 /*
  * store_key_*.c
  */
-extern cache_key *storeKeyDup(const cache_key *);
-extern cache_key *storeKeyCopy(cache_key *, const cache_key *);
-extern void storeKeyFree(const cache_key *);
-extern const cache_key *storeKeyScan(const char *);
-extern const char *storeKeyText(const cache_key *);
-extern const cache_key *storeKeyPublic(const char *, const method_t);
-extern const cache_key *storeKeyPublicByRequest(request_t *);
-extern const cache_key *storeKeyPublicByRequestMethod(request_t *, const method_t);
-extern const cache_key *storeKeyPrivate(const char *, method_t, int);
-extern int storeKeyHashBuckets(int);
-extern int storeKeyNull(const cache_key *);
-extern void storeKeyInit(void);
-extern HASHHASH storeKeyHashHash;
-extern HASHCMP storeKeyHashCmp;
+SQUIDCEXTERN cache_key *storeKeyDup(const cache_key *);
+SQUIDCEXTERN cache_key *storeKeyCopy(cache_key *, const cache_key *);
+SQUIDCEXTERN void storeKeyFree(const cache_key *);
+SQUIDCEXTERN const cache_key *storeKeyScan(const char *);
+SQUIDCEXTERN const char *storeKeyText(const cache_key *);
+SQUIDCEXTERN const cache_key *storeKeyPublic(const char *, const method_t);
+SQUIDCEXTERN const cache_key *storeKeyPublicByRequest(request_t *);
+SQUIDCEXTERN const cache_key *storeKeyPublicByRequestMethod(request_t *, const method_t);
+SQUIDCEXTERN const cache_key *storeKeyPrivate(const char *, method_t, int);
+SQUIDCEXTERN int storeKeyHashBuckets(int);
+SQUIDCEXTERN int storeKeyNull(const cache_key *);
+SQUIDCEXTERN void storeKeyInit(void);
+SQUIDCEXTERN HASHHASH storeKeyHashHash;
+SQUIDCEXTERN HASHCMP storeKeyHashCmp;
 
 /*
  * store_digest.c
  */
-extern void storeDigestInit(void);
-extern void storeDigestNoteStoreReady(void);
-extern void storeDigestScheduleRebuild(void);
-extern void storeDigestDel(const StoreEntry * entry);
-extern void storeDigestReport(StoreEntry *);
+SQUIDCEXTERN void storeDigestInit(void);
+SQUIDCEXTERN void storeDigestNoteStoreReady(void);
+SQUIDCEXTERN void storeDigestScheduleRebuild(void);
+SQUIDCEXTERN void storeDigestDel(const StoreEntry * entry);
+SQUIDCEXTERN void storeDigestReport(StoreEntry *);
 
 /*
  * store_dir.c
  */
-extern OBJH storeDirStats;
-extern char *storeDirSwapLogFile(int, const char *);
-extern char *storeSwapDir(int);
-extern char *storeSwapFullPath(int, char *);
-extern char *storeSwapSubSubDir(int, char *);
-extern const char *storeSwapPath(int);
-extern int storeDirWriteCleanLogs(int reopen);
-extern STDIRSELECT *storeDirSelectSwapDir;
-extern int storeVerifySwapDirs(void);
-extern void storeCreateSwapDirectories(void);
-extern void storeDirCloseSwapLogs(void);
-extern void storeDirCloseTmpSwapLog(int dirn);
-extern void storeDirConfigure(void);
-extern void storeDirDiskFull(sdirno);
-extern void storeDirInit(void);
-extern void storeDirOpenSwapLogs(void);
-extern void storeDirSwapLog(const StoreEntry *, int op);
-extern void storeDirUpdateSwapSize(SwapDir *, size_t size, int sign);
-extern void storeDirSync(void);
-extern void storeDirCallback(void);
-extern void storeDirLRUDelete(StoreEntry *);
-extern void storeDirLRUAdd(StoreEntry *);
-extern int storeDirGetBlkSize(const char *path, int *blksize);
-extern int storeDirGetUFSStats(const char *, int *, int *, int *, int *);
+SQUIDCEXTERN OBJH storeDirStats;
+SQUIDCEXTERN char *storeDirSwapLogFile(int, const char *);
+SQUIDCEXTERN char *storeSwapDir(int);
+SQUIDCEXTERN char *storeSwapFullPath(int, char *);
+SQUIDCEXTERN char *storeSwapSubSubDir(int, char *);
+SQUIDCEXTERN const char *storeSwapPath(int);
+SQUIDCEXTERN int storeDirWriteCleanLogs(int reopen);
+SQUIDCEXTERN STDIRSELECT *storeDirSelectSwapDir;
+SQUIDCEXTERN int storeVerifySwapDirs(void);
+SQUIDCEXTERN void storeCreateSwapDirectories(void);
+SQUIDCEXTERN void storeDirCloseSwapLogs(void);
+SQUIDCEXTERN void storeDirCloseTmpSwapLog(int dirn);
+SQUIDCEXTERN void storeDirConfigure(void);
+SQUIDCEXTERN void storeDirDiskFull(sdirno);
+SQUIDCEXTERN void storeDirInit(void);
+SQUIDCEXTERN void storeDirOpenSwapLogs(void);
+SQUIDCEXTERN void storeDirSwapLog(const StoreEntry *, int op);
+SQUIDCEXTERN void storeDirUpdateSwapSize(SwapDir *, size_t size, int sign);
+SQUIDCEXTERN void storeDirSync(void);
+SQUIDCEXTERN void storeDirCallback(void);
+SQUIDCEXTERN void storeDirLRUDelete(StoreEntry *);
+SQUIDCEXTERN void storeDirLRUAdd(StoreEntry *);
+SQUIDCEXTERN int storeDirGetBlkSize(const char *path, int *blksize);
+SQUIDCEXTERN int storeDirGetUFSStats(const char *, int *, int *, int *, int *);
 
 /*
  * store_swapmeta.c
  */
-extern char *storeSwapMetaPack(tlv * tlv_list, int *length);
-extern tlv *storeSwapMetaBuild(StoreEntry * e);
-extern tlv *storeSwapMetaUnpack(const char *buf, int *hdrlen);
-extern void storeSwapTLVFree(tlv * n);
+SQUIDCEXTERN char *storeSwapMetaPack(tlv * tlv_list, int *length);
+SQUIDCEXTERN tlv *storeSwapMetaBuild(StoreEntry * e);
+SQUIDCEXTERN tlv *storeSwapMetaUnpack(const char *buf, int *hdrlen);
+SQUIDCEXTERN void storeSwapTLVFree(tlv * n);
 
 /*
  * store_rebuild.c
  */
-extern void storeRebuildStart(void);
-extern void storeRebuildComplete(struct _store_rebuild_data *);
-extern void storeRebuildProgress(int sd_index, int total, int sofar);
+SQUIDCEXTERN void storeRebuildStart(void);
+SQUIDCEXTERN void storeRebuildComplete(struct _store_rebuild_data *);
+SQUIDCEXTERN void storeRebuildProgress(int sd_index, int total, int sofar);
 
 /*
  * store_swapin.c
  */
-extern void storeSwapInStart(store_client *);
+SQUIDCEXTERN void storeSwapInStart(store_client *);
 
 /*
  * store_swapout.c
  */
-extern void storeSwapOut(StoreEntry * e);
-extern void storeSwapOutFileClose(StoreEntry * e);
-extern int storeSwapOutAble(const StoreEntry * e);
+SQUIDCEXTERN void storeSwapOut(StoreEntry * e);
+SQUIDCEXTERN void storeSwapOutFileClose(StoreEntry * e);
+SQUIDCEXTERN int storeSwapOutAble(const StoreEntry * e);
 
 /*
  * store_client.c
  */
-extern store_client *storeClientListAdd(StoreEntry * e, void *data);
-extern int storeClientCopyPending(store_client *, StoreEntry * e, void *data);
-extern int storeUnregister(store_client * sc, StoreEntry * e, void *data);
-extern off_t storeLowestMemReaderOffset(const StoreEntry * entry);
-extern void InvokeHandlers(StoreEntry * e);
-extern int storePendingNClients(const StoreEntry * e);
-extern int storeClientIsThisAClient(store_client * sc, void *someClient);
-
-
-extern const char *getMyHostname(void);
-extern const char *uniqueHostname(void);
-extern void safeunlink(const char *path, int quiet);
-extern void death(int sig);
-extern void fatal(const char *message);
+SQUIDCEXTERN store_client *storeClientListAdd(StoreEntry * e, void *data);
+SQUIDCEXTERN int storeClientCopyPending(store_client *, StoreEntry * e, void *data);
+SQUIDCEXTERN int storeUnregister(store_client * sc, StoreEntry * e, void *data);
+SQUIDCEXTERN off_t storeLowestMemReaderOffset(const StoreEntry * entry);
+SQUIDCEXTERN void InvokeHandlers(StoreEntry * e);
+SQUIDCEXTERN int storePendingNClients(const StoreEntry * e);
+SQUIDCEXTERN int storeClientIsThisAClient(store_client * sc, void *someClient);
+
+
+SQUIDCEXTERN const char *getMyHostname(void);
+SQUIDCEXTERN const char *uniqueHostname(void);
+SQUIDCEXTERN void safeunlink(const char *path, int quiet);
+SQUIDCEXTERN void death(int sig);
+SQUIDCEXTERN void fatal(const char *message);
 #if STDC_HEADERS
-extern void
+SQUIDCEXTERN void
 fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
 #else
-extern void fatalf();
+SQUIDCEXTERN void fatalf();
 #endif
-extern void fatal_dump(const char *message);
-extern void sigusr2_handle(int sig);
-extern void sig_child(int sig);
-extern void leave_suid(void);
-extern void enter_suid(void);
-extern void no_suid(void);
-extern void writePidFile(void);
-extern void setSocketShutdownLifetimes(int);
-extern void setMaxFD(void);
-extern time_t getCurrentTime(void);
-extern int percent(int, int);
-extern double dpercent(double, double);
-extern void squid_signal(int sig, SIGHDLR *, int flags);
-extern pid_t readPidFile(void);
-extern struct in_addr inaddrFromHostent(const struct hostent *hp);
-extern int intAverage(int, int, int, int);
-extern double doubleAverage(double, double, int, int);
-extern void debug_trap(const char *);
-extern void logsFlush(void);
-extern const char *checkNullString(const char *p);
-extern void squid_getrusage(struct rusage *r);
-extern double rusage_cputime(struct rusage *r);
-extern int rusage_maxrss(struct rusage *r);
-extern int rusage_pagefaults(struct rusage *r);
-extern void releaseServerSockets(void);
-extern void PrintRusage(void);
-extern void dumpMallocStats(void);
+SQUIDCEXTERN void fatal_dump(const char *message);
+SQUIDCEXTERN void sigusr2_handle(int sig);
+SQUIDCEXTERN void sig_child(int sig);
+SQUIDCEXTERN void leave_suid(void);
+SQUIDCEXTERN void enter_suid(void);
+SQUIDCEXTERN void no_suid(void);
+SQUIDCEXTERN void writePidFile(void);
+SQUIDCEXTERN void setSocketShutdownLifetimes(int);
+SQUIDCEXTERN void setMaxFD(void);
+SQUIDCEXTERN time_t getCurrentTime(void);
+SQUIDCEXTERN int percent(int, int);
+SQUIDCEXTERN double dpercent(double, double);
+SQUIDCEXTERN void squid_signal(int sig, SIGHDLR *, int flags);
+SQUIDCEXTERN pid_t readPidFile(void);
+SQUIDCEXTERN struct in_addr inaddrFromHostent(const struct hostent *hp);
+SQUIDCEXTERN int intAverage(int, int, int, int);
+SQUIDCEXTERN double doubleAverage(double, double, int, int);
+SQUIDCEXTERN void debug_trap(const char *);
+SQUIDCEXTERN void logsFlush(void);
+SQUIDCEXTERN const char *checkNullString(const char *p);
+SQUIDCEXTERN void squid_getrusage(struct rusage *r);
+SQUIDCEXTERN double rusage_cputime(struct rusage *r);
+SQUIDCEXTERN int rusage_maxrss(struct rusage *r);
+SQUIDCEXTERN int rusage_pagefaults(struct rusage *r);
+SQUIDCEXTERN void releaseServerSockets(void);
+SQUIDCEXTERN void PrintRusage(void);
+SQUIDCEXTERN void dumpMallocStats(void);
 
 #if USE_UNLINKD
-extern void unlinkdInit(void);
-extern void unlinkdClose(void);
-extern void unlinkdUnlink(const char *);
+SQUIDCEXTERN void unlinkdInit(void);
+SQUIDCEXTERN void unlinkdClose(void);
+SQUIDCEXTERN void unlinkdUnlink(const char *);
 #endif
 
-extern char *url_convert_hex(char *org_url, int allocate);
-extern char *url_escape(const char *url);
-extern protocol_t urlParseProtocol(const char *);
-extern method_t urlParseMethod(const char *);
-extern void urlInitialize(void);
-extern request_t *urlParse(method_t, char *);
-extern const char *urlCanonical(request_t *);
-extern char *urlRInternal(const char *host, u_short port, const char *dir, const char *name);
-extern char *urlInternal(const char *dir, const char *name);
-extern int matchDomainName(const char *host, const char *domain);
-extern int urlCheckRequest(const request_t *);
-extern int urlDefaultPort(protocol_t p);
-extern char *urlCanonicalClean(const request_t *);
-extern char *urlHostname(const char *url);
-extern void urlExtMethodConfigure(void);
-
-extern void useragentOpenLog(void);
-extern void useragentRotateLog(void);
-extern void logUserAgent(const char *, const char *);
-extern void useragentLogClose(void);
-extern void refererOpenLog(void);
-extern void refererRotateLog(void);
-extern void logReferer(const char *, const char *, const char *);
-extern peer_t parseNeighborType(const char *s);
-
-extern void errorInitialize(void);
-extern void errorClean(void);
-extern HttpReply *errorBuildReply(ErrorState * err);
-extern void errorSend(int fd, ErrorState *);
-extern void errorAppendEntry(StoreEntry *, ErrorState *);
-extern void errorStateFree(ErrorState * err);
-extern int errorReservePageId(const char *page_name);
-extern ErrorState *errorCon(err_type type, http_status);
-
-extern void pconnPush(int, const char *host, u_short port);
-extern int pconnPop(const char *host, u_short port);
-extern void pconnInit(void);
-
-extern int asnMatchIp(void *, struct in_addr);
-extern void asnInit(void);
-extern void asnFreeMemory(void);
+SQUIDCEXTERN char *url_convert_hex(char *org_url, int allocate);
+SQUIDCEXTERN char *url_escape(const char *url);
+SQUIDCEXTERN protocol_t urlParseProtocol(const char *);
+SQUIDCEXTERN method_t urlParseMethod(const char *);
+SQUIDCEXTERN void urlInitialize(void);
+SQUIDCEXTERN request_t *urlParse(method_t, char *);
+SQUIDCEXTERN const char *urlCanonical(request_t *);
+SQUIDCEXTERN char *urlRInternal(const char *host, u_short port, const char *dir, const char *name);
+SQUIDCEXTERN char *urlInternal(const char *dir, const char *name);
+SQUIDCEXTERN int matchDomainName(const char *host, const char *domain);
+SQUIDCEXTERN int urlCheckRequest(const request_t *);
+SQUIDCEXTERN int urlDefaultPort(protocol_t p);
+SQUIDCEXTERN char *urlCanonicalClean(const request_t *);
+SQUIDCEXTERN char *urlHostname(const char *url);
+SQUIDCEXTERN void urlExtMethodConfigure(void);
+
+SQUIDCEXTERN void useragentOpenLog(void);
+SQUIDCEXTERN void useragentRotateLog(void);
+SQUIDCEXTERN void logUserAgent(const char *, const char *);
+SQUIDCEXTERN void useragentLogClose(void);
+SQUIDCEXTERN void refererOpenLog(void);
+SQUIDCEXTERN void refererRotateLog(void);
+SQUIDCEXTERN void logReferer(const char *, const char *, const char *);
+SQUIDCEXTERN peer_t parseNeighborType(const char *s);
+
+SQUIDCEXTERN void errorInitialize(void);
+SQUIDCEXTERN void errorClean(void);
+SQUIDCEXTERN HttpReply *errorBuildReply(ErrorState * err);
+SQUIDCEXTERN void errorSend(int fd, ErrorState *);
+SQUIDCEXTERN void errorAppendEntry(StoreEntry *, ErrorState *);
+SQUIDCEXTERN void errorStateFree(ErrorState * err);
+SQUIDCEXTERN err_type errorReservePageId(const char *page_name);
+SQUIDCEXTERN ErrorState *errorCon(err_type type, http_status);
+
+SQUIDCEXTERN void pconnPush(int, const char *host, u_short port);
+SQUIDCEXTERN int pconnPop(const char *host, u_short port);
+SQUIDCEXTERN void pconnInit(void);
+
+SQUIDCEXTERN int asnMatchIp(void *, struct in_addr);
+SQUIDCEXTERN void asnInit(void);
+SQUIDCEXTERN void asnFreeMemory(void);
 
 /* tools.c */
-extern void dlinkAdd(void *data, dlink_node *, dlink_list *);
-extern void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
-extern void dlinkAddTail(void *data, dlink_node *, dlink_list *);
-extern void dlinkDelete(dlink_node * m, dlink_list * list);
-extern void dlinkNodeDelete(dlink_node * m);
-extern dlink_node *dlinkNodeNew(void);
-
-extern void kb_incr(kb_t *, size_t);
-extern int stringHasWhitespace(const char *);
-extern int stringHasCntl(const char *);
-extern void linklistPush(link_list **, void *);
-extern void *linklistShift(link_list **);
-extern int xrename(const char *from, const char *to);
-extern int isPowTen(int);
-extern void parseEtcHosts(void);
-extern int getMyPort(void);
-
-char *strwordtok(char *buf, char **t);
-void strwordquote(MemBuf * mb, const char *str);
+SQUIDCEXTERN void dlinkAdd(void *data, dlink_node *, dlink_list *);
+SQUIDCEXTERN void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
+SQUIDCEXTERN void dlinkAddTail(void *data, dlink_node *, dlink_list *);
+SQUIDCEXTERN void dlinkDelete(dlink_node * m, dlink_list * list);
+SQUIDCEXTERN void dlinkNodeDelete(dlink_node * m);
+SQUIDCEXTERN dlink_node *dlinkNodeNew(void);
+
+SQUIDCEXTERN void kb_incr(kb_t *, size_t);
+SQUIDCEXTERN int stringHasWhitespace(const char *);
+SQUIDCEXTERN int stringHasCntl(const char *);
+SQUIDCEXTERN void linklistPush(link_list **, void *);
+SQUIDCEXTERN void *linklistShift(link_list **);
+SQUIDCEXTERN int xrename(const char *from, const char *to);
+SQUIDCEXTERN int isPowTen(int);
+SQUIDCEXTERN void parseEtcHosts(void);
+SQUIDCEXTERN int getMyPort(void);
+
+SQUIDCEXTERN char *strwordtok(char *buf, char **t);
+SQUIDCEXTERN void strwordquote(MemBuf * mb, const char *str);
 
 #if USE_HTCP
-extern void htcpInit(void);
-extern void htcpQuery(StoreEntry * e, request_t * req, peer * p);
-extern void htcpSocketShutdown(void);
-extern void htcpSocketClose(void);
+SQUIDCEXTERN void htcpInit(void);
+SQUIDCEXTERN void htcpQuery(StoreEntry * e, request_t * req, peer * p);
+SQUIDCEXTERN void htcpSocketShutdown(void);
+SQUIDCEXTERN void htcpSocketClose(void);
 #endif
 
 /* String */
@@ -1181,18 +1087,18 @@ extern void htcpSocketClose(void);
 #define strCut(s,pos) (((s).len = pos) , ((s).buf[pos] = '\0'))
 #define strCutPtr(s,ptr) (((s).len = (ptr)-(s).buf) , ((s).buf[(s).len] = '\0'))
 #define strCat(s,str)  stringAppend(&(s), (str), strlen(str))
-extern void stringInit(String * s, const char *str);
-extern void stringLimitInit(String * s, const char *str, int len);
-extern String stringDup(const String * s);
-extern void stringClean(String * s);
-extern void stringReset(String * s, const char *str);
-extern void stringAppend(String * s, const char *buf, int len);
-/* extern void stringAppendf(String *s, const char *fmt, ...) PRINTF_FORMAT_ARG2; */
+SQUIDCEXTERN void stringInit(String * s, const char *str);
+SQUIDCEXTERN void stringLimitInit(String * s, const char *str, int len);
+SQUIDCEXTERN String stringDup(const String * s);
+SQUIDCEXTERN void stringClean(String * s);
+SQUIDCEXTERN void stringReset(String * s, const char *str);
+SQUIDCEXTERN void stringAppend(String * s, const char *buf, int len);
+/* SQUIDCEXTERN void stringAppendf(String *s, const char *fmt, ...) PRINTF_FORMAT_ARG2; */
 
 /*
  * ipc.c
  */
-extern int ipcCreate(int type,
+SQUIDCEXTERN int ipcCreate(int type,
     const char *prog,
     const char *const args[],
     const char *name,
@@ -1200,141 +1106,141 @@ extern int ipcCreate(int type,
     int *wfd);
 
 /* CacheDigest */
-extern CacheDigest *cacheDigestCreate(int capacity, int bpe);
-extern void cacheDigestDestroy(CacheDigest * cd);
-extern CacheDigest *cacheDigestClone(const CacheDigest * cd);
-extern void cacheDigestClear(CacheDigest * cd);
-extern void cacheDigestChangeCap(CacheDigest * cd, int new_cap);
-extern int cacheDigestTest(const CacheDigest * cd, const cache_key * key);
-extern void cacheDigestAdd(CacheDigest * cd, const cache_key * key);
-extern void cacheDigestDel(CacheDigest * cd, const cache_key * key);
-extern size_t cacheDigestCalcMaskSize(int cap, int bpe);
-extern int cacheDigestBitUtil(const CacheDigest * cd);
-extern void cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit);
-extern void cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label);
-extern void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
-
-extern void internalStart(request_t *, StoreEntry *);
-extern int internalCheck(const char *urlpath);
-extern int internalStaticCheck(const char *urlpath);
-extern char *internalLocalUri(const char *dir, const char *name);
-extern char *internalRemoteUri(const char *, u_short, const char *, const char *);
-extern const char *internalHostname(void);
-extern int internalHostnameIs(const char *);
+SQUIDCEXTERN CacheDigest *cacheDigestCreate(int capacity, int bpe);
+SQUIDCEXTERN void cacheDigestDestroy(CacheDigest * cd);
+SQUIDCEXTERN CacheDigest *cacheDigestClone(const CacheDigest * cd);
+SQUIDCEXTERN void cacheDigestClear(CacheDigest * cd);
+SQUIDCEXTERN void cacheDigestChangeCap(CacheDigest * cd, int new_cap);
+SQUIDCEXTERN int cacheDigestTest(const CacheDigest * cd, const cache_key * key);
+SQUIDCEXTERN void cacheDigestAdd(CacheDigest * cd, const cache_key * key);
+SQUIDCEXTERN void cacheDigestDel(CacheDigest * cd, const cache_key * key);
+SQUIDCEXTERN size_t cacheDigestCalcMaskSize(int cap, int bpe);
+SQUIDCEXTERN int cacheDigestBitUtil(const CacheDigest * cd);
+SQUIDCEXTERN void cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit);
+SQUIDCEXTERN void cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label);
+SQUIDCEXTERN void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
+
+SQUIDCEXTERN void internalStart(request_t *, StoreEntry *);
+SQUIDCEXTERN int internalCheck(const char *urlpath);
+SQUIDCEXTERN int internalStaticCheck(const char *urlpath);
+SQUIDCEXTERN char *internalLocalUri(const char *dir, const char *name);
+SQUIDCEXTERN char *internalRemoteUri(const char *, u_short, const char *, const char *);
+SQUIDCEXTERN const char *internalHostname(void);
+SQUIDCEXTERN int internalHostnameIs(const char *);
 
 #if USE_CARP
-extern void carpInit(void);
-extern peer *carpSelectParent(request_t *);
+SQUIDCEXTERN void carpInit(void);
+SQUIDCEXTERN peer *carpSelectParent(request_t *);
 #endif
 
 #if DELAY_POOLS
-extern void delayPoolsInit(void);
-extern void delayInitDelayData(unsigned short pools);
-extern void delayFreeDelayData(unsigned short pools);
-extern void delayCreateDelayPool(unsigned short pool, u_char class);
-extern void delayInitDelayPool(unsigned short pool, u_char class, delaySpecSet * rates);
-extern void delayFreeDelayPool(unsigned short pool);
-extern void delayPoolsReconfigure(void);
-extern void delaySetNoDelay(int fd);
-extern void delayClearNoDelay(int fd);
-extern int delayIsNoDelay(int fd);
-extern delay_id delayClient(clientHttpRequest *);
-extern EVH delayPoolsUpdate;
-extern int delayBytesWanted(delay_id d, int min, int max);
-extern void delayBytesIn(delay_id, int qty);
-extern int delayMostBytesWanted(const MemObject * mem, int max);
-extern delay_id delayMostBytesAllowed(const MemObject * mem);
-extern void delaySetStoreClient(store_client * sc, delay_id delay_id);
-extern void delayRegisterDelayIdPtr(delay_id * loc);
-extern void delayUnregisterDelayIdPtr(delay_id * loc);
+SQUIDCEXTERN void delayPoolsInit(void);
+SQUIDCEXTERN void delayInitDelayData(unsigned short pools);
+SQUIDCEXTERN void delayFreeDelayData(unsigned short pools);
+SQUIDCEXTERN void delayCreateDelayPool(unsigned short pool, u_char class);
+SQUIDCEXTERN void delayInitDelayPool(unsigned short pool, u_char class, delaySpecSet * rates);
+SQUIDCEXTERN void delayFreeDelayPool(unsigned short pool);
+SQUIDCEXTERN void delayPoolsReconfigure(void);
+SQUIDCEXTERN void delaySetNoDelay(int fd);
+SQUIDCEXTERN void delayClearNoDelay(int fd);
+SQUIDCEXTERN int delayIsNoDelay(int fd);
+SQUIDCEXTERN delay_id delayClient(clientHttpRequest *);
+SQUIDCEXTERN EVH delayPoolsUpdate;
+SQUIDCEXTERN int delayBytesWanted(delay_id d, int min, int max);
+SQUIDCEXTERN void delayBytesIn(delay_id, int qty);
+SQUIDCEXTERN int delayMostBytesWanted(const MemObject * mem, int max);
+SQUIDCEXTERN delay_id delayMostBytesAllowed(const MemObject * mem);
+SQUIDCEXTERN void delaySetStoreClient(store_client * sc, delay_id delay_id);
+SQUIDCEXTERN void delayRegisterDelayIdPtr(delay_id * loc);
+SQUIDCEXTERN void delayUnregisterDelayIdPtr(delay_id * loc);
 #endif
 
 /* helper.c */
-extern void helperOpenServers(helper * hlp);
-extern void helperStatefulOpenServers(statefulhelper * hlp);
-extern void helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data);
-extern void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver);
-extern void helperStats(StoreEntry * sentry, helper * hlp);
-extern void helperStatefulStats(StoreEntry * sentry, statefulhelper * hlp);
-extern void helperShutdown(helper * hlp);
-extern void helperStatefulShutdown(statefulhelper * hlp);
-extern helper *helperCreate(const char *);
-extern statefulhelper *helperStatefulCreate(const char *);
-extern void helperFree(helper *);
-extern void helperStatefulFree(statefulhelper *);
-extern void helperStatefulReset(helper_stateful_server * srv);
-extern void helperStatefulReleaseServer(helper_stateful_server * srv);
-extern void *helperStatefulServerGetData(helper_stateful_server * srv);
-extern helper_stateful_server *helperStatefulDefer(statefulhelper *);
+SQUIDCEXTERN void helperOpenServers(helper * hlp);
+SQUIDCEXTERN void helperStatefulOpenServers(statefulhelper * hlp);
+SQUIDCEXTERN void helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data);
+SQUIDCEXTERN void helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver);
+SQUIDCEXTERN void helperStats(StoreEntry * sentry, helper * hlp);
+SQUIDCEXTERN void helperStatefulStats(StoreEntry * sentry, statefulhelper * hlp);
+SQUIDCEXTERN void helperShutdown(helper * hlp);
+SQUIDCEXTERN void helperStatefulShutdown(statefulhelper * hlp);
+SQUIDCEXTERN helper *helperCreate(const char *);
+SQUIDCEXTERN statefulhelper *helperStatefulCreate(const char *);
+SQUIDCEXTERN void helperFree(helper *);
+SQUIDCEXTERN void helperStatefulFree(statefulhelper *);
+SQUIDCEXTERN void helperStatefulReset(helper_stateful_server * srv);
+SQUIDCEXTERN void helperStatefulReleaseServer(helper_stateful_server * srv);
+SQUIDCEXTERN void *helperStatefulServerGetData(helper_stateful_server * srv);
+SQUIDCEXTERN helper_stateful_server *helperStatefulDefer(statefulhelper *);
 
 
 
 #if USE_LEAKFINDER
-extern void leakInit(void);
-extern void *leakAddFL(void *, const char *, int);
-extern void *leakTouchFL(void *, const char *, int);
-extern void *leakFreeFL(void *, const char *, int);
+SQUIDCEXTERN void leakInit(void);
+SQUIDCEXTERN void *leakAddFL(void *, const char *, int);
+SQUIDCEXTERN void *leakTouchFL(void *, const char *, int);
+SQUIDCEXTERN void *leakFreeFL(void *, const char *, int);
 #endif
 
 /* logfile.c */
-extern Logfile *logfileOpen(const char *path, size_t bufsz, int);
-extern void logfileClose(Logfile * lf);
-extern void logfileRotate(Logfile * lf);
-extern void logfileWrite(Logfile * lf, void *buf, size_t len);
-extern void logfileFlush(Logfile * lf);
+SQUIDCEXTERN Logfile *logfileOpen(const char *path, size_t bufsz, int);
+SQUIDCEXTERN void logfileClose(Logfile * lf);
+SQUIDCEXTERN void logfileRotate(Logfile * lf);
+SQUIDCEXTERN void logfileWrite(Logfile * lf, void *buf, size_t len);
+SQUIDCEXTERN void logfileFlush(Logfile * lf);
 #if STDC_HEADERS
-extern void
+SQUIDCEXTERN void
 logfilePrintf(Logfile * lf, const char *fmt,...) PRINTF_FORMAT_ARG2;
 #else
-extern void logfilePrintf(va_alist);
+SQUIDCEXTERN void logfilePrintf(va_alist);
 #endif
 
 /*
  * Removal Policies
  */
-extern RemovalPolicy *createRemovalPolicy(RemovalPolicySettings * settings);
+SQUIDCEXTERN RemovalPolicy *createRemovalPolicy(RemovalPolicySettings * settings);
 
 /*
  * prototypes for system functions missing from system includes
  */
 
 #ifdef _SQUID_SOLARIS_
-extern int getrusage(int, struct rusage *);
-extern int getpagesize(void);
-extern int gethostname(char *, int);
+SQUIDCEXTERN int getrusage(int, struct rusage *);
+SQUIDCEXTERN int getpagesize(void);
+SQUIDCEXTERN int gethostname(char *, int);
 #endif
 
 #if URL_CHECKSUM_DEBUG
-extern unsigned int url_checksum(const char *url);
+SQUIDCEXTERN unsigned int url_checksum(const char *url);
 #endif
 
 /*
  * hack to allow snmp access to the statistics counters
  */
-extern StatCounters *snmpStatGet(int);
+SQUIDCEXTERN StatCounters *snmpStatGet(int);
 
 /* Vary support functions */
-int varyEvaluateMatch(StoreEntry * entry, request_t * req);
+SQUIDCEXTERN int varyEvaluateMatch(StoreEntry * entry, request_t * req);
 
 /* CygWin & Windows NT Port */
 /* win32.c */
 #if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_)
-extern int WIN32_Subsystem_Init(void);
-extern void WIN32_Exit(void);
+SQUIDCEXTERN int WIN32_Subsystem_Init(void);
+SQUIDCEXTERN void WIN32_Exit(void);
 #endif
 
 /* external_acl.c */
-extern void parse_externalAclHelper(external_acl **);
-extern void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *);
-extern void free_externalAclHelper(external_acl **);
-extern void aclParseExternal(void *curlist);
-extern void aclDestroyExternal(void **curlust);
-extern int aclMatchExternal(void *dataptr, aclCheck_t * ch);
-extern wordlist *aclDumpExternal(void *dataptr);
+SQUIDCEXTERN void parse_externalAclHelper(external_acl **);
+SQUIDCEXTERN void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *);
+SQUIDCEXTERN void free_externalAclHelper(external_acl **);
+SQUIDCEXTERN void aclParseExternal(void *curlist);
+SQUIDCEXTERN void aclDestroyExternal(void **curlust);
+SQUIDCEXTERN int aclMatchExternal(void *dataptr, aclCheck_t * ch);
+SQUIDCEXTERN wordlist *aclDumpExternal(void *dataptr);
 typedef void EAH(void *data, void *result);
-extern void externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * handler, void *data);
-extern void externalAclInit(void);
-extern void externalAclShutdown(void);
-extern char *strtokFile(void);
+SQUIDCEXTERN void externalAclLookup(aclCheck_t * ch, void *acl_data, EAH * handler, void *data);
+SQUIDCEXTERN void externalAclInit(void);
+SQUIDCEXTERN void externalAclShutdown(void);
+SQUIDCEXTERN char *strtokFile(void);
 
 #endif /* SQUID_PROTOS_H */
index 7f001664828bb9100ead58c1ab589aa443acf56a..da9007a2b1724d52ac2e6dc6131daf0ce354ac12 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: recv-announce.cc,v 1.23 2001/01/12 00:37:20 wessels Exp $
+ * $Id: recv-announce.cc,v 1.24 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 0     Announcement Server
  * AUTHOR: Harvest Derived
@@ -45,9 +45,9 @@
 #include <unistd.h>
 #include <signal.h>
 
-#define RECV_BUF_SIZE 8192
+#include "config.h"
 
-extern void xmemcpy(void *from, void *to, int len);
+#define RECV_BUF_SIZE 8192
 
 /*
  * This program must be run from inetd.  First add something like this
@@ -71,7 +71,7 @@ extern void xmemcpy(void *from, void *to, int len);
  */
 
 static void
-sig_handle(void)
+sig_handle(int)
 {
     fflush(stdout);
     close(2);
@@ -86,7 +86,7 @@ main(int argc, char *argv[])
 {
     char buf[RECV_BUF_SIZE];
     struct sockaddr_in R;
-    int len;
+    socklen_t len;
     struct hostent *hp = NULL;
     char logfile[BUFSIZ];
     char ip[4];
@@ -114,7 +114,7 @@ main(int argc, char *argv[])
        memset(buf, '\0', RECV_BUF_SIZE);
        memset(&R, '\0', len = sizeof(R));
 
-       if (recvfrom(0, buf, RECV_BUF_SIZE, 0, &R, &len) < 0) {
+       if (recvfrom(0, buf, RECV_BUF_SIZE, 0, (sockaddr *)&R, &len) < 0) {
            perror("recv");
            exit(2);
        }
index 0e86b516b314b0f8381cc2e6c5e985cc8bd6221c..d2144e645842f7ae7e6048278217e2e072085b9d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: redirect.cc,v 1.91 2002/07/20 23:51:03 hno Exp $
+ * $Id: redirect.cc,v 1.92 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 61    Redirector
  * AUTHOR: Duane Wessels
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
 
 typedef struct {
     void *data;
@@ -54,7 +56,7 @@ CBDATA_TYPE(redirectStateData);
 static void
 redirectHandleReply(void *data, char *reply)
 {
-    redirectStateData *r = data;
+    redirectStateData *r = static_cast<redirectStateData *>(data);
     char *t;
     void *cbdata;
     debug(61, 5) ("redirectHandleRead: {%s}\n", reply ? reply : "<NULL>");
index b743feaf9f5d70bfbf4e58e3bcc3205cfad52e07..cb1411427376d53911f42d2fca81bd7bbedfd641 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: refresh.cc,v 1.57 2002/06/14 19:26:43 hno Exp $
+ * $Id: refresh.cc,v 1.58 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 22    Refresh Calculation
  * AUTHOR: Harvest Derived
@@ -38,6 +38,7 @@
 #endif
 
 #include "squid.h"
+#include "Store.h"
 
 typedef enum {
     rcHTTP,
@@ -178,7 +179,7 @@ refreshStaleness(const StoreEntry * entry, time_t check_time, time_t age, const
         * stale_age is the Age of the response when it became/becomes
         * stale according to the last-modified factor algorithm.
         */
-       time_t stale_age = (entry->timestamp - entry->lastmod) * R->pct;
+       time_t stale_age = static_cast<time_t>((entry->timestamp - entry->lastmod) * R->pct);
        sf->lmfactor = 1;
        if (age >= stale_age) {
            debug(22, 3) ("STALE: age %d > stale_age %d\n",
index 2ca0f31eaf878e421c6e94724b0e0a70330eba29..91d2a7304c59621ddd9c04923e2b9d48be0cc045 100644 (file)
@@ -1,52 +1,22 @@
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.2 2001/12/27 00:23:35 hno Exp $
+#  $Id: Makefile.am,v 1.3 2002/10/13 20:35:28 robertc Exp $
 #
 
 AUTOMAKE_OPTIONS = subdir-objects
+AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 DIST_SUBDIRS = lru heap
 SUBDIRS                = 
 # No recursion is needed for the subdirs, we build from here. // @REPL_POLICIES@
-OUTLIBS                = @REPL_LIBS@
 
 EXTRA_LIBRARIES = liblru.a libheap.a
 noinst_LIBRARIES = @REPL_LIBS@
 
-liblru_a_SOURCES = lru/store_repl_lru.c
-libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.c heap/store_repl_heap.c
+liblru_a_SOURCES = lru/store_repl_lru.cc
+libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.cc heap/store_repl_heap.cc
 
 INCLUDES      = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/
 
-##all:
-##     @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \
-##        sh -c "cd $$dir && $(MAKE) $(MFLAGS) all" || exit 1; \
-##     done; \
-##     if [ ! -f stamp ]; then \
-##        touch stamp; \
-##     fi
-
-##$(OUTLIBS):
-##     @sh -c "cd `basename $@ .a` && $(MAKE) $(MFLAGS) ../$@"
-
-##clean:
-##     -rm -f *.a stamp
-##     -for dir in *; do \
-##         if [ -f $$dir/Makefile ]; then \
-##            sh -c "cd $$dir && $(MAKE) $(MFLAGS) $@" || exit 1;\
-##         fi; \
-##     done
-
-##distclean:
-##     -rm -f *.a Makefile
-##     -for dir in *; do \
-##         if [ -f $$dir/Makefile ]; then \
-##             sh -c "cd $$dir && $(MAKE) $(MFLAGS) distclean"; \
-##         fi; \
-##     done
-
-##.DEFAULT:
-##     @test -z "$(SUBDIRS)" || for dir in $(SUBDIRS); do \
-##        sh -c "cd $$dir && $(MAKE) $(MFLAGS) $@" || exit 1; \
-##     done
index 689395090f1f0fcf85a1b2b9100fa8f813fbcd0c..0449de9b467244291fa75cfb56d3e14d0e3cc8df 100644 (file)
@@ -1,6 +1,7 @@
-# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
 
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 # Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,9 +16,8 @@
 
 #  Makefile for storage modules in the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.18 2002/09/30 00:25:26 hno Exp $
+#  $Id: Makefile.in,v 1.19 2002/10/13 20:35:28 robertc Exp $
 #
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -48,9 +48,13 @@ AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_HEADER = $(INSTALL_DATA)
 transform = @program_transform_name@
@@ -62,6 +66,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 host_alias = @host_alias@
 host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
 AMTAR = @AMTAR@
 AR = @AR@
 AR_R = @AR_R@
@@ -79,7 +87,6 @@ DEPDIR = @DEPDIR@
 DIGEST_AUTH_HELPERS = @DIGEST_AUTH_HELPERS@
 ERR_DEFAULT_LANGUAGE = @ERR_DEFAULT_LANGUAGE@
 ERR_LANGUAGES = @ERR_LANGUAGES@
-EXEEXT = @EXEEXT@
 EXTERNAL_ACL_HELPERS = @EXTERNAL_ACL_HELPERS@
 FALSE = @FALSE@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
@@ -92,7 +99,6 @@ MAINT = @MAINT@
 MKDIR = @MKDIR@
 MV = @MV@
 NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
 OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
@@ -109,6 +115,7 @@ STORE_LIBS = @STORE_LIBS@
 STORE_MODULES = @STORE_MODULES@
 STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
 STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
 TRUE = @TRUE@
 VERSION = @VERSION@
 XTRA_LIBS = @XTRA_LIBS@
@@ -119,17 +126,18 @@ install_sh = @install_sh@
 makesnmplib = @makesnmplib@
 
 AUTOMAKE_OPTIONS = subdir-objects
+AM_CFLAGS = -Werror -Wall
+AM_CXXFLAGS = -Werror -Wall
 
 DIST_SUBDIRS = lru heap
 SUBDIRS = 
-# No recursion is needed for the subdirs, we build from here. // @REPL_POLICIES@
-OUTLIBS = @REPL_LIBS@
 
+# No recursion is needed for the subdirs, we build from here. // @REPL_POLICIES@
 EXTRA_LIBRARIES = liblru.a libheap.a
 noinst_LIBRARIES = @REPL_LIBS@
 
-liblru_a_SOURCES = lru/store_repl_lru.c
-libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.c heap/store_repl_heap.c
+liblru_a_SOURCES = lru/store_repl_lru.cc
+libheap_a_SOURCES = heap/store_heap_replacement.h heap/store_heap_replacement.cc heap/store_repl_heap.cc
 
 INCLUDES = -I. -I$(top_builddir)/include -I$(top_srcdir)/include \
        -I$(top_srcdir)/src/
@@ -156,14 +164,21 @@ CPPFLAGS = @CPPFLAGS@
 LDFLAGS = @LDFLAGS@
 LIBS = @LIBS@
 depcomp = $(SHELL) $(top_srcdir)/cfgaux/depcomp
-@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/heap/store_heap_replacement.Po \
-@AMDEP_TRUE@   $(DEPDIR)/heap/store_repl_heap.Po \
-@AMDEP_TRUE@   $(DEPDIR)/lru/store_repl_lru.Po
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = heap/$(DEPDIR)/store_heap_replacement.Po \
+@AMDEP_TRUE@   heap/$(DEPDIR)/store_repl_heap.Po \
+@AMDEP_TRUE@   lru/$(DEPDIR)/store_repl_lru.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+       -o $@
+CXXFLAGS = @CXXFLAGS@
+CFLAGS = @CFLAGS@
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
 CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
 DIST_SOURCES = $(libheap_a_SOURCES) $(liblru_a_SOURCES)
 
 RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
@@ -176,29 +191,25 @@ SOURCES = $(libheap_a_SOURCES) $(liblru_a_SOURCES)
 all: all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .cc .o .obj
 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --foreign  src/repl/Makefile
 Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
-       cd $(top_builddir) && \
-         CONFIG_HEADERS= CONFIG_LINKS= \
-         CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
-
-AR = ar
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
 
 clean-noinstLIBRARIES:
        -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
 heap/.dirstamp:
        @$(mkinstalldirs) heap
        @: > heap/.dirstamp
-$(DEPDIR)/heap/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/heap
-       @: > $(DEPDIR)/heap/.dirstamp
-heap/store_heap_replacement.$(OBJEXT): heap/store_heap_replacement.c \
-       heap/.dirstamp $(DEPDIR)/heap/.dirstamp
-heap/store_repl_heap.$(OBJEXT): heap/store_repl_heap.c heap/.dirstamp \
-       $(DEPDIR)/heap/.dirstamp
+heap/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) heap/$(DEPDIR)
+       @: > heap/$(DEPDIR)/.dirstamp
+heap/store_heap_replacement.$(OBJEXT): heap/store_heap_replacement.cc \
+       heap/.dirstamp heap/$(DEPDIR)/.dirstamp
+heap/store_repl_heap.$(OBJEXT): heap/store_repl_heap.cc heap/.dirstamp \
+       heap/$(DEPDIR)/.dirstamp
 libheap.a: $(libheap_a_OBJECTS) $(libheap_a_DEPENDENCIES) 
        -rm -f libheap.a
        $(libheap_a_AR) libheap.a $(libheap_a_OBJECTS) $(libheap_a_LIBADD)
@@ -206,11 +217,11 @@ libheap.a: $(libheap_a_OBJECTS) $(libheap_a_DEPENDENCIES)
 lru/.dirstamp:
        @$(mkinstalldirs) lru
        @: > lru/.dirstamp
-$(DEPDIR)/lru/.dirstamp:
-       @$(mkinstalldirs) $(DEPDIR)/lru
-       @: > $(DEPDIR)/lru/.dirstamp
-lru/store_repl_lru.$(OBJEXT): lru/store_repl_lru.c lru/.dirstamp \
-       $(DEPDIR)/lru/.dirstamp
+lru/$(DEPDIR)/.dirstamp:
+       @$(mkinstalldirs) lru/$(DEPDIR)
+       @: > lru/$(DEPDIR)/.dirstamp
+lru/store_repl_lru.$(OBJEXT): lru/store_repl_lru.cc lru/.dirstamp \
+       lru/$(DEPDIR)/.dirstamp
 liblru.a: $(liblru_a_OBJECTS) $(liblru_a_DEPENDENCIES) 
        -rm -f liblru.a
        $(liblru_a_AR) liblru.a $(liblru_a_OBJECTS) $(liblru_a_LIBADD)
@@ -224,66 +235,66 @@ mostlyclean-compile:
 
 distclean-compile:
        -rm -f *.tab.c
-       -rm -f $(DEPDIR)/heap/.dirstamp
-       -rm -f $(DEPDIR)/lru/.dirstamp
+       -rm -f heap/$(DEPDIR)/.dirstamp
        -rm -f heap/.dirstamp
+       -rm -f lru/$(DEPDIR)/.dirstamp
        -rm -f lru/.dirstamp
 
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/heap/store_heap_replacement.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/heap/store_repl_heap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/lru/store_repl_lru.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@heap/$(DEPDIR)/store_heap_replacement.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@heap/$(DEPDIR)/store_repl_heap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@lru/$(DEPDIR)/store_repl_lru.Po@am__quote@
 
 distclean-depend:
-       -rm -rf $(DEPDIR)
+       -rm -rf heap/$(DEPDIR) lru/$(DEPDIR)
 
-.c.o:
+.cc.o:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
 
-.c.obj:
+.cc.obj:
 @AMDEP_TRUE@   source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@   depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(COMPILE) -c -o $@ `cygpath -w $<`
-
-heap/store_heap_replacement.o: heap/store_heap_replacement.c
-@AMDEP_TRUE@   source='heap/store_heap_replacement.c' object='heap/store_heap_replacement.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/heap/store_heap_replacement.Po' tmpdepfile='$(DEPDIR)/heap/store_heap_replacement.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o heap/store_heap_replacement.o `test -f heap/store_heap_replacement.c || echo '$(srcdir)/'`heap/store_heap_replacement.c
-
-heap/store_heap_replacement.obj: heap/store_heap_replacement.c
-@AMDEP_TRUE@   source='heap/store_heap_replacement.c' object='heap/store_heap_replacement.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/heap/store_heap_replacement.Po' tmpdepfile='$(DEPDIR)/heap/store_heap_replacement.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o heap/store_heap_replacement.obj `cygpath -w heap/store_heap_replacement.c`
-
-heap/store_repl_heap.o: heap/store_repl_heap.c
-@AMDEP_TRUE@   source='heap/store_repl_heap.c' object='heap/store_repl_heap.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/heap/store_repl_heap.Po' tmpdepfile='$(DEPDIR)/heap/store_repl_heap.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o heap/store_repl_heap.o `test -f heap/store_repl_heap.c || echo '$(srcdir)/'`heap/store_repl_heap.c
-
-heap/store_repl_heap.obj: heap/store_repl_heap.c
-@AMDEP_TRUE@   source='heap/store_repl_heap.c' object='heap/store_repl_heap.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/heap/store_repl_heap.Po' tmpdepfile='$(DEPDIR)/heap/store_repl_heap.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o heap/store_repl_heap.obj `cygpath -w heap/store_repl_heap.c`
-
-lru/store_repl_lru.o: lru/store_repl_lru.c
-@AMDEP_TRUE@   source='lru/store_repl_lru.c' object='lru/store_repl_lru.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/lru/store_repl_lru.Po' tmpdepfile='$(DEPDIR)/lru/store_repl_lru.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lru/store_repl_lru.o `test -f lru/store_repl_lru.c || echo '$(srcdir)/'`lru/store_repl_lru.c
-
-lru/store_repl_lru.obj: lru/store_repl_lru.c
-@AMDEP_TRUE@   source='lru/store_repl_lru.c' object='lru/store_repl_lru.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@   depfile='$(DEPDIR)/lru/store_repl_lru.Po' tmpdepfile='$(DEPDIR)/lru/store_repl_lru.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lru/store_repl_lru.obj `cygpath -w lru/store_repl_lru.c`
-CCDEPMODE = @CCDEPMODE@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+
+heap/store_heap_replacement.o: heap/store_heap_replacement.cc
+@AMDEP_TRUE@   source='heap/store_heap_replacement.cc' object='heap/store_heap_replacement.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='heap/$(DEPDIR)/store_heap_replacement.Po' tmpdepfile='heap/$(DEPDIR)/store_heap_replacement.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o heap/store_heap_replacement.o `test -f 'heap/store_heap_replacement.cc' || echo '$(srcdir)/'`heap/store_heap_replacement.cc
+
+heap/store_heap_replacement.obj: heap/store_heap_replacement.cc
+@AMDEP_TRUE@   source='heap/store_heap_replacement.cc' object='heap/store_heap_replacement.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='heap/$(DEPDIR)/store_heap_replacement.Po' tmpdepfile='heap/$(DEPDIR)/store_heap_replacement.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o heap/store_heap_replacement.obj `cygpath -w heap/store_heap_replacement.cc`
+
+heap/store_repl_heap.o: heap/store_repl_heap.cc
+@AMDEP_TRUE@   source='heap/store_repl_heap.cc' object='heap/store_repl_heap.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='heap/$(DEPDIR)/store_repl_heap.Po' tmpdepfile='heap/$(DEPDIR)/store_repl_heap.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o heap/store_repl_heap.o `test -f 'heap/store_repl_heap.cc' || echo '$(srcdir)/'`heap/store_repl_heap.cc
+
+heap/store_repl_heap.obj: heap/store_repl_heap.cc
+@AMDEP_TRUE@   source='heap/store_repl_heap.cc' object='heap/store_repl_heap.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='heap/$(DEPDIR)/store_repl_heap.Po' tmpdepfile='heap/$(DEPDIR)/store_repl_heap.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o heap/store_repl_heap.obj `cygpath -w heap/store_repl_heap.cc`
+
+lru/store_repl_lru.o: lru/store_repl_lru.cc
+@AMDEP_TRUE@   source='lru/store_repl_lru.cc' object='lru/store_repl_lru.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='lru/$(DEPDIR)/store_repl_lru.Po' tmpdepfile='lru/$(DEPDIR)/store_repl_lru.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o lru/store_repl_lru.o `test -f 'lru/store_repl_lru.cc' || echo '$(srcdir)/'`lru/store_repl_lru.cc
+
+lru/store_repl_lru.obj: lru/store_repl_lru.cc
+@AMDEP_TRUE@   source='lru/store_repl_lru.cc' object='lru/store_repl_lru.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@   depfile='lru/$(DEPDIR)/store_repl_lru.Po' tmpdepfile='lru/$(DEPDIR)/store_repl_lru.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+       $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o lru/store_repl_lru.obj `cygpath -w lru/store_repl_lru.cc`
+CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -293,7 +304,7 @@ uninstall-info-am:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 $(RECURSIVE_TARGETS):
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -313,7 +324,7 @@ $(RECURSIVE_TARGETS):
 
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
-       @set fnord $(MAKEFLAGS); amf=$$2; \
+       @set fnord $$MAKEFLAGS; amf=$$2; \
        dot_seen=no; \
        case "$@" in \
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -341,16 +352,19 @@ tags-recursive:
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
        done
 
+ETAGS = etags
+ETAGSFLAGS =
+
 tags: TAGS
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       mkid -fID $$unique $(LISP)
+       mkid -fID $$unique
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
@@ -361,45 +375,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
          fi; \
        done; \
-       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
          done | \
          $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
+       test -z "$(ETAGS_ARGS)$$tags$$unique" \
+         || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+            $$tags $$unique
 
 GTAGS:
-       here=`CDPATH=: && cd $(top_builddir) && pwd` \
+       here=`$(am__cd) $(top_builddir) && pwd` \
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
 top_distdir = ../..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       @for file in $(DISTFILES); do \
-         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-           $(mkinstalldirs) "$(distdir)/$$dir"; \
+           dir="/$$dir"; \
+           $(mkinstalldirs) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
          fi; \
          if test -d $$d/$$file; then \
-           cp -pR $$d/$$file $(distdir) \
-           || exit 1; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
          else \
            test -f $(distdir)/$$file \
            || cp -p $$d/$$file $(distdir)/$$file \
            || exit 1; \
          fi; \
        done
-       for subdir in $(DIST_SUBDIRS); do \
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
@@ -429,6 +448,7 @@ install-am: all-am
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         INSTALL_STRIP_FLAG=-s \
          `test -z '$(STRIP)' || \
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
@@ -436,7 +456,7 @@ mostlyclean-generic:
 clean-generic:
 
 distclean-generic:
-       -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+       -rm -f Makefile $(CONFIG_CLEAN_FILES)
 
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
index a6841c623b38be3121a111ab0254f7198d7529e9..02139d2e0303ba2dc3a1024206a8297e5f5ba4bc 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_heap_replacement.cc,v 1.8 2002/04/08 09:03:17 hno Exp $
+ * $Id: store_heap_replacement.cc,v 1.9 2002/10/13 20:35:29 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Heap-based replacement
  * AUTHOR: John Dilley
@@ -44,6 +44,7 @@
 #include "squid.h"
 #include "heap.h"
 #include "store_heap_replacement.h"
+#include "Store.h"
 
 /*
  * Key generation function to implement the LFU-DA policy (Least
@@ -68,7 +69,7 @@
 heap_key
 HeapKeyGen_StoreEntry_LFUDA(void *entry, double heap_age)
 {
-    StoreEntry *e = entry;
+    StoreEntry *e = (StoreEntry *)entry;
     heap_key key;
     double tie;
     if (e->lastref <= 0)
@@ -79,7 +80,7 @@ HeapKeyGen_StoreEntry_LFUDA(void *entry, double heap_age)
        tie = 1.0 - exp((double) (e->lastref - squid_curtime) / 86400.0);
     key = heap_age + (double) e->refcount - tie;
     debug(81, 3) ("HeapKeyGen_StoreEntry_LFUDA: %s refcnt=%d lastref=%ld heap_age=%f tie=%f -> %f\n",
-       storeKeyText(e->hash.key), (int)e->refcount, e->lastref, heap_age, tie, key);
+       storeKeyText((const cache_key *)e->hash.key), (int)e->refcount, e->lastref, heap_age, tie, key);
     if (e->mem_obj && e->mem_obj->url)
        debug(81, 3) ("HeapKeyGen_StoreEntry_LFUDA: url=%s\n",
            e->mem_obj->url);
@@ -109,13 +110,13 @@ HeapKeyGen_StoreEntry_LFUDA(void *entry, double heap_age)
 heap_key
 HeapKeyGen_StoreEntry_GDSF(void *entry, double heap_age)
 {
-    StoreEntry *e = entry;
+    StoreEntry *e = (StoreEntry *)entry;
     heap_key key;
     double size = e->swap_file_sz ? (double) e->swap_file_sz : 1.0;
     double tie = (e->lastref > 1) ? (1.0 / e->lastref) : 1.0;
     key = heap_age + ((double) e->refcount / size) - tie;
     debug(81, 3) ("HeapKeyGen_StoreEntry_GDSF: %s size=%f refcnt=%d lastref=%ld heap_age=%f tie=%f -> %f\n",
-       storeKeyText(e->hash.key), size, (int)e->refcount, e->lastref, heap_age, tie, key);
+       storeKeyText((const cache_key *)e->hash.key), size, (int)e->refcount, e->lastref, heap_age, tie, key);
     if (e->mem_obj && e->mem_obj->url)
        debug(81, 3) ("HeapKeyGen_StoreEntry_GDSF: url=%s\n",
            e->mem_obj->url);
@@ -132,9 +133,9 @@ HeapKeyGen_StoreEntry_GDSF(void *entry, double heap_age)
 heap_key
 HeapKeyGen_StoreEntry_LRU(void *entry, double heap_age)
 {
-    StoreEntry *e = entry;
+    StoreEntry *e = (StoreEntry *)entry;
     debug(81, 3) ("HeapKeyGen_StoreEntry_LRU: %s heap_age=%f lastref=%f\n",
-       storeKeyText(e->hash.key), heap_age, (double) e->lastref);
+       storeKeyText((const cache_key *)e->hash.key), heap_age, (double) e->lastref);
     if (e->mem_obj && e->mem_obj->url)
        debug(81, 3) ("HeapKeyGen_StoreEntry_LRU: url=%s\n",
            e->mem_obj->url);
index 2737d42055874f38f0280fc83f620a7b0c5ad8ce..3642477b6864343de5fe9fcd8ec6224f82ffab8d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_repl_heap.cc,v 1.10 2002/04/08 09:03:17 hno Exp $
+ * $Id: store_repl_heap.cc,v 1.11 2002/10/13 20:35:29 robertc Exp $
  *
  * DEBUG: section ?     HEAP based removal policies
  * AUTHOR: Henrik Nordstrom
 #include "squid.h"
 #include "heap.h"
 #include "store_heap_replacement.h"
+#include "Store.h"
 
 REMOVALPOLICYCREATE createRemovalPolicy_heap;
 
 static int nr_heap_policies = 0;
 
-typedef struct _HeapPolicyData HeapPolicyData;
-struct _HeapPolicyData {
+struct HeapPolicyData {
+    void setPolicyNode (StoreEntry *, void *) const;
     RemovalPolicy *policy;
-    heap *heap;
+    heap *theHeap;
     heap_key_func *keyfunc;
     int count;
     int nwalkers;
@@ -64,47 +65,51 @@ struct _HeapPolicyData {
 /* Hack to avoid having to remember the RemovalPolicyNode location.
  * Needed by the purge walker.
  */
-static enum heap_entry_type
+static enum HeapPolicyData::heap_entry_type
 heap_guessType(StoreEntry * entry, RemovalPolicyNode * node)
 {
     if (node == &entry->repl)
-       return TYPE_STORE_ENTRY;
+       return HeapPolicyData::TYPE_STORE_ENTRY;
     if (entry->mem_obj && node == &entry->mem_obj->repl)
-       return TYPE_STORE_MEM;
+       return HeapPolicyData::TYPE_STORE_MEM;
     fatal("Heap Replacement: Unknown StoreEntry node type");
-    return TYPE_UNKNOWN;
+    return HeapPolicyData::TYPE_UNKNOWN;
 }
-#define SET_POLICY_NODE(entry,value) \
-    switch(heap->type) { \
-    case TYPE_STORE_ENTRY: entry->repl.data = value; break ; \
-    case TYPE_STORE_MEM: entry->mem_obj->repl.data = value ; break ; \
-    default: break; \
+
+void
+HeapPolicyData::setPolicyNode (StoreEntry *entry, void *value) const
+{
+    switch (type) {
+      case TYPE_STORE_ENTRY: entry->repl.data = value; break ;
+      case TYPE_STORE_MEM: entry->mem_obj->repl.data = value ; break ;
+      default: break;
     }
+}
 
 static void
 heap_add(RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node)
 {
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     assert(!node->data);
     if (EBIT_TEST(entry->flags, ENTRY_SPECIAL))
        return;                 /* We won't manage these.. they messes things up */
-    node->data = heap_insert(heap->heap, entry);
+    node->data = heap_insert(heap->theHeap, entry);
     heap->count += 1;
     if (!heap->type)
        heap->type = heap_guessType(entry, node);
     /* Add a little more variance to the aging factor */
-    heap->heap->age += heap->heap->age / 100000000;
+    heap->theHeap->age += heap->theHeap->age / 100000000;
 }
 
 static void
 heap_remove(RemovalPolicy * policy, StoreEntry * entry,
     RemovalPolicyNode * node)
 {
-    HeapPolicyData *heap = policy->_data;
-    heap_node *hnode = node->data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
+    heap_node *hnode = (heap_node *)node->data;
     if (!hnode)
        return;
-    heap_delete(heap->heap, hnode);
+    heap_delete(heap->theHeap, hnode);
     node->data = NULL;
     heap->count -= 1;
 }
@@ -113,30 +118,30 @@ static void
 heap_referenced(RemovalPolicy * policy, const StoreEntry * entry,
     RemovalPolicyNode * node)
 {
-    HeapPolicyData *heap = policy->_data;
-    heap_node *hnode = node->data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
+    heap_node *hnode = (heap_node *)node->data;
     if (!hnode)
        return;
-    heap_update(heap->heap, hnode, (StoreEntry *) entry);
+    heap_update(heap->theHeap, hnode, (StoreEntry *) entry);
 }
 
 /** RemovalPolicyWalker **/
 
 typedef struct _HeapWalkData HeapWalkData;
 struct _HeapWalkData {
-    int current;
+    size_t current;
 };
 
 static const StoreEntry *
 heap_walkNext(RemovalPolicyWalker * walker)
 {
-    HeapWalkData *heap_walk = walker->_data;
+    HeapWalkData *heap_walk = (HeapWalkData *)walker->_data;
     RemovalPolicy *policy = walker->_policy;
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     StoreEntry *entry;
-    if (heap_walk->current >= heap_nodes(heap->heap))
+    if (heap_walk->current >= heap_nodes(heap->theHeap))
        return NULL;            /* done */
-    entry = (StoreEntry *) heap_peep(heap->heap, heap_walk->current++);
+    entry = (StoreEntry *) heap_peep(heap->theHeap, heap_walk->current++);
     return entry;
 }
 
@@ -144,7 +149,7 @@ static void
 heap_walkDone(RemovalPolicyWalker * walker)
 {
     RemovalPolicy *policy = walker->_policy;
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     assert(strcmp(policy->_type, "heap") == 0);
     assert(heap->nwalkers > 0);
     heap->nwalkers -= 1;
@@ -155,12 +160,12 @@ heap_walkDone(RemovalPolicyWalker * walker)
 static RemovalPolicyWalker *
 heap_walkInit(RemovalPolicy * policy)
 {
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     RemovalPolicyWalker *walker;
     HeapWalkData *heap_walk;
     heap->nwalkers += 1;
     walker = cbdataAlloc(RemovalPolicyWalker);
-    heap_walk = xcalloc(1, sizeof(*heap_walk));
+    heap_walk = (HeapWalkData *)xcalloc(1, sizeof(*heap_walk));
     heap_walk->current = 0;
     walker->_policy = policy;
     walker->_data = heap_walk;
@@ -180,46 +185,46 @@ struct _HeapPurgeData {
 static StoreEntry *
 heap_purgeNext(RemovalPurgeWalker * walker)
 {
-    HeapPurgeData *heap_walker = walker->_data;
+    HeapPurgeData *heap_walker = (HeapPurgeData *)walker->_data;
     RemovalPolicy *policy = walker->_policy;
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     StoreEntry *entry;
     heap_key age;
   try_again:
-    if (!heap_nodes(heap->heap) > 0)
+    if (!heap_nodes(heap->theHeap) > 0)
        return NULL;            /* done */
-    age = heap_peepminkey(heap->heap);
-    entry = heap_extractmin(heap->heap);
+    age = heap_peepminkey(heap->theHeap);
+    entry = (StoreEntry *)heap_extractmin(heap->theHeap);
     if (storeEntryLocked(entry)) {
        linklistPush(&heap_walker->locked_entries, entry);
        goto try_again;
     }
     heap_walker->min_age = age;
-    SET_POLICY_NODE(entry, NULL);
+    heap->setPolicyNode(entry, NULL);
     return entry;
 }
 
 static void
 heap_purgeDone(RemovalPurgeWalker * walker)
 {
-    HeapPurgeData *heap_walker = walker->_data;
+    HeapPurgeData *heap_walker = (HeapPurgeData *)walker->_data;
     RemovalPolicy *policy = walker->_policy;
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     StoreEntry *entry;
     assert(strcmp(policy->_type, "heap") == 0);
     assert(heap->nwalkers > 0);
     heap->nwalkers -= 1;
     if (heap_walker->min_age > 0) {
-       heap->heap->age = heap_walker->min_age;
+       heap->theHeap->age = heap_walker->min_age;
        debug(81, 3) ("heap_purgeDone: Heap age set to %f\n",
-           (double) heap->heap->age);
+           (double) heap->theHeap->age);
     }
     /*
      * Reinsert the locked entries
      */
-    while ((entry = linklistShift(&heap_walker->locked_entries))) {
-       heap_node *node = heap_insert(heap->heap, entry);
-       SET_POLICY_NODE(entry, node);
+    while ((entry = (StoreEntry *)linklistShift(&heap_walker->locked_entries))) {
+       heap_node *node = heap_insert(heap->theHeap, entry);
+       heap->setPolicyNode(entry, node);
     }
     safe_free(walker->_data);
     cbdataFree(walker);
@@ -228,12 +233,12 @@ heap_purgeDone(RemovalPurgeWalker * walker)
 static RemovalPurgeWalker *
 heap_purgeInit(RemovalPolicy * policy, int max_scan)
 {
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     RemovalPurgeWalker *walker;
     HeapPurgeData *heap_walk;
     heap->nwalkers += 1;
     walker = cbdataAlloc(RemovalPurgeWalker);
-    heap_walk = xcalloc(1, sizeof(*heap_walk));
+    heap_walk = (HeapPurgeData *)xcalloc(1, sizeof(*heap_walk));
     heap_walk->min_age = 0.0;
     heap_walk->locked_entries = NULL;
     walker->_policy = policy;
@@ -247,7 +252,7 @@ heap_purgeInit(RemovalPolicy * policy, int max_scan)
 static void
 heap_free(RemovalPolicy * policy)
 {
-    HeapPolicyData *heap = policy->_data;
+    HeapPolicyData *heap = (HeapPolicyData *)policy->_data;
     /* Make some verification of the policy state */
     assert(strcmp(policy->_type, "heap") == 0);
     assert(heap->nwalkers);
@@ -266,7 +271,7 @@ createRemovalPolicy_heap(wordlist * args)
     const char *keytype;
     /* Allocate the needed structures */
     policy = cbdataAlloc(RemovalPolicy);
-    heap_data = xcalloc(1, sizeof(*heap_data));
+    heap_data = (HeapPolicyData *)xcalloc(1, sizeof(*heap_data));
     /* Initialize the policy data */
     heap_data->policy = policy;
     if (args) {
@@ -289,8 +294,8 @@ createRemovalPolicy_heap(wordlist * args)
     }
     /* No additional arguments expected */
     assert(!args);
-    heap_data->heap = new_heap(1000, heap_data->keyfunc);
-    heap_data->heap->age = 1.0;
+    heap_data->theHeap = new_heap(1000, heap_data->keyfunc);
+    heap_data->theHeap->age = 1.0;
     /* Populate the policy structure */
     policy->_type = "heap";
     policy->_data = heap_data;
index db7dcc65710439d765a1dde2c8fb68405bd99dcb..feb07dd9977e8bd5a31e16e30cc3fd8e52c34e75 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_repl_lru.cc,v 1.11 2002/04/06 08:49:46 adrian Exp $
+ * $Id: store_repl_lru.cc,v 1.12 2002/10/13 20:35:29 robertc Exp $
  *
  * DEBUG: section ?     LRU Removal policy
  * AUTHOR: Henrik Nordstrom
  */
 
 #include "squid.h"
+#include "Store.h"
 
 REMOVALPOLICYCREATE createRemovalPolicy_lru;
 
-typedef struct _LruPolicyData LruPolicyData;
-struct _LruPolicyData {
+struct LruPolicyData {
+    void setPolicyNode (StoreEntry *, void *) const;
     RemovalPolicy *policy;
     dlink_list list;
     int count;
@@ -51,22 +52,26 @@ struct _LruPolicyData {
 /* Hack to avoid having to remember the RemovalPolicyNode location.
  * Needed by the purge walker to clear the policy information
  */
-static enum heap_entry_type
+static enum LruPolicyData::heap_entry_type
 repl_guessType(StoreEntry * entry, RemovalPolicyNode * node)
 {
     if (node == &entry->repl)
-       return TYPE_STORE_ENTRY;
+       return LruPolicyData::TYPE_STORE_ENTRY;
     if (entry->mem_obj && node == &entry->mem_obj->repl)
-       return TYPE_STORE_MEM;
+       return LruPolicyData::TYPE_STORE_MEM;
     fatal("Heap Replacement: Unknown StoreEntry node type");
-    return TYPE_UNKNOWN;
+    return LruPolicyData::TYPE_UNKNOWN;
 }
-#define SET_POLICY_NODE(entry,value) \
-    switch(lru->type) { \
-    case TYPE_STORE_ENTRY: entry->repl.data = value; break ; \
-    case TYPE_STORE_MEM: entry->mem_obj->repl.data = value ; break ; \
-    default: break; \
+
+void
+LruPolicyData::setPolicyNode (StoreEntry *entry, void *value) const
+{
+    switch (type) {
+        case TYPE_STORE_ENTRY: entry->repl.data = value; break ;
+       case TYPE_STORE_MEM: entry->mem_obj->repl.data = value ; break ;
+       default: break;
     }
+}
 
 typedef struct _LruNode LruNode;
 struct _LruNode {
@@ -82,10 +87,10 @@ static int nr_lru_policies = 0;
 static void
 lru_add(RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node)
 {
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     LruNode *lru_node;
     assert(!node->data);
-    node->data = lru_node = memPoolAlloc(lru_node_pool);
+    node->data = lru_node = (LruNode *)memPoolAlloc(lru_node_pool);
     dlinkAddTail(entry, &lru_node->node, &lru->list);
     lru->count += 1;
     if (!lru->type)
@@ -95,8 +100,8 @@ lru_add(RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node)
 static void
 lru_remove(RemovalPolicy * policy, StoreEntry * entry, RemovalPolicyNode * node)
 {
-    LruPolicyData *lru = policy->_data;
-    LruNode *lru_node = node->data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
+    LruNode *lru_node = (LruNode *)node->data;
     if (!lru_node)
        return;
     /*
@@ -117,8 +122,8 @@ static void
 lru_referenced(RemovalPolicy * policy, const StoreEntry * entry,
     RemovalPolicyNode * node)
 {
-    LruPolicyData *lru = policy->_data;
-    LruNode *lru_node = node->data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
+    LruNode *lru_node = (LruNode *)node->data;
     if (!lru_node)
        return;
     dlinkDelete(&lru_node->node, &lru->list);
@@ -135,7 +140,7 @@ struct _LruWalkData {
 static const StoreEntry *
 lru_walkNext(RemovalPolicyWalker * walker)
 {
-    LruWalkData *lru_walk = walker->_data;
+    LruWalkData *lru_walk = (LruWalkData *)walker->_data;
     LruNode *lru_node = lru_walk->current;
     if (!lru_node)
        return NULL;
@@ -147,7 +152,7 @@ static void
 lru_walkDone(RemovalPolicyWalker * walker)
 {
     RemovalPolicy *policy = walker->_policy;
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     assert(strcmp(policy->_type, "lru") == 0);
     assert(lru->nwalkers > 0);
     lru->nwalkers -= 1;
@@ -158,12 +163,12 @@ lru_walkDone(RemovalPolicyWalker * walker)
 static RemovalPolicyWalker *
 lru_walkInit(RemovalPolicy * policy)
 {
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     RemovalPolicyWalker *walker;
     LruWalkData *lru_walk;
     lru->nwalkers += 1;
     walker = cbdataAlloc(RemovalPolicyWalker);
-    lru_walk = xcalloc(1, sizeof(*lru_walk));
+    lru_walk = (LruWalkData *)xcalloc(1, sizeof(*lru_walk));
     walker->_policy = policy;
     walker->_data = lru_walk;
     walker->Next = lru_walkNext;
@@ -183,9 +188,9 @@ struct _LruPurgeData {
 static StoreEntry *
 lru_purgeNext(RemovalPurgeWalker * walker)
 {
-    LruPurgeData *lru_walker = walker->_data;
+    LruPurgeData *lru_walker = (LruPurgeData *)walker->_data;
     RemovalPolicy *policy = walker->_policy;
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     LruNode *lru_node;
     StoreEntry *entry;
   try_again:
@@ -208,7 +213,7 @@ lru_purgeNext(RemovalPurgeWalker * walker)
     }
     memPoolFree(lru_node_pool, lru_node);
     lru->count -= 1;
-    SET_POLICY_NODE(entry, NULL);
+    lru->setPolicyNode(entry, NULL);
     return entry;
 }
 
@@ -216,7 +221,7 @@ static void
 lru_purgeDone(RemovalPurgeWalker * walker)
 {
     RemovalPolicy *policy = walker->_policy;
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     assert(strcmp(policy->_type, "lru") == 0);
     assert(lru->nwalkers > 0);
     lru->nwalkers -= 1;
@@ -227,12 +232,12 @@ lru_purgeDone(RemovalPurgeWalker * walker)
 static RemovalPurgeWalker *
 lru_purgeInit(RemovalPolicy * policy, int max_scan)
 {
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     RemovalPurgeWalker *walker;
     LruPurgeData *lru_walk;
     lru->nwalkers += 1;
     walker = cbdataAlloc(RemovalPurgeWalker);
-    lru_walk = xcalloc(1, sizeof(*lru_walk));
+    lru_walk = (LruPurgeData *)xcalloc(1, sizeof(*lru_walk));
     walker->_policy = policy;
     walker->_data = lru_walk;
     walker->max_scan = max_scan;
@@ -245,7 +250,7 @@ lru_purgeInit(RemovalPolicy * policy, int max_scan)
 static void
 lru_stats(RemovalPolicy * policy, StoreEntry * sentry)
 {
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     LruNode *lru_node = (LruNode *) lru->list.head;
 
   again:
@@ -262,7 +267,7 @@ lru_stats(RemovalPolicy * policy, StoreEntry * sentry)
 static void
 lru_free(RemovalPolicy * policy)
 {
-    LruPolicyData *lru = policy->_data;
+    LruPolicyData *lru = (LruPolicyData *)policy->_data;
     /* Make some verification of the policy state */
     assert(strcmp(policy->_type, "lru") == 0);
     assert(lru->nwalkers);
@@ -286,7 +291,7 @@ createRemovalPolicy_lru(wordlist * args)
        memPoolSetChunkSize(lru_node_pool, 512 * 1024);
     }
     /* Allocate the needed structures */
-    lru_data = xcalloc(1, sizeof(*lru_data));
+    lru_data = (LruPolicyData *)xcalloc(1, sizeof(*lru_data));
     policy = cbdataAlloc(RemovalPolicy);
     /* Initialize the URL data */
     lru_data->policy = policy;
index 4427b48035211ded01f7397143e970cd408c7ebb..d0a6142eee040d00e72a284f0baf3b340691a568 100755 (executable)
@@ -3,6 +3,7 @@ echo "/* automatically generated by $0 $*"
 echo " * do not edit"
 echo " */"
 echo "#include \"squid.h\""
+echo "#include \"Store.h\""
 echo ""
 for module in "$@"; do
    echo "extern REMOVALPOLICYCREATE createRemovalPolicy_${module};"
index 35c048278e68d344c543185517e7e4f5e1c6f7a9..cde0bb15ba8cd873d809f63dfe653052e337ad11 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_agent.cc,v 1.83 2001/10/24 06:16:17 hno Exp $
+ * $Id: snmp_agent.cc,v 1.84 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 49     SNMP Interface
  * AUTHOR: Kostas Anagnostakis
@@ -36,6 +36,7 @@
 
 #include "squid.h"
 #include "cache_snmp.h"
+#include "Store.h"
 
 /************************************************************************
 
@@ -63,7 +64,7 @@ snmp_sysFn(variable_list * Var, snint * ErrP)
        break;
     case SYS_UPTIME:
        Answer = snmp_var_new_integer(Var->name, Var->name_length,
-           tvSubDsec(squid_start, current_time) * 100,
+           (int)(tvSubDsec(squid_start, current_time) * 100),
            SMI_TIMETICKS);
        break;
     default:
@@ -299,7 +300,7 @@ snmp_prfSysFn(variable_list * Var, snint * ErrP)
        break;
     case PERF_SYS_NUMOBJCNT:
        Answer = snmp_var_new_integer(Var->name, Var->name_length,
-           (snint) memInUse(MEM_STOREENTRY),
+           (snint) _StoreEntry::inUseCount(),
            SMI_COUNTER32);
        break;
     default:
index 9a22dd6868cb2528f54f327f1a89f3ec2437550b..cdd864f6b34eb822c447fcaa4d9add3ed82a4248 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_core.cc,v 1.54 2002/02/13 17:19:01 hno Exp $
+ * $Id: snmp_core.cc,v 1.55 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 49    SNMP support
  * AUTHOR: Glenn Chisholm
@@ -475,11 +475,11 @@ snmpHandleUdp(int sock, void *not_used)
            len,
            inet_ntoa(from.sin_addr));
 
-       snmp_rq = xcalloc(1, sizeof(snmp_request_t));
+       snmp_rq = (snmp_request_t *)xcalloc(1, sizeof(snmp_request_t));
        snmp_rq->buf = (u_char *) buf;
        snmp_rq->len = len;
        snmp_rq->sock = sock;
-       snmp_rq->outbuf = xmalloc(snmp_rq->outlen = SNMP_REQUEST_SIZE);
+       snmp_rq->outbuf = (unsigned char *)xmalloc(snmp_rq->outlen = SNMP_REQUEST_SIZE);
        xmemcpy(&snmp_rq->from, &from, sizeof(struct sockaddr_in));
        snmpDecodePacket(snmp_rq);
        xfree(snmp_rq->outbuf);
@@ -741,7 +741,7 @@ static_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn
     oid *instance = NULL;
 
     if (*len <= current->len) {
-       instance = xmalloc(sizeof(name) * (*len + 1));
+       instance = (oid *)xmalloc(sizeof(name) * (*len + 1));
        xmemcpy(instance, name, (sizeof(name) * *len));
        instance[*len] = 0;
        *len += 1;
@@ -759,7 +759,7 @@ time_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn)
     {TIME_INDEX};
 
     if (*len <= current->len) {
-       instance = xmalloc(sizeof(name) * (*len + 1));
+       instance = (oid *)xmalloc(sizeof(name) * (*len + 1));
        xmemcpy(instance, name, (sizeof(name) * *len));
        instance[*len] = *index;
        *len += 1;
@@ -768,7 +768,7 @@ time_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn)
        while ((identifier != index[loop]) && (loop < TIME_INDEX_LEN))
            loop++;
        if (loop < TIME_INDEX_LEN - 1) {
-           instance = xmalloc(sizeof(name) * (*len));
+           instance = (oid *)xmalloc(sizeof(name) * (*len));
            xmemcpy(instance, name, (sizeof(name) * *len));
            instance[*len - 1] = index[++loop];
        }
@@ -792,7 +792,7 @@ peer_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn)
            current = current->leaves[0];
        instance = client_Inst(current->name, len, current, Fn);
     } else if (*len <= current->len) {
-       instance = xmalloc(sizeof(name) * (*len + 4));
+       instance = (oid *)xmalloc(sizeof(name) * (*len + 4));
        xmemcpy(instance, name, (sizeof(name) * *len));
        cp = (u_char *) & (peers->in_addr.sin_addr.s_addr);
        instance[*len] = *cp++;
@@ -803,7 +803,7 @@ peer_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn)
     } else {
        laddr = oid2addr(&name[*len - 4]);
        host_addr = inet_ntoa(*laddr);
-       last_addr = xmalloc(strlen(host_addr));
+       last_addr = (char *)xmalloc(strlen(host_addr));
        strncpy(last_addr, host_addr, strlen(host_addr));
        current_addr = inet_ntoa(peers->in_addr.sin_addr);
        while ((peers) && (strncmp(last_addr, current_addr, strlen(current_addr)))) {
@@ -818,7 +818,7 @@ peer_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn)
        if (peers) {
            if (peers->next) {
                peers = peers->next;
-               instance = xmalloc(sizeof(name) * (*len));
+               instance = (oid *)xmalloc(sizeof(name) * (*len));
                xmemcpy(instance, name, (sizeof(name) * *len));
                cp = (u_char *) & (peers->in_addr.sin_addr.s_addr);
                instance[*len - 4] = *cp++;
@@ -844,7 +844,7 @@ client_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn
     struct in_addr *laddr = NULL;
 
     if (*len <= current->len) {
-       instance = xmalloc(sizeof(name) * (*len + 4));
+       instance = (oid *)xmalloc(sizeof(name) * (*len + 4));
        xmemcpy(instance, name, (sizeof(name) * *len));
        laddr = client_entry(NULL);
        if (laddr) {
@@ -859,7 +859,7 @@ client_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn
        laddr = oid2addr(&name[*len - 4]);
        laddr = client_entry(laddr);
        if (laddr) {
-           instance = xmalloc(sizeof(name) * (*len));
+           instance = (oid *)xmalloc(sizeof(name) * (*len));
            xmemcpy(instance, name, (sizeof(name) * *len));
            cp = (u_char *) & (laddr->s_addr);
            instance[*len - 4] = *cp++;
@@ -957,7 +957,7 @@ snmpAddNode(va_alist)
     snmpDebugOid(6, name, len);
 
     va_start(args, children);
-    entry = xmalloc(sizeof(mib_tree_entry));
+    entry = (mib_tree_entry *)xmalloc(sizeof(mib_tree_entry));
     entry->name = name;
     entry->len = len;
     entry->parsefunction = parsefunction;
@@ -965,7 +965,7 @@ snmpAddNode(va_alist)
     entry->children = children;
 
     if (children > 0) {
-       entry->leaves = xmalloc(sizeof(mib_tree_entry *) * children);
+       entry->leaves = (mib_tree_entry **)xmalloc(sizeof(mib_tree_entry *) * children);
        for (loop = 0; loop < children; loop++) {
            entry->leaves[loop] = va_arg(args, mib_tree_entry *);
            entry->leaves[loop]->parent = entry;
@@ -999,7 +999,7 @@ snmpCreateOid(va_alist)
     length va_arg(args, int);
 #endif
 
-    new_oid = xmalloc(sizeof(oid) * length);
+    new_oid = (oid *)xmalloc(sizeof(oid) * length);
 
     if (length > 0) {
        for (loop = 0; loop < length; loop++) {
index a77f539f60b5636115dc5d8986fb6d23d35ab50b..1d298900e66223ffe83577c59bb362f4a8e90931 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ssl.cc,v 1.123 2002/10/04 14:00:22 hno Exp $
+ * $Id: ssl.cc,v 1.124 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 26    Secure Sockets Layer Proxy
  * AUTHOR: Duane Wessels
@@ -76,7 +76,7 @@ static DEFER sslDeferServerRead;
 static void
 sslServerClosed(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslServerClosed: FD %d\n", fd);
     assert(fd == sslState->server.fd);
     sslState->server.fd = -1;
@@ -87,7 +87,7 @@ sslServerClosed(int fd, void *data)
 static void
 sslClientClosed(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslClientClosed: FD %d\n", fd);
     assert(fd == sslState->client.fd);
     sslState->client.fd = -1;
@@ -119,7 +119,7 @@ sslStateFree(SslStateData * sslState)
 static int
 sslDeferServerRead(int fdnotused, void *data)
 {
-    SslStateData *s = data;
+    SslStateData *s = (SslStateData *)data;
     int i = delayBytesWanted(s->delay_id, 0, INT_MAX);
     if (i == INT_MAX)
        return 0;
@@ -142,7 +142,7 @@ sslSetSelect(SslStateData * sslState)
                sslState,
                0);
        }
-       if (sslState->client.len < read_sz) {
+       if ((size_t)sslState->client.len < read_sz) {
            commSetSelect(sslState->client.fd,
                COMM_SELECT_READ,
                sslReadClient,
@@ -170,7 +170,7 @@ sslSetSelect(SslStateData * sslState)
         */
        read_sz = delayBytesWanted(sslState->delay_id, 1, read_sz);
 #endif
-       if (sslState->server.len < read_sz) {
+       if ((size_t)sslState->server.len < read_sz) {
            /* Have room to read more */
            commSetSelect(sslState->server.fd,
                COMM_SELECT_READ,
@@ -189,7 +189,7 @@ sslSetSelect(SslStateData * sslState)
 static void
 sslReadServer(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     size_t read_sz = SQUID_TCP_SO_RCVBUF - sslState->server.len;
     assert(fd == sslState->server.fd);
@@ -229,7 +229,7 @@ sslReadServer(int fd, void *data)
 static void
 sslReadClient(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->client.fd);
     debug(26, 3) ("sslReadClient: FD %d, reading %d bytes at offset %d\n",
@@ -270,7 +270,7 @@ sslReadClient(int fd, void *data)
 static void
 sslWriteServer(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->server.fd);
     debug(26, 3) ("sslWriteServer: FD %d, %d bytes to write\n",
@@ -309,7 +309,7 @@ sslWriteServer(int fd, void *data)
 static void
 sslWriteClient(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->client.fd);
     debug(26, 3) ("sslWriteClient: FD %d, %d bytes to write\n",
@@ -349,7 +349,7 @@ sslWriteClient(int fd, void *data)
 static void
 sslTimeout(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslTimeout: FD %d\n", fd);
     if (sslState->client.fd > -1)
        comm_close(sslState->client.fd);
@@ -360,7 +360,7 @@ sslTimeout(int fd, void *data)
 static void
 sslConnected(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslConnected: FD %d sslState=%p\n", fd, sslState);
     *sslState->status_ptr = HTTP_OK;
     xstrncpy(sslState->server.buf, conn_established, SQUID_TCP_SO_RCVBUF);
@@ -371,7 +371,7 @@ sslConnected(int fd, void *data)
 static void
 sslErrorComplete(int fdnotused, void *data, size_t sizenotused)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     assert(sslState != NULL);
     if (sslState->client.fd > -1)
        comm_close(sslState->client.fd);
@@ -383,7 +383,7 @@ sslErrorComplete(int fdnotused, void *data, size_t sizenotused)
 static void
 sslConnectDone(int fdnotused, comm_err_t status, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     request_t *request = sslState->request;
     ErrorState *err = NULL;
     if (sslState->servers->_peer)
@@ -499,8 +499,8 @@ sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr)
     sslState->status_ptr = status_ptr;
     sslState->client.fd = fd;
     sslState->server.fd = sock;
-    sslState->server.buf = xmalloc(SQUID_TCP_SO_RCVBUF);
-    sslState->client.buf = xmalloc(SQUID_TCP_SO_RCVBUF);
+    sslState->server.buf = (char *)xmalloc(SQUID_TCP_SO_RCVBUF);
+    sslState->client.buf = (char *)xmalloc(SQUID_TCP_SO_RCVBUF);
     comm_add_close_handler(sslState->server.fd,
        sslServerClosed,
        sslState);
@@ -529,7 +529,7 @@ sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr)
 static void
 sslProxyConnected(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     MemBuf mb;
     HttpHeader hdr_out;
     Packer p;
@@ -563,7 +563,7 @@ sslProxyConnected(int fd, void *data)
 static void
 sslPeerSelectComplete(FwdServer * fs, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     request_t *request = sslState->request;
     peer *g = NULL;
     if (fs == NULL) {
index ea9cf3d01a39726732f6a924b5afe927177afc02..4d98f464d6cb62b7fc4f89be3ffdec97f7a11c59 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ssl_support.cc,v 1.6 2002/07/20 23:23:17 hno Exp $
+ * $Id: ssl_support.cc,v 1.7 2002/10/13 20:35:03 robertc Exp $
  *
  * AUTHOR: Benno Rice
  * DEBUG: section 83    SSL accelerator support
@@ -42,7 +42,7 @@ void clientNegotiateSSL(int fd, void *data);
 void clientReadSSLRequest(int fd, void *data);
 
 static RSA *
-ssl_temp_rsa_cb(SSL * ssl, int export, int keylen)
+ssl_temp_rsa_cb(SSL * ssl, int anInt, int keylen)
 {
     static RSA *rsa = NULL;
 
@@ -314,10 +314,7 @@ sslCreateContext(const char *certfile, const char *keyfile, int version, const c
 }
 
 int
-ssl_read_method(fd, buf, len)
-     int fd;
-     char *buf;
-     int len;
+ssl_read_method(int fd, char *buf, int len)
 {
     int i;
 
@@ -333,16 +330,13 @@ ssl_read_method(fd, buf, len)
 }
 
 int
-ssl_write_method(fd, buf, len)
-     int fd;
-     const char *buf;
-     int len;
+ssl_write_method(int fd, const char *buf, int len)
 {
     return (SSL_write(fd_table[fd].ssl, buf, len));
 }
 
 void
-ssl_shutdown_method(fd)
+ssl_shutdown_method(int fd)
 {
     SSL *ssl = fd_table[fd].ssl;
     if (!fd_table[fd].ssl_shutdown) {
index 211150868c777c9d28cb254d0bab9a6a8d283f1c..b6f16d76374b45142d78904eb2093c913f92ed27 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: stat.cc,v 1.359 2002/10/06 02:05:23 robertc Exp $
+ * $Id: stat.cc,v 1.360 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 18    Cache Manager Statistics
  * AUTHOR: Harvest Derived
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 #define DEBUG_OPENFD 1
 
@@ -259,7 +260,7 @@ statStoreEntry(StoreEntry * s, StoreEntry * e)
     MemObject *mem = e->mem_obj;
     int i;
     dlink_node *node;
-    storeAppendPrintf(s, "KEY %s\n", storeKeyText(e->hash.key));
+    storeAppendPrintf(s, "KEY %s\n", storeKeyText((const cache_key *)e->hash.key));
     if (mem)
        storeAppendPrintf(s, "\t%s %s\n",
            RequestMethodStr[mem->method], mem->log_url);
@@ -281,7 +282,7 @@ statStoreEntry(StoreEntry * s, StoreEntry * e)
            storeAppendPrintf(s, "\tswapout: %d bytes written\n",
                (int) storeOffset(mem->swapout.sio));
        for (i = 0, node = mem->clients.head; node; node = node->next, i++)
-           storeClientDumpStats(node->data, s, i);
+           storeClientDumpStats((store_client *)node->data, s, i);
     }
     storeAppendPrintf(s, "\n");
 }
@@ -290,7 +291,7 @@ statStoreEntry(StoreEntry * s, StoreEntry * e)
 static void
 statObjects(void *data)
 {
-    StatObjectsState *state = data;
+    StatObjectsState *state = static_cast<StatObjectsState *>(data);
     StoreEntry *e;
     hash_link *link_ptr = NULL;
     hash_link *link_next = NULL;
@@ -480,7 +481,7 @@ info_get(StoreEntry * sentry)
     storeAppendPrintf(sentry, "\tRequest Disk Hit Ratios:\t5min: %3.1f%%, 60min: %3.1f%%\n",
        statRequestHitDiskRatio(5),
        statRequestHitDiskRatio(60));
-    storeAppendPrintf(sentry, "\tStorage Swap size:\t%d KB\n",
+    storeAppendPrintf(sentry, "\tStorage Swap size:\t%lu KB\n",
        store_swap_size);
     storeAppendPrintf(sentry, "\tStorage Mem size:\t%d KB\n",
        (int) (store_mem_size >> 10));
@@ -614,7 +615,7 @@ info_get(StoreEntry * sentry)
 
     storeAppendPrintf(sentry, "Internal Data Structures:\n");
     storeAppendPrintf(sentry, "\t%6d StoreEntries\n",
-       memInUse(MEM_STOREENTRY));
+       storeEntryInUse());
     storeAppendPrintf(sentry, "\t%6d StoreEntries with MemObjects\n",
        memInUse(MEM_MEMOBJECT));
     storeAppendPrintf(sentry, "\t%6d Hot Object Cache Items\n",
@@ -935,7 +936,7 @@ statAvgTick(void *notused)
        }
     }
     if (Config.warnings.high_memory) {
-       int i = 0;
+       size_t i = 0;
 #if HAVE_MSTATS && HAVE_GNUMALLOC_H
        struct mstats ms = mstats();
        i = ms.bytes_total;
@@ -1399,7 +1400,7 @@ statClientRequests(StoreEntry * s)
     StoreEntry *e;
     int fd;
     for (i = ClientActiveRequests.head; i; i = i->next) {
-       http = i->data;
+       http = static_cast<clientHttpRequest *>(i->data);
        assert(http);
        conn = http->conn;
        storeAppendPrintf(s, "Connection: %p\n", conn);
@@ -1427,9 +1428,9 @@ statClientRequests(StoreEntry * s)
            (long int) http->out.offset, (unsigned long int) http->out.size);
        storeAppendPrintf(s, "req_sz %ld\n", (long int) http->req_sz);
        e = http->entry;
-       storeAppendPrintf(s, "entry %p/%s\n", e, e ? storeKeyText(e->hash.key) : "N/A");
+       storeAppendPrintf(s, "entry %p/%s\n", e, e ? storeKeyText((cache_key const *)e->hash.key) : "N/A");
        e = http->old_entry;
-       storeAppendPrintf(s, "old_entry %p/%s\n", e, e ? storeKeyText(e->hash.key) : "N/A");
+       storeAppendPrintf(s, "old_entry %p/%s\n", e, e ? storeKeyText((cache_key const *)e->hash.key) : "N/A");
        storeAppendPrintf(s, "start %ld.%06d (%f seconds ago)\n",
            (long int) http->start.tv_sec,
            (int) http->start.tv_usec,
index 4f720dea76bd567ee767badd7eebc8304072d543..f34d1d488ddd0dbf1e918907ce529db2a922541a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: stmem.cc,v 1.71 2002/09/15 05:41:57 robertc Exp $
+ * $Id: stmem.cc,v 1.72 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 19    Store Memory Primitives
  * AUTHOR: Harvest Derived
@@ -88,7 +88,6 @@ stmemFreeDataUpto(mem_hdr * mem, int target_offset)
 void
 stmemAppend(mem_hdr * mem, const char *data, int len)
 {
-    mem_node *p;
     int avail_len;
     int len_to_copy;
     debug(19, 6) ("memAppend: len %d\n", len);
@@ -106,7 +105,7 @@ stmemAppend(mem_hdr * mem, const char *data, int len)
     }
     while (len > 0) {
        len_to_copy = XMIN(len, SM_PAGE_SIZE);
-       p = memAllocate(MEM_MEM_NODE);
+       mem_node *p = static_cast<mem_node *>(memAllocate(MEM_MEM_NODE));
        p->next = NULL;
        p->len = len_to_copy;
        store_mem_size += SM_PAGE_SIZE;
@@ -130,9 +129,6 @@ stmemCopy(const mem_hdr * mem, off_t offset, char *buf, size_t size)
     mem_node *p = mem->head;
     off_t t_off = mem->origin_offset;
     size_t bytes_to_go = size;
-    char *ptr_to_buf = NULL;
-    int bytes_from_this_packet = 0;
-    int bytes_into_this_packet = 0;
     debug(19, 6) ("memCopy: offset %ld: size %u\n", (long int) offset, size);
     if (p == NULL)
        return 0;
@@ -150,20 +146,21 @@ stmemCopy(const mem_hdr * mem, off_t offset, char *buf, size_t size)
     }
     /* Start copying begining with this block until
      * we're satiated */
-    bytes_into_this_packet = offset - t_off;
-    bytes_from_this_packet = XMIN(bytes_to_go, p->len - bytes_into_this_packet);
+    int bytes_into_this_packet = offset - t_off;
+    assert (p->len >= bytes_into_this_packet);
+    int bytes_from_this_packet = XMIN(bytes_to_go, (size_t)(p->len - bytes_into_this_packet));
     xmemcpy(buf, p->data + bytes_into_this_packet, bytes_from_this_packet);
     bytes_to_go -= bytes_from_this_packet;
-    ptr_to_buf = buf + bytes_from_this_packet;
+    char *ptr_to_buf = buf + bytes_from_this_packet;
     p = p->next;
     while (p && bytes_to_go > 0) {
-       if (bytes_to_go > p->len) {
+       if ((int)bytes_to_go > p->len) {
            xmemcpy(ptr_to_buf, p->data, p->len);
            ptr_to_buf += p->len;
            bytes_to_go -= p->len;
        } else {
            xmemcpy(ptr_to_buf, p->data, bytes_to_go);
-           bytes_to_go -= bytes_to_go;
+           bytes_to_go = 0;
        }
        p = p->next;
     }
index 2958c147525435f34acbcbdbbc881d628b505fc1..89d26a4969d270c0689b6a8ec908fe3eac29809a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.cc,v 1.547 2002/10/02 11:06:31 robertc Exp $
+ * $Id: store.cc,v 1.548 2002/10/13 20:35:04 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager
  * AUTHOR: Harvest Derived
@@ -34,6 +34,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+#include "StoreClient.h"
 
 #define REBUILD_TIMESTAMP_DELTA_MAX 2
 
@@ -94,6 +96,40 @@ static EVH storeLateRelease;
  * local variables
  */
 static Stack LateReleaseStack;
+MemPool *_StoreEntry::pool = NULL;
+
+void *
+_StoreEntry::operator new (unsigned int bytecount)
+{
+    assert (bytecount == sizeof (_StoreEntry));
+    if (!pool) {
+       pool = memPoolCreate ("StoreEntry", bytecount);
+       memPoolSetChunkSize(pool, 2048 * 1024);
+    }
+    return memPoolAlloc (pool);
+}
+
+void
+_StoreEntry::operator delete (void *address)
+{
+    memPoolFree(pool, address);
+}
+
+size_t
+_StoreEntry::inUseCount()
+{
+    if (!pool)
+       return 0;
+    MemPoolStats stats;
+    memPoolGetStats (&stats, pool);
+    return stats.items_inuse;
+}
+
+size_t
+storeEntryInUse ()
+{
+    return _StoreEntry::inUseCount();
+}
 
 #if URL_CHECKSUM_DEBUG
 unsigned int
@@ -113,7 +149,7 @@ url_checksum(const char *url)
 static MemObject *
 new_MemObject(const char *url, const char *log_url)
 {
-    MemObject *mem = memAllocate(MEM_MEMOBJECT);
+    MemObject *mem = static_cast<MemObject *>(memAllocate(MEM_MEMOBJECT));
     mem->reply = httpReplyCreate();
     mem->url = xstrdup(url);
 #if URL_CHECKSUM_DEBUG
@@ -131,7 +167,7 @@ StoreEntry *
 new_StoreEntry(int mem_obj_flag, const char *url, const char *log_url)
 {
     StoreEntry *e = NULL;
-    e = memAllocate(MEM_STOREENTRY);
+    e = new _StoreEntry;
     if (mem_obj_flag)
        e->mem_obj = new_MemObject(url, log_url);
     debug(20, 3) ("new_StoreEntry: returning %p\n", e);
@@ -173,14 +209,16 @@ destroy_MemObject(StoreEntry * e)
 static void
 destroy_StoreEntry(void *data)
 {
-    StoreEntry *e = data;
+    StoreEntry *e = static_cast<StoreEntry *>(data);
     debug(20, 3) ("destroy_StoreEntry: destroying %p\n", e);
     assert(e != NULL);
+    if (e == NullStoreEntry::getInstance())
+       return;
     if (e->mem_obj)
        destroy_MemObject(e);
     storeHashDelete(e);
     assert(e->hash.key == NULL);
-    memFree(e, MEM_STOREENTRY);
+    delete e;
 }
 
 /* ----- INTERFACE BETWEEN STORAGE MANAGER AND HASH TABLE FUNCTIONS --------- */
@@ -198,7 +236,7 @@ static void
 storeHashDelete(StoreEntry * e)
 {
     hash_remove_link(store_table, &e->hash);
-    storeKeyFree(e->hash.key);
+    storeKeyFree((unsigned char *)e->hash.key);
     e->hash.key = NULL;
 }
 
@@ -213,7 +251,7 @@ storePurgeMem(StoreEntry * e)
     if (e->mem_obj == NULL)
        return;
     debug(20, 3) ("storePurgeMem: Freeing memory-copy of %s\n",
-       storeKeyText(e->hash.key));
+       storeKeyText((unsigned char *)e->hash.key));
     storeSetMemStatus(e, NOT_IN_MEMORY);
     destroy_MemObject(e);
     if (e->swap_status != SWAPOUT_DONE)
@@ -261,7 +299,7 @@ storeLockObject(StoreEntry * e)
 {
     e->lock_count++;
     debug(20, 3) ("storeLockObject: key '%s' count=%d\n",
-       storeKeyText(e->hash.key), (int) e->lock_count);
+       storeKeyText((unsigned char *)e->hash.key), (int) e->lock_count);
     e->lastref = squid_curtime;
     storeEntryReferenced(e);
 }
@@ -271,7 +309,7 @@ storeReleaseRequest(StoreEntry * e)
 {
     if (EBIT_TEST(e->flags, RELEASE_REQUEST))
        return;
-    debug(20, 3) ("storeReleaseRequest: '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeReleaseRequest: '%s'\n", storeKeyText((unsigned char *)e->hash.key));
     EBIT_SET(e->flags, RELEASE_REQUEST);
     /*
      * Clear cachable flag here because we might get called before
@@ -289,7 +327,7 @@ storeUnlockObject(StoreEntry * e)
 {
     e->lock_count--;
     debug(20, 3) ("storeUnlockObject: key '%s' count=%d\n",
-       storeKeyText(e->hash.key), e->lock_count);
+       storeKeyText((unsigned char *)e->hash.key), e->lock_count);
     if (e->lock_count)
        return (int) e->lock_count;
     if (e->store_status == STORE_PENDING)
@@ -324,6 +362,37 @@ storeGet(const cache_key * key)
     return (StoreEntry *) p;
 }
 
+void
+_StoreEntry::getPublicByRequestMethod  (StoreClient *aClient, request_t * request, const method_t method)
+{
+    assert (aClient);
+    _StoreEntry *result = storeGetPublicByRequestMethod( request, method);
+    if (!result)
+       aClient->created (NullStoreEntry::getInstance());
+    else
+       aClient->created (result);
+}
+
+void
+_StoreEntry::getPublicByRequest (StoreClient *aClient, request_t * request)
+{
+    assert (aClient);
+    _StoreEntry *result = storeGetPublicByRequest (request);
+    if (!result)
+       result = NullStoreEntry::getInstance();
+    aClient->created (result);
+}
+
+void
+_StoreEntry::getPublic (StoreClient *aClient, const char *uri, const method_t method)
+{
+    assert (aClient);
+    _StoreEntry *result = storeGetPublic (uri, method);
+    if (!result)
+       result = NullStoreEntry::getInstance();
+    aClient->created (result);
+}
+
 StoreEntry *
 storeGetPublic(const char *uri, const method_t method)
 {
@@ -511,7 +580,7 @@ storeCreateEntry(const char *url, const char *log_url, request_flags flags, meth
 void
 storeExpireNow(StoreEntry * e)
 {
-    debug(20, 3) ("storeExpireNow: '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeExpireNow: '%s'\n", storeKeyText((unsigned char *)e->hash.key));
     e->expires = squid_curtime;
 }
 
@@ -526,7 +595,7 @@ storeAppend(StoreEntry * e, const char *buf, int len)
     if (len) {
        debug(20, 5) ("storeAppend: appending %d bytes for '%s'\n",
            len,
-           storeKeyText(e->hash.key));
+           storeKeyText((unsigned char *)e->hash.key));
        storeGetMemSpace(len);
        stmemAppend(&mem->data_hdr, buf, len);
        mem->inmem_hi += len;
@@ -605,7 +674,8 @@ storeCheckTooSmall(StoreEntry * e)
     if (EBIT_TEST(e->flags, ENTRY_SPECIAL))
        return 0;
     if (STORE_OK == e->store_status)
-       if (mem->object_sz < Config.Store.minObjectSize)
+       if (mem->object_sz < 0 ||
+           static_cast<size_t>(mem->object_sz) < Config.Store.minObjectSize)
            return 1;
     if (mem->reply->content_length > -1)
        if (mem->reply->content_length < (int) Config.Store.minObjectSize)
@@ -636,8 +706,8 @@ storeCheckCachable(StoreEntry * e)
        store_check_cachable_hist.no.negative_cached++;
        return 0;               /* avoid release call below */
     } else if ((e->mem_obj->reply->content_length > 0 &&
-               e->mem_obj->reply->content_length > Config.Store.maxObjectSize) ||
-       e->mem_obj->inmem_hi > Config.Store.maxObjectSize) {
+               static_cast<size_t>(e->mem_obj->reply->content_length) > Config.Store.maxObjectSize) ||
+       static_cast<size_t>(e->mem_obj->inmem_hi) > Config.Store.maxObjectSize) {
        debug(20, 2) ("storeCheckCachable: NO: too big\n");
        store_check_cachable_hist.no.too_big++;
     } else if (e->mem_obj->reply->content_length > (int) Config.Store.maxObjectSize) {
@@ -704,7 +774,7 @@ storeCheckCachableStats(StoreEntry * sentry)
 void
 storeComplete(StoreEntry * e)
 {
-    debug(20, 3) ("storeComplete: '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeComplete: '%s'\n", storeKeyText((unsigned char *)e->hash.key));
     if (e->store_status != STORE_PENDING) {
        /*
         * if we're not STORE_PENDING, then probably we got aborted
@@ -746,7 +816,7 @@ storeAbort(StoreEntry * e)
     MemObject *mem = e->mem_obj;
     assert(e->store_status == STORE_PENDING);
     assert(mem != NULL);
-    debug(20, 6) ("storeAbort: %s\n", storeKeyText(e->hash.key));
+    debug(20, 6) ("storeAbort: %s\n", storeKeyText((unsigned char *)e->hash.key));
     storeLockObject(e);                /* lock while aborting */
     storeNegativeCache(e);
     storeReleaseRequest(e);
@@ -852,7 +922,7 @@ void
 storeRelease(StoreEntry * e)
 {
     PROF_start(storeRelease);
-    debug(20, 3) ("storeRelease: Releasing: '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeRelease: Releasing: '%s'\n", storeKeyText((unsigned char *)e->hash.key));
     /* If, for any reason we can't discard this object because of an
      * outstanding request, mark it for pending release */
     if (storeEntryLocked(e)) {
@@ -911,7 +981,7 @@ storeLateRelease(void *unused)
        return;
     }
     for (i = 0; i < 10; i++) {
-       e = stackPop(&LateReleaseStack);
+       e = static_cast<StoreEntry*>(stackPop(&LateReleaseStack));
        if (e == NULL) {
            /* done! */
            debug(20, 1) ("storeLateRelease: released %d objects\n", n);
@@ -949,7 +1019,7 @@ storeEntryValidLength(const StoreEntry * e)
     const HttpReply *reply;
     assert(e->mem_obj != NULL);
     reply = e->mem_obj->reply;
-    debug(20, 3) ("storeEntryValidLength: Checking '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeEntryValidLength: Checking '%s'\n", storeKeyText((unsigned char *)e->hash.key));
     debug(20, 5) ("storeEntryValidLength:     object_len = %d\n",
        objectLen(e));
     debug(20, 5) ("storeEntryValidLength:         hdr_sz = %d\n",
@@ -958,17 +1028,17 @@ storeEntryValidLength(const StoreEntry * e)
        reply->content_length);
     if (reply->content_length < 0) {
        debug(20, 5) ("storeEntryValidLength: Unspecified content length: %s\n",
-           storeKeyText(e->hash.key));
+           storeKeyText((unsigned char *)e->hash.key));
        return 1;
     }
     if (reply->hdr_sz == 0) {
        debug(20, 5) ("storeEntryValidLength: Zero header size: %s\n",
-           storeKeyText(e->hash.key));
+           storeKeyText((unsigned char *)e->hash.key));
        return 1;
     }
     if (e->mem_obj->method == METHOD_HEAD) {
        debug(20, 5) ("storeEntryValidLength: HEAD request: %s\n",
-           storeKeyText(e->hash.key));
+           storeKeyText((unsigned char *)e->hash.key));
        return 1;
     }
     if (reply->sline.status == HTTP_NOT_MODIFIED)
@@ -981,7 +1051,7 @@ storeEntryValidLength(const StoreEntry * e)
     debug(20, 3) ("storeEntryValidLength: %d bytes too %s; '%s'\n",
        diff < 0 ? -diff : diff,
        diff < 0 ? "big" : "small",
-       storeKeyText(e->hash.key));
+       storeKeyText((unsigned char *)e->hash.key));
     return 0;
 }
 
@@ -1181,7 +1251,7 @@ storeMemObjectDump(MemObject * mem)
 void
 storeEntryDump(const StoreEntry * e, int l)
 {
-    debug(20, l) ("StoreEntry->key: %s\n", storeKeyText(e->hash.key));
+    debug(20, l) ("StoreEntry->key: %s\n", storeKeyText((unsigned char *)e->hash.key));
     debug(20, l) ("StoreEntry->next: %p\n", e->hash.next);
     debug(20, l) ("StoreEntry->mem_obj: %p\n", e->mem_obj);
     debug(20, l) ("StoreEntry->timestamp: %d\n", (int) e->timestamp);
@@ -1204,7 +1274,7 @@ storeEntryDump(const StoreEntry * e, int l)
  * NOTE, this function assumes only two mem states
  */
 void
-storeSetMemStatus(StoreEntry * e, int new_status)
+storeSetMemStatus(StoreEntry * e, mem_status_t new_status)
 {
     MemObject *mem = e->mem_obj;
     if (new_status == e->mem_status)
@@ -1270,7 +1340,7 @@ storeBufferFlush(StoreEntry * e)
     storeSwapOut(e);
 }
 
-int
+ssize_t
 objectLen(const StoreEntry * e)
 {
     assert(e->mem_obj != NULL);
@@ -1350,7 +1420,7 @@ storeFsAdd(const char *type, STSETUP * setup)
        assert(strcmp(storefs_list[i].typestr, type) != 0);
     }
     /* add the new type */
-    storefs_list = xrealloc(storefs_list, (i + 2) * sizeof(storefs_entry_t));
+    storefs_list = static_cast<storefs_entry_t *>(xrealloc(storefs_list, (i + 2) * sizeof(storefs_entry_t)));
     memset(&storefs_list[i + 1], 0, sizeof(storefs_entry_t));
     storefs_list[i].typestr = type;
     /* Call the FS to set up capabilities and initialize the FS driver */
@@ -1369,7 +1439,7 @@ storeReplAdd(const char *type, REMOVALPOLICYCREATE * create)
        assert(strcmp(storerepl_list[i].typestr, type) != 0);
     }
     /* add the new type */
-    storerepl_list = xrealloc(storerepl_list, (i + 2) * sizeof(storerepl_entry_t));
+    storerepl_list = static_cast<storerepl_entry_t *>(xrealloc(storerepl_list, (i + 2) * sizeof(storerepl_entry_t)));
     memset(&storerepl_list[i + 1], 0, sizeof(storerepl_entry_t));
     storerepl_list[i].typestr = type;
     storerepl_list[i].create = create;
@@ -1411,3 +1481,14 @@ storeSwapFileNumberSet(StoreEntry * e, sfileno filn)
     }
 }
 #endif
+
+
+/* NullStoreEntry */
+
+NullStoreEntry NullStoreEntry::_instance;
+
+NullStoreEntry *
+NullStoreEntry::getInstance()
+{
+    return &_instance;
+}
index a606bcdbce11312a5df35811a005f7a5de1cf829..3fb5ce042371f9cf6c3a9db43e5a24aadc57c958 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_client.cc,v 1.114 2002/09/26 13:33:08 robertc Exp $
+ * $Id: store_client.cc,v 1.115 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Client-Side Interface
  * AUTHOR: Duane Wessels
@@ -35,6 +35,8 @@
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
+
 
 CBDATA_TYPE(store_client);
 
@@ -172,7 +174,7 @@ storeClientCallback(store_client * sc, ssize_t sz)
 static void
 storeClientCopyEvent(void *data)
 {
-    store_client *sc = data;
+    store_client *sc = (store_client *)data;
     debug(20, 3) ("storeClientCopyEvent: Running\n");
     sc->flags.copy_event_pending = 0;
     if (!sc->callback)
@@ -190,7 +192,7 @@ storeClientCopy(store_client * sc,
 {
     assert(!EBIT_TEST(e->flags, ENTRY_ABORTED));
     debug(20, 3) ("storeClientCopy: %s, from %lu, for length %d, cb %p, cbdata %p\n",
-       storeKeyText(e->hash.key),
+       storeKeyText((const cache_key *)e->hash.key),
        (unsigned long) copyInto.offset,
        copyInto.length,
        callback,
@@ -250,7 +252,7 @@ storeClientCopy2(StoreEntry * e, store_client * sc)
        return;
     }
     sc->flags.store_copying = 1;
-    debug(20, 3) ("storeClientCopy2: %s\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeClientCopy2: %s\n", storeKeyText((const cache_key *)e->hash.key));
     assert(sc->callback != NULL);
     /*
      * We used to check for ENTRY_ABORTED here.  But there were some
@@ -355,7 +357,7 @@ storeClientFileRead(store_client * sc)
            sc);
     } else {
        if (sc->entry->swap_status == SWAPOUT_WRITING)
-           assert(storeOffset(mem->swapout.sio) > sc->copyInto.offset + mem->swap_hdr_sz);
+           assert(storeOffset(mem->swapout.sio) > sc->copyInto.offset + (off_t)mem->swap_hdr_sz);
        storeRead(sc->swapin_sio,
            sc->copyInto.data,
            sc->copyInto.length,
@@ -368,7 +370,7 @@ storeClientFileRead(store_client * sc)
 static void
 storeClientReadBody(void *data, const char *buf, ssize_t len)
 {
-    store_client *sc = data;
+    store_client *sc = (store_client *)data;
     MemObject *mem = sc->entry->mem_obj;
     assert(sc->flags.disk_io_pending);
     sc->flags.disk_io_pending = 0;
@@ -383,7 +385,7 @@ static void
 storeClientReadHeader(void *data, const char *buf, ssize_t len)
 {
     static int md5_mismatches = 0;
-    store_client *sc = data;
+    store_client *sc = (store_client *)data;
     StoreEntry *e = sc->entry;
     MemObject *mem = e->mem_obj;
     int swap_hdr_sz = 0;
@@ -423,8 +425,8 @@ storeClientReadHeader(void *data, const char *buf, ssize_t len)
            if (!EBIT_TEST(e->flags, KEY_PRIVATE) &&
                memcmp(t->value, e->hash.key, MD5_DIGEST_CHARS)) {
                debug(20, 2) ("storeClientReadHeader: swapin MD5 mismatch\n");
-               debug(20, 2) ("\t%s\n", storeKeyText(t->value));
-               debug(20, 2) ("\t%s\n", storeKeyText(e->hash.key));
+               debug(20, 2) ("\t%s\n", storeKeyText((const cache_key *)t->value));
+               debug(20, 2) ("\t%s\n", storeKeyText((const cache_key *)e->hash.key));
                if (isPowTen(++md5_mismatches))
                    debug(20, 1) ("WARNING: %d swapin MD5 mismatches\n",
                        md5_mismatches);
@@ -434,7 +436,7 @@ storeClientReadHeader(void *data, const char *buf, ssize_t len)
        case STORE_META_URL:
            if (NULL == mem->url)
                (void) 0;       /* can't check */
-           else if (0 == strcasecmp(mem->url, t->value))
+           else if (0 == strcasecmp(mem->url, (char *)t->value))
                (void) 0;       /* a match! */
            else {
                debug(20, 1) ("storeClientReadHeader: URL mismatch\n");
@@ -447,11 +449,11 @@ storeClientReadHeader(void *data, const char *buf, ssize_t len)
            break;
        case STORE_META_VARY_HEADERS:
            if (mem->vary_headers) {
-               if (strcmp(mem->vary_headers, t->value) != 0)
+               if (strcmp(mem->vary_headers, (char *)t->value) != 0)
                    swap_object_ok = 0;
            } else {
                /* Assume the object is OK.. remember the vary request headers */
-               mem->vary_headers = xstrdup(t->value);
+               mem->vary_headers = xstrdup((char *)t->value);
            }
            break;
        default:
@@ -471,7 +473,7 @@ storeClientReadHeader(void *data, const char *buf, ssize_t len)
      * it to them, otherwise schedule another read.
      */
     body_sz = len - swap_hdr_sz;
-    if (sc->copyInto.offset < body_sz) {
+    if (static_cast<size_t>(sc->copyInto.offset) < body_sz) {
        /*
         * we have (part of) what they want
         */
@@ -524,7 +526,7 @@ storeUnregister(store_client * sc, StoreEntry * e, void *data)
 #endif
     if (mem == NULL)
        return 0;
-    debug(20, 3) ("storeUnregister: called for '%s'\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeUnregister: called for '%s'\n", storeKeyText((const cache_key *)e->hash.key));
     if (sc == NULL)
        return 0;
     if (mem->clients.head == NULL)
@@ -574,7 +576,7 @@ storeLowestMemReaderOffset(const StoreEntry * entry)
     dlink_node *node;
 
     for (node = mem->clients.head; node; node = nx) {
-       sc = node->data;
+       sc = (store_client *)node->data;
        nx = node->next;
        if (sc->type != STORE_MEM_CLIENT)
            continue;
@@ -597,10 +599,10 @@ InvokeHandlers(StoreEntry * e)
     dlink_node *nx = NULL;
     dlink_node *node;
 
-    debug(20, 3) ("InvokeHandlers: %s\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("InvokeHandlers: %s\n", storeKeyText((const cache_key *)e->hash.key));
     /* walk the entire list looking for valid callbacks */
     for (node = mem->clients.head; node; node = nx) {
-       sc = node->data;
+       sc = (store_client *)node->data;
        nx = node->next;
        debug(20, 3) ("InvokeHandlers: checking client #%d\n", i++);
        if (sc->callback_data == NULL)
@@ -626,9 +628,9 @@ storePendingNClients(const StoreEntry * e)
 static int
 CheckQuickAbort2(StoreEntry * entry)
 {
-    int curlen;
-    int minlen;
-    int expectlen;
+    size_t curlen;
+    size_t minlen;
+    size_t expectlen;
     MemObject *mem = entry->mem_obj;
     assert(mem);
     debug(20, 3) ("CheckQuickAbort2: entry=%p, mem=%p\n", entry, mem);
@@ -641,8 +643,9 @@ CheckQuickAbort2(StoreEntry * entry)
        return 1;
     }
     expectlen = mem->reply->content_length + mem->reply->hdr_sz;
-    curlen = (int) mem->inmem_hi;
-    minlen = (int) Config.quickAbort.min << 10;
+    assert (mem->reply->content_length + mem->reply->hdr_sz >= 0);
+    curlen = (size_t) mem->inmem_hi;
+    minlen = (size_t) Config.quickAbort.min << 10;
     if (minlen < 0) {
        debug(20, 3) ("CheckQuickAbort2: NO disabled\n");
        return 0;
@@ -663,7 +666,7 @@ CheckQuickAbort2(StoreEntry * entry)
        debug(20, 3) ("CheckQuickAbort2: NO avoid FPE\n");
        return 0;
     }
-    if ((curlen / (expectlen / 100)) > Config.quickAbort.pct) {
+    if ((curlen / (expectlen / 100)) > (size_t)Config.quickAbort.pct) {
        debug(20, 3) ("CheckQuickAbort2: NO past point of no return\n");
        return 0;
     }
index 5be36bc8792698e8d15e01abd95d20aebfef98f5..d532ef8d29c1d9c80e88f8583dd89e35e86a678f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_digest.cc,v 1.51 2001/10/24 06:55:44 hno Exp $
+ * $Id: store_digest.cc,v 1.52 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 71    Store Digest Manager
  * AUTHOR: Alex Rousskov
@@ -41,6 +41,8 @@
  */
 
 #include "squid.h"
+#include "Store.h"
+
 
 #if USE_CACHE_DIGESTS
 
@@ -135,17 +137,17 @@ storeDigestDel(const StoreEntry * entry)
     }
     assert(entry && store_digest);
     debug(71, 6) ("storeDigestDel: checking entry, key: %s\n",
-       storeKeyText(entry->hash.key));
+       storeKeyText( (const cache_key *)entry->hash.key));
     if (!EBIT_TEST(entry->flags, KEY_PRIVATE)) {
-       if (!cacheDigestTest(store_digest, entry->hash.key)) {
+       if (!cacheDigestTest(store_digest,  (const cache_key *)entry->hash.key)) {
            sd_stats.del_lost_count++;
            debug(71, 6) ("storeDigestDel: lost entry, key: %s url: %s\n",
-               storeKeyText(entry->hash.key), storeUrl(entry));
+               storeKeyText( (const cache_key *)entry->hash.key), storeUrl(entry));
        } else {
            sd_stats.del_count++;
-           cacheDigestDel(store_digest, entry->hash.key);
+           cacheDigestDel(store_digest,  (const cache_key *)entry->hash.key);
            debug(71, 6) ("storeDigestDel: deled entry, key: %s\n",
-               storeKeyText(entry->hash.key));
+               storeKeyText((const cache_key *)entry->hash.key));
        }
     }
 #endif
@@ -187,7 +189,7 @@ storeDigestAddable(const StoreEntry * e)
     /* add some stats! XXX */
 
     debug(71, 6) ("storeDigestAddable: checking entry, key: %s\n",
-       storeKeyText(e->hash.key));
+       storeKeyText((const cache_key *)e->hash.key));
 
     /* check various entry flags (mimics storeCheckCachable XXX) */
     if (!EBIT_TEST(e->flags, ENTRY_CACHABLE)) {
@@ -245,14 +247,14 @@ storeDigestAdd(const StoreEntry * entry)
 
     if (storeDigestAddable(entry)) {
        sd_stats.add_count++;
-       if (cacheDigestTest(store_digest, entry->hash.key))
+       if (cacheDigestTest(store_digest, (const cache_key *)entry->hash.key))
            sd_stats.add_coll_count++;
-       cacheDigestAdd(store_digest, entry->hash.key);
+       cacheDigestAdd(store_digest,  (const cache_key *)entry->hash.key);
        debug(71, 6) ("storeDigestAdd: added entry, key: %s\n",
-           storeKeyText(entry->hash.key));
+           storeKeyText( (const cache_key *)entry->hash.key));
     } else {
        sd_stats.rej_count++;
-       if (cacheDigestTest(store_digest, entry->hash.key))
+       if (cacheDigestTest(store_digest,  (const cache_key *)entry->hash.key))
            sd_stats.rej_coll_count++;
     }
 }
@@ -354,7 +356,7 @@ storeDigestRewriteStart(void *datanotused)
     assert(e);
     sd_state.rewrite_lock = cbdataAlloc(generic_cbdata);
     sd_state.rewrite_lock->data = e;
-    debug(71, 3) ("storeDigestRewrite: url: %s key: %s\n", url, storeKeyText(e->hash.key));
+    debug(71, 3) ("storeDigestRewrite: url: %s key: %s\n", url, storeKeyText( (const cache_key *)e->hash.key));
     e->mem_obj->request = requestLink(urlParse(METHOD_GET, url));
     /* wait for rebuild (if any) to finish */
     if (sd_state.rebuild_lock) {
@@ -372,7 +374,7 @@ storeDigestRewriteResume(void)
 
     assert(sd_state.rewrite_lock);
     assert(!sd_state.rebuild_lock);
-    e = sd_state.rewrite_lock->data;
+    e = (StoreEntry *)sd_state.rewrite_lock->data;
     sd_state.rewrite_offset = 0;
     EBIT_SET(e->flags, ENTRY_SPECIAL);
     /* setting public key will purge old digest entry if any */
@@ -380,7 +382,7 @@ storeDigestRewriteResume(void)
     /* fake reply */
     httpReplyReset(e->mem_obj->reply);
     httpBuildVersion(&version, 1, 0);
-    httpReplySetHeaders(e->mem_obj->reply, version, 200, "Cache Digest OK",
+    httpReplySetHeaders(e->mem_obj->reply, version, HTTP_OK, "Cache Digest OK",
        "application/cache-digest", store_digest->mask_size + sizeof(sd_state.cblock),
        squid_curtime, squid_curtime + Config.digest.rewrite_period);
     debug(71, 3) ("storeDigestRewrite: entry expires on %ld (%+d)\n",
@@ -426,14 +428,14 @@ storeDigestSwapOutStep(void *data)
     e = (StoreEntry *) ((generic_cbdata *) data)->data;
     assert(e);
     /* _add_ check that nothing bad happened while we were waiting @?@ @?@ */
-    if (sd_state.rewrite_offset + chunk_size > store_digest->mask_size)
+    if ((size_t)(sd_state.rewrite_offset + chunk_size) > store_digest->mask_size)
        chunk_size = store_digest->mask_size - sd_state.rewrite_offset;
     storeAppend(e, store_digest->mask + sd_state.rewrite_offset, chunk_size);
     debug(71, 3) ("storeDigestSwapOutStep: size: %d offset: %d chunk: %d bytes\n",
        store_digest->mask_size, sd_state.rewrite_offset, chunk_size);
     sd_state.rewrite_offset += chunk_size;
     /* are we done ? */
-    if (sd_state.rewrite_offset >= store_digest->mask_size)
+    if ((size_t)sd_state.rewrite_offset >= store_digest->mask_size)
        storeDigestRewriteFinish(e);
     else
        eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, data, 0.0, 1);
@@ -466,7 +468,7 @@ storeDigestCalcCap(void)
      */
     const int hi_cap = Config.Swap.maxSize / Config.Store.avgObjectSize;
     const int lo_cap = 1 + store_swap_size / Config.Store.avgObjectSize;
-    const int e_count = memInUse(MEM_STOREENTRY);
+    const int e_count = storeEntryInUse();
     int cap = e_count ? e_count : hi_cap;
     debug(71, 2) ("storeDigestCalcCap: have: %d, want %d entries; limits: [%d, %d]\n",
        e_count, cap, lo_cap, hi_cap);
index 6f1336baf4404eada39755e7a4e1ac4f3f7bab33..549db69f2e1d428c94368e518ee1765dd6ed3af9 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_dir.cc,v 1.136 2002/03/19 23:40:46 wessels Exp $
+ * $Id: store_dir.cc,v 1.137 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #if HAVE_STATVFS
 #if HAVE_SYS_STATVFS_H
@@ -262,7 +263,7 @@ storeDirSwapLog(const StoreEntry * e, int op)
     assert(op > SWAP_LOG_NOP && op < SWAP_LOG_MAX);
     debug(20, 3) ("storeDirSwapLog: %s %s %d %08X\n",
        swap_log_op_str[op],
-       storeKeyText(e->hash.key),
+       storeKeyText((const cache_key *)e->hash.key),
        e->swap_dirn,
        e->swap_filen);
     sd = &Config.cacheSwap.swapDirs[e->swap_dirn];
@@ -290,10 +291,10 @@ storeDirStats(StoreEntry * sentry)
 
     storeAppendPrintf(sentry, "Store Directory Statistics:\n");
     storeAppendPrintf(sentry, "Store Entries          : %d\n",
-       memInUse(MEM_STOREENTRY));
+       storeEntryInUse());
     storeAppendPrintf(sentry, "Maximum Swap Size      : %8ld KB\n",
        (long int) Config.Swap.maxSize);
-    storeAppendPrintf(sentry, "Current Store Swap Size: %8d KB\n",
+    storeAppendPrintf(sentry, "Current Store Swap Size: %8lu KB\n",
        store_swap_size);
     storeAppendPrintf(sentry, "Current Capacity       : %d%% used, %d%% free\n",
        percent((int) store_swap_size, (int) Config.Swap.maxSize),
index 82b91ef151be4a6f1ce2d0d21c1dc7e356408ca1..1b7da2b6ef5822771148df6bbe6edf2a386c99da 100644 (file)
@@ -1,4 +1,6 @@
 #include "squid.h"
+#include "Store.h"
+
 
 static struct {
     struct {
@@ -20,7 +22,7 @@ OBJH storeIOStats;
 storeIOState *
 storeCreate(StoreEntry * e, STIOCB * file_callback, STIOCB * close_callback, void *callback_data)
 {
-    size_t objsize;
+    ssize_t objsize;
     sdirno dirn;
     SwapDir *SD;
     storeIOState *sio;
index 56324f7ba975dfc463b7618408645c76ca504f95..9f0059079904bc0c673005fd0e6ecfb3eba36538 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_key_md5.cc,v 1.26 2001/04/14 00:25:19 hno Exp $
+ * $Id: store_key_md5.cc,v 1.27 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager MD5 Cache Keys
  * AUTHOR: Duane Wessels
@@ -67,8 +67,8 @@ storeKeyScan(const char *buf)
 int
 storeKeyHashCmp(const void *a, const void *b)
 {
-    const unsigned char *A = a;
-    const unsigned char *B = b;
+    const unsigned char *A = (const unsigned char *)a;
+    const unsigned char *B = (const unsigned char *)b;
     int i;
     for (i = 0; i < MD5_DIGEST_CHARS; i++) {
        if (A[i] < B[i])
@@ -83,7 +83,7 @@ unsigned int
 storeKeyHashHash(const void *key, unsigned int n)
 {
     /* note, n must be a power of 2! */
-    const unsigned char *digest = key;
+    const unsigned char *digest = (const unsigned char *)key;
     unsigned int i = digest[0]
     | digest[1] << 8
     | digest[2] << 16
@@ -145,7 +145,7 @@ storeKeyPublicByRequestMethod(request_t * request, const method_t method)
 cache_key *
 storeKeyDup(const cache_key * key)
 {
-    cache_key *dup = memAllocate(MEM_MD5_DIGEST);
+    cache_key *dup = (cache_key *)memAllocate(MEM_MD5_DIGEST);
     xmemcpy(dup, key, MD5_DIGEST_CHARS);
     return dup;
 }
index 0b5684cdbd47d316a4c2a32caff6a2fc9ac8f2c4..435dc41706f906aa45a6195a3e834e34a7878512 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_log.cc,v 1.23 2001/10/17 20:25:03 hno Exp $
+ * $Id: store_log.cc,v 1.24 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Logging Functions
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static const char *storeLogTags[] =
 {
@@ -75,7 +76,7 @@ storeLog(int tag, const StoreEntry * e)
            storeLogTags[tag],
            e->swap_dirn,
            e->swap_filen,
-           storeKeyText(e->hash.key),
+           storeKeyText((const cache_key *)e->hash.key),
            reply->sline.status,
            (int) reply->date,
            (int) reply->last_modified,
@@ -93,7 +94,7 @@ storeLog(int tag, const StoreEntry * e)
            storeLogTags[tag],
            e->swap_dirn,
            e->swap_filen,
-           storeKeyText(e->hash.key));
+           storeKeyText((const cache_key *)e->hash.key));
     }
 }
 
index 8318ab0e95af0aebb52c0961dbbd531bbca0c4ac..b45b5652d100345bb003444a9cffffdf96c1b31c 100644 (file)
@@ -3,6 +3,7 @@ echo "/* automatically generated by $0 $*"
 echo " * do not edit"
 echo " */"
 echo "#include \"squid.h\""
+echo "#include \"Store.h\""
 echo ""
 for module in "$@"; do
    echo "extern STSETUP storeFsSetup_${module};"
index 08f6e0a7408e0a8cdf8dada931650b0c457a0fc5..6c955934a5586c478d5a3c1a02acb7e01176c8da 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_rebuild.cc,v 1.77 2001/10/17 12:41:50 hno Exp $
+ * $Id: store_rebuild.cc,v 1.78 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Store Rebuild Routines
  * AUTHOR: Duane Wessels
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static struct _store_rebuild_data counts;
 static struct timeval rebuild_start;
@@ -70,7 +71,7 @@ storeCleanup(void *datanotused)
        if (++bucketnum >= store_hash_buckets) {
            debug(20, 1) ("  Completed Validation Procedure\n");
            debug(20, 1) ("  Validated %d Entries\n", validnum);
-           debug(20, 1) ("  store_swap_size = %dk\n", store_swap_size);
+           debug(20, 1) ("  store_swap_size = %luk\n", store_swap_size);
            store_dirs_rebuilding--;
            assert(0 == store_dirs_rebuilding);
            if (opt_store_doublecheck)
@@ -163,7 +164,7 @@ storeRebuildStart(void)
      * finished rebuilding for sure.  The corresponding decrement
      * occurs in storeCleanup(), when it is finished.
      */
-    RebuildProgress = xcalloc(Config.cacheSwap.n_configured,
+    RebuildProgress = (store_rebuild_progress *)xcalloc(Config.cacheSwap.n_configured,
        sizeof(store_rebuild_progress));
 }
 
index 125e54584be0115473dfa476854d1a0b156fa204..b62e13f61740113080c4a7b61c75a39b27800f42 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapin.cc,v 1.30 2002/09/24 10:46:42 robertc Exp $
+ * $Id: store_swapin.cc,v 1.31 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Swapin Functions
  * AUTHOR: Duane Wessels
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 static STIOCB storeSwapInFileClosed;
 static STFNCB storeSwapInFileNotify;
@@ -50,7 +51,7 @@ storeSwapInStart(store_client * sc)
        return;
     }
     debug(20, 3) ("storeSwapInStart: called for %d %08X %s \n",
-       e->swap_dirn, e->swap_filen, storeKeyText(e->hash.key));
+       e->swap_dirn, e->swap_filen, storeKeyText((const cache_key *)e->hash.key));
     if (e->swap_status != SWAPOUT_WRITING && e->swap_status != SWAPOUT_DONE) {
        debug(20, 1) ("storeSwapInStart: bad swap_status (%s)\n",
            swapStatusStr[e->swap_status]);
@@ -70,7 +71,7 @@ storeSwapInStart(store_client * sc)
 static void
 storeSwapInFileClosed(void *data, int errflag, storeIOState * sio)
 {
-    store_client *sc = data;
+    store_client *sc = (store_client *)data;
     StoreIOBuffer result =
     {
        {0}, 0, 0, sc->copyInto.data};
@@ -91,7 +92,7 @@ storeSwapInFileClosed(void *data, int errflag, storeIOState * sio)
 static void
 storeSwapInFileNotify(void *data, int errflag, storeIOState * sio)
 {
-    store_client *sc = data;
+    store_client *sc = (store_client *)data;
     StoreEntry *e = sc->entry;
 
     debug(1, 3) ("storeSwapInFileNotify: changing %d/%d to %d/%d\n", e->swap_filen, e->swap_dirn, sio->swap_filen, sio->swap_dirn);
index 5a22c79641b8be5388a023aa503be4981c5fa200..92896c49cbe77194b95bc29feacfbf4d7c1261ee 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapmeta.cc,v 1.17 2001/10/24 08:52:37 hno Exp $
+ * $Id: store_swapmeta.cc,v 1.18 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Swapfile Metadata
  * AUTHOR: Kostas Anagnostakis
  */
 
 #include "squid.h"
+#include "Store.h"
 
 static tlv **
 storeSwapTLVAdd(int type, const void *ptr, size_t len, tlv ** tail)
 {
-    tlv *t = memAllocate(MEM_TLV);
+    tlv *t = (tlv *)memAllocate(MEM_TLV);
     t->type = (char) type;
     t->length = (int) len;
     t->value = xmalloc(len);
@@ -94,7 +95,7 @@ storeSwapMetaPack(tlv * tlv_list, int *length)
     for (t = tlv_list; t; t = t->next)
        buflen += sizeof(char) + sizeof(int) + t->length;
     buflen++;                  /* STORE_META_END */
-    buf = xmalloc(buflen);
+    buf = (char *)xmalloc(buflen);
     buf[j++] = (char) STORE_META_OK;
     xmemcpy(&buf[j], &buflen, sizeof(int));
     j += sizeof(int);
@@ -130,9 +131,9 @@ storeSwapMetaUnpack(const char *buf, int *hdr_len)
      * sanity check on 'buflen' value.  It should be at least big
      * enough to hold one type and one length.
      */
-    if (buflen <= (sizeof(char) + sizeof(int)))
+    if (buflen <= (off_t) (sizeof(char) + sizeof(int)))
            return NULL;
-    while (buflen - j > (sizeof(char) + sizeof(int))) {
+    while (buflen - j > (off_t)(sizeof(char) + sizeof(int))) {
        type = buf[j++];
        /* VOID is reserved, but allow some slack for new types.. */
        if (type <= STORE_META_VOID || type > STORE_META_END + 10) {
index 052075061d012dfc0f8fbd2335881df5ae68bcf1..5de30b37a6ccc512ca4232ed8d12e34c1afdaeb8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapout.cc,v 1.88 2002/09/24 10:46:42 robertc Exp $
+ * $Id: store_swapout.cc,v 1.89 2002/10/13 20:35:05 robertc Exp $
  *
  * DEBUG: section 20    Storage Manager Swapout Functions
  * AUTHOR: Duane Wessels
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 static off_t storeSwapOutObjectBytesOnDisk(const MemObject *);
 static void storeSwapOutStart(StoreEntry * e);
@@ -86,8 +87,8 @@ storeSwapOutStart(StoreEntry * e)
 static void
 storeSwapOutFileNotify(void *data, int errflag, storeIOState * sio)
 {
-    generic_cbdata *c = data;
-    StoreEntry *e = c->data;
+    generic_cbdata *c = (generic_cbdata *)data;
+    StoreEntry *e = (StoreEntry *)c->data;
     MemObject *mem = e->mem_obj;
     assert(e->swap_status == SWAPOUT_WRITING);
     assert(mem);
@@ -159,7 +160,7 @@ storeSwapOut(StoreEntry * e)
      */
     if (mem->inmem_hi < lowest_offset)
        new_mem_lo = lowest_offset;
-    else if (mem->inmem_hi - mem->inmem_lo > Config.Store.maxInMemObjSize)
+    else if (mem->inmem_hi - mem->inmem_lo > (ssize_t)Config.Store.maxInMemObjSize)
        new_mem_lo = lowest_offset;
     else
        new_mem_lo = mem->inmem_lo;
@@ -286,7 +287,7 @@ storeSwapOutFileClose(StoreEntry * e)
 {
     MemObject *mem = e->mem_obj;
     assert(mem != NULL);
-    debug(20, 3) ("storeSwapOutFileClose: %s\n", storeKeyText(e->hash.key));
+    debug(20, 3) ("storeSwapOutFileClose: %s\n", storeKeyText((const cache_key *)e->hash.key));
     debug(20, 3) ("storeSwapOutFileClose: sio = %p\n", mem->swapout.sio);
     if (mem->swapout.sio == NULL)
        return;
@@ -296,8 +297,8 @@ storeSwapOutFileClose(StoreEntry * e)
 static void
 storeSwapOutFileClosed(void *data, int errflag, storeIOState * sio)
 {
-    generic_cbdata *c = data;
-    StoreEntry *e = c->data;
+    generic_cbdata *c = (generic_cbdata *)data;
+    StoreEntry *e = (StoreEntry *)c->data;
     MemObject *mem = e->mem_obj;
     assert(e->swap_status == SWAPOUT_WRITING);
     cbdataFree(c);
@@ -354,7 +355,7 @@ storeSwapOutObjectBytesOnDisk(const MemObject * mem)
     if (mem->swapout.sio == NULL)
        return 0;
     nwritten = storeOffset(mem->swapout.sio);
-    if (nwritten <= mem->swap_hdr_sz)
+    if (nwritten <= (off_t)mem->swap_hdr_sz)
        return 0;
     return nwritten - mem->swap_hdr_sz;
 }
index ee1b466528c38f7cdc9ce8b631d2839cd2bef139..2fb3b6e28aae69f6afd6b9a4cb57afb588e41a2c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.432 2002/09/26 13:33:08 robertc Exp $
+ * $Id: structs.h,v 1.433 2002/10/13 20:35:05 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -88,109 +88,8 @@ struct _acl_proxy_auth_match_cache {
     void *acl_data;
 };
 
-struct _auth_user_hash_pointer {
-    /* first two items must be same as hash_link */
-    char *key;
-    auth_user_hash_pointer *next;
-    auth_user_t *auth_user;
-    dlink_node link;           /* other hash entries that point to the same auth_user */
-};
-
-struct _auth_user_ip_t {
-    dlink_node node;
-    /* IP addr this user authenticated from */
-    struct in_addr ipaddr;
-    time_t ip_expiretime;
-};
-
-struct _auth_user_t {
-    /* extra fields for proxy_auth */
-    /* this determines what scheme owns the user data. */
-    auth_type_t auth_type;
-    /* the index +1 in the authscheme_list to the authscheme entry */
-    int auth_module;
-    /* we only have one username associated with a given auth_user struct */
-    auth_user_hash_pointer *usernamehash;
-    /* we may have many proxy-authenticate strings that decode to the same user */
-    dlink_list proxy_auth_list;
-    dlink_list proxy_match_cache;
-    /* what ip addresses has this user been seen at?, plus a list length cache */
-    dlink_list ip_list;
-    size_t ipcount;
-    long expiretime;
-    /* how many references are outstanding to this instance */
-    size_t references;
-    /* the auth scheme has it's own private data area */
-    void *scheme_data;
-    /* the auth_user_request structures that link to this. Yes it could be a splaytree
-     * but how many requests will a single username have in parallel? */
-    dlink_list requests;
-};
-
-struct _auth_user_request_t {
-    /* this is the object passed around by client_side and acl functions */
-    /* it has request specific data, and links to user specific data */
-    /* the user */
-    auth_user_t *auth_user;
-    /* return a message on the 407 error pages */
-    char *message;
-    /* any scheme specific request related data */
-    void *scheme_data;
-    /* how many 'processes' are working on this data */
-    size_t references;
-    /* We only attempt authentication once per http request. This 
-     * is to allow multiple auth acl references from different _access areas
-     * when using connection based authentication
-     */
-    auth_acl_t lastReply;
-};
-
-
-/*
- * This defines an auth scheme module
- */
-
-struct _authscheme_entry {
-    const char *typestr;
-    AUTHSACTIVE *Active;
-    AUTHSADDHEADER *AddHeader;
-    AUTHSADDTRAILER *AddTrailer;
-    AUTHSAUTHED *authenticated;
-    AUTHSAUTHUSER *authAuthenticate;
-    AUTHSCONFIGURED *configured;
-    AUTHSDUMP *dump;
-    AUTHSFIXERR *authFixHeader;
-    AUTHSFREE *FreeUser;
-    AUTHSFREECONFIG *freeconfig;
-    AUTHSUSERNAME *authUserUsername;
-    AUTHSONCLOSEC *oncloseconnection;  /*optional */
-    AUTHSCONNLASTHEADER *authConnLastHeader;
-    AUTHSDECODE *decodeauth;
-    AUTHSDIRECTION *getdirection;
-    AUTHSPARSE *parse;
-    AUTHSINIT *init;
-    AUTHSREQFREE *requestFree;
-    AUTHSSHUTDOWN *donefunc;
-    AUTHSSTART *authStart;
-    AUTHSSTATS *authStats;
-};
-
-/*
- * This is a configured auth scheme
- */
-
-/* private data types */
-struct _authScheme {
-    /* pointer to the authscheme_list's string entry */
-    const char *typestr;
-    /* the scheme id in the authscheme_list */
-    int Id;
-    /* the scheme's configuration details. */
-    void *scheme_data;
-};
-
 struct _acl_deny_info_list {
-    int err_page_id;
+    err_type err_page_id;
     char *err_page_name;
     acl_name_list *acl_list;
     acl_deny_info_list *next;
@@ -259,7 +158,7 @@ struct _acl_list {
 };
 
 struct _acl_access {
-    int allow;
+    allow_t allow;
     acl_list *aclList;
     char *cfgline;
     acl_access *next;
@@ -368,6 +267,12 @@ struct _delayConfig {
 
 #endif
 
+struct _authConfig {
+    authScheme *schemes;
+    int n_allocated;
+    int n_configured;
+};
+
 struct _RemovalPolicySettings {
     char *type;
     wordlist *args;
@@ -619,11 +524,7 @@ struct _SquidConfig {
        acl_tos *outgoing_tos;
     } accessList;
     acl_deny_info_list *denyInfoList;
-    struct _authConfig {
-       authScheme *schemes;
-       int n_allocated;
-       int n_configured;
-    } authConfig;
+    authConfig authConfiguration;
     struct {
        size_t list_width;
        int list_wrap;
@@ -757,6 +658,14 @@ struct _ETag {
     int weak;                  /* true if it is a weak validator */
 };
 
+struct _fde_disk {
+    DWCB *wrt_handle;
+    void *wrt_handle_data;
+    dwrite_q *write_q;
+    dwrite_q *write_q_tail;
+    off_t offset;
+};
+
 struct _fde {
     unsigned int type;
     u_short local_port;
@@ -782,13 +691,7 @@ struct _fde {
     int bytes_read;
     int bytes_written;
     int uses;                  /* ie # req's over persistent conn */
-    struct _fde_disk {
-       DWCB *wrt_handle;
-       void *wrt_handle_data;
-       dwrite_q *write_q;
-       dwrite_q *write_q_tail;
-       off_t offset;
-    } disk;
+    struct _fde_disk disk;
     PF *read_handler;
     void *read_data;
     PF *write_handler;
@@ -905,13 +808,6 @@ struct _HttpHdrRangeIter {
     String boundary;           /* boundary for multipart responses */
 };
 
-/* constant attributes of http header fields */
-struct _HttpHeaderFieldAttrs {
-    const char *name;
-    http_hdr_type id;
-    field_type type;
-};
-
 /* per field statistics */
 struct _HttpHeaderFieldStat {
     int aliveCount;            /* created but not destroyed (count) */
@@ -973,20 +869,6 @@ struct _http_state_flags {
     unsigned int only_if_cached:1;
 };
 
-struct _HttpStateData {
-    StoreEntry *entry;
-    request_t *request;
-    char *reply_hdr;
-    size_t reply_hdr_size;
-    int reply_hdr_state;
-    peer *_peer;               /* peer request made to */
-    int eof;                   /* reached end-of-object? */
-    request_t *orig_request;
-    int fd;
-    http_state_flags flags;
-    FwdState *fwd;
-};
-
 struct _icpUdpData {
     struct sockaddr_in address;
     void *msg;
@@ -1089,7 +971,7 @@ struct _ConnStateData {
     int fd;
     struct {
        char *buf;
-       off_t notYetUsed;
+       size_t notYetUsed;
        size_t allocatedSize;
     } in;
     struct {
@@ -1188,7 +1070,7 @@ struct _cd_guess_stats {
 };
 
 struct _PeerDigest {
-    peer *peer;                        /* pointer back to peer structure, argh */
+    struct _peer *peer;                        /* pointer back to peer structure, argh */
     CacheDigest *cd;           /* actual digest structure */
     String host;               /* copy of peer->host */
     const char *req_result;    /* text status of the last request */
@@ -1393,16 +1275,6 @@ struct _pingerReplyData {
 
 #endif
 
-struct _icp_common_t {
-    unsigned char opcode;      /* opcode */
-    unsigned char version;     /* version number */
-    unsigned short length;     /* total length (bytes) */
-    u_int32_t reqnum;          /* req number (req'd for UDP) */
-    u_int32_t flags;
-    u_int32_t pad;
-    u_int32_t shostid;         /* sender host id */
-};
-
 struct _iostats {
     struct {
        int reads;
@@ -1494,28 +1366,6 @@ struct _MemObject {
     const char *vary_headers;
 };
 
-struct _StoreEntry {
-    hash_link hash;            /* must be first */
-    MemObject *mem_obj;
-    RemovalPolicyNode repl;
-    /* START OF ON-DISK STORE_META_STD TLV field */
-    time_t timestamp;
-    time_t lastref;
-    time_t expires;
-    time_t lastmod;
-    size_t swap_file_sz;
-    u_short refcount;
-    u_short flags;
-    /* END OF ON-DISK STORE_META_STD */
-    sfileno swap_filen:25;
-    sdirno swap_dirn:7;
-    u_short lock_count;                /* Assume < 65536! */
-    mem_status_t mem_status:3;
-    ping_status_t ping_status:3;
-    store_status_t store_status:3;
-    swap_status_t swap_status:3;
-};
-
 struct _SwapDir {
     const char *type;
     int cur_size;
index db171ca30864e9c06bd28a77a895469709c946d2..f6aaf9597f51158ff093b0fcd6a2274fd6773ef2 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: test_cache_digest.cc,v 1.27 2001/01/12 00:37:22 wessels Exp $
+ * $Id: test_cache_digest.cc,v 1.28 2002/10/13 20:35:05 robertc Exp $
  *
  * AUTHOR: Alex Rousskov
  *
@@ -136,7 +136,7 @@ static void fileIteratorAdvance(FileIterator * fi);
 static FileIterator *
 fileIteratorCreate(const char *fname, FI_READER reader)
 {
-    FileIterator *fi = xcalloc(1, sizeof(FileIterator));
+    FileIterator *fi = (FileIterator *)xcalloc(1, sizeof(FileIterator));
     assert(fname && reader);
     fi->fname = fname;
     fi->reader = reader;
@@ -208,7 +208,7 @@ fileIteratorAdvance(FileIterator * fi)
 static CacheEntry *
 cacheEntryCreate(const storeSwapLogData * s)
 {
-    CacheEntry *e = xcalloc(1, sizeof(CacheEntry));
+    CacheEntry *e = (CacheEntry *)xcalloc(1, sizeof(CacheEntry));
     assert(s);
     /* e->s = *s; */
     xmemcpy(e->key_arr, s->key, MD5_DIGEST_CHARS);
@@ -231,9 +231,9 @@ cacheCreate(const char *name)
 {
     Cache *c;
     assert(name && strlen(name));
-    c = xcalloc(1, sizeof(Cache));
+    c = (Cache *)xcalloc(1, sizeof(Cache));
     c->name = name;
-    c->hash = hash_create(storeKeyHashCmp, 2e6, storeKeyHashHash);
+    c->hash = hash_create(storeKeyHashCmp, (int)2e6, storeKeyHashHash);
     return c;
 }
 
@@ -246,7 +246,7 @@ cacheDestroy(Cache * cache)
     hash = cache->hash;
     /* destroy hash table contents */
     hash_first(hash);
-    while (e = hash_next(hash)) {
+    while ((e = (CacheEntry *)hash_next(hash))) {
        hash_remove_link(hash, (hash_link *) e);
        cacheEntryDestroy(e);
     }
@@ -275,7 +275,7 @@ cacheResetDigest(Cache * cache)
        return;
     gettimeofday(&t_start, NULL);
     hash_first(hash);
-    while (e = hash_next(hash)) {
+    while ((e = (CacheEntry *)hash_next(hash))) {
        cacheDigestAdd(cache->digest, e->key);
     }
     gettimeofday(&t_end, NULL);
@@ -288,7 +288,8 @@ cacheResetDigest(Cache * cache)
        (double) 1e6 * tvSubDsec(t_start, t_end) / cache->count);
     /* check how long it takes to traverse the hash */
     gettimeofday(&t_start, NULL);
-    for (e = hash_first(hash); e; e = hash_next(hash)) {
+    hash_first(hash);
+    for (e = (CacheEntry *)hash_next(hash); e; e = (CacheEntry *)hash_next(hash)) {
     }
     gettimeofday(&t_end, NULL);
     fprintf(stderr, "%s: hash scan took: %f sec, %f sec/M\n",
@@ -364,7 +365,7 @@ swapStateReader(FileIterator * fi)
     storeSwapLogData *entry;
     if (!fi->entry)
        fi->entry = xcalloc(1, sizeof(storeSwapLogData));
-    entry = fi->entry;
+    entry = (storeSwapLogData *)fi->entry;
     if (fread(entry, sizeof(*entry), 1, fi->file) != 1)
        return frEof;
     fi->inner_time = entry->lastref;
@@ -382,7 +383,7 @@ accessLogReader(FileIterator * fi)
     RawAccessLogEntry *entry;
     char *url;
     char *method;
-    int method_id = METHOD_NONE;
+    method_t method_id = METHOD_NONE;
     char *hier = NULL;
 
     assert(fi);
@@ -390,7 +391,7 @@ accessLogReader(FileIterator * fi)
        fi->entry = xcalloc(1, sizeof(RawAccessLogEntry));
     else
        memset(fi->entry, 0, sizeof(RawAccessLogEntry));
-    entry = fi->entry;
+    entry = (RawAccessLogEntry*)fi->entry;
     if (!fgets(buf, sizeof(buf), fi->file))
        return frEof;           /* eof */
     entry->timestamp = fi->inner_time = (time_t) atoi(buf);
@@ -467,7 +468,7 @@ cacheStore(Cache * cache, storeSwapLogData * s, int update_digest)
        cache->bad_add_count++;
     } else {
        CacheEntry *e = cacheEntryCreate(s);
-       hash_join(cache->hash, &e->hash);
+       hash_join(cache->hash, (hash_link *)&e->key);
        cache->count++;
        if (update_digest)
            cacheDigestAdd(cache->digest, e->key);
@@ -515,7 +516,7 @@ main(int argc, char *argv[])
     them->peer = us;
     us->peer = them;
 
-    fis = xcalloc(fi_count, sizeof(FileIterator *));
+    fis = (FileIterator **)xcalloc(fi_count, sizeof(FileIterator *));
     /* init iterators with files */
     fis[0] = fileIteratorCreate(argv[1], accessLogReader);
     for (i = 2; i < argc; ++i)
@@ -530,13 +531,13 @@ main(int argc, char *argv[])
        FileIterator *fi = fis[i];
        while (fi->inner_time > 0) {
            if (((storeSwapLogData *) fi->entry)->op == SWAP_LOG_DEL) {
-               cachePurge(them, fi->entry, 0);
+               cachePurge(them, (storeSwapLogData *)fi->entry, 0);
                if (ready_time < 0)
                    ready_time = fi->inner_time;
            } else {
                if (ready_time > 0 && fi->inner_time > ready_time)
                    break;
-               cacheStore(them, fi->entry, 0);
+               cacheStore(them, (storeSwapLogData *)fi->entry, 0);
            }
            fileIteratorAdvance(fi);
        }
@@ -567,9 +568,9 @@ main(int argc, char *argv[])
            cur_time = next_time;
            /*fprintf(stderr, "%2d time: %d %s", next_i, (int)cur_time, ctime(&cur_time)); */
            if (next_i == 0)
-               cacheFetch(us, fis[next_i]->entry);
+               cacheFetch(us, (RawAccessLogEntry *)fis[next_i]->entry);
            else
-               cacheUpdateStore(them, fis[next_i]->entry, 1);
+               cacheUpdateStore(them, (storeSwapLogData *)fis[next_i]->entry, 1);
            fileIteratorAdvance(fis[next_i]);
        }
     } while (active_fi_count);
index 5b362ed00429b93469c3a4f7c9c7257e6de2e670..d039852a1f49513ffdab8e922b4c5df7d9a11a5e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.cc,v 1.225 2002/10/06 02:05:23 robertc Exp $
+ * $Id: tools.cc,v 1.226 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -55,9 +55,9 @@ extern void log_trace_init(char *);
 
 #ifdef _SQUID_LINUX_
 /* Workaround for crappy glic header files */
-extern int backtrace(void *, int);
-extern void backtrace_symbols_fd(void *, int, int);
-extern int setresuid(uid_t, uid_t, uid_t);
+SQUIDCEXTERN int backtrace(void *, int);
+SQUIDCEXTERN void backtrace_symbols_fd(void *, int, int);
+SQUIDCEXTERN int setresuid(uid_t, uid_t, uid_t);
 #endif /* _SQUID_LINUX */
 
 extern void (*failure_notify) (const char *);
@@ -552,7 +552,7 @@ enter_suid(void)
 {
     debug(21, 3) ("enter_suid: PID %d taking root priveleges\n", (int) getpid());
 #if HAVE_SETRESUID
-    setresuid(-1, 0, -1);
+    setresuid((uid_t)-1, 0, (uid_t)-1);
 #else
     setuid(0);
 #endif
@@ -747,19 +747,19 @@ inaddrFromHostent(const struct hostent *hp)
 }
 
 double
-doubleAverage(double cur, double new, int N, int max)
+doubleAverage(double cur, double newD, int N, int max)
 {
     if (N > max)
        N = max;
-    return (cur * (N - 1.0) + new) / N;
+    return (cur * (N - 1.0) + newD) / N;
 }
 
 int
-intAverage(int cur, int new, int n, int max)
+intAverage(int cur, int newI, int n, int max)
 {
     if (n > max)
        n = max;
-    return (cur * (n - 1) + new) / n;
+    return (cur * (n - 1) + newI) / n;
 }
 
 void
@@ -781,7 +781,7 @@ dlinkNodeNew()
     if (dlink_node_pool == NULL)
        dlink_node_pool = memPoolCreate("Dlink list nodes", sizeof(dlink_node));
     /* where should we call memPoolDestroy(dlink_node_pool); */
-    return memPoolAlloc(dlink_node_pool);
+    return (dlink_node *)memPoolAlloc(dlink_node_pool);
 }
 
 /* the node needs to be unlinked FIRST */
@@ -879,7 +879,7 @@ stringHasWhitespace(const char *s)
 void
 linklistPush(link_list ** L, void *p)
 {
-    link_list *l = memAllocate(MEM_LINK_LIST);
+    link_list *l = (link_list *)memAllocate(MEM_LINK_LIST);
     l->next = NULL;
     l->ptr = p;
     while (*L)
index e509466604e01dfd56d2e310bdfbdc545d07a3d2..608d1daf90bb32c71bb616c7546ae25cb408ca6a 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tunnel.cc,v 1.123 2002/10/04 14:00:22 hno Exp $
+ * $Id: tunnel.cc,v 1.124 2002/10/13 20:35:03 robertc Exp $
  *
  * DEBUG: section 26    Secure Sockets Layer Proxy
  * AUTHOR: Duane Wessels
@@ -76,7 +76,7 @@ static DEFER sslDeferServerRead;
 static void
 sslServerClosed(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslServerClosed: FD %d\n", fd);
     assert(fd == sslState->server.fd);
     sslState->server.fd = -1;
@@ -87,7 +87,7 @@ sslServerClosed(int fd, void *data)
 static void
 sslClientClosed(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslClientClosed: FD %d\n", fd);
     assert(fd == sslState->client.fd);
     sslState->client.fd = -1;
@@ -119,7 +119,7 @@ sslStateFree(SslStateData * sslState)
 static int
 sslDeferServerRead(int fdnotused, void *data)
 {
-    SslStateData *s = data;
+    SslStateData *s = (SslStateData *)data;
     int i = delayBytesWanted(s->delay_id, 0, INT_MAX);
     if (i == INT_MAX)
        return 0;
@@ -142,7 +142,7 @@ sslSetSelect(SslStateData * sslState)
                sslState,
                0);
        }
-       if (sslState->client.len < read_sz) {
+       if ((size_t)sslState->client.len < read_sz) {
            commSetSelect(sslState->client.fd,
                COMM_SELECT_READ,
                sslReadClient,
@@ -170,7 +170,7 @@ sslSetSelect(SslStateData * sslState)
         */
        read_sz = delayBytesWanted(sslState->delay_id, 1, read_sz);
 #endif
-       if (sslState->server.len < read_sz) {
+       if ((size_t)sslState->server.len < read_sz) {
            /* Have room to read more */
            commSetSelect(sslState->server.fd,
                COMM_SELECT_READ,
@@ -189,7 +189,7 @@ sslSetSelect(SslStateData * sslState)
 static void
 sslReadServer(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     size_t read_sz = SQUID_TCP_SO_RCVBUF - sslState->server.len;
     assert(fd == sslState->server.fd);
@@ -229,7 +229,7 @@ sslReadServer(int fd, void *data)
 static void
 sslReadClient(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->client.fd);
     debug(26, 3) ("sslReadClient: FD %d, reading %d bytes at offset %d\n",
@@ -270,7 +270,7 @@ sslReadClient(int fd, void *data)
 static void
 sslWriteServer(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->server.fd);
     debug(26, 3) ("sslWriteServer: FD %d, %d bytes to write\n",
@@ -309,7 +309,7 @@ sslWriteServer(int fd, void *data)
 static void
 sslWriteClient(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     int len;
     assert(fd == sslState->client.fd);
     debug(26, 3) ("sslWriteClient: FD %d, %d bytes to write\n",
@@ -349,7 +349,7 @@ sslWriteClient(int fd, void *data)
 static void
 sslTimeout(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslTimeout: FD %d\n", fd);
     if (sslState->client.fd > -1)
        comm_close(sslState->client.fd);
@@ -360,7 +360,7 @@ sslTimeout(int fd, void *data)
 static void
 sslConnected(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     debug(26, 3) ("sslConnected: FD %d sslState=%p\n", fd, sslState);
     *sslState->status_ptr = HTTP_OK;
     xstrncpy(sslState->server.buf, conn_established, SQUID_TCP_SO_RCVBUF);
@@ -371,7 +371,7 @@ sslConnected(int fd, void *data)
 static void
 sslErrorComplete(int fdnotused, void *data, size_t sizenotused)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     assert(sslState != NULL);
     if (sslState->client.fd > -1)
        comm_close(sslState->client.fd);
@@ -383,7 +383,7 @@ sslErrorComplete(int fdnotused, void *data, size_t sizenotused)
 static void
 sslConnectDone(int fdnotused, comm_err_t status, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     request_t *request = sslState->request;
     ErrorState *err = NULL;
     if (sslState->servers->_peer)
@@ -499,8 +499,8 @@ sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr)
     sslState->status_ptr = status_ptr;
     sslState->client.fd = fd;
     sslState->server.fd = sock;
-    sslState->server.buf = xmalloc(SQUID_TCP_SO_RCVBUF);
-    sslState->client.buf = xmalloc(SQUID_TCP_SO_RCVBUF);
+    sslState->server.buf = (char *)xmalloc(SQUID_TCP_SO_RCVBUF);
+    sslState->client.buf = (char *)xmalloc(SQUID_TCP_SO_RCVBUF);
     comm_add_close_handler(sslState->server.fd,
        sslServerClosed,
        sslState);
@@ -529,7 +529,7 @@ sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr)
 static void
 sslProxyConnected(int fd, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     MemBuf mb;
     HttpHeader hdr_out;
     Packer p;
@@ -563,7 +563,7 @@ sslProxyConnected(int fd, void *data)
 static void
 sslPeerSelectComplete(FwdServer * fs, void *data)
 {
-    SslStateData *sslState = data;
+    SslStateData *sslState = (SslStateData *)data;
     request_t *request = sslState->request;
     peer *g = NULL;
     if (fs == NULL) {
index b09673479ea606ac31e0c5ea673038c0f5983edd..b2b4d8b8360dc57aaf2706128ec15d854644da9d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: typedefs.h,v 1.138 2002/09/24 10:46:41 robertc Exp $
+ * $Id: typedefs.h,v 1.139 2002/10/13 20:35:06 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -35,7 +35,6 @@
 #define SQUID_TYPEDEFS_H
 
 typedef unsigned int store_status_t;
-typedef unsigned int mem_status_t;
 typedef unsigned int ping_status_t;
 typedef unsigned int swap_status_t;
 typedef signed int sfileno;
@@ -55,10 +54,10 @@ typedef struct _acl_ip_data acl_ip_data;
 typedef struct _acl_time_data acl_time_data;
 typedef struct _acl_name_list acl_name_list;
 typedef struct _acl_deny_info_list acl_deny_info_list;
-typedef struct _auth_user_t auth_user_t;
-typedef struct _auth_user_request_t auth_user_request_t;
-typedef struct _auth_user_hash_pointer auth_user_hash_pointer;
-typedef struct _auth_user_ip_t auth_user_ip_t;
+typedef struct AuthUser auth_user_t;
+typedef struct AuthUserRequest auth_user_request_t;
+typedef struct AuthUserHashPointer auth_user_hash_pointer;
+typedef struct AuthUserIP auth_user_ip_t;
 typedef struct _acl_proxy_auth_match_cache acl_proxy_auth_match_cache;
 typedef struct _authscheme_entry authscheme_entry_t;
 typedef struct _authScheme authScheme;
@@ -106,7 +105,6 @@ typedef struct _HttpHeaderFieldStat HttpHeaderFieldStat;
 typedef struct _HttpHeaderStat HttpHeaderStat;
 typedef struct _HttpBody HttpBody;
 typedef struct _HttpReply HttpReply;
-typedef struct _HttpStateData HttpStateData;
 typedef struct _icpUdpData icpUdpData;
 typedef struct _clientHttpRequest clientHttpRequest;
 typedef struct _ConnStateData ConnStateData;
@@ -226,7 +224,7 @@ typedef void UH(void *data, wordlist *);
 typedef int DEFER(int fd, void *data);
 typedef int READ_HANDLER(int, char *, int);
 typedef int WRITE_HANDLER(int, const char *, int);
-typedef void CBCB(char *buf, size_t size, void *data);
+typedef void CBCB(char *buf, ssize_t size, void *data);
 
 typedef void STIOCB(void *their_data, int errflag, storeIOState *);
 typedef void STFNCB(void *their_data, int errflag, storeIOState *);
@@ -286,30 +284,6 @@ typedef void STFSSHUTDOWN(void);
 typedef double hbase_f(double);
 typedef void StatHistBinDumper(StoreEntry *, int idx, double val, double size, int count);
 
-/* authenticate.c authenticate scheme routines typedefs */
-typedef int AUTHSACTIVE(void);
-typedef int AUTHSAUTHED(auth_user_request_t *);
-typedef void AUTHSAUTHUSER(auth_user_request_t *, request_t *, ConnStateData *, http_hdr_type);
-typedef int AUTHSCONFIGURED(void);
-typedef void AUTHSDECODE(auth_user_request_t *, const char *);
-typedef int AUTHSDIRECTION(auth_user_request_t *);
-typedef void AUTHSDUMP(StoreEntry *, const char *, authScheme *);
-typedef void AUTHSFIXERR(auth_user_request_t *, HttpReply *, http_hdr_type, request_t *);
-typedef void AUTHSADDHEADER(auth_user_request_t *, HttpReply *, int);
-typedef void AUTHSADDTRAILER(auth_user_request_t *, HttpReply *, int);
-typedef void AUTHSFREE(auth_user_t *);
-typedef void AUTHSFREECONFIG(authScheme *);
-typedef char *AUTHSUSERNAME(auth_user_t *);
-typedef void AUTHSONCLOSEC(ConnStateData *);
-typedef void AUTHSPARSE(authScheme *, int, char *);
-typedef void AUTHSINIT(authScheme *);
-typedef void AUTHSREQFREE(auth_user_request_t *);
-typedef void AUTHSSETUP(authscheme_entry_t *);
-typedef void AUTHSSHUTDOWN(void);
-typedef void AUTHSSTART(auth_user_request_t *, RH *, void *);
-typedef void AUTHSSTATS(StoreEntry *);
-typedef const char *AUTHSCONNLASTHEADER(auth_user_request_t *);
-
 /* append/vprintf's for Packer */
 typedef void (*append_f) (void *, const char *buf, int size);
 #if STDC_HEADERS
index 163c523022336c8cc84c20cea2dea0a15b0cbabf..afa032a134a1ca968652a193960558061b8cf248 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ufscommon.cc,v 1.2 2002/10/12 09:52:57 robertc Exp $
+ * $Id: ufscommon.cc,v 1.3 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 47    Store Directory Routines
  * AUTHOR: Duane Wessels
  */
 
 #include "ufscommon.h"
-#if 0
-
-#include "squid.h"
-
-#include "store_asyncufs.h"
+#include "Store.h"
 
-#define DefaultLevelOneDirs     16
-#define DefaultLevelTwoDirs     256
-#define STORE_META_BUFSZ 4096
-
-#endif
 typedef struct _RebuildState RebuildState;
 struct _RebuildState {
     SwapDir *sd;
@@ -388,7 +379,7 @@ commonUfsDirInit(SwapDir * sd)
 void
 commonUfsDirRebuildFromDirectory(void *data)
 {
-    RebuildState *rb = data;
+    RebuildState *rb = (RebuildState *)data;
     SwapDir *SD = rb->sd;
     LOCAL_ARRAY(char, hdr_buf, SM_PAGE_SIZE);
     StoreEntry *e = NULL;
@@ -484,9 +475,9 @@ commonUfsDirRebuildFromDirectory(void *data)
        /* check sizes */
        if (tmpe.swap_file_sz == 0) {
            tmpe.swap_file_sz = (size_t) sb.st_size;
-       } else if (tmpe.swap_file_sz == sb.st_size - swap_hdr_len) {
+       } else if (tmpe.swap_file_sz == (size_t)(sb.st_size - swap_hdr_len)) {
            tmpe.swap_file_sz = (size_t) sb.st_size;
-       } else if (tmpe.swap_file_sz != sb.st_size) {
+       } else if (tmpe.swap_file_sz != (size_t)sb.st_size) {
            debug(47, 1) ("commonUfsDirRebuildFromDirectory: SIZE MISMATCH %ld!=%ld\n",
                (long int) tmpe.swap_file_sz, (long int) sb.st_size);
            commonUfsDirUnlinkFile(SD, filn);
@@ -529,7 +520,7 @@ commonUfsDirRebuildFromDirectory(void *data)
 void
 commonUfsDirRebuildFromSwapLog(void *data)
 {
-    RebuildState *rb = data;
+    RebuildState *rb = (RebuildState *)data;
     SwapDir *SD = rb->sd;
     StoreEntry *e = NULL;
     storeSwapLogData s;
@@ -949,7 +940,7 @@ commonUfsDirOpenTmpSwapLog(SwapDir * sd, int *clean_flag, int *zero_flag)
 
 struct _clean_state {
     char *cur;
-    char *new;
+    char *newLog;
     char *cln;
     char *outbuf;
     off_t outbuf_offset;
@@ -967,27 +958,27 @@ struct _clean_state {
 int
 commonUfsDirWriteCleanStart(SwapDir * sd)
 {
-    struct _clean_state *state = xcalloc(1, sizeof(*state));
+    struct _clean_state *state = (struct _clean_state *)xcalloc(1, sizeof(*state));
 #if HAVE_FCHMOD
     struct stat sb;
 #endif
     sd->log.clean.write = NULL;
     sd->log.clean.state = NULL;
-    state->new = xstrdup(commonUfsDirSwapLogFile(sd, ".clean"));
-    state->fd = file_open(state->new, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY);
+    state->newLog = xstrdup(commonUfsDirSwapLogFile(sd, ".clean"));
+    state->fd = file_open(state->newLog, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY);
     if (state->fd < 0) {
-       xfree(state->new);
+       xfree(state->newLog);
        xfree(state);
        return -1;
     }
     state->cur = xstrdup(commonUfsDirSwapLogFile(sd, NULL));
     state->cln = xstrdup(commonUfsDirSwapLogFile(sd, ".last-clean"));
-    state->outbuf = xcalloc(CLEAN_BUF_SZ, 1);
+    state->outbuf = (char *)xcalloc(CLEAN_BUF_SZ, 1);
     state->outbuf_offset = 0;
     state->walker = sd->repl->WalkInit(sd->repl);
     unlink(state->cln);
     debug(47, 3) ("storeDirWriteCleanLogs: opened %s, FD %d\n",
-       state->new, state->fd);
+       state->newLog, state->fd);
 #if HAVE_FCHMOD
     if (stat(state->cur, &sb) == 0)
        fchmod(state->fd, sb.st_mode);
@@ -1004,7 +995,7 @@ const StoreEntry *
 commonUfsDirCleanLogNextEntry(SwapDir * sd)
 {
     const StoreEntry *entry = NULL;
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     if (state->walker)
        entry = state->walker->Next(state->walker);
     return entry;
@@ -1018,7 +1009,7 @@ commonUfsDirWriteCleanEntry(SwapDir * sd, const StoreEntry * e)
 {
     storeSwapLogData s;
     static size_t ss = sizeof(storeSwapLogData);
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     memset(&s, '\0', ss);
     s.op = (char) SWAP_LOG_ADD;
     s.swap_filen = e->swap_filen;
@@ -1036,11 +1027,11 @@ commonUfsDirWriteCleanEntry(SwapDir * sd, const StoreEntry * e)
     if (state->outbuf_offset + ss > CLEAN_BUF_SZ) {
        if (FD_WRITE_METHOD(state->fd, state->outbuf, state->outbuf_offset) < 0) {
            debug(50, 0) ("storeDirWriteCleanLogs: %s: write: %s\n",
-               state->new, xstrerror());
+               state->newLog, xstrerror());
            debug(50, 0) ("storeDirWriteCleanLogs: Current swap logfile not replaced.\n");
            file_close(state->fd);
            state->fd = -1;
-           unlink(state->new);
+           unlink(state->newLog);
            safe_free(state);
            sd->log.clean.state = NULL;
            sd->log.clean.write = NULL;
@@ -1054,7 +1045,7 @@ void
 commonUfsDirWriteCleanDone(SwapDir * sd)
 {
     int fd;
-    struct _clean_state *state = sd->log.clean.state;
+    struct _clean_state *state = (struct _clean_state *)sd->log.clean.state;
     if (NULL == state)
        return;
     if (state->fd < 0)
@@ -1062,12 +1053,12 @@ commonUfsDirWriteCleanDone(SwapDir * sd)
     state->walker->Done(state->walker);
     if (FD_WRITE_METHOD(state->fd, state->outbuf, state->outbuf_offset) < 0) {
        debug(50, 0) ("storeDirWriteCleanLogs: %s: write: %s\n",
-           state->new, xstrerror());
+           state->newLog, xstrerror());
        debug(50, 0) ("storeDirWriteCleanLogs: Current swap logfile "
            "not replaced.\n");
        file_close(state->fd);
        state->fd = -1;
-       unlink(state->new);
+       unlink(state->newLog);
     }
     safe_free(state->outbuf);
     /*
@@ -1086,7 +1077,7 @@ commonUfsDirWriteCleanDone(SwapDir * sd)
            debug(50, 0) ("storeDirWriteCleanLogs: unlinkd failed: %s, %s\n",
                xstrerror(), state->cur);
 #endif
-       xrename(state->new, state->cur);
+       xrename(state->newLog, state->cur);
     }
     /* touch a timestamp file if we're not still validating */
     if (store_dirs_rebuilding)
@@ -1097,7 +1088,7 @@ commonUfsDirWriteCleanDone(SwapDir * sd)
        file_close(file_open(state->cln, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY));
     /* close */
     safe_free(state->cur);
-    safe_free(state->new);
+    safe_free(state->newLog);
     safe_free(state->cln);
     if (state->fd >= 0)
        file_close(state->fd);
@@ -1117,7 +1108,7 @@ void
 commonUfsDirSwapLog(const SwapDir * sd, const StoreEntry * e, int op)
 {
     squidufsinfo_t *ioinfo = (squidufsinfo_t *) sd->fsdata;
-    storeSwapLogData *s = memAllocate(MEM_SWAP_LOG_DATA);
+    storeSwapLogData *s = (storeSwapLogData *)memAllocate(MEM_SWAP_LOG_DATA);
     s->op = (char) op;
     s->swap_filen = e->swap_filen;
     s->timestamp = e->timestamp;
@@ -1148,8 +1139,8 @@ commonUfsDirNewfs(SwapDir * sd)
 static int
 rev_int_sort(const void *A, const void *B)
 {
-    const int *i1 = A;
-    const int *i2 = B;
+    const int *i1 = (const int *)A;
+    const int *i2 = (const int *)B;
     return *i2 - *i1;
 }
 
@@ -1252,7 +1243,7 @@ commonUfsDirCleanEvent(void *unused)
         * Initialize the little array that translates AUFS cache_dir
         * number into the Config.cacheSwap.swapDirs array index.
         */
-       dir_index = xcalloc(n_dirs, sizeof(*dir_index));
+       dir_index = (int *)xcalloc(n_dirs, sizeof(*dir_index));
        for (i = 0, n = 0; i < Config.cacheSwap.n_configured; i++) {
            sd = &Config.cacheSwap.swapDirs[i];
            if (!commonUfsDirIs(sd))
@@ -1438,7 +1429,7 @@ commonUfsDirUnrefObj(SwapDir * SD, StoreEntry * e)
 void
 commonUfsDirUnlinkFile(SwapDir * SD, sfileno f)
 {
-    squidufsinfo_t *ioinfo = SD->fsdata;
+    squidufsinfo_t *ioinfo = (squidufsinfo_t *)SD->fsdata;
     debug(79, 3) ("commonUfsDirUnlinkFile: unlinking fileno %08X\n", f);
     /* commonUfsDirMapBitReset(SD, f); */
     assert(ioinfo->io.storeDirUnlinkFile);
@@ -1479,7 +1470,7 @@ commonUfsDirReplRemove(StoreEntry * e)
 void
 commonUfsDirStats(SwapDir * SD, StoreEntry * sentry)
 {
-    squidufsinfo_t *ioinfo = SD->fsdata;
+    squidufsinfo_t *ioinfo = (squidufsinfo_t *)SD->fsdata;
     int totl_kb = 0;
     int free_kb = 0;
     int totl_in = 0;
@@ -1627,7 +1618,7 @@ commonUfsCleanupDoubleCheck(SwapDir * sd, StoreEntry * e)
        storeEntryDump(e, 0);
        return -1;
     }
-    if (e->swap_file_sz != sb.st_size) {
+    if ((off_t)e->swap_file_sz != sb.st_size) {
        debug(47, 0) ("commonUfsCleanupDoubleCheck: SIZE MISMATCH\n");
        debug(47, 0) ("commonUfsCleanupDoubleCheck: FILENO %08X\n", e->swap_filen);
        debug(47, 0) ("commonUfsCleanupDoubleCheck: PATH %s\n",
@@ -1639,105 +1630,3 @@ commonUfsCleanupDoubleCheck(SwapDir * sd, StoreEntry * e)
     }
     return 0;
 }
-
-#if 0
-/*
- * commonUfsDirParse *
- * Called when a *new* fs is being setup.
- */
-static void
-commonUfsDirParse(SwapDir * sd, int index, char *path)
-{
-    int i;
-    int size;
-    int l1;
-    int l2;
-    squidufsinfo_t *ioinfo;
-
-    i = GetInteger();
-    size = i << 10;            /* Mbytes to kbytes */
-    if (size <= 0)
-       fatal("commonUfsDirParse: invalid size value");
-    i = GetInteger();
-    l1 = i;
-    if (l1 <= 0)
-       fatal("commonUfsDirParse: invalid level 1 directories value");
-    i = GetInteger();
-    l2 = i;
-    if (l2 <= 0)
-       fatal("commonUfsDirParse: invalid level 2 directories value");
-
-    ioinfo = xmalloc(sizeof(squidufsinfo_t));
-    if (ioinfo == NULL)
-       fatal("commonUfsDirParse: couldn't xmalloc() squidufsinfo_t!\n");
-
-    sd->index = index;
-    sd->path = xstrdup(path);
-    sd->max_size = size;
-    sd->fsdata = ioinfo;
-    ioinfo->l1 = l1;
-    ioinfo->l2 = l2;
-    ioinfo->swaplog_fd = -1;
-    ioinfo->map = NULL;                /* Debugging purposes */
-    ioinfo->suggest = 0;
-    sd->init = commonUfsDirInit;
-    sd->newfs = commonUfsDirNewfs;
-    sd->dump = commonUfsDirDump;
-    sd->freefs = commonUfsDirFree;
-    sd->dblcheck = commonUfsCleanupDoubleCheck;
-    sd->statfs = commonUfsDirStats;
-    sd->maintainfs = commonUfsDirMaintain;
-    sd->checkobj = commonUfsDirCheckObj;
-    sd->refobj = commonUfsDirRefObj;
-    sd->unrefobj = commonUfsDirUnrefObj;
-    sd->callback = aioCheckCallbacks;
-    sd->sync = aioSync;
-    sd->obj.create = commonUfsCreate;
-    sd->obj.open = commonUfsOpen;
-    sd->obj.close = commonUfsClose;
-    sd->obj.read = commonUfsRead;
-    sd->obj.write = commonUfsWrite;
-    sd->obj.unlink = commonUfsUnlink;
-    sd->log.open = commonUfsDirOpenSwapLog;
-    sd->log.close = commonUfsDirCloseSwapLog;
-    sd->log.write = commonUfsDirSwapLog;
-    sd->log.clean.start = commonUfsDirWriteCleanStart;
-    sd->log.clean.nextentry = commonUfsDirCleanLogNextEntry;
-    sd->log.clean.done = commonUfsDirWriteCleanDone;
-
-    parse_cachedir_options(sd, options, 0);
-
-    /* Initialise replacement policy stuff */
-    sd->repl = createRemovalPolicy(Config.replPolicy);
-}
-
-/*
- * Initial setup / end destruction
- */
-static void
-commonUfsDirDone(void)
-{
-    aioDone();
-    memPoolDestroy(&squidaio_state_pool);
-    memPoolDestroy(&aufs_qread_pool);
-    memPoolDestroy(&aufs_qwrite_pool);
-    asyncufs_initialised = 0;
-}
-
-void
-storeFsSetup_aufs(storefs_entry_t * storefs)
-{
-    assert(!asyncufs_initialised);
-    storefs->parsefunc = commonUfsDirParse;
-    storefs->reconfigurefunc = commonUfsDirReconfigure;
-    storefs->donefunc = commonUfsDirDone;
-    squidaio_state_pool = memPoolCreate("AUFS IO State data", sizeof(squidaiostate_t));
-    aufs_qread_pool = memPoolCreate("AUFS Queued read data",
-       sizeof(queued_read));
-    aufs_qwrite_pool = memPoolCreate("AUFS Queued write data",
-       sizeof(queued_write));
-
-    asyncufs_initialised = 1;
-    aioInit();
-}
-#endif
index 940d55bb468c1b4084b2b2ca2168dd07b32108a2..a6c431b2df78b15e09b000e44e6567f4e89cf1ce 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: url.cc,v 1.137 2002/09/12 05:19:47 wessels Exp $
+ * $Id: url.cc,v 1.138 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 23    URL Parsing
  * AUTHOR: Duane Wessels
@@ -175,6 +175,13 @@ urlInitialize(void)
     /* more cases? */
 }
 
+method_t &operator++ (method_t &aMethod)
+{
+    aMethod = (method_t)(++(int)aMethod);
+    return aMethod;
+}
+
+
 method_t
 urlParseMethod(const char *s)
 {
@@ -186,7 +193,7 @@ urlParseMethod(const char *s)
      */
     if (*s == '%')
        return METHOD_NONE;
-    for (method++; method < METHOD_ENUM_END; method++) {
+    for (++method; method < METHOD_ENUM_END; ++method) {
        if (0 == strcasecmp(s, RequestMethodStr[method]))
            return method;
     }
@@ -607,8 +614,8 @@ urlHostname(const char *url)
 static void
 urlExtMethodAdd(const char *mstr)
 {
-    method_t method = 0;
-    for (method++; method < METHOD_ENUM_END; method++) {
+    method_t method = METHOD_NONE;
+    for (++method; method < METHOD_ENUM_END; ++method) {
        if (0 == strcmp(mstr, RequestMethodStr[method])) {
            debug(23, 2) ("Extension method '%s' already exists\n", mstr);
            return;
index 9295f4aedd0bc851d0d8d2a72bc1c20c5128b08c..d715a7d9aee9c68ffd8476808cf6def440978b0b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: urn.cc,v 1.75 2002/09/24 10:46:41 robertc Exp $
+ * $Id: urn.cc,v 1.76 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 52    URN Parsing
  * AUTHOR: Kostas Anagnostakis
 
 #include "squid.h"
 #include "StoreClient.h"
+#include "Store.h"
 
 #define        URN_REQBUF_SZ   4096
 
-typedef struct {
+class UrnState : public StoreClient {
+public:
+    void created (_StoreEntry *newEntry);
+    void *operator new (unsigned int byteCount);
+    void operator delete (void *address);
+    void start (request_t *, StoreEntry *);
+    char *getHost (String &urlpath);
+    void setUriResFromRequest(request_t *);
+    bool RequestNeedsMenu(request_t *r);
+    void updateRequestURL(request_t *r, char const *newPath);
+    void createUriResRequest (String &uri);
+
+    virtual ~UrnState();
+      
+    
     StoreEntry *entry;
     store_client *sc;
     StoreEntry *urlres_e;
@@ -49,7 +64,9 @@ typedef struct {
     } flags;
     char reqbuf[URN_REQBUF_SZ];
     int reqofs;
-} UrnState;
+private:
+    char *urlres;
+};
 
 typedef struct {
     char *url;
@@ -65,6 +82,28 @@ static url_entry *urnParseReply(const char *inbuf, method_t);
 static const char *const crlf = "\r\n";
 static QS url_entry_sort;
 
+CBDATA_TYPE(UrnState);
+void *
+UrnState::operator new (unsigned int byteCount)
+{
+     /* derived classes with different sizes must implement their own new */
+    assert (byteCount == sizeof (UrnState));
+    CBDATA_INIT_TYPE(UrnState);
+    return cbdataAlloc(UrnState);
+               
+}
+
+void
+UrnState::operator delete (void *address)
+{
+    cbdataFree ((UrnState *)address);
+}
+
+UrnState::~UrnState ()
+{
+    safe_free(urlres);
+}
+
 static url_entry *
 urnFindMinRtt(url_entry * urls, method_t m, int *rtt_ret)
 {
@@ -100,73 +139,116 @@ urnFindMinRtt(url_entry * urls, method_t m, int *rtt_ret)
     return min_u;
 }
 
-CBDATA_TYPE(UrnState);
-void
-urnStart(request_t * r, StoreEntry * e)
+char *
+UrnState::getHost (String &urlpath)
 {
-    LOCAL_ARRAY(char, urlres, 4096);
-    request_t *urlres_r = NULL;
-    const char *t;
-    char *host;
-    UrnState *urnState;
-    StoreEntry *urlres_e;
-    ErrorState *err;
-    StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
-    debug(52, 3) ("urnStart: '%s'\n", storeUrl(e));
-    CBDATA_INIT_TYPE(UrnState);
-    urnState = cbdataAlloc(UrnState);
-    urnState->entry = e;
-    urnState->request = requestLink(r);
-    storeLockObject(urnState->entry);
-    if (strncasecmp(strBuf(r->urlpath), "menu.", 5) == 0) {
-       char *new_path = xstrdup(strBuf(r->urlpath) + 5);
-       urnState->flags.force_menu = 1;
-       stringReset(&r->urlpath, new_path);
-       xfree(new_path);
-    }
-    if ((t = strChr(r->urlpath, ':')) != NULL) {
-       strSet(r->urlpath, t, '\0');
-       host = xstrdup(strBuf(r->urlpath));
-       strSet(r->urlpath, t, ':');
+    char * result;
+    char const *t;
+    if ((t = strChr(urlpath, ':')) != NULL) {
+       strSet(urlpath, t, '\0');
+       result = xstrdup(strBuf(urlpath));
+       strSet(urlpath, t, ':');
     } else {
-       host = xstrdup(strBuf(r->urlpath));
+       result = xstrdup(strBuf(urlpath));
     }
-    snprintf(urlres, 4096, "http://%s/uri-res/N2L?urn:%s", host, strBuf(r->urlpath));
-    safe_free(host);
+    return result;
+}
+
+bool
+UrnState::RequestNeedsMenu(request_t *r)
+{
+    return strncasecmp(strBuf(r->urlpath), "menu.", 5) == 0;
+}
+
+void
+UrnState::updateRequestURL(request_t *r, char const *newPath)
+{
+     char *new_path = xstrdup (newPath);
+     stringReset(&r->urlpath, new_path);
+     xfree(new_path);
+}
+
+void
+UrnState::createUriResRequest (String &uri)
+{
+    LOCAL_ARRAY(char, local_urlres, 4096);
+    char *host = getHost (uri);
+    snprintf(local_urlres, 4096, "http://%s/uri-res/N2L?urn:%s", host, strBuf(uri));
+    safe_free (host);
+    safe_free (urlres);
+    urlres = xstrdup (local_urlres);
     urlres_r = urlParse(METHOD_GET, urlres);
+}
+
+void
+UrnState::setUriResFromRequest(request_t *r)
+{
+    if (RequestNeedsMenu(r)) {
+       updateRequestURL(r, strBuf(r->urlpath) + 5);
+       flags.force_menu = 1;
+    }
+    createUriResRequest (r->urlpath);
     if (urlres_r == NULL) {
        debug(52, 3) ("urnStart: Bad uri-res URL %s\n", urlres);
-       err = errorCon(ERR_URN_RESOLVE, HTTP_NOT_FOUND);
-       err->url = xstrdup(urlres);
-       errorAppendEntry(e, err);
+       ErrorState *err = errorCon(ERR_URN_RESOLVE, HTTP_NOT_FOUND);
+       err->url = urlres;
+       urlres = NULL;
+       errorAppendEntry(entry, err);
        return;
     }
+    requestLink(urlres_r);
     httpHeaderPutStr(&urlres_r->header, HDR_ACCEPT, "text/plain");
-    if ((urlres_e = storeGetPublic(urlres, METHOD_GET)) == NULL) {
+}
+
+void
+UrnState::start(request_t * r, StoreEntry * e)
+{
+    debug(52, 3) ("urnStart: '%s'\n", storeUrl(e));
+    entry = e;
+    request = requestLink(r);
+    storeLockObject(entry);
+    setUriResFromRequest(r);
+    if (urlres_r == NULL)
+       return;
+    _StoreEntry::getPublic (this, urlres, METHOD_GET);
+}
+
+void
+UrnState::created(_StoreEntry *newEntry)
+{
+    urlres_e = newEntry;
+    if (urlres_e->isNull()) {
        urlres_e = storeCreateEntry(urlres, urlres, null_request_flags, METHOD_GET);
-       urnState->sc = storeClientListAdd(urlres_e, urnState);
+       sc = storeClientListAdd(urlres_e, this);
        fwdStart(-1, urlres_e, urlres_r);
     } else {
        storeLockObject(urlres_e);
-       urnState->sc = storeClientListAdd(urlres_e, urnState);
+       sc = storeClientListAdd(urlres_e, this);
     }
-    urnState->urlres_e = urlres_e;
-    urnState->urlres_r = requestLink(urlres_r);
-    urnState->reqofs = 0;
-    tempBuffer.offset = urnState->reqofs;
+    reqofs = 0;
+    StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
+    tempBuffer.offset = reqofs;
     tempBuffer.length = URN_REQBUF_SZ;
-    tempBuffer.data = urnState->reqbuf;
-    storeClientCopy(urnState->sc, urlres_e,
+    tempBuffer.data = reqbuf;
+    storeClientCopy(sc, urlres_e,
        tempBuffer,
        urnHandleReply,
-       urnState);
+       this);
+}
+
+void
+urnStart(request_t * r, StoreEntry * e)
+{
+    UrnState *anUrn = new UrnState();
+    anUrn->start (r, e);
 }
 
 static int
 url_entry_sort(const void *A, const void *B)
 {
-    const url_entry *u1 = A;
-    const url_entry *u2 = B;
+    const url_entry *u1 = (const url_entry *)A;
+    const url_entry *u2 = (const url_entry *)B;
     if (u2->rtt == u1->rtt)
        return 0;
     else if (0 == u1->rtt)
@@ -180,7 +262,7 @@ url_entry_sort(const void *A, const void *B)
 static void
 urnHandleReply(void *data, StoreIOBuffer result)
 {
-    UrnState *urnState = data;
+    UrnState *urnState = static_cast<UrnState *>(data);
     StoreEntry *e = urnState->entry;
     StoreEntry *urlres_e = urnState->urlres_e;
     char *s = NULL;
@@ -313,7 +395,7 @@ urnHandleReply(void *data, StoreIOBuffer result)
     storeUnlockObject(urnState->entry);
     requestUnlink(urnState->request);
     requestUnlink(urnState->urlres_r);
-    cbdataFree(urnState);
+    delete urnState;
 }
 
 static url_entry *
@@ -329,13 +411,13 @@ urnParseReply(const char *inbuf, method_t m)
     int n = 32;
     int i = 0;
     debug(52, 3) ("urnParseReply\n");
-    list = xcalloc(n + 1, sizeof(*list));
+    list = (url_entry *)xcalloc(n + 1, sizeof(*list));
     for (token = strtok(buf, crlf); token; token = strtok(NULL, crlf)) {
        debug(52, 3) ("urnParseReply: got '%s'\n", token);
        if (i == n) {
            old = list;
            n <<= 2;
-           list = xcalloc(n + 1, sizeof(*list));
+           list = (url_entry *)xcalloc(n + 1, sizeof(*list));
            xmemcpy(list, old, i * sizeof(*list));
            safe_free(old);
        }
index c245dfca6f1fc773fa9592c1002b5d6d02f4567a..6bef2d38764ae5b819fcc30c983a6fd0cd4b0934 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: wais.cc,v 1.139 2002/09/15 06:23:29 adrian Exp $
+ * $Id: wais.cc,v 1.140 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 24    WAIS Relay
  * AUTHOR: Harvest Derived
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 typedef struct {
     int fd;
@@ -54,7 +55,7 @@ static PF waisSendRequest;
 static void
 waisStateFree(int fdnotused, void *data)
 {
-    WaisStateData *waisState = data;
+    WaisStateData *waisState = (WaisStateData *)data;
     if (waisState == NULL)
        return;
     storeUnlockObject(waisState->entry);
@@ -66,7 +67,7 @@ waisStateFree(int fdnotused, void *data)
 static void
 waisTimeout(int fd, void *data)
 {
-    WaisStateData *waisState = data;
+    WaisStateData *waisState = (WaisStateData *)data;
     StoreEntry *entry = waisState->entry;
     debug(24, 4) ("waisTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
     if (entry->store_status == STORE_PENDING) {
@@ -83,7 +84,7 @@ waisTimeout(int fd, void *data)
 static void
 waisReadReply(int fd, void *data)
 {
-    WaisStateData *waisState = data;
+    WaisStateData *waisState = (WaisStateData *)data;
     LOCAL_ARRAY(char, buf, 4096);
     StoreEntry *entry = waisState->entry;
     int len;
@@ -164,7 +165,7 @@ waisReadReply(int fd, void *data)
 static void
 waisSendComplete(int fd, char *bufnotused, size_t size, comm_err_t errflag, void *data)
 {
-    WaisStateData *waisState = data;
+    WaisStateData *waisState = (WaisStateData *)data;
     StoreEntry *entry = waisState->entry;
     debug(24, 5) ("waisSendComplete: FD %d size: %d errflag: %d\n",
        fd, (int) size, errflag);
@@ -196,7 +197,7 @@ waisSendComplete(int fd, char *bufnotused, size_t size, comm_err_t errflag, void
 static void
 waisSendRequest(int fd, void *data)
 {
-    WaisStateData *waisState = data;
+    WaisStateData *waisState = (WaisStateData *)data;
     MemBuf mb;
     const char *Method = RequestMethodStr[waisState->method];
     debug(24, 5) ("waisSendRequest: FD %d\n", fd);
index a78916f4aae23dfccb826d7d1fac85ac691d67a4..abd6d29d986d3c46a0b3a1bdd7d37e9dc287da15 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: whois.cc,v 1.18 2002/08/22 12:29:15 hno Exp $
+ * $Id: whois.cc,v 1.19 2002/10/13 20:35:06 robertc Exp $
  *
  * DEBUG: section 75    WHOIS protocol
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Store.h"
 
 #define WHOIS_PORT 43
 
@@ -66,7 +67,7 @@ whoisStart(FwdState * fwd)
     storeLockObject(p->entry);
     comm_add_close_handler(fd, whoisClose, p);
     l = strLen(p->request->urlpath) + 3;
-    buf = xmalloc(l);
+    buf = (char *)xmalloc(l);
     snprintf(buf, l, "%s\r\n", strBuf(p->request->urlpath) + 1);
     comm_write(fd, buf, strlen(buf), NULL, p, xfree);
     commSetSelect(fd, COMM_SELECT_READ, whoisReadReply, p, 0);
@@ -78,7 +79,7 @@ whoisStart(FwdState * fwd)
 static void
 whoisTimeout(int fd, void *data)
 {
-    WhoisState *p = data;
+    WhoisState *p = (WhoisState *)data;
     debug(75, 1) ("whoisTimeout: %s\n", storeUrl(p->entry));
     whoisClose(fd, p);
 }
@@ -86,9 +87,9 @@ whoisTimeout(int fd, void *data)
 static void
 whoisReadReply(int fd, void *data)
 {
-    WhoisState *p = data;
+    WhoisState *p = (WhoisState *)data;
     StoreEntry *entry = p->entry;
-    char *buf = memAllocate(MEM_4K_BUF);
+    char *buf = (char *)memAllocate(MEM_4K_BUF);
     MemObject *mem = entry->mem_obj;
     int len;
     statCounter.syscalls.sock.reads++;
@@ -133,7 +134,7 @@ whoisReadReply(int fd, void *data)
 static void
 whoisClose(int fd, void *data)
 {
-    WhoisState *p = data;
+    WhoisState *p = (WhoisState *)data;
     debug(75, 3) ("whoisClose: FD %d\n", fd);
     storeUnlockObject(p->entry);
     cbdataFree(p);