-# 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,
@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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
$(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
# (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 \
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)' ;; \
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)
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 \
! -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 \
&& $(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
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:
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:
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
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
.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 \
-# 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,
#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,
# 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)
# 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
[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
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)
# ------------------------------
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/../..'.
# 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
# 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
# _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
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=])
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])
])
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
-AC_SUBST(DEPDIR)
+AC_SUBST([DEPDIR])
])
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"`
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()
# -----------------
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.
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
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
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],
# 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
#! /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. ##
## --------------------- ##
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
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\(/\)$' \| \
/^X\/\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
+
# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
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=:
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+"$@"}
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.
IFS=" $as_nl"
# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+$as_unset CDPATH
# Name of the host.
# Initializations.
#
ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
cross_compiling=no
subdirs=
MFLAGS=
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="\
# 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=
{ (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
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
# 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`
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 $@
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
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
# Save into config.log some information that might help in debugging.
{
echo
+
cat <<\_ASBOX
## ---------------- ##
## Cache variables. ##
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
## ----------- ##
## ----------- ##
_ASBOX
echo
- sed "/^$/d" confdefs.h
+ sed "/^$/d" confdefs.h | sort
echo
fi
test "$ac_signal" != 0 &&
+
ac_aux_dir=
for ac_dir in cfgaux $srcdir/cfgaux; do
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:
# 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
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
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;}
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"
#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"}
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
+# 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
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
+
MAINT=$MAINTAINER_MODE_TRUE
# 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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
# 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;;
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
# 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;;
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
(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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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
#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 ()
{
#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 ()
{
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'
# 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.
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=
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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#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 ()
{
#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 ()
{
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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
ENABLE_WIN32SPECIFIC_TRUE='#'
ENABLE_WIN32SPECIFIC_FALSE=
fi
+
;;
*)
ENABLE_WIN32SPECIFIC_TRUE='#'
ENABLE_WIN32SPECIFIC_FALSE=
fi
+
;;
esac
# 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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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
#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 ()
{
#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 ()
{
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
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"
ENABLE_PINGER_TRUE='#'
ENABLE_PINGER_FALSE=
fi
+
fi
fi;
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"
USE_DELAY_POOLS_TRUE='#'
USE_DELAY_POOLS_FALSE=
fi
+
fi
fi;
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"
USE_SNMP_TRUE='#'
USE_SNMP_FALSE=
fi
+
SNMP_MAKEFILE=./snmplib/Makefile
makesnmplib=snmplib
fi
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"
ENABLE_HTCP_TRUE='#'
ENABLE_HTCP_FALSE=
fi
+
fi
fi;
ENABLE_SSL_FALSE=
fi
+
# Check whether --enable-ssl or --disable-ssl was given.
if test "${enable_ssl+set}" = set; then
enableval="$enable_ssl"
ENABLE_SSL_TRUE='#'
ENABLE_SSL_FALSE=
fi
+
SSLLIB='-lssl -lcrypto'
USE_OPENSSL=1
fi
fi
+
# Check whether --with-openssl or --without-openssl was given.
if test "${with_openssl+set}" = set; then
withval="$with_openssl"
NEED_OWN_MD5_TRUE='#'
NEED_OWN_MD5_FALSE=
fi
+
if test -z "$SSLLIB"; then
SSLLIB="-lcrypto" # for MD5 routines
fi
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"
MAKE_LEAKFINDER_TRUE='#'
MAKE_LEAKFINDER_FALSE=
fi
+
fi
fi;
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
USE_DNSSERVER_TRUE='#'
USE_DNSSERVER_FALSE=
fi
+
fi
# Check whether --enable-truncate or --disable-truncate was given.
ENABLE_UNLINKD_TRUE='#'
ENABLE_UNLINKD_FALSE=
fi
+
else
echo "unlinkd disabled"
ENABLE_UNLINKD_TRUE='#'
ENABLE_UNLINKD_FALSE=
fi
+
fi
# Check whether --enable-stacktraces or --disable-stacktraces was given.
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"
ENABLE_XPROF_STATS_TRUE='#'
ENABLE_XPROF_STATS_FALSE=
fi
+
fi
fi;
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
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
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
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
#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 ()
{
/* 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 ()
{
/* 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 ()
{
/* 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 ()
{
/* 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 ()
{
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
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
_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
_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
( 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
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
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
#line $LINENO "configure"
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#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 ()
{
#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 ()
{
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"
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 ()
{
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
( 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
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
#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 ()
{
#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 ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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
#include <malloc.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include <malloc.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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
#include <sys/resource.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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
#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 ()
{
#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 ()
{
#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 ()
{
#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 ()
{
#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 ()
{
#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 ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
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 ()
{
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
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#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 ()
{
# endif
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
_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
char $ac_func ();
char (*f) ();
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
( 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
#include <stddef.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#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 ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#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 ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
/* 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 ()
{
/* 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 ()
{
/* 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 ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
/* 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 ()
{
/* 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 ()
{
#include "confdefs.h"
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
/* 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 ()
{
/* 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 ()
{
char $ac_func ();
char (*f) ();
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
( 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
NEED_OWN_SNPRINTF_TRUE='#'
NEED_OWN_SNPRINTF_FALSE=
fi
+
if test "$ac_cv_func_snprintf" = "no" || test "$ac_cv_func_vsnprintf" = "no" ; then
NEED_OWN_SNPRINTF_TRUE='#'
NEED_OWN_SNPRINTF_FALSE=
fi
+
fi
if test "$IPF_TRANSPARENT" ; then
#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 ()
{
char $ac_func ();
char (*f) ();
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
( 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
( 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
( 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
( 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
( 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
( 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
#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 ()
{
#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 ()
{
( 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
#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 ()
{
#include <resolv.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
#include <resolv.h>
#endif
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
int
main ()
{
-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
# 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
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
-
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
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
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\(/\)$' \| \
/^X\/\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`
+
# PATH needs CR, and LINENO needs CR and PATH.
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
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=:
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+"$@"}
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.
IFS=" $as_nl"
# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+$as_unset CDPATH
exec 6>&1
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
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
--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.
# INIT-COMMANDS section.
#
-AMDEP_TRUE="$AMDEP_TRUE"
-ac_aux_dir="$ac_aux_dir"
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
_ACEOF
"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" ;;
"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" ;;
"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;}
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
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
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
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
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
/^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=.
# 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`
# 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
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
/^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
# 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
# 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`
{ 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'.
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
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
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 \
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 \
-# 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 installing Squid startup files on systems
# using a SVR4-based startup mechanism/file system layout
#
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 = ..
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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; \
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 \
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:
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"
-# 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,
@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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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:
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"
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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; \
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
$(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:
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 \
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:
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"
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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; \
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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: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:
#
# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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
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@
@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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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 \
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:
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"
-# 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.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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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; \
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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; \
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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 \
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:
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"
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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:22:29 hno Exp $
+# $Id: Makefile.in,v 1.21 2002/10/13 20:34:46 robertc Exp $
#
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
# (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 \
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)' ;; \
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)
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 \
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:
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"
-# 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,
@SET_MAKE@
# makefile for smblib
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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 \
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:
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"
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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 \
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:
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"
-# 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.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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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
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@
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: $(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 \
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:
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"
-# 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,
@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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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:
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 \
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:
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:
/*
- * $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
*
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 */
/* 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_ */
/*
- * $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
*
#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 */
/*
- * $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...*
/*
- * $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
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
/*
- * $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
*
/*
* 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
* 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:
* 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 */
* 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).
* 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)
/*
* 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 */
/*
- * $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
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
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;
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)
/*
- * $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
* 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 */
};
-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 */
/*
- * $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
*
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
/*
- * $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
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,
);
/* 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 */
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 */
/*
- * $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;
extern void snmplib_debug (va_alist);
#endif
+#ifdef __cplusplus
+};
+#endif
#endif /* SQUID_SNMP_DEBUG_H */
*
* 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 */
#define SNMP_TRAP_ENTERPRISESPECIFIC (0x6)
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SQUID_SNMP_PDU_H */
/*
- * $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));
int Util_file_write(char *file, int offset, char *data, int dataSz);
/* ---------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+}
+#endif
#endif /* SQUID_SNMP_UTIL_H */
*
* 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 */
typedef struct variable variable;
typedef struct variable_list variable_list;
+#ifdef __cplusplus
+}
+#endif
+
#endif /* SQUID_SNMP_VARS_H */
/*
- * $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
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 */
/*
- * $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 *);
#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);
#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 */
-# 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,
@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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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)
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)
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@
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 \
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:
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"
-# 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,
# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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
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 \
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:
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"
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
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 \
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)
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)
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@
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 \
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:
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"
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#if USE_CACHE_DIGESTS
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);
}
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;
/*
- * $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);
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;
}
const char *item;
const char *p; /* '=' parameter */
const char *pos = NULL;
- int type;
+ http_hdr_cc_type type;
int ilen;
assert(cc && 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));
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 */
{
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);
}
/*
- * $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
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;
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",
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;
{
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
/*
* Currently only byte ranges are supported
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 */
{
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);
static HttpHdrRange *
httpHdrRangeCreate(void)
{
- HttpHdrRange *r = memAllocate(MEM_HTTP_HDR_RANGE);
+ HttpHdrRange *r = (HttpHdrRange *)memAllocate(MEM_HTTP_HDR_RANGE);
stackInit(&r->specs);
return r;
}
{
assert(range);
while (range->specs.count)
- httpHdrRangeSpecDestroy(stackPop(&range->specs));
+ httpHdrRangeSpecDestroy((HttpHdrRangeSpec *)stackPop(&range->specs));
stackClean(&range->specs);
memFree(range, MEM_HTTP_HDR_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;
}
* 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 */
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;
}
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 */
return known_spec(offset) ? offset : 0;
}
-
/* generates a "unique" boundary string for multipart responses
* the caller is responsible for cleaning the string */
String
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;
}
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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+#include "HttpHeader.h"
/*
* On naming conventions:
};
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.
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;
}
{
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;
{
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;
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);
}
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;
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);
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,
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;
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)
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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
*/
#include "squid.h"
+#include "HttpHeader.h"
#if UNUSED_CODE
static int httpHeaderStrCmp(const char *h1, const char *h2, int len);
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);
/* 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 */
/*
- * $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
HDR_OTHER
};
+HttpMsgParseState &operator++ (HttpMsgParseState &aState)
+{
+ aState = (HttpMsgParseState)(++(int)aState);
+ return aState;
+}
+
+
/* local routines */
static void httpReplyInit(HttpReply * rep);
static void httpReplyClean(HttpReply * rep);
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;
* 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 */
*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)) {
*parse_end_ptr = parse_start;
rep->hdr_sz = *parse_end_ptr - buf;
- rep->pstate++;
+ ++rep->pstate;
}
return 1;
}
/*
- * $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)
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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/
#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 */
#
# 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 =
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
EXTRA_PROGRAMS = \
unlinkd \
pinger \
- dnsserver
+ dnsserver \
+ recv-announce
noinst_PROGRAMS = \
cf_gen
$(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
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
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 \
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 \
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); \
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 =
@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
EXTRA_PROGRAMS = \
unlinkd \
pinger \
- dnsserver
+ dnsserver \
+ recv-announce
noinst_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
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
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 = \
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) \
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 =
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) \
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) \
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)
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)
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)
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)
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
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(sbindir)
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
-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)
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@
@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:
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:
# (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 \
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)' ;; \
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)
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 \
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:
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:
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
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 \
/*
- * $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
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;
/*
- * $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
#include "squid.h"
+#include "Store.h"
/* local types */
/*
- * $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
#include "squid.h"
#ifdef USE_XPROF_STATS
+#include "Store.h"
/* Private stuff */
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();
/*
- * $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
*/
#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);
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;
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];
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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;
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 */
/*
- * $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
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;
}
/*
- * $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
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
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
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);
}
return 1;
return 0;
}
+
-
/*
- * $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
#include "squid.h"
#include "splay.h"
+#include "authenticate.h"
static void aclParseDomainList(void *curlist);
static void aclParseUserList(void **current);
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);
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)
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;
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))
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;
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;
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;
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 */
aclParseIpList(void *curlist)
{
char *t = NULL;
- splayNode **Top = curlist;
+ splayNode **Top = (splayNode **)curlist;
acl_ip_data *q = NULL;
while ((t = strtokFile())) {
q = aclParseIpData(t);
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 */
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;
t, errbuf);
continue;
}
- q = memAllocate(MEM_RELIST);
+ q = (relist *)memAllocate(MEM_RELIST);
q->pattern = xstrdup(t);
q->regex = comp;
*(Tail) = q;
{
char *t = NULL;
while ((t = strtokFile()))
- wordlistAdd(curlist, t);
+ wordlistAdd((wordlist **)curlist, t);
}
#endif
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);
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);
}
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);
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;
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);
/* 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 */
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
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);
}
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;
*/
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;
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_
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);
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);
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) {
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;
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)
return W;
}
-/*
+/*
* aclMatchUserMaxIP - check for users logging in from multiple IP's
* 0 : No match
* 1 : Match
* 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
*/
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
*/
/* 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 */
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:
/* 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;
/* 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:
/* 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:
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)
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);
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);
}
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);
}
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);
}
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);
}
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");
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);
}
aclCheck(checklist);
}
-
-
-
-
-
-
/*********************/
/* Destroy functions */
/*********************/
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);
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:
aclFreeUserData(a->data);
break;
case ACL_TIME:
- aclDestroyTimeList(a->data);
+ aclDestroyTimeList((acl_time_data *)a->data);
break;
#if USE_IDENT
case ACL_IDENT_REGEX:
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:
break;
case ACL_URL_PORT:
case ACL_MY_PORT:
- aclDestroyIntRange(a->data);
+ aclDestroyIntRange((intrange *)a->data);
break;
case ACL_EXTERNAL:
aclDestroyExternal(&a->data);
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) {
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);
}
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) {
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 *
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)
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;
}
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:
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:
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);
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;
}
}
/*
- * $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
#include "squid.h"
#include "radix.h"
#include "StoreClient.h"
+#include "Store.h"
#define WHOIS_PORT 43
#define AS_REQBUF_SZ 4096
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 *);
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);
}
}
static void
asHandleReply(void *data, StoreIOBuffer result)
{
- ASState *asState = data;
+ ASState *asState = (ASState *)data;
StoreEntry *e = asState->entry;
char *s;
char *t;
* 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++) {
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);
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;
} 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);
}
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;
# 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/
-# 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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/
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)
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)
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)
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:
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:
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.
/*
- * $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);
}
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");
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)
{
/* 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;
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);
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>");
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
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) {
/* 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);
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;
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;
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;
}
}
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
} 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;
authenticateBasicStats, 0, 1);
init++;
}
- CBDATA_INIT_TYPE(authenticateStateData);
+ CBDATA_INIT_TYPE(AuthenticateStateData);
}
}
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;
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) {
/* 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;
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;
#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
/*
- * $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);
}
static MemPool *digest_request_pool = NULL;
static MemPool *digest_nonce_pool = NULL;
-CBDATA_TYPE(authenticateStateData);
+CBDATA_TYPE(DigestAuthenticateStateData);
/*
*
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
* 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);
{
if (!nonce)
return NULL;
- return nonce->hash.key;
+ return (char const *)nonce->hash.key;
}
static digest_nonce_h *
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;
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;
}
static digest_user_h *
authDigestUserNew(void)
{
- return memPoolAlloc(digest_user_pool);
+ return static_cast<digest_user_h *>(memPoolAlloc(digest_user_pool));
}
static 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 */
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;
}
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");
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
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) {
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;
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))
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;
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) {
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)
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);
}
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;
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 {
authenticateDigestStats, 0, 1);
init++;
}
- CBDATA_INIT_TYPE(authenticateStateData);
+ CBDATA_INIT_TYPE(DigestAuthenticateStateData);
}
}
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;
}
/* 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;
/* 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);
} 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 {
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
*/
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;
}
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;
}
/* 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;
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);
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 */
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;
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;
#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;
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 */
wordlist *authenticate;
time_t nonceGCInterval;
time_t noncemaxduration;
- int noncemaxuses;
+ unsigned int noncemaxuses;
int NonceStrictness;
};
/*
- * $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
#include "squid.h"
#include "auth_ntlm.h"
+#include "authenticate.h"
+#include "Store.h"
extern AUTHSSETUP authSchemeSetup_ntlm;
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;
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) {
/* 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);
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");
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. */
* 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:
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;
}
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)
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;
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);
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;
/* 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);
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 */
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 */
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 */
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 */
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
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 **** */
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);
* 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;
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");
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");
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) {
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;
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;
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;
}
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);
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");
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;
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 */
/* 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;
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 */
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 {
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
echo " * do not edit"
echo " */"
echo "#include \"squid.h\""
+echo "#include \"authenticate.h\""
echo ""
for module in "$@"; do
echo "extern AUTHSSETUP authSchemeSetup_${module};"
/*
- * $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 */
{
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;
}
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 */
/* 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...
}
+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)
{
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;
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);
}
* 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;
}
/*
* 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);
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;
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.
*/
*/
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 */
/* 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;
}
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:
/* 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;
}
/* 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;
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)
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
}
}
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
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++) {
}
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 */
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);
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);
}
}
}
- /*
+ /*
* allow protocol specific headers to be _added_ to the existing
* response - ie digest auth
*/
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)
}
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 */
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);
}
/*
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());
}
}
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();
+}
+
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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
*/
#include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
#if SQUID_SNMP
#include "snmp.h"
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[]);
{
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;
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;
}
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
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;
}
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
static void
freed_acl_address(void *data)
{
- acl_address *l = data;
+ acl_address *l = static_cast<acl_address *>(data);
aclDestroyAclList(&l->aclList);
}
static void
freed_acl_tos(void *data)
{
- acl_tos *l = data;
+ acl_tos *l = static_cast<acl_tos *>(data);
aclDestroyAclList(&l->aclList);
}
}
#endif
-#if HTTP_VIOLATIONS
+#ifdef HTTP_VIOLATIONS
static void
dump_http_header_access(StoreEntry * entry, const char *name, header_mangler header[])
{
}
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;
}
static int
-check_null_cachedir(cacheSwap swap)
+check_null_cachedir(_SquidConfig::_cacheSwap swap)
{
return swap.swapDirs == NULL;
}
{
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;
}
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;
}
static void
-parse_cachedir(cacheSwap * swap)
+parse_cachedir(_SquidConfig::_cacheSwap * swap)
{
char *type_str;
char *path_str;
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;
}
static void
-free_cachedir(cacheSwap * swap)
+free_cachedir(_SquidConfig::_cacheSwap * swap)
{
SwapDir *s;
int i;
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);
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;
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));
}
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;
{
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);
}
} 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;
} 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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#define MGR_PASSWD_SZ 128
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;
}
}
/* 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);
/*
- * $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
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;
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;
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)
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 "";
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;
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#if USE_CARP
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
static int cbdataCount = 0;
#if CBDATA_DEBUG
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
{
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));
{
if (type)
return type;
- type = cbdata_types;
+ type = (cbdata_type)cbdata_types;
cbdataInternalInitType(type, name, size, free_func);
return type;
}
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);
{
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;
#
-# $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/
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
/*
- * $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
{
while (*L)
L = &(*L)->next;
- *L = xcalloc(1, sizeof(Line));
+ *L = (Line *)xcalloc(1, sizeof(Line));
(*L)->data = xstrdup(str);
}
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;
} 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;
} 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;
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;
print "},"
}
END {
- print "{(void *)0L, 0}};"
+ print "{(char const *)0L, (char const *)0L, 0}};"
}
/*
- * $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
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);
#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
}
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);
}
} /* ARGSUSED */
static void
-catch(int sig)
+catchSignal(int sig)
{
interrupted = 1;
fprintf(stderr, "Interrupted.\n");
/*
- * $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
* 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.
*
*/
* 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;
*/
cbdataReference(temp);
temp->head = list;
clientStreamInsertHead(list, NULL, callback, cdetach, NULL, callbackdata);
- temp = list->tail->data;
+ temp = (clientStreamNode *)list->tail->data;
temp->readBuffer = tailBuffer;
}
* 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);
}
* 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);
}
* 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) {
* 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);
}
}
* 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);
}
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;
+}
/*
- * $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/
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;
};
/* 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 */
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+
static hash_table *client_table = NULL;
static ClientInfo *clientdbAdd(struct in_addr addr);
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);
return 1;
}
+log_type &operator++ (log_type &aLogType)
+{
+ aLogType = (log_type)(++(int)aLogType);
+ return aLogType;
+}
+
void
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];
}
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];
static void
clientdbFreeItem(void *data)
{
- ClientInfo *c = data;
+ ClientInfo *c = (ClientInfo *)data;
safe_free(c->hash.key);
memFree(c, MEM_CLIENT_INFO);
}
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];
}
/*
- * $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
#include "squid.h"
#include "clientStream.h"
#include "IPInterception.h"
+#include "authenticate.h"
+#include "Store.h"
+
#if LINGERING_CLOSE
#define comm_close comm_lingering_close
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 *,
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);
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
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 */
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;
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 */
}
int
-clientIsRequestBodyTooLargeForPolicy(int bodyLength)
+clientIsRequestBodyTooLargeForPolicy(size_t bodyLength)
{
if (Config.maxRequestBodySize &&
bodyLength > Config.maxRequestBodySize)
connGetCurrentContext(ConnStateData * conn)
{
assert(conn);
- return conn->currentobject;
+ return (clientSocketContext *)conn->currentobject;
}
void
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) {
/* 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
*/
}
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);
}
/* 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);
}
}
-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)
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;
}
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) {
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
} 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;
}
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';
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);
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
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);
}
}
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.
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,
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;
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);
}
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;
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);
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);
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",
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;
}
static void
clientNegotiateSSL(int fd, void *data)
{
- ConnStateData *conn = data;
+ ConnStateData *conn = (ConnStateData *)data;
X509 *client_cert;
int ret;
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;
/*
- * $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 */
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);
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 *);
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;
}
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)
}
}
+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
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);
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 */
void
clientHandleIMSReply(void *data, StoreIOBuffer result)
{
- clientReplyContext *context = data;
+ clientReplyContext *context = (clientReplyContext *)data;
clientHttpRequest *http = context->http;
StoreEntry *entry = http->entry;
MemObject *mem;
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;
}
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;
/* 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;
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));
}
}
-CSR clientGetMoreData;
-CSD clientReplyDetach;
+extern "C" CSR clientGetMoreData;
+extern "C" CSD clientReplyDetach;
/*
* clientCacheHit should only be called until the HTTP reply headers
void
clientCacheHit(void *data, StoreIOBuffer result)
{
- clientReplyContext *context = data;
+ clientReplyContext *context = (clientReplyContext *)data;
clientHttpRequest *http = context->http;
StoreEntry *e = http->entry;
MemObject *mem;
/* 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;
if (r->method == METHOD_PURGE) {
clientRemoveStoreReference(context, &context->sc, &http->entry);
e = NULL;
- clientPurgeRequest(context);
+ context->purgeRequest();
return;
}
if (storeCheckNegativeHit(e)) {
clientRemoveStoreReference(context, &context->sc, &http->entry);
}
if (r->method == METHOD_PURGE) {
- clientPurgeRequest(context);
+ context->purgeRequest();
return;
}
if (clientOnlyIfCached(http)) {
}
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;
}
}
/*
* 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);
}
{
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 =
StoreEntry *entry = http->entry;
MemObject *mem;
http_reply *reply;
- int sendlen;
+ size_t sendlen;
if (entry == NULL)
return 0;
/*
* 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)
* 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;
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);
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);
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) {
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
* 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;
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
* 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);
}
}
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;
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);
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;
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;
}
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);
}
}
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);
}
}
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;
}
/*
- * $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)
#include "squid.h"
#include "clientStream.h"
#include "client_side_request.h"
+#include "authenticate.h"
#if LINGERING_CLOSE
#define comm_close comm_lingering_close
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);
* 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) {
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 */
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",
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",
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);
}
}
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;
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;
/* 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);
}
/*
- * $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
} 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);
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) {
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);
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;
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
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 {
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.
static void
commHandleWrite(int fd, void *data)
{
- CommWriteStateData *state = data;
+ CommWriteStateData *state = (CommWriteStateData *)data;
int len = 0;
int nleft;
} 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,
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;
/*
- * $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
*
*/
#include "squid.h"
+#include "Store.h"
#ifdef USE_KQUEUE
/*
- * $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
*
*/
#include "squid.h"
+#include "Store.h"
#ifdef USE_POLL
#endif
PF *hdl = NULL;
int fd;
- int i;
int maxfd;
unsigned long nfds;
unsigned long npending;
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. */
* 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)
/*
- * $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
*
*/
#include "squid.h"
+#include "Store.h"
#ifdef USE_SELECT
/*
- * $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
/*
- * $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
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;
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;
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;
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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
static helper *dnsservers = NULL;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#if defined(_SQUID_MSWIN_) || defined(_SQUID_CYGWIN_)
#include <windows.h>
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)
static void
idnsParseWIN32Registry(void)
{
- char *t;
+ BYTE *t;
char *token;
HKEY hndKey, hndKey2;
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),
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;
}
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",
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) {
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",
/*
- * $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
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);
/*
- * $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/
/* 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,
} http_hdr_type;
typedef enum {
- CC_PUBLIC,
+ CC_BADHDR = -1,
+ CC_PUBLIC = 0,
CC_PRIVATE,
CC_NO_CACHE,
CC_NO_STORE,
ICP_END
} icp_opcode;
-enum {
+typedef enum _mem_status_t {
NOT_IN_MEMORY,
IN_MEMORY
-};
+} mem_status_t;
enum {
PING_NONE,
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,
MEM_NET_DB_NAME,
MEM_RELIST,
MEM_REQUEST_T,
- MEM_STOREENTRY,
MEM_WORDLIST,
#if !USE_DNSSERVERS
MEM_IDNS_QUERY,
CBDATA_helper_server,
CBDATA_statefulhelper,
CBDATA_helper_stateful_server,
- CBDATA_HttpStateData,
CBDATA_peer,
CBDATA_ps_state,
CBDATA_RemovalPolicy,
/*
- * $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
*/
#include "squid.h"
-
+#include "authenticate.h"
+#include "Store.h"
/* local types */
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
*
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)))
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... */
safe_free(error_text);
}
while (ErrorDynamicPages.count)
- errorDynamicPageInfoDestroy(stackPop(&ErrorDynamicPages));
+ errorDynamicPageInfoDestroy(static_cast<ErrorDynamicPageInfo *>(stackPop(&ErrorDynamicPages)));
error_page_count = 0;
}
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());
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;
return ERR_NONE;
}
-int
+err_type
errorReservePageId(const char *page_name)
{
ErrorDynamicPageInfo *info;
stackPush(&ErrorDynamicPages, info);
id = info->id;
}
- return id;
+ return (err_type)id;
}
static const char *
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) {
}
if (*m)
memBufPrintf(&content, "%s", m); /* copy tail */
- assert(content.size == strlen(content.buf));
+ assert((size_t)content.size == strlen(content.buf));
return content;
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
/* The list of event processes */
struct ev_entry {
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);
/*
- * $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
*/
#include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
+
#ifndef DEFAULT_EXTERNAL_ACL_TTL
#define DEFAULT_EXTERNAL_ACL_TTL 1 * 60 * 60
external_acl_format *format;
wordlist *cmdline;
int children;
- helper *helper;
+ helper *theHelper;
hash_table *cache;
dlink_list lru_list;
int cache_size;
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;
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);
}
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();
}
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);
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);
}
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)
{
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 */
}
}
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);
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;
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;
}
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;
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);
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");
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;
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);
static void
externalAclHandleReply(void *data, char *reply)
{
- externalAclState *state = data;
+ externalAclState *state = static_cast<externalAclState *>(data);
externalAclState *next;
int result = 0;
char *status;
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) {
/* 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;
}
}
/* 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;
/* 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);
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");
}
}
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;
{
external_acl *p;
for (p = Config.externalAclHelperList; p; p = p->next) {
- helperShutdown(p->helper);
+ helperShutdown(p->theHelper);
}
}
/*
- * $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
void
fdAdjustReserved(void)
{
- int new;
+ int newReserve;
int x;
static time_t last = 0;
/*
/*
* 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;
}
/*
- * $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;
}
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);
/*
- * $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
#include "squid.h"
+#include "Store.h"
+
static PSC fwdStartComplete;
static void fwdDispatch(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;
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;
static void
fwdConnectTimeout(int fd, void *data)
{
- FwdState *fwdState = data;
+ FwdState *fwdState = (FwdState *)data;
StoreEntry *entry = fwdState->entry;
ErrorState *err;
peer *p = fwdStateServerPeer(fwdState);
static void
fwdConnectStart(void *data)
{
- FwdState *fwdState = data;
+ FwdState *fwdState = (FwdState *)data;
const char *url = storeUrl(fwdState->entry);
int fd;
ErrorState *err;
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;
int
fwdCheckDeferRead(int fd, void *data)
{
- StoreEntry *e = data;
+ StoreEntry *e = (StoreEntry *)data;
MemObject *mem = e->mem_obj;
int rc = 0;
if (mem == NULL)
#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;
}
static void
fwdAbort(void *data)
{
- FwdState *fwdState = data;
+ FwdState *fwdState = (FwdState *)data;
debug(17, 2) ("fwdAbort: %s\n", storeUrl(fwdState->entry));
fwdStateFree(fwdState);
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#define FQDN_LOW_WATER 90
#define FQDN_HIGH_WATER 95
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;
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);
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;
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;
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;
#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;
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]);
# 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@
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
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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@
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
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)
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)
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)
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)
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)
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)
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
# (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 \
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)' ;; \
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)
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: $(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 \
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:
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"
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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:
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"
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.
/*
- * $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>
char *p;
int len = strlen(str) + 1;
- p = squidaio_xmalloc(len);
+ p = (char *)squidaio_xmalloc(len);
strncpy(p, str, len);
return p;
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;
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
* 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;
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",
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;
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);
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);
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;
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));
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;
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;
/*
- * $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>
#include "squid.h"
#include "store_asyncufs.h"
+#include "Store.h"
#define _AIO_OPEN 0
#define _AIO_READ 1
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);
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;
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;
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);
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);
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);
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);
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#include "store_asyncufs.h"
#include "ufscommon.h"
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");
#include "squid.h"
#include "store_asyncufs.h"
+#include "Store.h"
#include "ufscommon.h"
#if ASYNC_READ
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;
/* 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;
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;
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",
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",
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--;
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;
#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);
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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:
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"
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.
* 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"
/* 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);
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#include <aio.h>
#include "async_io.h"
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);
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);
static void
storeCossRebuildComplete(void *data)
{
- RebuildState *rb = data;
+ RebuildState *rb = (RebuildState *)data;
SwapDir *sd = rb->sd;
storeCossStartMembuf(sd);
store_dirs_rebuilding--;
static void
storeCossRebuildFromSwapLog(void *data)
{
- RebuildState *rb = data;
+ RebuildState *rb = (RebuildState *)data;
StoreEntry *e = NULL;
storeSwapLogData s;
size_t ss = sizeof(storeSwapLogData);
struct _clean_state {
char *cur;
- char *new;
+ char *newLog;
char *cln;
char *outbuf;
off_t outbuf_offset;
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;
}
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);
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;
{
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;
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;
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);
/*
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)
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);
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;
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");
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#include <aio.h>
#include "async_io.h"
#include "store_coss.h"
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
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;
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;
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 */
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);
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);
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;
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;
* 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);
}
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);
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);
/* 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);
}
*/
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
#
# 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 \
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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 =
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)
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
-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
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 \
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:
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"
/*
- * $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
}
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;
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;
}
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));
}
perror("shmget");
return 1;
}
- shmbuf = shmat(shmid, NULL, 0);
+ shmbuf = (char *)shmat(shmid, NULL, 0);
if (shmbuf == (void *) -1) {
perror("shmat");
return 1;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#include <sys/ipc.h>
#include <sys/msg.h>
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;
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);
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",
{
diomsg M;
int x;
- diskdinfo_t *diskdinfo = SD->fsdata;
+ diskdinfo_t *diskdinfo = (diskdinfo_t *)SD->fsdata;
int retval = 0;
if (diskdinfo->away >= diskdinfo->magic2) {
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;
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))
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;
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);
}
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)
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)
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);
}
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;
/*
- * $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
#include "config.h"
#include "squid.h"
+#include "Store.h"
#include <sys/ipc.h>
#include <sys/msg.h>
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.
}
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;
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,
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.
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;
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,
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,
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))
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,
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)) {
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);
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);
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,
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);
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);
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;
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",
* 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);
}
}
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;
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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:
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"
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.
-# 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@
-
SHELL = @SHELL@
srcdir = @srcdir@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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 \
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:
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"
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.
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#include "store_ufs.h"
#include "ufscommon.h"
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");
/*
- * $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
#include "squid.h"
#include "store_ufs.h"
+#include "Store.h"
#include "ufscommon.h"
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;
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+
static const char *const crlf = "\r\n";
static char cbuf[1024];
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));
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) {
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);
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;
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)
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;
static void
ftpDataRead(int fd, void *data)
{
- FtpStateData *ftpState = data;
+ FtpStateData *ftpState = (FtpStateData *)data;
int len;
int j;
int bin;
commSetSelect(fd,
COMM_SELECT_READ,
ftpDataRead,
- data,
+ ftpState,
Config.Timeout.read);
} else {
ftpFailed(ftpState, ERR_READ_ERROR);
commSetSelect(fd,
COMM_SELECT_READ,
ftpDataRead,
- data,
+ ftpState,
Config.Timeout.read);
}
}
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);
}
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);
/*
* 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)
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;
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,
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;
}
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");
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");
/* 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");
/* 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) {
/*
- * $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/
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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
/* gopher type code from rfc. Anawat. */
#define GOPHER_FILE '0'
static void
gopherStateFree(int fdnotused, void *data)
{
- GopherStateData *gopherState = data;
+ GopherStateData *gopherState = (GopherStateData *)data;
if (gopherState == NULL)
return;
if (gopherState->entry) {
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,
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,
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);
}
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;
} /* 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;
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) {
static void
gopherReadReply(int fd, void *data)
{
- GopherStateData *gopherState = data;
+ GopherStateData *gopherState = (GopherStateData *)data;
StoreEntry *entry = gopherState->entry;
char *buf = NULL;
int len;
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);
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);
} 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;
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);
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)
buf,
strlen(buf),
gopherSendComplete,
- data,
+ gopherState,
memFree4K);
if (EBIT_TEST(gopherState->entry->flags, ENTRY_CACHABLE))
storeSetPublicKey(gopherState->entry); /* Make it public */
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;
/* 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);
/*
- * $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?
*/
#include "squid.h"
+#include "Store.h"
#define HELPER_MAX_ARGS 64
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)
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);
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)
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);
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");
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");
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)
"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",
"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,
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",
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",
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);
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);
{
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);
{
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);
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)
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)
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
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--;
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);
}
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--;
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)
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)
/*
- * $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 {
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 {
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;
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)
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);
* 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)
{
safe_free(s->uri);
safe_free(s->version);
safe_free(s->req_hdrs);
- memPoolFree(htcpSpecifierPool, s);
+ delete s;
}
static void
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);
}
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);
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);
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;
}
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
{
/* 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;
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
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;
}
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;
}
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);
} else {
htcpOutSocket = htcpInSocket;
}
- if (!htcpSpecifierPool) {
- htcpSpecifierPool = memPoolCreate("htcpSpecifier", sizeof(htcpSpecifier));
+ if (!htcpDetailPool) {
htcpDetailPool = memPoolCreate("htcpDetail", sizeof(htcpDetail));
}
}
}
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);
}
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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";
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
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) {
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, ',');
/* 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 */
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
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;
* 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
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);
}
}
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",
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));
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;
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);
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);
}
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) {
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",
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
--- /dev/null
+
+/*
+ * $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 */
/*
- * $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
*/
#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);
*/
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)
{
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)
}
}
-void *
-icpCreateMessage(
+_icp_common_t *
+_icp_common_t::createMessage(
icp_opcode opcode,
int flags,
const char *url,
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;
if (opcode == ICP_QUERY)
urloffset += sizeof(u_int32_t);
xmemcpy(urloffset, url, strlen(url));
- return buf;
+ return (icp_common_t *)buf;
}
int
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);
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
*/
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:
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:
header.opcode, inet_ntoa(from.sin_addr));
break;
}
- if (icp_request)
- requestDestroy(icp_request);
}
#ifdef ICP_PKT_DUMP
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);
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) {
/*
- * $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
*/
}
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:
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:
header.opcode, inet_ntoa(from.sin_addr));
break;
}
- if (icp_request)
- requestDestroy(icp_request);
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
/* called when we "miss" on an internal object;
* generate known dynamic objects,
/*
- * $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
}
}
#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
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
typedef struct _ipcache_entry ipcache_entry;
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);
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;
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;
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;
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]))
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)
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;
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 *
"TTL",
"N");
for (m = lru_list.head; m; m = m->next)
- ipcacheStatPrint(m->data, sentry);
+ ipcacheStatPrint((ipcache_entry *)m->data, sentry);
}
static void
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);
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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
static hash_table *htable = NULL;
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;
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);
}
}
/*
- * $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
*/
#include "squid.h"
+#include "authenticate.h"
static void logfileWriteWrapper(Logfile * lf, const void *buf, size_t len);
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;
/* 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
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;
/*
- * $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
*/
#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 *);
idnsInit();
#endif
redirectInit();
- authenticateInit(&Config.authConfig);
+ authenticateInit(&Config.authConfiguration);
externalAclInit();
#if USE_WCCP
wccpInit();
dnsInit();
#endif
redirectInit();
- authenticateInit(&Config.authConfig);
+ authenticateInit(&Config.authConfiguration);
externalAclInit();
}
idnsInit();
#endif
redirectInit();
- authenticateInit(&Config.authConfig);
+ authenticateInit(&Config.authConfiguration);
externalAclInit();
useragentOpenLog();
refererOpenLog();
#if USE_XPROF_STATS
eventAdd("cpuProfiling", xprof_event, NULL, 1.0, 1);
#endif
+
eventAdd("memPoolCleanIdlePools", memPoolCleanIdlePools, NULL, 15.0, 1);
}
configured_once = 1;
/*
- * $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
#include "squid.h"
#include "memMeter.h"
+#include "Store.h"
/* module globals */
{
/* 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);
void
memPoolCleanIdlePools(void *unused)
{
- memPoolClean(clean_interval);
+ memPoolClean(static_cast<time_t>(clean_interval));
eventAdd("memPoolCleanIdlePools", memPoolCleanIdlePools, NULL, clean_interval, 1);
}
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",
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);
memStats, 0, 1);
}
+mem_type &operator++ (mem_type &aMem)
+{
+ aMem = (mem_type)(++(int)aMem);
+ return aMem;
+}
+
/*
* Test that all entries are initialized
*/
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;
/*
/*
- * $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;
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 *
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);
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"))
* Create Icon StoreEntry's
*/
for (m = MimeTable; m != NULL; m = m->next)
- mimeLoadIconFile(m->icon);
+ m->theIcon.load();
debug(25, 1) ("Loaded Icons.\n");
}
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) {
}
flags = null_request_flags;
flags.cachable = 1;
- e = storeCreateEntry(url,
+ StoreEntry *e = storeCreateEntry(url,
url,
flags,
METHOD_GET);
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+#include "ICP.h"
/* count mcast group peers every 15 minutes */
#define MCAST_COUNT_RATE 900
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;
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;
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;
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
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,
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,
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,
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);
void
peerDestroy(void *data)
{
- peer *p = data;
+ peer *p = (peer *)data;
struct _domain_ping *l = NULL;
struct _domain_ping *nl = NULL;
if (p == NULL)
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) {
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,
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 {
static void
peerCountMcastPeersStart(void *data)
{
- peer *p = data;
+ peer *p = (peer *)data;
ps_state *psstate;
StoreEntry *fake;
MemObject *mem;
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,
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,
{
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);
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",
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+
#if USE_ICMP
#include "StoreClient.h"
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;
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;
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)
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));
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;
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;
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)
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) {
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)
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)
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) {
static void
netdbFreeNetdbEntry(void *data)
{
- netdbEntry *n = data;
+ netdbEntry *n = (netdbEntry *)data;
safe_free(n->peers);
memFree(n, MEM_NETDBENTRY);
}
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);
}
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;
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
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);
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",
"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)))
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))) {
netdbExchangeStart(void *data)
{
#if USE_ICMP
- peer *p = data;
+ peer *p = (peer *)data;
char *uri;
netdbExchangeState *ex;
StoreIOBuffer tempBuffer = EMPTYIOBUFFER;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
struct _pconn {
hash_link hash; /* must be first */
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;
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);
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++;
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);
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#if USE_CACHE_DIGESTS
static void
peerDigestCheck(void *data)
{
- PeerDigest *pd = data;
+ PeerDigest *pd = (PeerDigest *)data;
time_t req_time;
assert(!pd->flags.requested);
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;
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;
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);
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);
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;
static int
peerDigestSwapInMask(void *data, char *buf, ssize_t size)
{
- DigestFetchState *fetch = data;
+ DigestFetchState *fetch = (DigestFetchState *)data;
PeerDigest *pd;
pd = fetch->pd;
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 {
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";
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;
* 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;
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+#include "ICP.h"
const char *hier_strings[] =
{
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;
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;
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));
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));
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));
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);
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]);
/*
- * $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
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;
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,
/*
- * $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 *);
/* 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 */
#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,
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 */
/*
- * $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
#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
*/
static void
-sig_handle(void)
+sig_handle(int)
{
fflush(stdout);
close(2);
{
char buf[RECV_BUF_SIZE];
struct sockaddr_in R;
- int len;
+ socklen_t len;
struct hostent *hp = NULL;
char logfile[BUFSIZ];
char ip[4];
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);
}
/*
- * $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
*/
#include "squid.h"
+#include "authenticate.h"
+#include "Store.h"
typedef struct {
void *data;
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>");
/*
- * $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
#endif
#include "squid.h"
+#include "Store.h"
typedef enum {
rcHTTP,
* 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",
# 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
-# 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 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@
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@
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@
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@
MKDIR = @MKDIR@
MV = @MV@
NTLM_AUTH_HELPERS = @NTLM_AUTH_HELPERS@
-OBJEXT = @OBJEXT@
OPT_DEFAULT_HOSTS = @OPT_DEFAULT_HOSTS@
PACKAGE = @PACKAGE@
PERL = @PERL@
STORE_MODULES = @STORE_MODULES@
STORE_MODULE_SUBDIRS = @STORE_MODULE_SUBDIRS@
STORE_OBJS = @STORE_OBJS@
+STRIP = @STRIP@
TRUE = @TRUE@
VERSION = @VERSION@
XTRA_LIBS = @XTRA_LIBS@
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/
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 \
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)
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)
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
# (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 \
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)' ;; \
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)
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 \
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:
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"
/*
- * $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
#include "squid.h"
#include "heap.h"
#include "store_heap_replacement.h"
+#include "Store.h"
/*
* Key generation function to implement the LFU-DA policy (Least
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)
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);
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);
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);
/*
- * $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;
/* 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;
}
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;
}
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;
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;
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);
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;
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);
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) {
}
/* 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;
/*
- * $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;
/* 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 {
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)
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;
/*
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);
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;
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;
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;
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:
}
memPoolFree(lru_node_pool, lru_node);
lru->count -= 1;
- SET_POLICY_NODE(entry, NULL);
+ lru->setPolicyNode(entry, NULL);
return entry;
}
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;
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;
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:
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);
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;
echo " * do not edit"
echo " */"
echo "#include \"squid.h\""
+echo "#include \"Store.h\""
echo ""
for module in "$@"; do
echo "extern REMOVALPOLICYCREATE createRemovalPolicy_${module};"
/*
- * $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
#include "squid.h"
#include "cache_snmp.h"
+#include "Store.h"
/************************************************************************
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:
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:
/*
- * $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
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);
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;
{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;
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];
}
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++;
} 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)))) {
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++;
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) {
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++;
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;
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;
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++) {
/*
- * $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
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;
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;
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;
sslState,
0);
}
- if (sslState->client.len < read_sz) {
+ if ((size_t)sslState->client.len < read_sz) {
commSetSelect(sslState->client.fd,
COMM_SELECT_READ,
sslReadClient,
*/
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,
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);
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",
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",
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",
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);
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);
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);
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)
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);
static void
sslProxyConnected(int fd, void *data)
{
- SslStateData *sslState = data;
+ SslStateData *sslState = (SslStateData *)data;
MemBuf mb;
HttpHeader hdr_out;
Packer p;
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) {
/*
- * $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
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;
}
int
-ssl_read_method(fd, buf, len)
- int fd;
- char *buf;
- int len;
+ssl_read_method(int fd, char *buf, int len)
{
int i;
}
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) {
/*
- * $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
#include "squid.h"
#include "StoreClient.h"
+#include "Store.h"
#define DEBUG_OPENFD 1
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);
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");
}
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;
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));
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",
}
}
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;
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);
(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,
/*
- * $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
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);
}
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;
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;
}
/* 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;
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+#include "StoreClient.h"
#define REBUILD_TIMESTAMP_DELTA_MAX 2
* 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
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
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);
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 --------- */
storeHashDelete(StoreEntry * e)
{
hash_remove_link(store_table, &e->hash);
- storeKeyFree(e->hash.key);
+ storeKeyFree((unsigned char *)e->hash.key);
e->hash.key = NULL;
}
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)
{
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);
}
{
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
{
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)
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)
{
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;
}
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;
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)
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) {
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
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);
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)) {
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);
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",
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)
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;
}
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);
* 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)
storeSwapOut(e);
}
-int
+ssize_t
objectLen(const StoreEntry * e)
{
assert(e->mem_obj != NULL);
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 */
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;
}
}
#endif
+
+
+/* NullStoreEntry */
+
+NullStoreEntry NullStoreEntry::_instance;
+
+NullStoreEntry *
+NullStoreEntry::getInstance()
+{
+ return &_instance;
+}
/*
- * $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
#include "squid.h"
#include "StoreClient.h"
+#include "Store.h"
+
CBDATA_TYPE(store_client);
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)
{
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,
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
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,
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;
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;
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);
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");
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:
* 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
*/
#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)
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;
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)
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);
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;
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;
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
+
#if USE_CACHE_DIGESTS
}
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
/* 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)) {
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++;
}
}
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) {
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 */
/* 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",
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);
*/
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#if HAVE_STATVFS
#if HAVE_SYS_STATVFS_H
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];
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),
#include "squid.h"
+#include "Store.h"
+
static struct {
struct {
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;
/*
- * $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
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])
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
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;
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
static const char *storeLogTags[] =
{
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,
storeLogTags[tag],
e->swap_dirn,
e->swap_filen,
- storeKeyText(e->hash.key));
+ storeKeyText((const cache_key *)e->hash.key));
}
}
echo " * do not edit"
echo " */"
echo "#include \"squid.h\""
+echo "#include \"Store.h\""
echo ""
for module in "$@"; do
echo "extern STSETUP storeFsSetup_${module};"
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
static struct _store_rebuild_data counts;
static struct timeval rebuild_start;
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)
* 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));
}
/*
- * $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
#include "squid.h"
#include "StoreClient.h"
+#include "Store.h"
static STIOCB storeSwapInFileClosed;
static STFNCB storeSwapInFileNotify;
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]);
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};
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);
/*
- * $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);
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);
* 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) {
/*
- * $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
#include "squid.h"
#include "StoreClient.h"
+#include "Store.h"
static off_t storeSwapOutObjectBytesOnDisk(const MemObject *);
static void 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);
*/
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;
{
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;
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);
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;
}
/*
- * $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/
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;
};
struct _acl_access {
- int allow;
+ allow_t allow;
acl_list *aclList;
char *cfgline;
acl_access *next;
#endif
+struct _authConfig {
+ authScheme *schemes;
+ int n_allocated;
+ int n_configured;
+};
+
struct _RemovalPolicySettings {
char *type;
wordlist *args;
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;
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;
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;
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) */
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;
int fd;
struct {
char *buf;
- off_t notYetUsed;
+ size_t notYetUsed;
size_t allocatedSize;
} in;
struct {
};
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 */
#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;
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;
/*
- * $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
*
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;
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);
{
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;
}
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);
}
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);
(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",
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;
RawAccessLogEntry *entry;
char *url;
char *method;
- int method_id = METHOD_NONE;
+ method_t method_id = METHOD_NONE;
char *hier = NULL;
assert(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);
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);
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)
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);
}
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);
/*
- * $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
#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 *);
{
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
}
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
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 */
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)
/*
- * $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
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;
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;
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;
sslState,
0);
}
- if (sslState->client.len < read_sz) {
+ if ((size_t)sslState->client.len < read_sz) {
commSetSelect(sslState->client.fd,
COMM_SELECT_READ,
sslReadClient,
*/
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,
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);
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",
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",
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",
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);
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);
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);
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)
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);
static void
sslProxyConnected(int fd, void *data)
{
- SslStateData *sslState = data;
+ SslStateData *sslState = (SslStateData *)data;
MemBuf mb;
HttpHeader hdr_out;
Packer p;
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) {
/*
- * $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/
#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;
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;
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;
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 *);
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
/*
- * $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;
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;
/* 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);
void
commonUfsDirRebuildFromSwapLog(void *data)
{
- RebuildState *rb = data;
+ RebuildState *rb = (RebuildState *)data;
SwapDir *SD = rb->sd;
StoreEntry *e = NULL;
storeSwapLogData s;
struct _clean_state {
char *cur;
- char *new;
+ char *newLog;
char *cln;
char *outbuf;
off_t outbuf_offset;
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);
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;
{
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;
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;
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)
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);
/*
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)
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);
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;
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;
}
* 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))
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);
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;
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",
}
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
/*
- * $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
/* more cases? */
}
+method_t &operator++ (method_t &aMethod)
+{
+ aMethod = (method_t)(++(int)aMethod);
+ return aMethod;
+}
+
+
method_t
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;
}
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;
/*
- * $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;
} flags;
char reqbuf[URN_REQBUF_SZ];
int reqofs;
-} UrnState;
+private:
+ char *urlres;
+};
typedef struct {
char *url;
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)
{
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)
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;
storeUnlockObject(urnState->entry);
requestUnlink(urnState->request);
requestUnlink(urnState->urlres_r);
- cbdataFree(urnState);
+ delete urnState;
}
static url_entry *
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);
}
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
typedef struct {
int fd;
static void
waisStateFree(int fdnotused, void *data)
{
- WaisStateData *waisState = data;
+ WaisStateData *waisState = (WaisStateData *)data;
if (waisState == NULL)
return;
storeUnlockObject(waisState->entry);
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) {
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;
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);
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);
/*
- * $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
*/
#include "squid.h"
+#include "Store.h"
#define WHOIS_PORT 43
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);
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);
}
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++;
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);