]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Merged from trunk
authorFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 21 Aug 2012 16:27:16 +0000 (18:27 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 21 Aug 2012 16:27:16 +0000 (18:27 +0200)
143 files changed:
src/CacheDigest.cc
src/CacheDigest.h [new file with mode: 0644]
src/ConfigParser.cc
src/DelaySpec.cc
src/DiskIO/AIO/AIODiskFile.cc
src/DiskIO/Blocking/BlockingFile.cc
src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc
src/DiskIO/IpcIo/IpcIoFile.cc
src/DiskIO/Mmapped/MmappedFile.cc
src/ExternalACL.h
src/HelperChildConfig.cc
src/HttpHdrCc.h
src/HttpHdrContRange.cc
src/HttpHeader.h
src/HttpRequest.cc
src/Makefile.am
src/Mem.h
src/MemBuf.cc
src/Parsing.cc
src/PeerDigest.h
src/Server.cc
src/String.cc
src/SwapDir.cc
src/URL.h
src/acl/CertificateData.cc
src/acl/DestinationDomain.cc
src/acl/DomainData.cc
src/acl/Gadgets.cc
src/acl/IntRange.cc
src/acl/Ip.cc
src/acl/MaxConnection.cc
src/acl/Random.cc
src/acl/RegexData.cc
src/acl/SourceDomain.cc
src/acl/TimeData.cc
src/acl/Url.cc
src/adaptation/ecap/MessageRep.cc
src/adaptation/icap/ModXact.cc
src/adaptation/icap/Xaction.cc
src/auth/AclMaxUserIp.cc
src/auth/basic/auth_basic.cc
src/auth/digest/auth_digest.cc
src/auth/negotiate/auth_negotiate.cc
src/auth/ntlm/auth_ntlm.cc
src/cache_cf.cc
src/cache_cf.h [new file with mode: 0644]
src/carp.cc
src/carp.h [new file with mode: 0644]
src/client_db.cc
src/client_db.h [new file with mode: 0644]
src/client_side.cc
src/client_side.h
src/client_side_reply.cc
src/client_side_request.cc
src/client_side_request.h
src/comm/TcpAcceptor.cc
src/disk.cc
src/disk.h [new file with mode: 0644]
src/dns_internal.cc
src/errorpage.cc
src/esi/Esi.cc
src/esi/Include.cc
src/esi/VarState.cc
src/external_acl.cc
src/format/Config.cc
src/format/Format.cc
src/forward.cc
src/fqdncache.cc
src/fqdncache.h [new file with mode: 0644]
src/fs/coss/store_dir_coss.cc
src/fs/rock/RockRebuild.cc
src/fs/rock/RockSwapDir.cc
src/fs/ufs/RebuildState.cc
src/fs/ufs/UFSSwapDir.cc
src/ftp.cc
src/gopher.cc
src/gopher.h [new file with mode: 0644]
src/helper.cc
src/htcp.cc
src/http.cc
src/icmp/net_db.cc
src/icp_v2.cc
src/internal.cc
src/internal.h [new file with mode: 0644]
src/ip/QosConfig.cc
src/ipc/StoreMap.cc
src/ipc_win32.cc
src/ipcache.cc
src/list.cc
src/log/Config.cc
src/log/FormatSquidIcap.cc
src/log/Makefile.am
src/log/ModStdio.cc
src/log/ModTcp.cc
src/log/ModUdp.cc
src/log/access_log.cc
src/log/access_log.h [new file with mode: 0644]
src/main.cc
src/mem.cc
src/mime.cc
src/neighbors.cc
src/neighbors.h [new file with mode: 0644]
src/peer_digest.cc
src/peer_select.cc
src/peer_sourcehash.cc
src/peer_sourcehash.h [new file with mode: 0644]
src/peer_userhash.cc
src/peer_userhash.h [new file with mode: 0644]
src/protos.h
src/redirect.cc
src/refresh.cc
src/refresh.h [new file with mode: 0644]
src/send-announce.cc
src/snmp_agent.cc
src/ssl/ServerBump.cc
src/ssl/helper.cc
src/ssl/support.cc
src/stat.cc
src/stat.h [new file with mode: 0644]
src/store.cc
src/store_digest.cc
src/store_dir.cc
src/store_key_md5.cc
src/store_key_md5.h [new file with mode: 0644]
src/store_rebuild.cc
src/test_cache_digest.cc
src/tests/stub_mem.cc
src/tests/testEvent.cc
src/tests/testEventLoop.cc
src/tests/testHttpReply.cc
src/tests/testHttpRequest.cc
src/tools.cc
src/tools.h [new file with mode: 0644]
src/tunnel.cc
src/ufsdump.cc
src/unlinkd.cc
src/urn.cc
src/wccp.h [new file with mode: 0644]
src/wccp2.cc
src/wccp2.h [new file with mode: 0644]
src/whois.cc
src/wordlist.h
test-suite/buildtests/layer-02-maximus.opts

index 47b6788d7e21c66790f95f35bc531805992093a2..7f401b01bed1292d7ace47984f855f6f1fb8c787 100644 (file)
 
 #include "squid.h"
 #include "md5.h"
+#include "Mem.h"
 #include "protos.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "store_key_md5.h"
 
 #if USE_CACHE_DIGESTS
 
+#include "CacheDigest.h"
+#include "structs.h"
+
 /* local types */
 
 typedef struct {
diff --git a/src/CacheDigest.h b/src/CacheDigest.h
new file mode 100644 (file)
index 0000000..b9f1304
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * DEBUG: section 70    Cache Digest
+ * AUTHOR: Alex Rousskov
+ *
+ * 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_CACHEDIGEST_H_
+#define SQUID_CACHEDIGEST_H_
+
+#include "typedefs.h"
+class CacheDigestGuessStats;
+class StoreEntry;
+
+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(CacheDigestGuessStats * stats, int real_hit, int guess_hit);
+extern void cacheDigestGuessStatsReport(const CacheDigestGuessStats * stats, StoreEntry * sentry, const char *label);
+extern void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
+
+
+#endif /* SQUID_CACHEDIGEST_H_ */
index 9548eb7b7da7134d0b0318a722cbb3bb6363a04f..2ba9baaa4d21dcf5301194aa94eac9b9ec9c39e7 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "ConfigParser.h"
 #include "Debug.h"
 #include "globals.h"
index b11b113b5e9c9001d52a4108b15639cf0644edca..fee83035eedcbb19dc8eef573bd94a5d97075c1c 100644 (file)
@@ -40,6 +40,7 @@
 #include "squid.h"
 
 #if USE_DELAY_POOLS
+#include "cache_cf.h"
 #include "DelaySpec.h"
 #include "Parsing.h"
 #include "protos.h"
index fa2132f8ed5cc052e90cb5214d4a604ad1409df3..1d51d5bd352a373d460a2f1665aeae5cb73ed9d4 100644 (file)
@@ -50,6 +50,7 @@
 #include "DiskIO/IORequestor.h"
 #include "DiskIO/ReadRequest.h"
 #include "DiskIO/WriteRequest.h"
+#include "disk.h"
 #include "protos.h"
 
 #if HAVE_ERRNO_H
index 38e5b613af5fc04aab7d70937bbcd1e55f9ac2a2..5bfa3d2511fe3ffbd8050a187fc0ede6bed366cf 100644 (file)
@@ -38,6 +38,7 @@
 #include "DiskIO/IORequestor.h"
 #include "DiskIO/ReadRequest.h"
 #include "DiskIO/WriteRequest.h"
+#include "disk.h"
 #include "protos.h"
 
 #if HAVE_ERRNO_H
index 0edfb256375af36c72800a3a582a5037ff68a115..89ee7df28ca91609c8c83e2dc8a1d28277915ce5 100644 (file)
@@ -35,6 +35,7 @@
 
 
 #include "squid.h"
+#include "disk.h"
 #include "DiskThreadsDiskFile.h"
 #include "DiskIO/IORequestor.h"
 #include "DiskIO/ReadRequest.h"
index 71a7ce783360b189c00dbaabc196e9f5d9eb03d3..cac9fc982eab52ba5736810941e7460f531b0334 100644 (file)
@@ -11,6 +11,7 @@
 #include "DiskIO/IpcIo/IpcIoFile.h"
 #include "DiskIO/ReadRequest.h"
 #include "DiskIO/WriteRequest.h"
+#include "disk.h"
 #include "globals.h"
 #include "ipc/mem/Pages.h"
 #include "ipc/Messages.h"
index 8e0084b421d00b70173e674ba397656bff0ce926..03e8a08e86dbd13fcc94dbc5bde7e23c683a496d 100644 (file)
@@ -10,6 +10,7 @@
 #include "DiskIO/Mmapped/MmappedFile.h"
 #include "DiskIO/ReadRequest.h"
 #include "DiskIO/WriteRequest.h"
+#include "disk.h"
 #include "globals.h"
 #include "protos.h"
 
index be5e0cabe7fb03a3e7a6a206213fb7837f9739b2..c341f69f9c032b69193d5165a9858e44c0a32b06 100644 (file)
@@ -94,4 +94,16 @@ protected:
 
 MEMPROXY_CLASS_INLINE(ACLExternal);
 
+class ACLChecklist;
+class StoreEntry;
+
+extern void parse_externalAclHelper(external_acl **);
+extern void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *);
+extern void free_externalAclHelper(external_acl **);
+typedef void EAH(void *data, void *result);
+extern void externalAclLookup(ACLChecklist * ch, void *acl_data, EAH * handler, void *data);
+extern void externalAclInit(void);
+extern void externalAclShutdown(void);
+
+
 #endif /* SQUID_EXTERNALACL_H */
index b75e3252a242ffeb96797549d8f2bb6a0de605e4..002bdda81e4d141aab6bb060e6f07f4d96606ee6 100644 (file)
@@ -1,4 +1,5 @@
 #include "squid.h"
+#include "cache_cf.h"
 #include "Debug.h"
 #include "HelperChildConfig.h"
 #include "globals.h"
index 32d4115bb83f03a3b37819f1c342949a4ed4d964..b539181dc6b94cb5c27adf5643e7a733aed9f81a 100644 (file)
@@ -178,6 +178,14 @@ public:
 
 MEMPROXY_CLASS_INLINE(HttpHdrCc);
 
+class StatHist;
+class StoreEntry;
+
+extern void httpHdrCcInitModule(void);
+extern void httpHdrCcCleanModule(void);
+extern void httpHdrCcUpdateStats(const HttpHdrCc * cc, StatHist * hist);
+extern void httpHdrCcStatDumper(StoreEntry * sentry, int idx, double val, double size, int count);
+
 #if _USE_INLINE_
 #include "HttpHdrCc.cci"
 #endif
index f7d6b94a0aa7c65485fb56db40d70c793e42e7d2..71846f0834aaad7802935a1d51e31595ef190aa3 100644 (file)
@@ -38,6 +38,7 @@
 #include "enums.h"
 #include "HttpHdrContRange.h"
 #include "HttpHeaderTools.h"
+#include "Mem.h"
 #include "protos.h"
 
 /*
index cf0c336a4385feaba36202b712d9f6790c50e1ce..eab50bdc4bea0a7e27bd17770a8297d88b6e4b3f 100644 (file)
@@ -295,9 +295,9 @@ private:
 
 
 extern int httpHeaderParseQuotedString(const char *start, const int len, String *val);
-SQUIDCEXTERN int httpHeaderHasByNameListMember(const HttpHeader * hdr, const char *name, const char *member, const char separator);
-SQUIDCEXTERN void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask * denied_mask);
-SQUIDCEXTERN void httpHeaderCalcMask(HttpHeaderMask * mask, http_hdr_type http_hdr_type_enums[], size_t count);
+extern int httpHeaderHasByNameListMember(const HttpHeader * hdr, const char *name, const char *member, const char separator);
+extern void httpHeaderUpdate(HttpHeader * old, const HttpHeader * fresh, const HttpHeaderMask * denied_mask);
+extern void httpHeaderCalcMask(HttpHeaderMask * mask, http_hdr_type http_hdr_type_enums[], size_t count);
 
 inline bool
 HttpHeader::chunked() const
@@ -306,4 +306,7 @@ HttpHeader::chunked() const
            hasListMember(HDR_TRANSFER_ENCODING, "chunked", ',');
 }
 
+extern void httpHeaderInitModule(void);
+extern void httpHeaderCleanModule(void);
+
 #endif /* SQUID_HTTPHEADER_H */
index 38a67382c7a6b6d8023c0b8b8dd9fb28f682012a..f8fc40211fe67b8f291e5725ddb03ea452929255 100644 (file)
@@ -40,6 +40,7 @@
 #include "client_side.h"
 #include "DnsLookupDetails.h"
 #include "err_detail_type.h"
+#include "gopher.h"
 #include "HttpHdrCc.h"
 #include "HttpHeaderRange.h"
 #include "HttpRequest.h"
@@ -47,6 +48,7 @@
 #include "MemBuf.h"
 #include "protos.h"
 #include "Store.h"
+#include "URL.h"
 
 #if USE_AUTH
 #include "auth/UserRequest.h"
index 56a2de0f6bf5609b1d98d9ed75dbd98f5c38ac57..679258a4d4a59de25953a5d93a7ba8b6b1fd736b 100644 (file)
@@ -263,16 +263,21 @@ squid_SOURCES = \
        AccessLogEntry.h \
        AsyncEngine.cc \
        AsyncEngine.h \
+       cache_cf.h \
        cache_cf.cc \
+       CacheDigest.h \
        CacheDigest.cc \
        cache_manager.cc \
        CacheManager.h \
+       carp.h \
        carp.cc \
        cbdata.cc \
        cbdata.h \
        ChunkedCodingParser.cc \
        ChunkedCodingParser.h \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side.h \
        client_side_reply.cc \
@@ -302,6 +307,7 @@ squid_SOURCES = \
        Debug.h \
        defines.h \
        $(DELAY_POOL_SOURCE) \
+       disk.h \
        disk.cc \
        $(DISKIO_SOURCE) \
        dlink.h \
@@ -331,10 +337,12 @@ squid_SOURCES = \
        filemap.cc \
        forward.cc \
        forward.h \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
        Generic.h \
        globals.h \
+       gopher.h \
        gopher.cc \
        helper.cc \
        helper.h \
@@ -359,8 +367,8 @@ squid_SOURCES = \
        HttpHdrContRange.cc \
        HttpHdrContRange.h \
        HttpHeaderStat.h \
-       HttpHeader.cc \
        HttpHeader.h \
+       HttpHeader.cc \
        HttpHeaderMask.h \
        HttpHeaderRange.h \
        HttpHeaderTools.h \
@@ -384,6 +392,7 @@ squid_SOURCES = \
        icp_v2.cc \
        icp_v3.cc \
        int.cc \
+       internal.h \
        internal.cc \
        $(IPC_SOURCE) \
        ipcache.cc \
@@ -392,6 +401,7 @@ squid_SOURCES = \
        list.cc \
        lookup_t.h \
        main.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        mem_node.h \
@@ -402,6 +412,7 @@ squid_SOURCES = \
        mime.cc \
        mime_header.cc \
        multicast.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Packer.h \
@@ -414,12 +425,15 @@ squid_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        PeerSelectState.h \
        PingData.h \
        protos.h \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        RemovalPolicy.h \
@@ -429,6 +443,7 @@ squid_SOURCES = \
        SquidMath.h \
        SquidMath.cc \
        SquidNew.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -450,6 +465,7 @@ squid_SOURCES = \
        StoreClient.h \
        store_digest.cc \
        store_dir.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -486,6 +502,7 @@ squid_SOURCES = \
        MemStore.h \
        time.cc \
        TimeOrTag.h \
+       tools.h \
        tools.cc \
        tunnel.cc \
        typedefs.h \
@@ -495,11 +512,13 @@ squid_SOURCES = \
        URLScheme.cc \
        URLScheme.h \
        urn.cc \
+       wccp.h \
        wccp.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
-       wordlist.cc \
        wordlist.h \
+       wordlist.cc \
        $(WIN32_SOURCE) \
        $(WINSVC_SOURCE)
 
@@ -669,11 +688,13 @@ ufsdump_SOURCES = \
        cbdata.cc \
        debug.cc \
        int.cc \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
        MemBuf.cci \
        MemBuf.h \
        Parsing.h \
+       store_key_md5.h \
        store_key_md5.cc \
        StoreMeta.cc \
        StoreMetaMD5.cc \
@@ -1070,8 +1091,8 @@ tests_testHttpReply_SOURCES=\
        HttpHdrSc.h \
        HttpHdrScTarget.cc \
        HttpHdrScTarget.h \
-       HttpHeader.cc \
        HttpHeader.h \
+       HttpHeader.cc \
        HttpHeaderMask.h \
        HttpHeaderTools.cc \
        HttpControlMsg.h \
@@ -1082,6 +1103,7 @@ tests_testHttpReply_SOURCES=\
        HttpStatusCode.h \
        HttpStatusLine.cc \
        HttpStatusLine.h \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
        MemBuf.h \
@@ -1091,7 +1113,9 @@ tests_testHttpReply_SOURCES=\
        SquidString.h \
        SquidTime.h \
        String.cc \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_debug.cc \
@@ -1104,6 +1128,7 @@ tests_testHttpReply_SOURCES=\
        tests/stub_StatHist.cc \
        tests/stub_store.cc \
        tests/stub_store_stats.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/stub_HttpRequest.cc \
        tests/testHttpReply.cc \
@@ -1112,6 +1137,7 @@ tests_testHttpReply_SOURCES=\
        time.cc \
        url.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testHttpReply_SOURCES=\
        $(TESTSOURCES)
@@ -1150,6 +1176,7 @@ tests_testACLMaxUserIP_SOURCES= \
        HelperChildConfig.h \
        HelperChildConfig.cc \
        HttpBody.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpHdrContRange.cc \
@@ -1183,12 +1210,15 @@ tests_testACLMaxUserIP_SOURCES= \
        StoreMetaURL.cc \
        StoreMetaVary.cc \
        StoreSwapLogData.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        swap_log_op.cc \
        swap_log_op.h \
        SwapDir.cc \
        SwapDir.h \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_debug.cc \
        tests/stub_DelayId.cc \
@@ -1210,6 +1240,7 @@ tests_testACLMaxUserIP_SOURCES= \
        tests/stub_store_rebuild.cc \
        tests/stub_store_stats.cc \
        tests/stub_store_swapout.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/stub_cache_manager.cc \
        tests/stub_UdsOp.cc \
@@ -1221,8 +1252,10 @@ tests_testACLMaxUserIP_SOURCES= \
        URL.h \
        URLScheme.cc \
        URLScheme.h \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testACLMaxUserIP_SOURCES= \
        $(TESTSOURCES)
@@ -1280,6 +1313,7 @@ tests_testCacheManager_SOURCES = \
        HttpParser.h \
        HttpRequest.cc \
        HttpRequestMethod.cc \
+       Mem.h \
        mem.cc \
        String.cc \
        tests/testCacheManager.cc \
@@ -1291,12 +1325,17 @@ tests_testCacheManager_SOURCES = \
        time.cc \
        BodyPipe.cc \
        cache_manager.cc \
+       cache_cf.h \
        cache_cf.cc \
+       CacheDigest.h \
        CacheDigest.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -1310,6 +1349,7 @@ tests_testCacheManager_SOURCES = \
        CpuAffinitySet.h \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
+       disk.h \
        disk.cc \
        dlink.h \
        dlink.cc \
@@ -1324,8 +1364,10 @@ tests_testCacheManager_SOURCES = \
        FileMap.h \
        filemap.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        hier_code.h \
        helper.cc \
@@ -1335,6 +1377,7 @@ tests_testCacheManager_SOURCES = \
        http.cc \
        HttpBody.h \
        HttpBody.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpHdrCc.h \
@@ -1352,6 +1395,7 @@ tests_testCacheManager_SOURCES = \
        $(IPC_SOURCE) \
        ipcache.cc \
        int.cc \
+       internal.h \
        internal.cc \
        list.cc \
        multicast.cc \
@@ -1360,6 +1404,7 @@ tests_testCacheManager_SOURCES = \
        MemObject.cc \
        mime.cc \
        mime_header.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
@@ -1367,15 +1412,19 @@ tests_testCacheManager_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.h \
        SquidMath.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -1387,6 +1436,7 @@ tests_testCacheManager_SOURCES = \
        store_digest.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -1403,6 +1453,7 @@ tests_testCacheManager_SOURCES = \
        StoreMetaURL.cc \
        StoreMetaVary.cc \
        StoreSwapLogData.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        SwapDir.cc \
@@ -1411,10 +1462,12 @@ tests_testCacheManager_SOURCES = \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        FadingCounter.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testCacheManager_SOURCES = \
        $(BUILT_SOURCES) \
@@ -1462,13 +1515,16 @@ tests_testCacheManager_DEPENDENCIES = \
        $(SQUID_CPPUNIT_LA)
 
 tests_testDiskIO_SOURCES = \
+       CacheDigest.h \
        CacheDigest.cc \
        cbdata.cc \
+       client_db.h \
        ClientInfo.h \
        ConfigOption.cc \
        ConfigParser.cc \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
+       disk.h \
        disk.cc \
        ETag.cc \
        EventLoop.cc \
@@ -1486,6 +1542,7 @@ tests_testDiskIO_SOURCES = \
        HttpHdrScTarget.cc \
        HttpHdrRange.cc \
        HttpHeaderTools.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpMsg.cc \
        HttpReply.cc \
@@ -1496,9 +1553,11 @@ tests_testDiskIO_SOURCES = \
        MemBuf.cc \
        MemObject.cc \
        mem_node.cc \
+       Mem.h \
        mem.cc \
        Packer.cc \
        Parsing.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        StatCounters.h \
@@ -1518,14 +1577,17 @@ tests_testDiskIO_SOURCES = \
        StoreSwapLogData.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_swapout.cc \
        store_swapmeta.cc \
        store.cc \
        String.cc \
        SwapDir.cc \
+       log/access_log.h \
        tests/stub_access_log.cc \
        tests/stub_acl.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_client_db.cc \
@@ -1537,6 +1599,7 @@ tests_testDiskIO_SOURCES = \
        tests/stub_HttpRequest.cc \
        tests/stub_http.cc \
        tests/stub_icp.cc \
+       internal.h \
        tests/stub_internal.cc \
        tests/stub_ipc.cc \
        tests/stub_ipcache.cc \
@@ -1549,6 +1612,7 @@ tests_testDiskIO_SOURCES = \
        tests/stub_store_client.cc \
        tests/stub_store_stats.cc \
        tests/stub_store_rebuild.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/stub_UdsOp.cc \
        tests/testDiskIO.cc \
@@ -1561,6 +1625,7 @@ tests_testDiskIO_SOURCES = \
        url.cc \
        URLScheme.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testDiskIO_SOURCES= \
        $(TESTSOURCES) \
@@ -1612,13 +1677,18 @@ tests_testEvent_SOURCES = \
        AccessLogEntry.cc \
        $(ACL_REGISTRATION_SOURCES) \
        BodyPipe.cc \
+       CacheDigest.h \
        CacheDigest.cc \
+       cache_cf.h \
        cache_cf.cc \
        cache_manager.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -1633,6 +1703,7 @@ tests_testEvent_SOURCES = \
        debug.cc \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
+       disk.h \
        disk.cc \
        dlink.h \
        dlink.cc \
@@ -1650,8 +1721,10 @@ tests_testEvent_SOURCES = \
        FileMap.h \
        filemap.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        helper.cc \
        HelperChildConfig.h \
@@ -1661,6 +1734,7 @@ tests_testEvent_SOURCES = \
        http.cc \
        HttpBody.h \
        HttpBody.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpHdrCc.h \
@@ -1682,8 +1756,10 @@ tests_testEvent_SOURCES = \
        $(IPC_SOURCE) \
        ipcache.cc \
        int.cc \
+       internal.h \
        internal.cc \
        list.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        MemBuf.cc \
@@ -1691,6 +1767,7 @@ tests_testEvent_SOURCES = \
        mime.cc \
        mime_header.cc \
        multicast.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
@@ -1698,15 +1775,19 @@ tests_testEvent_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.cc \
        SquidMath.h \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -1718,6 +1799,7 @@ tests_testEvent_SOURCES = \
        store_digest.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -1744,6 +1826,7 @@ tests_testEvent_SOURCES = \
        tests/stub_ipc_Forwarder.cc \
        tests/stub_store_stats.cc \
        time.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        MemStore.cc \
@@ -1751,9 +1834,11 @@ tests_testEvent_SOURCES = \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testEvent_SOURCES = \
        $(BUILT_SOURCES) \
@@ -1804,13 +1889,18 @@ tests_testEventLoop_SOURCES = \
        AccessLogEntry.cc \
        $(ACL_REGISTRATION_SOURCES) \
        BodyPipe.cc \
+       CacheDigest.h \
        CacheDigest.cc \
        cache_manager.cc \
+       cache_cf.h \
        cache_cf.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -1825,6 +1915,7 @@ tests_testEventLoop_SOURCES = \
        debug.cc \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
+       disk.h \
        disk.cc \
        dlink.h \
        dlink.cc \
@@ -1842,8 +1933,10 @@ tests_testEventLoop_SOURCES = \
        FileMap.h \
        filemap.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        helper.cc \
        HelperChildConfig.h \
@@ -1853,6 +1946,7 @@ tests_testEventLoop_SOURCES = \
        http.cc \
        HttpBody.h \
        HttpBody.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpHdrCc.h \
@@ -1874,15 +1968,18 @@ tests_testEventLoop_SOURCES = \
        $(IPC_SOURCE) \
        ipcache.cc \
        int.cc \
+       internal.h \
        internal.cc \
        list.cc \
        MemBuf.cc \
        MemObject.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        mime.cc \
        mime_header.cc \
        multicast.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
@@ -1890,26 +1987,32 @@ tests_testEventLoop_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        RemovalPolicy.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.h \
        SquidMath.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
        StatHist.h \
        StatHist.cc \
+       Mem.h \
        stmem.cc \
        store.cc \
        store_client.cc \
        store_digest.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -1935,6 +2038,7 @@ tests_testEventLoop_SOURCES = \
        tests/stub_ipc_Forwarder.cc \
        tests/stub_store_stats.cc \
        time.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        MemStore.cc \
@@ -1942,9 +2046,11 @@ tests_testEventLoop_SOURCES = \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testEventLoop_SOURCES = \
        $(BUILT_SOURCES) \
@@ -1994,13 +2100,18 @@ tests_test_http_range_SOURCES = \
        AccessLogEntry.cc \
        $(ACL_REGISTRATION_SOURCES) \
        BodyPipe.cc \
+       cache_cf.h \
        cache_cf.cc \
        cache_manager.cc \
+       CacheDigest.h \
        CacheDigest.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -2015,6 +2126,7 @@ tests_test_http_range_SOURCES = \
        debug.cc \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
+       disk.h \
        disk.cc \
        dlink.h \
        dlink.cc \
@@ -2030,8 +2142,10 @@ tests_test_http_range_SOURCES = \
        FileMap.h \
        filemap.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        helper.cc \
        HelperChildConfig.h \
@@ -2048,6 +2162,7 @@ tests_test_http_range_SOURCES = \
        HttpHdrRange.cc \
        HttpHdrSc.cc \
        HttpHdrScTarget.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpMsg.cc \
@@ -2060,33 +2175,40 @@ tests_test_http_range_SOURCES = \
        icp_v2.cc \
        icp_v3.cc \
        int.cc \
+       internal.h \
        internal.cc \
        $(IPC_SOURCE) \
        ipcache.cc \
        list.cc \
        MemBuf.cc \
        MemObject.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        mime.cc \
        mime_header.cc \
        multicast.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        pconn.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.h \
        SquidMath.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -2097,6 +2219,7 @@ tests_test_http_range_SOURCES = \
        store_client.cc \
        store_digest.cc \
        store_dir.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_io.cc \
        store_log.cc \
@@ -2122,15 +2245,18 @@ tests_test_http_range_SOURCES = \
        tests/stub_MemStore.cc \
        tests/stub_store_stats.cc \
        time.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        $(UNLINKDSOURCE) \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_test_http_range_SOURCES = \
        $(BUILT_SOURCES) \
@@ -2182,19 +2308,23 @@ tests_testHttpParser_SOURCES = \
        HttpParser.h \
        MemBuf.cc \
        MemBuf.h \
+       Mem.h \
        mem.cc \
        String.cc \
        structs.h \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_debug.cc \
        tests/stub_event.cc \
        tests/stub_HelperChildConfig.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/testHttpParser.cc \
        tests/testHttpParser.h \
        tests/testMain.cc \
        time.cc \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testHttpParser_SOURCES = \
        $(TESTSOURCES)
@@ -2218,6 +2348,7 @@ tests_testHttpRequest_SOURCES = \
        HttpParser.h \
        HttpRequest.cc \
        HttpRequestMethod.cc \
+       Mem.h \
        mem.cc \
        String.cc \
        tests/testHttpRequest.h \
@@ -2232,13 +2363,18 @@ tests_testHttpRequest_SOURCES = \
        time.cc \
        BodyPipe.cc \
        cache_manager.cc \
+       cache_cf.h \
        cache_cf.cc \
        debug.cc \
+       CacheDigest.h \
        CacheDigest.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -2251,6 +2387,7 @@ tests_testHttpRequest_SOURCES = \
        CpuAffinitySet.cc \
        CpuAffinitySet.h \
        $(DELAY_POOL_SOURCE) \
+       disk.h \
        disk.cc \
        dlink.h \
        dlink.cc \
@@ -2262,8 +2399,10 @@ tests_testHttpRequest_SOURCES = \
        fd.cc \
        fde.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        helper.cc \
        HelperChildConfig.h \
@@ -2273,6 +2412,7 @@ tests_testHttpRequest_SOURCES = \
        http.cc \
        HttpBody.h \
        HttpBody.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpHdrCc.h \
@@ -2290,6 +2430,7 @@ tests_testHttpRequest_SOURCES = \
        $(IPC_SOURCE) \
        ipcache.cc \
        int.cc \
+       internal.h \
        internal.cc \
        list.cc \
        multicast.cc \
@@ -2298,6 +2439,7 @@ tests_testHttpRequest_SOURCES = \
        MemObject.cc \
        mime.cc \
        mime_header.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
@@ -2305,15 +2447,19 @@ tests_testHttpRequest_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.h \
        SquidMath.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -2325,6 +2471,7 @@ tests_testHttpRequest_SOURCES = \
        store_digest.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -2342,6 +2489,7 @@ tests_testHttpRequest_SOURCES = \
        StoreMetaVary.cc \
        StoreSwapLogData.cc \
        event.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        SwapDir.cc \
@@ -2349,10 +2497,12 @@ tests_testHttpRequest_SOURCES = \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        FadingCounter.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testHttpRequest_SOURCES = \
        $(BUILT_SOURCES)
@@ -2399,12 +2549,14 @@ tests_testHttpRequest_DEPENDENCIES = \
 ## why so many sources? well httpHeaderTools requites ACLChecklist & friends.
 ## first line - what we are testing.
 tests_testStore_SOURCES= \
+       CacheDigest.h \
        CacheDigest.cc \
        cbdata.cc \
        ClientInfo.h \
        ConfigOption.cc \
        ConfigParser.cc \
        $(DELAY_POOL_SOURCE) \
+       disk.h \
        disk.cc \
        DiskIO/ReadRequest.cc \
        DiskIO/WriteRequest.cc \
@@ -2421,11 +2573,13 @@ tests_testStore_SOURCES= \
        HttpHdrSc.cc \
        HttpHdrScTarget.cc \
        HttpHeaderTools.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpMsg.cc \
        HttpRequestMethod.cc \
        int.cc \
        list.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        MemBuf.cc \
@@ -2433,6 +2587,7 @@ tests_testStore_SOURCES= \
        Packer.cc \
        Parsing.cc \
        RemovalPolicy.cc \
+       refresh.h \
        refresh.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -2452,12 +2607,15 @@ tests_testStore_SOURCES= \
        StoreMetaURL.cc \
        StoreMetaVary.cc \
        StoreSwapLogData.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        String.cc \
        SwapDir.cc \
        tests/CapturingStoreEntry.h \
+       log/access_log.h \
        tests/stub_access_log.cc \
        tests/stub_acl.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_client_side_request.cc \
@@ -2482,6 +2640,7 @@ tests_testStore_SOURCES= \
        tests/stub_store_stats.cc \
        tests/stub_store_rebuild.cc \
        tests/stub_store_swapout.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/stub_UdsOp.cc \
        tests/testMain.cc \
@@ -2500,6 +2659,7 @@ tests_testStore_SOURCES= \
        time.cc \
        url.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc
 
 nodist_tests_testStore_SOURCES= \
@@ -2543,18 +2703,22 @@ tests_testStore_DEPENDENCIES = \
 ## libsquid pulls in SquidConfig and children. stub them.
 tests_testString_SOURCES = \
        ClientInfo.h \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
        String.cc \
        tests/testMain.cc \
        tests/testString.cc \
        tests/testString.h \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_debug.cc \
        tests/stub_HelperChildConfig.cc \
+       tools.h \
        tests/stub_tools.cc \
        time.cc \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testString_SOURCES = \
        $(TESTSOURCES)
@@ -2604,11 +2768,14 @@ tests_testUfs_SOURCES = \
        tests/stub_pconn.cc \
        tests/stub_Port.cc \
        tests/stub_UdsOp.cc \
+       internal.h \
        tests/stub_internal.cc \
        tests/stub_libformat.cc \
        tests/stub_store_rebuild.cc \
        tests/stub_store_stats.cc \
        fd.cc \
+       client_db.h \
+       disk.h \
        disk.cc \
        FileMap.h \
        filemap.cc \
@@ -2636,6 +2803,7 @@ tests_testUfs_SOURCES = \
        $(WIN32_SOURCE) \
        event.cc \
        $(DELAY_POOL_SOURCE) \
+       CacheDigest.h \
        CacheDigest.cc \
        ConfigParser.cc \
        EventLoop.cc \
@@ -2644,11 +2812,13 @@ tests_testUfs_SOURCES = \
        store_dir.cc \
        store.cc \
        HttpRequestMethod.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        Parsing.cc \
        ConfigOption.cc \
        SwapDir.cc \
        tests/stub_acl.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_helper.cc \
        cbdata.cc \
@@ -2660,7 +2830,9 @@ tests_testUfs_SOURCES = \
        stmem.cc \
        tests/stub_mime.cc \
        HttpHeaderTools.cc \
+       HttpHeader.h \
        HttpHeader.cc \
+       Mem.h \
        mem.cc \
        ClientInfo.h \
        MemBuf.cc \
@@ -2680,14 +2852,18 @@ tests_testUfs_SOURCES = \
        ETag.cc \
        tests/stub_errorpage.cc \
        tests/stub_HttpRequest.cc \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       refresh.h \
        refresh.cc \
        tests/stub_store_client.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/testStoreSupport.cc \
        tests/testStoreSupport.h \
        time.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc \
        $(DISKIO_SOURCE)
 
@@ -2736,9 +2912,11 @@ tests_testUfs_DEPENDENCIES = \
 
 tests_testRock_SOURCES = \
        cbdata.cc \
+       CacheDigest.h \
        CacheDigest.cc \
        ConfigOption.cc \
        ConfigParser.cc \
+       disk.h \
        disk.cc \
        ETag.cc \
        EventLoop.cc \
@@ -2753,6 +2931,7 @@ tests_testRock_SOURCES = \
        HttpHdrRange.cc \
        HttpHdrSc.cc \
        HttpHdrScTarget.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpMsg.cc \
@@ -2761,6 +2940,7 @@ tests_testRock_SOURCES = \
        HttpStatusLine.cc \
        int.cc \
        list.cc \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
        MemObject.cc \
@@ -2786,6 +2966,7 @@ tests_testRock_SOURCES = \
        StoreSwapLogData.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_swapmeta.cc \
        store_swapout.cc \
@@ -2796,9 +2977,12 @@ tests_testRock_SOURCES = \
        tests/testRock.h \
        tests/testStoreSupport.cc \
        tests/testStoreSupport.h \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
+       client_db.h \
        tests/stub_client_db.cc \
        tests/stub_client_side_request.cc \
        tests/stub_debug.cc \
@@ -2818,10 +3002,12 @@ tests_testRock_SOURCES = \
        tests/stub_store_client.cc \
        tests/stub_store_rebuild.cc \
        tests/stub_store_stats.cc \
+       tools.h \
        tests/stub_tools.cc \
        time.cc \
        url.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc \
        $(DELAY_POOL_SOURCE) \
        $(DISKIO_SOURCE) \
@@ -2868,15 +3054,18 @@ tests_testCoss_SOURCES = \
        tests/testMain.cc \
        tests/testCoss.h \
        tests/stub_cache_manager.cc \
+       client_db.h \
        tests/stub_client_db.cc \
        tests/stub_debug.cc \
        tests/stub_HelperChildConfig.cc \
+       internal.h \
        tests/stub_internal.cc \
        tests/stub_ipc.cc \
        tests/stub_pconn.cc \
        tests/stub_store_rebuild.cc \
        tests/stub_store_stats.cc \
        fd.cc \
+       disk.h \
        disk.cc \
        FileMap.h \
        filemap.cc \
@@ -2904,6 +3093,7 @@ tests_testCoss_SOURCES = \
        $(WIN32_SOURCE) \
        event.cc \
        $(DELAY_POOL_SOURCE) \
+       CacheDigest.h \
        CacheDigest.cc \
        ConfigParser.cc \
        EventLoop.cc \
@@ -2912,11 +3102,13 @@ tests_testCoss_SOURCES = \
        store_dir.cc \
        store.cc \
        HttpRequestMethod.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        Parsing.cc \
        ConfigOption.cc \
        SwapDir.cc \
        tests/stub_acl.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_helper.cc \
        cbdata.cc \
@@ -2927,7 +3119,9 @@ tests_testCoss_SOURCES = \
        stmem.cc \
        tests/stub_mime.cc \
        HttpHeaderTools.cc \
+       HttpHeader.h \
        HttpHeader.cc \
+       Mem.h \
        mem.cc \
        ClientInfo.h \
        MemBuf.cc \
@@ -2945,18 +3139,22 @@ tests_testCoss_SOURCES = \
        tests/stub_StatHist.cc \
        tests/stub_errorpage.cc \
        tests/stub_HttpRequest.cc \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       refresh.h \
        refresh.cc \
        tests/stub_MemStore.cc \
        tests/stub_Port.cc \
        tests/stub_store_client.cc \
        tests/stub_store_stats.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/stub_UdsOp.cc \
        tests/testStoreSupport.cc \
        tests/testStoreSupport.h \
        time.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc \
        $(DISKIO_SOURCE)
 
@@ -3006,10 +3204,12 @@ tests_testNull_SOURCES = \
        tests/testNull.cc \
        tests/testMain.cc \
        tests/testNull.h \
+       internal.h \
        tests/stub_internal.cc \
        tests/stub_store_rebuild.cc \
        tests/stub_store_stats.cc \
        fd.cc \
+       disk.h \
        disk.cc \
        FileMap.h \
        filemap.cc \
@@ -3037,6 +3237,7 @@ tests_testNull_SOURCES = \
        $(WIN32_SOURCE) \
        event.cc \
        $(DELAY_POOL_SOURCE) \
+       CacheDigest.h \
        CacheDigest.cc \
        ConfigParser.cc \
        EventLoop.cc \
@@ -3045,11 +3246,13 @@ tests_testNull_SOURCES = \
        store_dir.cc \
        store.cc \
        HttpRequestMethod.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        Parsing.cc \
        ConfigOption.cc \
        SwapDir.cc \
        tests/stub_acl.cc \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_helper.cc \
        cbdata.cc \
@@ -3062,7 +3265,9 @@ tests_testNull_SOURCES = \
        stmem.cc \
        tests/stub_mime.cc \
        HttpHeaderTools.cc \
+       HttpHeader.h \
        HttpHeader.cc \
+       Mem.h \
        mem.cc \
        ClientInfo.h \
        MemBuf.cc \
@@ -3080,15 +3285,19 @@ tests_testNull_SOURCES = \
        tests/stub_StatHist.cc \
        tests/stub_errorpage.cc \
        tests/stub_HttpRequest.cc \
+       log/access_log.h \
        tests/stub_access_log.cc \
+       refresh.h \
        refresh.cc \
        tests/stub_store_client.cc \
        tests/stub_store_stats.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/testStoreSupport.cc \
        tests/testStoreSupport.h \
        time.cc \
        URLScheme.cc \
+       wordlist.h \
        wordlist.cc \
        $(DISKIO_SOURCE)
 
@@ -3131,13 +3340,18 @@ tests_testURL_SOURCES = \
        AccessLogEntry.cc \
        $(ACL_REGISTRATION_SOURCES) \
        BodyPipe.cc \
+       cache_cf.h \
        cache_cf.cc \
        cache_manager.cc \
+       CacheDigest.h \
        CacheDigest.cc \
+       carp.h \
        carp.cc \
        cbdata.cc \
        ChunkedCodingParser.cc \
+       client_db.h \
        client_db.cc \
+       client_side.h \
        client_side.cc \
        client_side_reply.cc \
        client_side_request.cc \
@@ -3150,6 +3364,7 @@ tests_testURL_SOURCES = \
        CpuAffinitySet.cc \
        CpuAffinitySet.h \
        $(DELAY_POOL_SOURCE) \
+       disk.h \
        disk.cc \
        DiskIO/ReadRequest.cc \
        DiskIO/WriteRequest.cc \
@@ -3166,8 +3381,10 @@ tests_testURL_SOURCES = \
        FileMap.h \
        filemap.cc \
        forward.cc \
+       fqdncache.h \
        fqdncache.cc \
        ftp.cc \
+       gopher.h \
        gopher.cc \
        helper.cc \
        HelperChildConfig.h \
@@ -3184,6 +3401,7 @@ tests_testURL_SOURCES = \
        HttpHdrRange.cc \
        HttpHdrSc.cc \
        HttpHdrScTarget.cc \
+       HttpHeader.h \
        HttpHeader.cc \
        HttpHeaderTools.cc \
        HttpMsg.cc \
@@ -3198,15 +3416,18 @@ tests_testURL_SOURCES = \
        $(IPC_SOURCE) \
        ipcache.cc \
        int.cc \
+       internal.h \
        internal.cc \
        list.cc \
        multicast.cc \
+       Mem.h \
        mem.cc \
        mem_node.cc \
        MemBuf.cc \
        MemObject.cc \
        mime.cc \
        mime_header.cc \
+       neighbors.h \
        neighbors.cc \
        Packer.cc \
        Parsing.cc \
@@ -3214,15 +3435,19 @@ tests_testURL_SOURCES = \
        peer_digest.cc \
        peer_proxy_negotiate_auth.cc \
        peer_select.cc \
+       peer_sourcehash.h \
        peer_sourcehash.cc \
+       peer_userhash.h \
        peer_userhash.cc \
        redirect.cc \
+       refresh.h \
        refresh.cc \
        RemovalPolicy.cc \
        Server.cc \
        $(SNMP_SOURCE) \
        SquidMath.h \
        SquidMath.cc \
+       stat.h \
        stat.cc \
        StatCounters.h \
        StatCounters.cc \
@@ -3234,6 +3459,7 @@ tests_testURL_SOURCES = \
        store_digest.cc \
        store_dir.cc \
        store_io.cc \
+       store_key_md5.h \
        store_key_md5.cc \
        store_log.cc \
        store_rebuild.cc \
@@ -3264,15 +3490,18 @@ tests_testURL_SOURCES = \
        tests/testURLScheme.h \
        tests/testMain.cc \
        time.cc \
+       tools.h \
        tools.cc \
        tunnel.cc \
        url.cc \
        URLScheme.cc \
        urn.cc \
+       wccp2.h \
        wccp2.cc \
        whois.cc \
        FadingCounter.cc \
        $(WIN32_SOURCE) \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testURL_SOURCES = \
        $(BUILT_SOURCES)
@@ -3319,6 +3548,7 @@ tests_testURL_DEPENDENCIES = \
 
 tests_testConfigParser_SOURCES = \
        ClientInfo.h \
+       Mem.h \
        mem.cc \
        MemBuf.cc \
        String.cc \
@@ -3326,12 +3556,15 @@ tests_testConfigParser_SOURCES = \
        tests/testMain.cc \
        tests/testConfigParser.cc \
        tests/testConfigParser.h \
+       cache_cf.h \
        tests/stub_cache_cf.cc \
        tests/stub_cache_manager.cc \
        tests/stub_debug.cc \
        tests/stub_HelperChildConfig.cc \
+       tools.h \
        tests/stub_tools.cc \
        time.cc \
+       wordlist.h \
        wordlist.cc
 nodist_tests_testConfigParser_SOURCES = \
        $(TESTSOURCES)
@@ -3360,6 +3593,7 @@ tests_testStatHist_SOURCES = \
        tests/stub_debug.cc \
        tests/stub_DelayId.cc \
        tests/stub_HelperChildConfig.cc \
+       Mem.h \
        tests/stub_mem.cc \
        tests/stub_MemObject.cc \
        tests/stub_mime.cc \
@@ -3367,6 +3601,7 @@ tests_testStatHist_SOURCES = \
        tests/stub_stmem.cc \
        tests/stub_store.cc \
        tests/stub_store_stats.cc \
+       tools.h \
        tests/stub_tools.cc \
        tests/testMain.cc \
        tests/testStatHist.cc \
index a098c19d02a28e805ab1eb6f766cfaab925b08db..fc2145f9170c3956e1002b813775dd23562f77e0 100644 (file)
--- a/src/Mem.h
+++ b/src/Mem.h
 #ifndef SQUID_MEM
 #define SQUID_MEM
 
+/* for mem_type */
+#include "enums.h"
+/* for FREE */
+#include "typedefs.h"
+
 #if HAVE_IOSFWD
 #include <iosfwd>
 #endif
@@ -59,4 +64,21 @@ protected:
 
 extern const size_t squidSystemPageSize;
 
+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 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, bool zeroOnPush = true);
+extern void memCheckInit(void);
+extern void memConfigure(void);
+
 #endif /* SQUID_MEM */
index ed14d1a4a46e4c187432a1f7c10b170f0985f66e..c468904b10729f21543052f25f9d4192f690f66c 100644 (file)
  */
 
 #include "squid.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
index d4eb78b02565f5700995f41bfdc8d37ffa61ad5b..b88f54f83c62978643073a190fa4d76b702f2b10 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "compat/strtoll.h"
 #include "Parsing.h"
 #include "protos.h"
index 81f72bda2b5856cc09402ce82b58174e099a2a99..3dd90d84165141ace2f5e68441abf3bd04235202 100644 (file)
@@ -131,6 +131,12 @@ private:
 
 extern const Version CacheDigestVer;
 
+extern PeerDigest *peerDigestCreate(peer * p);
+extern void peerDigestNeeded(PeerDigest * pd);
+extern void peerDigestNotePeerGone(PeerDigest * pd);
+extern void peerDigestStatsReport(const PeerDigest * pd, StoreEntry * e);
+
+
 #endif /* USE_CACHE_DIGESTS */
 
 #endif /* SQUID_PEERDIGEST_H */
index 2c0047826247d177ef7b2c374af886c8ead25f50..43a95ec9ed6f03c53d31256be0ebb2acce4cb60e 100644 (file)
@@ -47,6 +47,8 @@
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "tools.h"
+#include "URL.h"
 
 #if USE_ADAPTATION
 #include "adaptation/AccessCheck.h"
index e737506dbe67623c322d1941602a323c818dc661..721e7f54102f8966a3a16c848f272bbd61d4c061 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "base/TextException.h"
+#include "Mem.h"
 #include "mgr/Registration.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
index 0fa81ef1db77476f4c7cf107949234036b5c4212..3f870ce4bc87642eadfec61289b8ef50fbb320de 100644 (file)
  */
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "compat/strtoll.h"
 #include "ConfigOption.h"
+#include "Parsing.h"
 #include "protos.h"
 #include "StoreFileSystem.h"
 #include "SwapDir.h"
index e6e112fffcec15950fb8782ba91a1098efa71e15..ab95fc84f7ae18fc1aa8940cf62c1b1a5886ea7f 100644 (file)
--- a/src/URL.h
+++ b/src/URL.h
@@ -33,6 +33,7 @@
 #ifndef SQUID_SRC_URL_H
 #define SQUID_SRC_URL_H
 
+#include "anyp/ProtocolType.h"
 #include "MemPool.h"
 #include "URLScheme.h"
 
@@ -77,4 +78,24 @@ private:
 
 MEMPROXY_CLASS_INLINE(URL);
 
+class HttpRequest;
+class HttpRequestMethod;
+
+
+extern AnyP::ProtocolType urlParseProtocol(const char *, const char *e = NULL);
+extern void urlInitialize(void);
+extern HttpRequest *urlParse(const HttpRequestMethod&, char *, HttpRequest *request = NULL);
+extern const char *urlCanonical(HttpRequest *);
+extern char *urlCanonicalClean(const HttpRequest *);
+extern const char *urlCanonicalFakeHttps(const HttpRequest * request);
+extern bool urlIsRelative(const char *);
+extern char *urlMakeAbsolute(const HttpRequest *, const char *);
+extern char *urlRInternal(const char *host, unsigned 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 HttpRequest *);
+extern int urlDefaultPort(AnyP::ProtocolType p);
+extern char *urlHostname(const char *url);
+extern void urlExtMethodConfigure(void);
+
 #endif /* SQUID_SRC_URL_H_H */
index 809e54dac35b8cb71ccff6f7523a8141dd77dc5e..972e9536165f059b48646fad9d344fcb8ce9c88f 100644 (file)
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "acl/CertificateData.h"
 #include "acl/Checklist.h"
+#include "cache_cf.h"
 #include "protos.h"
 #include "wordlist.h"
 
index db961d09b62974c65f1a346d88443e29f0357c19..9c2e916ff26bb224c16060d5539157bf4418f558 100644 (file)
@@ -39,6 +39,7 @@
 #include "acl/Checklist.h"
 #include "acl/RegexData.h"
 #include "acl/DomainData.h"
+#include "fqdncache.h"
 #include "HttpRequest.h"
 #include "ipcache.h"
 #include "protos.h"
index 385d2142c8e264cb9a1a5db8b4bda8c88bc19b6c..d8f3484cb65adb1f06da5c5afde06b22fe951184 100644 (file)
 #include "squid.h"
 #include "acl/DomainData.h"
 #include "acl/Checklist.h"
+#include "cache_cf.h"
 #include "Debug.h"
 #include "protos.h"
 #include "wordlist.h"
+#include "URL.h"
 
 template<class T>
 inline void
index 58c14654e6bd9e0298b5bea23df054f923ccf1c9..cd9aa8035c84ca8e449c361c9f3f42a2ef152bc9 100644 (file)
@@ -47,6 +47,7 @@
 #include "errorpage.h"
 #include "globals.h"
 #include "HttpRequest.h"
+#include "Mem.h"
 #include "protos.h"
 
 
index 863711ce15e421606e06ec6e4e0b64af3ac57b0f..53d9e8222985ddba7175e5d100954a134ca0be85 100644 (file)
@@ -36,6 +36,7 @@
 
 #include "squid.h"
 #include "acl/IntRange.h"
+#include "cache_cf.h"
 #include "Debug.h"
 #include "wordlist.h"
 #include "Parsing.h"
index 7aa3d0515523a49e48e1712a1c2c1e2b73f9723b..9769a73cb3a29678d1c823be74fd0acaa3eb3158 100644 (file)
@@ -36,6 +36,7 @@
 #include "squid.h"
 #include "acl/Ip.h"
 #include "acl/Checklist.h"
+#include "cache_cf.h"
 #include "Debug.h"
 #include "ip/tools.h"
 #include "MemBuf.h"
index 05fc0be9cb52dd34be451466030c7e6828bdad3e..c4b33239cacde74e43e6b6187f9e673f07e45d16 100644 (file)
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "acl/FilledChecklist.h"
 #include "acl/MaxConnection.h"
+#include "client_db.h"
 #include "Debug.h"
 #include "protos.h"
 #include "wordlist.h"
index 7d6630910e6d0178dbc53a6151f3c9bd53c357df..9205456e245903d3cedc510784014454aabd9bc3 100644 (file)
@@ -36,7 +36,9 @@
 
 #include "acl/FilledChecklist.h"
 #include "acl/Random.h"
+#include "cache_cf.h"
 #include "Debug.h"
+#include "Parsing.h"
 #include "protos.h"
 #include "wordlist.h"
 
index 4fcb56f48b1bb1958c7db9d4a030d876a40b13bd..b8bd5a3319344f98c28b852fd6c573e56f7ac8bc 100644 (file)
@@ -42,6 +42,7 @@
 #include "acl/Acl.h"
 #include "ConfigParser.h"
 #include "Debug.h"
+#include "Mem.h"
 #include "protos.h"
 #include "wordlist.h"
 
index 61ff7fb1744128641bf409043ff219cbe3910fe0..5a0f95e059ce98e90ec17ee4280690e5fe8a4195 100644 (file)
@@ -39,6 +39,7 @@
 #include "acl/Checklist.h"
 #include "acl/RegexData.h"
 #include "acl/DomainData.h"
+#include "fqdncache.h"
 #include "HttpRequest.h"
 #include "protos.h"
 
index 68184f18d81488809d3ce56927af37990738a339..a625f06012147142e97f39231366b35dc83ab434 100644 (file)
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "acl/TimeData.h"
 #include "acl/Checklist.h"
+#include "cache_cf.h"
 #include "Debug.h"
 #include "protos.h"
 #include "wordlist.h"
index 9457c43c85c7c7fd212006e9bc82ecf66e36b700..7d02415546869d90e58ad593bab9ed0d759a1f12 100644 (file)
@@ -40,6 +40,7 @@
 #include "acl/RegexData.h"
 #include "protos.h"
 #include "rfc1738.h"
+#include "URL.h"
 
 int
 ACLUrlStrategy::match (ACLData<char const *> * &data, ACLFilledChecklist *checklist)
index feb33e7bc45c26b6d3a5a7d441900cc207612ddd..1390fdb048899db06dc855e462aa8d2c63c84495 100644 (file)
@@ -14,6 +14,7 @@
 #include "adaptation/ecap/XactionRep.h"
 #include "adaptation/ecap/Host.h" /* for protocol constants */
 #include "base/TextException.h"
+#include "URL.h"
 
 /* HeaderRep */
 
index 49caee611b50ed85913a1b840d259720217458e2..8656661b356c05ac090693ce83736d3d34f68959 100644 (file)
@@ -25,6 +25,7 @@
 #include "HttpRequest.h"
 #include "protos.h"
 #include "SquidTime.h"
+#include "URL.h"
 
 // flow and terminology:
 //     HTTP| --> receive --> encode --> write --> |network
index 9f0edbe6a3b58a9cc7d5e05a1cc954a433ca3ac1..b4780fe1b01ae2d54e3ffe3d73fd1d6b7c049189 100644 (file)
@@ -21,6 +21,7 @@
 #include "HttpRequest.h"
 #include "icap_log.h"
 #include "ipcache.h"
+#include "Mem.h"
 #include "pconn.h"
 #include "protos.h"
 #include "SquidTime.h"
index ef4230476344972952749639c5c67c04deb71686..0fdbacb0fee043892bed76a357af084d33cb46c8 100644 (file)
@@ -12,6 +12,7 @@
 #include "protos.h"
 #include "wordlist.h"
 #include "ConfigParser.h"
+#include "Parsing.h"
 
 ACL *
 ACLMaxUserIP::clone() const
index dde49bfe2c86b802cd3a6ca713f649e0cff83f8c..d9196b573b92f75fe87a1d32064db195c7ecec48 100644 (file)
@@ -44,6 +44,7 @@
 #include "auth/basic/UserRequest.h"
 #include "auth/Gadgets.h"
 #include "auth/State.h"
+#include "cache_cf.h"
 #include "charset.h"
 #include "mgr/Registration.h"
 #include "Store.h"
index 48715c112c846f5d7cda87c49951abd648c1559f..b0eb7a4cf066fc499bb4b212624bdf28d3f261df 100644 (file)
@@ -38,6 +38,7 @@
 
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "rfc2617.h"
 #include "auth/digest/auth_digest.h"
 #include "auth/digest/Scheme.h"
index 5bd3f75f2c742f773c171f57ec2cd940a4d31cbc..631e4aba69f1db65f92e80f128d893bf64ff81e8 100644 (file)
@@ -41,6 +41,7 @@
 #include "auth/negotiate/auth_negotiate.h"
 #include "auth/Gadgets.h"
 #include "auth/State.h"
+#include "cache_cf.h"
 #include "mgr/Registration.h"
 #include "Store.h"
 #include "client_side.h"
index b4c2ea00e8886a7b3a5ebe8bde129ee14adb918e..dd1effe24bf5843be6fafba7e22cadfd9766d137 100644 (file)
@@ -44,6 +44,7 @@
 #include "auth/ntlm/User.h"
 #include "auth/ntlm/UserRequest.h"
 #include "auth/State.h"
+#include "cache_cf.h"
 #include "mgr/Registration.h"
 #include "Store.h"
 #include "client_side.h"
index 58a693b974653e56305e0b74a51dc612a4e55b33..a75f1e384c7f8eff8a24a67506a601faef17bbaa 100644 (file)
 #include "acl/MethodData.h"
 #include "anyp/PortCfg.h"
 #include "base/RunnersRegistry.h"
+#include "cache_cf.h"
 #include "ConfigParser.h"
 #include "CpuAffinityMap.h"
 #include "DiskIO/DiskIOModule.h"
 #include "eui/Config.h"
+#include "ExternalACL.h"
 #include "format/Format.h"
 #include "globals.h"
 #include "HttpRequestMethod.h"
 #include "ip/tools.h"
 #include "ipc/Kids.h"
 #include "log/Config.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "mgr/Registration.h"
 #include "Parsing.h"
+#include "PeerDigest.h"
 #include "protos.h"
 #include "rfc1738.h"
 #include "Store.h"
 #include "structs.h"
 #include "SwapDir.h"
 #include "wordlist.h"
+#include "neighbors.h"
+#include "tools.h"
+/* wccp2 has its own conditional definitions */
+#include "wccp2.h"
 #if USE_ADAPTATION
 #include "adaptation/Config.h"
 #endif
 #include "snmp.h"
 #endif
 
-
-
-
 #if HAVE_GLOB_H
 #include <glob.h>
 #endif
-
 #if HAVE_LIMITS_H
 #include <limits>
 #endif
-
 #if HAVE_LIST
 #include <list>
 #endif
diff --git a/src/cache_cf.h b/src/cache_cf.h
new file mode 100644 (file)
index 0000000..69e8abf
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_CACHE_CF_H_
+#define SQUID_CACHE_CF_H_
+
+class wordlist;
+
+extern void configFreeMemory(void);
+extern void self_destruct(void);
+extern void add_http_port(char *portspec);
+
+/* 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);
+
+#endif /* SQUID_CACHE_CF_H_ */
index 982bd5770b439154e5b0b718457dee9f0adab314..a53a94e472da36a3f67192f94c28ee26c363c6f4 100644 (file)
 #include "squid.h"
 #include "HttpRequest.h"
 #include "mgr/Registration.h"
+#include "neighbors.h"
 #include "protos.h"
 #include "Store.h"
+#include "URL.h"
 #include "URLScheme.h"
 
 #if HAVE_MATH_H
diff --git a/src/carp.h b/src/carp.h
new file mode 100644 (file)
index 0000000..c3799cd
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * DEBUG: section 39    Cache Array Routing Protocol
+ * AUTHOR: Henrik Nordstrom
+ *
+ * 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_CARP_H_
+#define SQUID_CARP_H_
+
+class peer;
+class HttpRequest;
+
+extern void carpInit(void);
+extern peer *carpSelectParent(HttpRequest *);
+
+#endif /* SQUID_CARP_H_ */
index 362c310aa46244e713c0ac92901aacf72287669f..d3eb6e6ab43523effba53752afce2d30f4c46314 100644 (file)
  */
 
 #include "squid.h"
+#include "client_db.h"
 #include "event.h"
 #include "format/Token.h"
 #include "ClientInfo.h"
+#include "fqdncache.h"
 #include "ip/Address.h"
+#include "log/access_log.h"
+#include "Mem.h"
 #include "mgr/Registration.h"
 #include "protos.h"
 #include "SquidMath.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
-
+#include "tools.h"
 
 static hash_table *client_table = NULL;
 
diff --git a/src/client_db.h b/src/client_db.h
new file mode 100644 (file)
index 0000000..dab0b3b
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_CLIENT_DB_H_
+#define SQUID_CLIENT_DB_H_
+
+#include "anyp/ProtocolType.h"
+#include "enums.h"
+#include "ip/Address.h"
+
+class StoreEntry;
+class ClientInfo;
+
+extern void clientdbInit(void);
+extern void clientdbUpdate(const Ip::Address &, log_type, AnyP::ProtocolType, size_t);
+extern int clientdbCutoffDenied(const Ip::Address &);
+extern void clientdbDump(StoreEntry *);
+extern void clientdbFreeMemory(void);
+extern int clientdbEstablished(const Ip::Address &, int);
+
+#if USE_DELAY_POOLS
+extern void clientdbSetWriteLimiter(ClientInfo * info, const int writeSpeedLimit,const double initialBurst,const double highWatermark);
+extern ClientInfo * clientdbGetInfo(const Ip::Address &addr);
+#endif
+
+
+#endif /* SQUID_CLIENT_DB_H_ */
index 0e6c8c75b035352f2e40a8b47889cf7d5677baf5..a607cb357c535ef1082a57559effda35191697c3 100644 (file)
  */
 
 #include "squid.h"
-
 #include "acl/FilledChecklist.h"
 #include "anyp/PortCfg.h"
 #include "base/Subscription.h"
 #include "base/TextException.h"
 #include "ChunkedCodingParser.h"
+#include "client_db.h"
 #include "client_side_reply.h"
 #include "client_side_request.h"
 #include "client_side.h"
 #include "eui/Config.h"
 #include "fde.h"
 #include "forward.h"
+#include "fqdncache.h"
 #include "HttpHdrContRange.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
 #include "ident/Config.h"
 #include "ident/Ident.h"
+#include "internal.h"
 #include "ipc/FdNotes.h"
 #include "ipc/StartListening.h"
+#include "log/access_log.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "MemObject.h"
 #include "profiler/Profiler.h"
 #include "StatHist.h"
 #include "Store.h"
 #include "TimeOrTag.h"
+#include "tools.h"
+#include "URL.h"
 
 #if USE_AUTH
 #include "auth/UserRequest.h"
index 3ce723e1f09fa657c32de26d246fe7beb64cf9af..405d9b722f2d46a8ffcfd1f871b6d905144c542a 100644 (file)
@@ -413,4 +413,12 @@ void setLogUri(ClientHttpRequest * http, char const *uri, bool cleanUrl = false)
 
 const char *findTrailingHTTPVersion(const char *uriAndHTTPVersion, const char *end = NULL);
 
+/* Vary support functions */
+extern int varyEvaluateMatch(StoreEntry * entry, HttpRequest * req);
+
+/* client_side.c - FD related client side routines */
+extern void clientOpenListenSockets(void);
+extern void clientHttpConnectionsClose(void);
+extern void httpRequestFree(void *);
+
 #endif /* SQUID_CLIENTSIDE_H */
index 64b9cd46d8a58981643ebdc993b26ff8d0fac1c1..75eff7c1ba938e306fa73bd0969d17b90696e364 100644 (file)
 #include "HttpRequest.h"
 #include "ip/QosConfig.h"
 #include "ipcache.h"
+#include "log/access_log.h"
 #include "MemObject.h"
+#include "neighbors.h"
 #include "protos.h"
+#include "refresh.h"
 #include "SquidTime.h"
 #include "Store.h"
 #include "StoreClient.h"
+#include "tools.h"
+#include "URL.h"
 #if USE_AUTH
 #include "auth/UserRequest.h"
 #endif
index ffbc2e48f467ae175bd27b31e9c4d2cad69a4863..db2c6db82c5b7d21dbd228f1a0b35ceb2e47caa4 100644 (file)
 #include "errorpage.h"
 #include "fde.h"
 #include "format/Token.h"
+#include "gopher.h"
 #include "HttpHdrCc.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
 #include "ipcache.h"
 #include "ip/QosConfig.h"
+#include "log/access_log.h"
 #include "MemObject.h"
+#include "Parsing.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
 #include "SquidTime.h"
 #include "Store.h"
+#include "tools.h"
+#include "URL.h"
 #include "wordlist.h"
 #if USE_AUTH
 #include "auth/UserRequest.h"
index c1bfd29a7aa8465780aba5af25b487500ef04218..3285aaecac8462a7062adabf7cfeabb3409714fe 100644 (file)
@@ -200,17 +200,16 @@ private:
 };
 
 /* client http based routines */
-SQUIDCEXTERN char *clientConstructTraceEcho(ClientHttpRequest *);
+extern char *clientConstructTraceEcho(ClientHttpRequest *);
 
 class ACLFilledChecklist;
-SQUIDCEXTERN ACLFilledChecklist *clientAclChecklistCreate(const acl_access * acl,ClientHttpRequest * http);
-SQUIDCEXTERN int clientHttpRequestStatus(int fd, ClientHttpRequest const *http);
-SQUIDCEXTERN void clientAccessCheck(ClientHttpRequest *);
+extern ACLFilledChecklist *clientAclChecklistCreate(const acl_access * acl,ClientHttpRequest * http);
+extern int clientHttpRequestStatus(int fd, ClientHttpRequest const *http);
+extern void clientAccessCheck(ClientHttpRequest *);
 
 /* ones that should be elsewhere */
-SQUIDCEXTERN void redirectStart(ClientHttpRequest *, RH *, void *);
-
-SQUIDCEXTERN void tunnelStart(ClientHttpRequest *, int64_t *, int *);
+extern void redirectStart(ClientHttpRequest *, RH *, void *);
+extern void tunnelStart(ClientHttpRequest *, int64_t *, int *);
 
 #if _USE_INLINE_
 #include "Store.h"
index 1ba79a603639248b9249823040406cec323a55ba..e7c362ea712c6aaf2ab97032ce07cd0098cf1eb0 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "squid.h"
 #include "base/TextException.h"
+#include "client_db.h"
 #include "comm/AcceptLimiter.h"
 #include "CommCalls.h"
 #include "comm/comm_internal.h"
index 83644791f13039828fac6f87b952e69d46cd7cd5..4dc055019004130519de74eb93432384810d5701 100644 (file)
@@ -35,6 +35,7 @@
 #include "squid.h"
 #include "comm/Loops.h"
 #include "fde.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
diff --git a/src/disk.h b/src/disk.h
new file mode 100644 (file)
index 0000000..e29185c
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * DEBUG: section
+ * AUTHOR:
+ *
+ * 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_DISK_H_
+#define SQUID_DISK_H_
+
+#include "typedefs.h"
+
+class MemBuf;
+
+extern int file_open(const char *path, int mode);
+extern void file_close(int fd);
+
+/* Adapter file_write for object callbacks */
+template <class O>
+void
+FreeObject(void *address)
+{
+    O *anObject = static_cast <O *>(address);
+    delete anObject;
+}
+
+extern void file_write(int, off_t, void const *, 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);
+
+#endif /* SQUID_DISK_H_ */
index 5d671890efcaf951531ab1e74d39b6499a56442c..4242ffd6dad4b8fb15429dec1f719ea3f73cd90b 100644 (file)
@@ -42,6 +42,7 @@
 #include "event.h"
 #include "fde.h"
 #include "ip/tools.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "mgr/Registration.h"
 #include "protos.h"
index e37e51063fa802b160b517111de546a149f32e46..5de5d3a5787a9606114fe4e17533df4b8834fbb5 100644 (file)
  *
  */
 #include "squid.h"
+#include "cache_cf.h"
 #include "comm/Connection.h"
 #include "comm/Write.h"
+#include "disk.h"
 #include "err_detail_type.h"
 #include "errorpage.h"
-#if USE_AUTH
-#include "auth/UserRequest.h"
-#endif
-#include "SquidTime.h"
-#if USE_SSL
-#include "ssl/ErrorDetailManager.h"
-#endif
 #include "Store.h"
 #include "html_quote.h"
 #include "HttpReply.h"
 #include "MemBuf.h"
 #include "protos.h"
 #include "rfc1738.h"
+#include "URL.h"
 #include "URLScheme.h"
+#include "URL.h"
+#include "tools.h"
 #include "wordlist.h"
+#if USE_AUTH
+#include "auth/UserRequest.h"
+#endif
+#include "SquidTime.h"
+#if USE_SSL
+#include "ssl/ErrorDetailManager.h"
+#endif
 
 /**
  \defgroup ErrorPageInternal Error Page Internals
index d00c8e165e9f6da3ca8ada67992cab75f2e39064..c9d28ea3191462a4ec956864342542ceca6c2699 100644 (file)
@@ -57,6 +57,7 @@
 #include "HttpReply.h"
 #include "HttpRequest.h"
 #include "ip/Address.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
index 523b5420bd78475f143669766a84eb85aad95e57..2452a3e3aac104d72a44b10f3317434c85448053 100644 (file)
 #if (USE_SQUID_ESI == 1)
 
 #include "client_side_request.h"
+#include "client_side.h"
 #include "esi/Include.h"
 #include "esi/VarState.h"
 #include "HttpReply.h"
+#include "log/access_log.h"
 #include "protos.h"
 
 CBDATA_CLASS_INIT (ESIStreamContext);
index 4b29ef5321219626d89b519c99a2c092913b2f78..c0318c854ea20fa41eb7f3749b9eb3854f4e5297 100644 (file)
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "esi/VarState.h"
 #include "HttpReply.h"
+#include "Mem.h"
 #include "protos.h"
 
 CBDATA_TYPE (ESIVarState);
index 6eef5a2216c968c557d27869b76b6af79b984fba..0b4602c42cf6a707ed5adc2459108f0c2bccd5b0 100644 (file)
@@ -43,6 +43,7 @@
 #include "squid.h"
 #include "acl/Acl.h"
 #include "acl/FilledChecklist.h"
+#include "cache_cf.h"
 #include "client_side.h"
 #include "comm/Connection.h"
 #include "ExternalACLEntry.h"
@@ -59,6 +60,8 @@
 #include "SquidTime.h"
 #include "Store.h"
 #include "URLScheme.h"
+#include "tools.h"
+#include "URL.h"
 #include "wordlist.h"
 #if USE_SSL
 #include "ssl/support.h"
index b81b718892fe50f60185b9b05f65e4ba7cc47515..3c1add0e01b09ec2b1e38c1a2b00da09efc5b38b 100644 (file)
@@ -1,4 +1,5 @@
 #include "squid.h"
+#include "cache_cf.h"
 #include "format/Config.h"
 #include "protos.h"
 #include <list>
index efb187397be0b38ea835edfcf26ca1b6d60f5817..0454821e4592f64f87e41802ff8873b70024f9bd 100644 (file)
@@ -8,12 +8,14 @@
 #include "format/Format.h"
 #include "format/Quoting.h"
 #include "format/Token.h"
+#include "fqdncache.h"
 #include "HttpRequest.h"
 #include "MemBuf.h"
 #include "protos.h"
 #include "rfc1738.h"
 #include "SquidTime.h"
 #include "Store.h"
+#include "URL.h"
 #if USE_SSL
 #include "ssl/ErrorDetail.h"
 #endif
index fd264285ceb9e5e542810c566db9bae693e6dd7a..5da0ede1ab3ac93e7743c5d99847b07e0e319e77 100644 (file)
 #include "fde.h"
 #include "forward.h"
 #include "globals.h"
+#include "gopher.h"
 #include "hier_code.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
 #include "icmp/net_db.h"
+#include "internal.h"
 #include "ip/Intercept.h"
 #include "ip/QosConfig.h"
 #include "ip/tools.h"
 #include "MemObject.h"
 #include "mgr/Registration.h"
+#include "neighbors.h"
 #include "pconn.h"
 #include "PeerSelectState.h"
 #include "protos.h"
index 42e80aca19339926b5f09d437459a0e19e095615..f5665828b781879aa5472b68d7d6eac12a8e7c92 100644 (file)
@@ -36,6 +36,7 @@
 #include "cbdata.h"
 #include "DnsLookupDetails.h"
 #include "event.h"
+#include "Mem.h"
 #include "mgr/Registration.h"
 #include "protos.h"
 #include "SquidDns.h"
@@ -588,50 +589,6 @@ fqdncache_nbgethostbyaddr(const Ip::Address &addr, FQDNH * handler, void *handle
 #endif
 }
 
-/// \ingroup FQDNCacheInternal
-static void
-fqdncacheRegisterWithCacheManager(void)
-{
-    Mgr::RegisterAction("fqdncache", "FQDN Cache Stats and Contents",
-                        fqdnStats, 0, 1);
-
-}
-
-/**
- \ingroup FQDNCacheAPI
- *
- * Initialize the fqdncache.
- * Called after IP cache initialization.
- */
-void
-fqdncache_init(void)
-{
-    int n;
-
-    fqdncacheRegisterWithCacheManager();
-
-    if (fqdn_table)
-        return;
-
-    debugs(35, 3, "Initializing FQDN Cache...");
-
-    memset(&FqdncacheStats, '\0', sizeof(FqdncacheStats));
-
-    memset(&lru_list, '\0', sizeof(lru_list));
-
-    fqdncache_high = (long) (((float) Config.fqdncache.size *
-                              (float) FQDN_HIGH_WATER) / (float) 100);
-
-    fqdncache_low = (long) (((float) Config.fqdncache.size *
-                             (float) FQDN_LOW_WATER) / (float) 100);
-
-    n = hashPrime(fqdncache_high / 4);
-
-    fqdn_table = hash_create((HASHCMP *) strcmp, n, hash4);
-
-    memDataInit(MEM_FQDNCACHE_ENTRY, "fqdncache_entry",
-                sizeof(fqdncache_entry), 0);
-}
 
 /**
  \ingroup FQDNCacheAPI
@@ -746,6 +703,7 @@ fqdnStats(StoreEntry * sentry)
 }
 
 /// \ingroup FQDNCacheAPI
+#if 0
 const char *
 fqdnFromAddr(const Ip::Address &addr)
 {
@@ -761,6 +719,7 @@ fqdnFromAddr(const Ip::Address &addr)
 
     return buf;
 }
+#endif
 
 /// \ingroup FQDNCacheInternal
 static void
@@ -873,6 +832,50 @@ fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames)
     fqdncacheLockEntry(fce);
 }
 
+/// \ingroup FQDNCacheInternal
+static void
+fqdncacheRegisterWithCacheManager(void)
+{
+    Mgr::RegisterAction("fqdncache", "FQDN Cache Stats and Contents",
+                        fqdnStats, 0, 1);
+
+}
+
+/**
+ \ingroup FQDNCacheAPI
+ *
+ * Initialize the fqdncache.
+ * Called after IP cache initialization.
+ */
+void
+fqdncache_init(void)
+{
+    int n;
+
+    fqdncacheRegisterWithCacheManager();
+
+    if (fqdn_table)
+        return;
+
+    debugs(35, 3, "Initializing FQDN Cache...");
+
+    memset(&FqdncacheStats, '\0', sizeof(FqdncacheStats));
+
+    memset(&lru_list, '\0', sizeof(lru_list));
+
+    fqdncache_high = (long) (((float) Config.fqdncache.size *
+                              (float) FQDN_HIGH_WATER) / (float) 100);
+
+    fqdncache_low = (long) (((float) Config.fqdncache.size *
+                             (float) FQDN_LOW_WATER) / (float) 100);
+
+    n = hashPrime(fqdncache_high / 4);
+
+    fqdn_table = hash_create((HASHCMP *) strcmp, n, hash4);
+
+    memDataInit(MEM_FQDNCACHE_ENTRY, "fqdncache_entry",
+                sizeof(fqdncache_entry), 0);
+}
 
 #if SQUID_SNMP
 /**
diff --git a/src/fqdncache.h b/src/fqdncache.h
new file mode 100644 (file)
index 0000000..e6d916c
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_FQDNCACHE_H_
+#define SQUID_FQDNCACHE_H_
+
+#include "ip/Address.h"
+#include "typedefs.h"
+
+class StoreEntry;
+class wordlist;
+
+extern void fqdncache_init(void);
+void fqdnStats(StoreEntry *);
+//extern void fqdncacheReleaseInvalid(const char *);
+//extern int fqdncacheQueueDrain(void);
+extern void fqdncacheFreeMemory(void);
+extern void fqdncache_restart(void);
+extern void fqdncache_purgelru(void *);
+extern void fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames);
+
+extern const char *fqdncache_gethostbyaddr(const Ip::Address &, int flags);
+//extern const char *fqdnFromAddr(const Ip::Address &);
+extern void fqdncache_nbgethostbyaddr(const Ip::Address &, FQDNH *, void *);
+
+
+
+
+#endif /* SQUID_FQDNCACHE_H_ */
index 5a83b4449f92ae67e7e20180491df35e246715c6..3e84034ed5dfc6c65c2b05c6593a8a3313c7bd77 100644 (file)
 
 #include "squid.h"
 #include "CossSwapDir.h"
+#include "cache_cf.h"
 #include "Store.h"
 #include "store_coss.h"
+#include "disk.h"
 #include "event.h"
 #include "fde.h"
 #include "SwapDir.h"
@@ -47,6 +49,7 @@
 #include "ConfigOption.h"
 #include "StoreFScoss.h"
 #include "Parsing.h"
+#include "store_key_md5.h"
 #include "swap_log_op.h"
 #include "SquidMath.h"
 
index 94e84b157055f191ea38cd1774ee016745f1c452..0d62591d1585b469dcd021c366d6e69af6153983 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include "squid.h"
+#include "disk.h"
 #include "fs/rock/RockRebuild.h"
 #include "fs/rock/RockSwapDir.h"
 #include "fs/rock/RockDbCell.h"
index 667ba1724b4b512746870497da1e27c4812a928f..da707faf338ef78b262ba87bc929baf57b2da247 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "ConfigOption.h"
 #include "DiskIO/DiskIOModule.h"
 #include "DiskIO/DiskIOStrategy.h"
index 976b276ad8e3f38ccaba5c672c4e98bdc07c2fa7..28f694b8f9c75af4af858b9763b56dca9259307b 100644 (file)
  */
 
 #include "squid.h"
+#include "disk.h"
 #include "protos.h"
 #include "RebuildState.h"
 #include "SquidTime.h"
+#include "store_key_md5.h"
 #include "StoreSwapLogData.h"
 #include "UFSSwapLogParser.h"
 
index a1c2fff98d92740de9b8044466452cee62864168..0e2b8162cb3d443f8743fd600e68051f23b9e431 100644 (file)
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
  */
 
-#include "squid.h"
-
 #define CLEAN_BUF_SZ 16384
 
+#include "squid.h"
+#include "cache_cf.h"
+#include "disk.h"
 #include "ConfigOption.h"
 #include "DiskIO/DiskIOModule.h"
 #include "FileMap.h"
@@ -42,6 +43,7 @@
 #include "RebuildState.h"
 #include "SquidMath.h"
 #include "DiskIO/DiskIOStrategy.h"
+#include "store_key_md5.h"
 #include "StoreSearchUFS.h"
 #include "StoreSwapLogData.h"
 #include "SquidTime.h"
index 7698a9f60f94954826bfeded9de26e75193f37e7..a1de50e8004e0cdfa48cebf556d4fa54e3466fd5 100644 (file)
@@ -49,6 +49,7 @@
 #include "HttpReply.h"
 #include "HttpRequest.h"
 #include "ip/tools.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "protos.h"
 #include "rfc1738.h"
@@ -57,6 +58,8 @@
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "tools.h"
+#include "URL.h"
 #include "URLScheme.h"
 #include "wordlist.h"
 
index 648268b868cd35b561c6e511c6096b54b28e9f72..2ca02cd46757522e4dd931efc46fd065287924e6 100644 (file)
 #include "html_quote.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "protos.h"
 #include "rfc1738.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "tools.h"
 
 #if USE_DELAY_POOLS
 #include "DelayPools.h"
diff --git a/src/gopher.h b/src/gopher.h
new file mode 100644 (file)
index 0000000..7d8dd1b
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_GOPHER_H_
+#define SQUID_GOPHER_H_
+
+class FwdState;
+class HttpRequest;
+
+/**
+ \defgroup ServerProtocolGopherAPI Server-Side Gopher API
+ \ingroup ServerProtocol
+ */
+
+/// \ingroup ServerProtocolGopherAPI
+extern void gopherStart(FwdState *);
+
+/// \ingroup ServerProtocolGopherAPI
+extern int gopherCachable(const HttpRequest *);
+
+
+#endif /* SQUID_GOPHER_H_ */
index 0754333106261e4c6ab44ee28186d3441e9443c6..48eb016e9db95ebcaab1b402fc2b7ff870c54045 100644 (file)
@@ -39,6 +39,7 @@
 #include "comm/Write.h"
 #include "format/Quoting.h"
 #include "helper.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "protos.h"
 #include "SquidMath.h"
index 74c9639af04095f13de00d523536466933eecf1d..3c7d8ffc9f7f8d9f192f70b7ac9d693b6d46aa32 100644 (file)
 #include "md5.h"
 #include "MemBuf.h"
 #include "protos.h"
+#include "refresh.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
+#include "store_key_md5.h"
 #include "Store.h"
 #include "StoreClient.h"
+#include "URL.h"
 
 typedef struct _Countstr Countstr;
 
index 412a8a9727d77aa9d0cca8cc97ceec00ce9641af..a679c71c06a5ef146f0b51a3691b51520c2729a1 100644 (file)
 #include "HttpHdrScTarget.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "log/access_log.h"
 #include "MemBuf.h"
 #include "MemObject.h"
+#include "neighbors.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
+#include "refresh.h"
 #include "rfc1738.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "tools.h"
+#include "URL.h"
 
 #if USE_AUTH
 #include "auth/UserRequest.h"
index 80b94799fd78b5c723324cfedd5694d0deecc7b5..3ed9dc97a5ebcb189da3f25e993bf42bed0e3eea 100644 (file)
 #include "MemObject.h"
 #include "fde.h"
 #include "forward.h"
+#include "internal.h"
 #include "protos.h"
 #include "SquidTime.h"
 #include "wordlist.h"
 #include "ip/Address.h"
+#include "neighbors.h"
+#include "URL.h"
+#include "Mem.h"
+#include "disk.h"
+
 
 #if HAVE_SYS_STAT_H
 #include <sys/stat.h>
index ee6ef69490178278e12c5bacb426936b5eddc61f..07feaf38773fede41b0b90fdd8bbc41ec26fdd2b 100644 (file)
@@ -39,6 +39,7 @@
 #include "AccessLogEntry.h"
 #include "acl/Acl.h"
 #include "acl/FilledChecklist.h"
+#include "client_db.h"
 #include "comm.h"
 #include "comm/Connection.h"
 #include "comm/Loops.h"
 #include "ip/tools.h"
 #include "ipcache.h"
 #include "md5.h"
+#include "neighbors.h"
 #include "protos.h"
+#include "refresh.h"
 #include "rfc1738.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "SwapDir.h"
+#include "tools.h"
 #include "wordlist.h"
 
 #if HAVE_ERRNO_H
index 118df8a8a70fd9e4752940dbfc6253254d9e1804..a054b89c90020c75e037240864acfe64bb92b2b8 100644 (file)
@@ -44,6 +44,8 @@
 #include "MemBuf.h"
 #include "protos.h"
 #include "SquidTime.h"
+#include "tools.h"
+#include "URL.h"
 #include "wordlist.h"
 
 /* called when we "miss" on an internal object;
diff --git a/src/internal.h b/src/internal.h
new file mode 100644 (file)
index 0000000..7595f93
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * DEBUG: section 76    Internal Squid Object handling
+ * AUTHOR: Duane, Alex, Henrik
+ *
+ * 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_INTERNAL_H_
+#define SQUID_INTERNAL_H_
+
+#include "comm/forward.h"
+class HttpRequest;
+class StoreEntry;
+
+extern void internalStart(const Comm::ConnectionPointer &clientConn, HttpRequest *, 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 *, unsigned short, const char *, const char *);
+extern const char *internalHostname(void);
+extern int internalHostnameIs(const char *);
+
+
+
+#endif /* SQUID_INTERNAL_H_ */
index 97fbd9c06b4ba8274b9c710eaa5c921a9836b7fb..efa59dba83080876884a77bf4e298c3395723dd1 100644 (file)
@@ -1,6 +1,7 @@
 #include "squid.h"
 
 #include "acl/Gadgets.h"
+#include "cache_cf.h"
 #include "comm/Connection.h"
 #include "ConfigParser.h"
 #include "fde.h"
index 22185ed0f9cea200b1bc41c2fb4c8f04e89987a8..8f5c116e7e0ac25096c20263d9e12724679b682f 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "protos.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "ipc/StoreMap.h"
 
 Ipc::StoreMap::Owner *
index 31ac49208c4cd7a1372ecbd6ec9dbcaf4d69f049..684742e2e25069e0cf9a33692c691aef3e0660ad 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "cache_cf.h"
 #include "comm.h"
 #include "fde.h"
 #include "ip/Address.h"
index 8a231245f89714e1ef90316cdf18c516ab097037..39bf9488c31f56ce5355cb235b1d4dfa4eaa24d0 100644 (file)
@@ -38,6 +38,7 @@
 #include "ip/Address.h"
 #include "ip/tools.h"
 #include "ipcache.h"
+#include "Mem.h"
 #include "mgr/Registration.h"
 #include "protos.h"
 #include "rfc3596.h"
index 8ec4e96a72329fcf0b29d9369d62826139a2b7fd..9ba1889bcc30f219343ca63031879e34507b0e24 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "Mem.h"
 #include "protos.h"
 #include "typedefs.h"
 
index 37dc7e5a5fe97b2c0d8b4129668ca32990d287bf..d39bcaa0a3ba6c5c242c61a9ab4c01096803f9ff 100644 (file)
@@ -1,4 +1,5 @@
 #include "squid.h"
+#include "cache_cf.h"
 #include "log/Config.h"
 #include "protos.h"
 
index 1c8c6086f3cee1361376129911bc2bc16142dbee..3574fa8180d7ce628cee99744209420fef2de599 100644 (file)
@@ -38,6 +38,7 @@
 
 #include "AccessLogEntry.h"
 #include "format/Quoting.h"
+#include "fqdncache.h"
 #include "HttpRequest.h"
 #include "log/File.h"
 #include "log/Formats.h"
index 48a083b603704ab2a29f5fafcafd69b664b6f146..5018962d7484c445e993645244e9b502be4dd87f 100644 (file)
@@ -4,6 +4,7 @@ include $(top_srcdir)/src/TestHeaders.am
 noinst_LTLIBRARIES = liblog.la
 
 liblog_la_SOURCES = \
+       access_log.h \
        access_log.cc \
        Config.cc \
        Config.h \
index 0de3d88ccf83bcd46316e5c75a67f2545d4618de..abe76f073888e746c4c63535a12e9a2ea5754fb2 100644 (file)
@@ -31,6 +31,7 @@
  */
 
 #include "squid.h"
+#include "disk.h"
 #include "fde.h"
 #include "globals.h"
 #include "log/File.h"
index ab27445f46e22cfddda19db1b5a561c382ab5bde..0d460b0d8e73f92087b165a166da0679f578cde5 100644 (file)
@@ -34,6 +34,7 @@
 #include "squid.h"
 #include "comm.h"
 #include "comm/Connection.h"
+#include "disk.h"
 #include "log/File.h"
 #include "log/ModTcp.h"
 #include "Parsing.h"
index e470714ba26ab74456b1b7ca754a470b09b515c8..15b3115cd559ace7a009b7fad069ceb86be91603 100644 (file)
@@ -33,6 +33,7 @@
 #include "squid.h"
 #include "comm.h"
 #include "comm/Connection.h"
+#include "disk.h"
 #include "log/File.h"
 #include "log/ModUdp.h"
 #include "Parsing.h"
index b30d9eefd4cc02710a696deba80af6a04ee2f119..8956988e404aa2b078a6269d1011c4b92bd8ce86 100644 (file)
@@ -52,6 +52,7 @@
 #include "hier_code.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "log/access_log.h"
 #include "log/Config.h"
 #include "log/File.h"
 #include "log/Formats.h"
diff --git a/src/log/access_log.h b/src/log/access_log.h
new file mode 100644 (file)
index 0000000..1c39737
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * access_log.h
+ *
+ * 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_LOG_ACCESS_LOG_H_
+#define SQUID_LOG_ACCESS_LOG_H_
+
+
+extern int logTypeIsATcpHit(log_type);
+extern void fvdbCountVia(const char *key);
+extern void fvdbCountForw(const char *key);
+
+#if HEADERS_LOG
+class HttpRequestMethod;
+extern void headersLog(int cs, int pq, const HttpRequestMethod& m, void *data);
+#endif
+
+
+#endif /* SQUID_LOG_ACCESS_LOG_H_ */
index 35a2ed257b626f6c5978cb4539a87bc832d01e97..502da17b9590e37f97eec7318469894cb46fbb68 100644 (file)
 #include "base/RunnersRegistry.h"
 #include "base/Subscription.h"
 #include "base/TextException.h"
+#include "cache_cf.h"
+#include "carp.h"
+#include "client_db.h"
+#include "client_side.h"
 #include "comm.h"
 #include "ConfigParser.h"
 #include "CpuAffinity.h"
+#include "disk.h"
 #include "DiskIO/DiskIOModule.h"
 #include "errorpage.h"
 #include "event.h"
@@ -50,8 +55,9 @@
 #include "format/Token.h"
 #include "forward.h"
 #include "fs/Module.h"
-#include "fs/Module.h"
+#include "fqdncache.h"
 #include "htcp.h"
+#include "HttpHeader.h"
 #include "HttpReply.h"
 #include "icmp/IcmpSquid.h"
 #include "icmp/net_db.h"
 #include "ip/tools.h"
 #include "Mem.h"
 #include "MemPool.h"
+#include "neighbors.h"
 #include "pconn.h"
 #include "PeerSelectState.h"
+#include "peer_sourcehash.h"
+#include "peer_userhash.h"
 #include "profiler/Profiler.h"
 #include "protos.h"
+#include "refresh.h"
+#include "tools.h"
 #include "SquidDns.h"
 #include "SquidTime.h"
+#include "stat.h"
 #include "StatCounters.h"
 #include "StoreFileSystem.h"
 #include "Store.h"
 #include "SwapDir.h"
+#include "URL.h"
+#include "wccp.h"
+#include "wccp2.h"
 
 #if USE_ADAPTATION
 #include "adaptation/Config.h"
index 038f38c7ca2f8a86e10aadb97548d7691cbda81e..8353a26b126a5be654c4f37f27610bc8cd5f1a58 100644 (file)
 #include <ostream>
 #endif
 
+/* forward declarations */
+static void memFree2K(void *);
+static void memFree4K(void *);
+static void memFree8K(void *);
+static void memFree16K(void *);
+static void memFree32K(void *);
+static void memFree64K(void *);
+
 /* module globals */
 const size_t squidSystemPageSize=getpagesize();
 
index 8e06998d3550f2e9e1448c4f46684d95770fc5a4..aab0d6b5565e67cb51943acc2f4d7d2f9ac3d6d9 100644 (file)
  */
 
 #include "squid.h"
+#include "disk.h"
 #include "fde.h"
 #include "globals.h"
 #include "HttpHdrCc.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "internal.h"
+#include "Mem.h"
 #include "MemBuf.h"
 #include "MemObject.h"
 #include "protos.h"
index 10a07e60befd7d3307c45a47282893ef68864a33..c3b64b784acd79ca48d9aebd159d0a5eb295cf04 100644 (file)
@@ -33,6 +33,7 @@
 #include "squid.h"
 #include "acl/FilledChecklist.h"
 #include "anyp/PortCfg.h"
+#include "CacheDigest.h"
 #include "comm/Connection.h"
 #include "comm/ConnOpener.h"
 #include "event.h"
 #include "ipcache.h"
 #include "MemObject.h"
 #include "mgr/Registration.h"
+#include "neighbors.h"
 #include "PeerDigest.h"
 #include "PeerSelectState.h"
 #include "protos.h"
 #include "SquidMath.h"
 #include "SquidTime.h"
+#include "stat.h"
 #include "Store.h"
+#include "store_key_md5.h"
+#include "URL.h"
 
 /* count mcast group peers every 15 minutes */
 #define MCAST_COUNT_RATE 900
diff --git a/src/neighbors.h b/src/neighbors.h
new file mode 100644 (file)
index 0000000..3bfa7c7
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_NEIGHBORS_H_
+#define SQUID_NEIGHBORS_H_
+
+#include "enums.h"
+#include "HttpRequestMethod.h"
+#include "lookup_t.h"
+#include "ip/Address.h"
+#include "typedefs.h"
+
+class HttpRequest;
+class peer;
+class StoreEntry;
+
+SQUIDCEXTERN peer *getFirstPeer(void);
+SQUIDCEXTERN peer *getFirstUpParent(HttpRequest *);
+SQUIDCEXTERN peer *getNextPeer(peer *);
+SQUIDCEXTERN peer *getSingleParent(HttpRequest *);
+SQUIDCEXTERN int neighborsCount(HttpRequest *);
+SQUIDCEXTERN int neighborsUdpPing(HttpRequest *,
+                                  StoreEntry *,
+                                  IRCB * callback,
+                                  void *data,
+                                  int *exprep,
+                                  int *timeout);
+SQUIDCEXTERN void neighborAddAcl(const char *, const char *);
+
+SQUIDCEXTERN void neighborsUdpAck(const cache_key *, icp_common_t *, const Ip::Address &);
+SQUIDCEXTERN void neighborAdd(const char *, const char *, int, int, int, int, int);
+SQUIDCEXTERN void neighbors_init(void);
+#if USE_HTCP
+SQUIDCEXTERN void neighborsHtcpClear(StoreEntry *, const char *, HttpRequest *, const HttpRequestMethod &, htcp_clr_reason);
+#endif
+SQUIDCEXTERN peer *peerFindByName(const char *);
+SQUIDCEXTERN peer *peerFindByNameAndPort(const char *, unsigned short);
+SQUIDCEXTERN peer *getDefaultParent(HttpRequest * request);
+SQUIDCEXTERN peer *getRoundRobinParent(HttpRequest * request);
+SQUIDCEXTERN peer *getWeightedRoundRobinParent(HttpRequest * request);
+SQUIDCEXTERN void peerClearRRStart(void);
+SQUIDCEXTERN void peerClearRR(void);
+SQUIDCEXTERN lookup_t peerDigestLookup(peer * p, HttpRequest * request);
+SQUIDCEXTERN peer *neighborsDigestSelect(HttpRequest * request);
+SQUIDCEXTERN void peerNoteDigestLookup(HttpRequest * 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 HttpRequest *);
+SQUIDCEXTERN void peerConnectFailed(peer *);
+SQUIDCEXTERN void peerConnectSucceded(peer *);
+SQUIDCEXTERN void dump_peer_options(StoreEntry *, peer *);
+SQUIDCEXTERN int peerHTTPOkay(const peer *, HttpRequest *);
+
+SQUIDCEXTERN peer *whichPeer(const Ip::Address &from);
+
+#endif /* SQUID_NEIGHBORS_H_ */
index 3452281b1112b690d29c9b711a985be73c0676c1..0214114a8fee8452a84e06fcc0d3eb3375a674de 100644 (file)
 
 #include "squid.h"
 #if USE_CACHE_DIGESTS
+#include "CacheDigest.h"
 #include "event.h"
 #include "forward.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "internal.h"
 #include "MemObject.h"
+#include "neighbors.h"
 #include "PeerDigest.h"
 #include "protos.h"
 #include "SquidTime.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "StoreClient.h"
+#include "tools.h"
 
 /* local types */
 
index de8e41cc2b645cda4989be299c5da0d0e0ad5d1c..a2890757075e54836e704f1bf66d61c36d7846b5 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "squid.h"
 #include "acl/FilledChecklist.h"
+#include "carp.h"
 #include "client_side.h"
 #include "DnsLookupDetails.h"
 #include "errorpage.h"
 #include "icmp/net_db.h"
 #include "ICP.h"
 #include "ipcache.h"
+#include "Mem.h"
+#include "neighbors.h"
+#include "peer_sourcehash.h"
+#include "peer_userhash.h"
 #include "PeerSelectState.h"
 #include "protos.h"
 #include "SquidTime.h"
index 57ad36ab07c795c51e48c1529f7864fdef33bc31..eac8fd96079571d5d819ffceb8f9c200890187a1 100644 (file)
@@ -37,6 +37,7 @@
 #include "squid.h"
 #include "HttpRequest.h"
 #include "mgr/Registration.h"
+#include "neighbors.h"
 #include "protos.h"
 #include "Store.h"
 
diff --git a/src/peer_sourcehash.h b/src/peer_sourcehash.h
new file mode 100644 (file)
index 0000000..bbfd872
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_PEER_SOURCEHASH_H_
+#define SQUID_PEER_SOURCEHASH_H_
+
+class peer;
+class HttpRequest;
+
+extern void peerSourceHashInit(void);
+extern peer * peerSourceHashSelectParent(HttpRequest * request);
+
+
+
+#endif /* SQUID_PEER_SOURCEHASH_H_ */
index 342119209ce21e48f51170b9171a6aeb6e011ece..3f7d28673d6d1bbc0fe7d7b1b323a6f64539e586 100644 (file)
@@ -42,6 +42,7 @@
 #include "globals.h"
 #include "HttpRequest.h"
 #include "mgr/Registration.h"
+#include "neighbors.h"
 #include "protos.h"
 #include "Store.h"
 
diff --git a/src/peer_userhash.h b/src/peer_userhash.h
new file mode 100644 (file)
index 0000000..7d19643
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_PEER_USERHASH_H_
+#define SQUID_PEER_USERHASH_H_
+
+class peer;
+class HttpRequest;
+
+extern void peerUserHashInit(void);
+extern peer * peerUserHashSelectParent(HttpRequest * request);
+
+#endif /* SQUID_PEER_USERHASH_H_ */
index ad0d82460ffa6b62addc5cd5ffdff6ecd4115ed7..8c92295947a49d516de150bb581da467b1760436 100644 (file)
 #include "enums.h"
 /* some parameters stil need this */
 #include "wordlist.h"
-
-/* for parameters that still need these */
+#include "anyp/ProtocolType.h"
+#include "Debug.h"
+#include "HttpHeader.h"
+#include "HttpStatusCode.h"
 #include "lookup_t.h"
 
 
@@ -50,81 +52,6 @@ class ClientInfo;
 #endif
 
 
-#if USE_FORW_VIA_DB
-extern void fvdbCountVia(const char *key);
-extern void fvdbCountForw(const char *key);
-#endif
-#if HEADERS_LOG
-SQUIDCEXTERN void headersLog(int cs, int pq, const HttpRequestMethod& m, void *data);
-#endif
-extern int logTypeIsATcpHit(log_type);
-
-/*
- * cache_cf.c
- */
-SQUIDCEXTERN void configFreeMemory(void);
-class MemBuf;
-extern void wordlistCat(const wordlist *, MemBuf * mb);
-extern void self_destruct(void);
-SQUIDCEXTERN void add_http_port(char *portspec);
-extern int xatoi(const char *token);
-extern long xatol(const char *token);
-
-
-/* extra functions from cache_cf.c useful for lib modules */
-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);
-
-
-/* client_side.c - FD related client side routines */
-
-SQUIDCEXTERN void clientdbInit(void);
-
-#include "anyp/ProtocolType.h"
-SQUIDCEXTERN void clientdbUpdate(const Ip::Address &, log_type, AnyP::ProtocolType, size_t);
-
-SQUIDCEXTERN int clientdbCutoffDenied(const Ip::Address &);
-void clientdbDump(StoreEntry *);
-SQUIDCEXTERN void clientdbFreeMemory(void);
-
-SQUIDCEXTERN int clientdbEstablished(const Ip::Address &, int);
-#if USE_DELAY_POOLS
-SQUIDCEXTERN void clientdbSetWriteLimiter(ClientInfo * info, const int writeSpeedLimit,const double initialBurst,const double highWatermark);
-SQUIDCEXTERN ClientInfo * clientdbGetInfo(const Ip::Address &addr);
-#endif
-SQUIDCEXTERN void clientOpenListenSockets(void);
-SQUIDCEXTERN void clientHttpConnectionsClose(void);
-SQUIDCEXTERN void httpRequestFree(void *);
-
-extern void clientAccessCheck(void *);
-
-#include "Debug.h"
-
-/* packs, then prints an object using debugs() */
-SQUIDCEXTERN void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
-
-/* disk.c */
-SQUIDCEXTERN int file_open(const char *path, int mode);
-SQUIDCEXTERN void file_close(int fd);
-/* Adapter file_write for object callbacks */
-
-template <class O>
-void
-FreeObject(void *address)
-{
-    O *anObject = static_cast <O *>(address);
-    delete anObject;
-}
-
-SQUIDCEXTERN void file_write(int, off_t, void const *, 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);
-
 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 *);
@@ -133,20 +60,6 @@ extern void fdDumpOpen(void);
 extern int fdUsageHigh(void);
 extern void fdAdjustReserved(void);
 
-SQUIDCEXTERN void fqdncache_nbgethostbyaddr(const Ip::Address &, FQDNH *, void *);
-
-SQUIDCEXTERN const char *fqdncache_gethostbyaddr(const Ip::Address &, int flags);
-SQUIDCEXTERN void fqdncache_init(void);
-void fqdnStats(StoreEntry *);
-SQUIDCEXTERN void fqdncacheReleaseInvalid(const char *);
-
-SQUIDCEXTERN const char *fqdnFromAddr(const Ip::Address &);
-SQUIDCEXTERN int fqdncacheQueueDrain(void);
-SQUIDCEXTERN void fqdncacheFreeMemory(void);
-SQUIDCEXTERN void fqdncache_restart(void);
-extern void fqdncache_purgelru(void *);
-SQUIDCEXTERN void fqdncacheAddEntryFromHosts(char *addr, wordlist * hostnames);
-
 class FwdState;
 
 /**
@@ -164,16 +77,6 @@ class HttpReply;
 SQUIDCEXTERN const char *ftpUrlWith2f(HttpRequest *);
 
 
-/**
- \defgroup ServerProtocolGopherAPI Server-Side Gopher API
- \ingroup ServerProtocol
- */
-
-/// \ingroup ServerProtocolGopherAPI
-SQUIDCEXTERN void gopherStart(FwdState *);
-
-/// \ingroup ServerProtocolGopherAPI
-SQUIDCEXTERN int gopherCachable(const HttpRequest *);
 
 
 /**
@@ -187,7 +90,6 @@ SQUIDCEXTERN void whoisStart(FwdState *);
 
 /* http.c */
 /* for http_hdr_type field */
-#include "HttpHeader.h"
 SQUIDCEXTERN int httpCachable(const HttpRequestMethod&);
 SQUIDCEXTERN void httpStart(FwdState *);
 SQUIDCEXTERN mb_size_t httpBuildRequestPrefix(HttpRequest * request,
@@ -197,15 +99,6 @@ SQUIDCEXTERN mb_size_t httpBuildRequestPrefix(HttpRequest * request,
         http_state_flags);
 extern const char *httpMakeVaryMark(HttpRequest * request, HttpReply const * reply);
 
-#include "HttpStatusCode.h"
-
-class StatHist;
-
-/* Http Cache Control Header Field */
-SQUIDCEXTERN void httpHdrCcInitModule(void);
-SQUIDCEXTERN void httpHdrCcCleanModule(void);
-SQUIDCEXTERN void httpHdrCcUpdateStats(const HttpHdrCc * cc, StatHist * hist);
-extern void httpHdrCcStatDumper(StoreEntry * sentry, int idx, double val, double size, int count);
 
 /* Http Header Tools */
 class HttpHeaderFieldInfo;
@@ -224,9 +117,6 @@ SQUIDCEXTERN int httpHeaderParseInt(const char *start, int *val);
 SQUIDCEXTERN void httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt,...) PRINTF_FORMAT_ARG3;
 
 
-/* Http Header */
-SQUIDCEXTERN void httpHeaderInitModule(void);
-SQUIDCEXTERN void httpHeaderCleanModule(void);
 
 /* store report about current header usage and other stats */
 void httpHeaderStoreReport(StoreEntry * e);
@@ -256,18 +146,6 @@ extern variable_list *snmp_meshPtblFn(variable_list *, snint *);
 extern variable_list *snmp_meshCtblFn(variable_list *, snint *);
 #endif /* SQUID_SNMP */
 
-#if USE_WCCP
-extern void wccpInit(void);
-extern void wccpConnectionOpen(void);
-extern void wccpConnectionClose(void);
-#endif /* USE_WCCP */
-
-#if USE_WCCPv2
-extern void wccp2Init(void);
-extern void wccp2ConnectionOpen(void);
-extern void wccp2ConnectionClose(void);
-#endif /* USE_WCCPv2 */
-
 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);
@@ -286,54 +164,6 @@ extern int mimeGetViewOption(const char *fn);
 extern int mcastSetTtl(int, int);
 extern IPH mcastJoinGroups;
 
-SQUIDCEXTERN peer *getFirstPeer(void);
-SQUIDCEXTERN peer *getFirstUpParent(HttpRequest *);
-SQUIDCEXTERN peer *getNextPeer(peer *);
-SQUIDCEXTERN peer *getSingleParent(HttpRequest *);
-SQUIDCEXTERN int neighborsCount(HttpRequest *);
-SQUIDCEXTERN int neighborsUdpPing(HttpRequest *,
-                                  StoreEntry *,
-                                  IRCB * callback,
-                                  void *data,
-                                  int *exprep,
-                                  int *timeout);
-SQUIDCEXTERN void neighborAddAcl(const char *, const char *);
-
-SQUIDCEXTERN void neighborsUdpAck(const cache_key *, icp_common_t *, const Ip::Address &);
-SQUIDCEXTERN void neighborAdd(const char *, const char *, int, int, int, int, int);
-SQUIDCEXTERN void neighbors_init(void);
-#if USE_HTCP
-SQUIDCEXTERN void neighborsHtcpClear(StoreEntry *, const char *, HttpRequest *, const HttpRequestMethod &, htcp_clr_reason);
-#endif
-SQUIDCEXTERN peer *peerFindByName(const char *);
-SQUIDCEXTERN peer *peerFindByNameAndPort(const char *, unsigned short);
-SQUIDCEXTERN peer *getDefaultParent(HttpRequest * request);
-SQUIDCEXTERN peer *getRoundRobinParent(HttpRequest * request);
-SQUIDCEXTERN peer *getWeightedRoundRobinParent(HttpRequest * request);
-SQUIDCEXTERN void peerClearRRStart(void);
-SQUIDCEXTERN void peerClearRR(void);
-SQUIDCEXTERN lookup_t peerDigestLookup(peer * p, HttpRequest * request);
-SQUIDCEXTERN peer *neighborsDigestSelect(HttpRequest * request);
-SQUIDCEXTERN void peerNoteDigestLookup(HttpRequest * 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 HttpRequest *);
-SQUIDCEXTERN void peerConnectFailed(peer *);
-SQUIDCEXTERN void peerConnectSucceded(peer *);
-SQUIDCEXTERN void dump_peer_options(StoreEntry *, peer *);
-SQUIDCEXTERN int peerHTTPOkay(const peer *, HttpRequest *);
-
-SQUIDCEXTERN peer *whichPeer(const Ip::Address &from);
-
-/* peer_digest.c */
-class PeerDigest;
-SQUIDCEXTERN PeerDigest *peerDigestCreate(peer * p);
-SQUIDCEXTERN void peerDigestNeeded(PeerDigest * pd);
-SQUIDCEXTERN void peerDigestNotePeerGone(PeerDigest * pd);
-SQUIDCEXTERN void peerDigestStatsReport(const PeerDigest * pd, StoreEntry * e);
-
 #include "comm/forward.h"
 extern void getOutgoingAddress(HttpRequest * request, Comm::ConnectionPointer conn);
 extern Ip::Address getOutgoingAddr(HttpRequest * request, struct peer *dst_peer);
@@ -343,15 +173,6 @@ SQUIDCEXTERN void urnStart(HttpRequest *, StoreEntry *);
 SQUIDCEXTERN void redirectInit(void);
 SQUIDCEXTERN void redirectShutdown(void);
 
-extern void refreshAddToList(const char *, int, time_t, int, time_t);
-extern int refreshIsCachable(const StoreEntry *);
-extern int refreshCheckHTTP(const StoreEntry *, HttpRequest *);
-extern int refreshCheckICP(const StoreEntry *, HttpRequest *);
-extern int refreshCheckHTCP(const StoreEntry *, HttpRequest *);
-extern int refreshCheckDigest(const StoreEntry *, time_t delta);
-extern time_t getMaxAge(const char *url);
-extern void refreshInit(void);
-extern const refresh_t *refreshLimits(const char *url);
 
 extern void shut_down(int);
 extern void rotate_logs(int);
@@ -361,44 +182,6 @@ extern void reconfigure(int);
 extern void start_announce(void *unused);
 extern void waisStart(FwdState *);
 
-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);
-
-/* mem */
-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);
-void memFree2K(void *);
-void memFree4K(void *);
-void memFree8K(void *);
-void memFree16K(void *);
-void memFree32K(void *);
-void memFree64K(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, bool zeroOnPush = true);
-SQUIDCEXTERN void memCheckInit(void);
-
-
-/* Mem */
-SQUIDCEXTERN void memConfigure(void);
-
 /* ----------------------------------------------------------------- */
 
 /* repl_modules.c */
@@ -413,24 +196,6 @@ extern void storeLogClose(void);
 extern void storeLogOpen(void);
 
 
-/*
- * store_key_*.c
- */
-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 HttpRequestMethod&);
-SQUIDCEXTERN const cache_key *storeKeyPublicByRequest(HttpRequest *);
-SQUIDCEXTERN const cache_key *storeKeyPublicByRequestMethod(HttpRequest *, const HttpRequestMethod&);
-SQUIDCEXTERN const cache_key *storeKeyPrivate(const char *, const HttpRequestMethod&, int);
-SQUIDCEXTERN int storeKeyHashBuckets(int);
-SQUIDCEXTERN int storeKeyNull(const cache_key *);
-SQUIDCEXTERN void storeKeyInit(void);
-SQUIDCEXTERN HASHHASH storeKeyHashHash;
-SQUIDCEXTERN HASHCMP storeKeyHashCmp;
-
 /*
  * store_digest.c
  */
@@ -541,46 +306,17 @@ SQUIDCEXTERN void unlinkdClose(void);
 SQUIDCEXTERN void unlinkdUnlink(const char *);
 #endif
 
-SQUIDCEXTERN AnyP::ProtocolType urlParseProtocol(const char *, const char *e = NULL);
-SQUIDCEXTERN void urlInitialize(void);
-SQUIDCEXTERN HttpRequest *urlParse(const HttpRequestMethod&, char *, HttpRequest *request = NULL);
-SQUIDCEXTERN const char *urlCanonical(HttpRequest *);
-SQUIDCEXTERN char *urlCanonicalClean(const HttpRequest *);
-SQUIDCEXTERN const char *urlCanonicalFakeHttps(const HttpRequest * request);
-SQUIDCEXTERN bool urlIsRelative(const char *);
-SQUIDCEXTERN char *urlMakeAbsolute(const HttpRequest *, const char *);
-SQUIDCEXTERN char *urlRInternal(const char *host, unsigned 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 HttpRequest *);
-SQUIDCEXTERN int urlDefaultPort(AnyP::ProtocolType p);
-SQUIDCEXTERN char *urlHostname(const char *url);
-SQUIDCEXTERN void urlExtMethodConfigure(void);
 
 SQUIDCEXTERN peer_t parseNeighborType(const char *s);
 
-/* tools.c */
-//UNUSED       #include "dlink.h"
-//UNUSED       SQUIDCEXTERN void dlinkAdd(void *data, dlink_node *, dlink_list *);
-//UNUSED       SQUIDCEXTERN void dlinkAddAfter(void *, dlink_node *, dlink_node *, dlink_list *);
-//UNUSED       SQUIDCEXTERN void dlinkAddTail(void *data, dlink_node *, dlink_list *);
-//UNUSED       SQUIDCEXTERN void dlinkDelete(dlink_node * m, dlink_list * list);
-//UNUSED       SQUIDCEXTERN void dlinkNodeDelete(dlink_node * m);
-//UNUSED       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);
-extern int isPowTen(int);
-SQUIDCEXTERN void parseEtcHosts(void);
-SQUIDCEXTERN int getMyPort(void);
-SQUIDCEXTERN void setUmask(mode_t mask);
-
-SQUIDCEXTERN char *strwordtok(char *buf, char **t);
-SQUIDCEXTERN void strwordquote(MemBuf * mb, const char *str);
+SQUIDCEXTERN int stringHasWhitespace(const char *); //String.cc
+SQUIDCEXTERN int stringHasCntl(const char *); //String.cc
+SQUIDCEXTERN void linklistPush(link_list **, void *); //list.cc
+SQUIDCEXTERN void *linklistShift(link_list **); //list.cc
+SQUIDCEXTERN int xrename(const char *from, const char *to); //disk.cc
+extern int isPowTen(int); //int.cc
+
+SQUIDCEXTERN char *strwordtok(char *buf, char **t); //String.cc
 
 
 /*
@@ -595,45 +331,6 @@ SQUIDCEXTERN pid_t ipcCreate(int type,
                              int *wfd,
                              void **hIpc);
 
-class CacheDigestGuessStats;
-/* CacheDigest */
-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(CacheDigestGuessStats * stats, int real_hit, int guess_hit);
-SQUIDCEXTERN void cacheDigestGuessStatsReport(const CacheDigestGuessStats * stats, StoreEntry * sentry, const char *label);
-SQUIDCEXTERN void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e);
-
-SQUIDCEXTERN void internalStart(const Comm::ConnectionPointer &clientConn, HttpRequest *, 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 *, unsigned short, const char *, const char *);
-SQUIDCEXTERN const char *internalHostname(void);
-SQUIDCEXTERN int internalHostnameIs(const char *);
-
-SQUIDCEXTERN void carpInit(void);
-SQUIDCEXTERN peer *carpSelectParent(HttpRequest *);
-
-SQUIDCEXTERN void peerUserHashInit(void);
-SQUIDCEXTERN peer * peerUserHashSelectParent(HttpRequest * request);
-
-SQUIDCEXTERN void peerSourceHashInit(void);
-SQUIDCEXTERN peer * peerSourceHashSelectParent(HttpRequest * request);
-
-#if USE_LEAKFINDER
-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
 
 /*
  * prototypes for system functions missing from system includes
@@ -655,8 +352,6 @@ SQUIDCEXTERN int gethostname(char *, int);
 class StatCounters;
         SQUIDCEXTERN StatCounters *snmpStatGet(int);
 
-        /* Vary support functions */
-        SQUIDCEXTERN int varyEvaluateMatch(StoreEntry * entry, HttpRequest * req);
 
         /* CygWin & Windows NT Port */
         /* win32.c */
@@ -682,46 +377,7 @@ class StatCounters;
 
 #endif
 
-    /* external_acl.c */
-    class external_acl;
-            SQUIDCEXTERN void parse_externalAclHelper(external_acl **);
-
-            SQUIDCEXTERN void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *);
-
-            SQUIDCEXTERN void free_externalAclHelper(external_acl **);
-
-            typedef void EAH(void *data, void *result);
-            class ACLChecklist;
-                SQUIDCEXTERN void externalAclLookup(ACLChecklist * ch, void *acl_data, EAH * handler, void *data);
-
-                SQUIDCEXTERN void externalAclInit(void);
-
-                SQUIDCEXTERN void externalAclShutdown(void);
-
-                SQUIDCEXTERN char *strtokFile(void);
-
-#if USE_WCCPv2
-
-                SQUIDCEXTERN void parse_wccp2_method(int *v);
-                SQUIDCEXTERN void free_wccp2_method(int *v);
-                SQUIDCEXTERN void dump_wccp2_method(StoreEntry * e, const char *label, int v);
-                SQUIDCEXTERN void parse_wccp2_amethod(int *v);
-                SQUIDCEXTERN void free_wccp2_amethod(int *v);
-                SQUIDCEXTERN void dump_wccp2_amethod(StoreEntry * e, const char *label, int v);
-
-                SQUIDCEXTERN void parse_wccp2_service(void *v);
-                SQUIDCEXTERN void free_wccp2_service(void *v);
-                SQUIDCEXTERN void dump_wccp2_service(StoreEntry * e, const char *label, void *v);
-
-                SQUIDCEXTERN int check_null_wccp2_service(void *v);
-
-                SQUIDCEXTERN void parse_wccp2_service_info(void *v);
-
-                SQUIDCEXTERN void free_wccp2_service_info(void *v);
-
-                SQUIDCEXTERN void dump_wccp2_service_info(StoreEntry * e, const char *label, void *v);
-
-#endif
+extern char *strtokFile(void);
 
 #if USE_AUTH
 
index 5751ad4c8316efbd2bbe792d2f5f332008cc74cc..621a8ee0f7b6627f215fee5401d45b104600ba94 100644 (file)
@@ -40,6 +40,7 @@
 #include "client_side_request.h"
 #include "comm/Connection.h"
 #include "fde.h"
+#include "fqdncache.h"
 #include "globals.h"
 #include "HttpRequest.h"
 #include "helper.h"
index 09d23627101624eee7986b96c3fcd4172d29bb9f..6a6340be1f3e7a3d8da6cee1c722caea8bbf1597 100644 (file)
@@ -46,6 +46,7 @@
 #include "protos.h"
 #include "SquidTime.h"
 #include "Store.h"
+#include "URL.h"
 
 typedef enum {
     rcHTTP,
diff --git a/src/refresh.h b/src/refresh.h
new file mode 100644 (file)
index 0000000..804716f
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_REFRESH_H_
+#define SQUID_REFRESH_H_
+
+extern void refreshAddToList(const char *, int, time_t, int, time_t);
+extern int refreshIsCachable(const StoreEntry *);
+extern int refreshCheckHTTP(const StoreEntry *, HttpRequest *);
+extern int refreshCheckICP(const StoreEntry *, HttpRequest *);
+extern int refreshCheckHTCP(const StoreEntry *, HttpRequest *);
+extern int refreshCheckDigest(const StoreEntry *, time_t delta);
+extern time_t getMaxAge(const char *url);
+extern void refreshInit(void);
+extern const refresh_t *refreshLimits(const char *url);
+
+
+
+#endif /* SQUID_REFRESH_H_ */
index b5ee95a87f80f6baf390ae8d085bf35ecac3ccb1..4560e89d27523fd1d3e5494ce34b7bca908bd5e1 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "squid.h"
 #include "comm/Connection.h"
+#include "disk.h"
 #include "event.h"
 #include "fde.h"
 #include "globals.h"
@@ -42,6 +43,7 @@
 #include "ipcache.h"
 #include "protos.h"
 #include "SquidTime.h"
+#include "tools.h"
 
 static IPH send_announce;
 
index d0ab68419e245dfad4f19c36aa40e3eb62c6bb01..dcf42b3b5f7bba570d3e9f6f25e88968382c1c01 100644 (file)
 #include "cache_snmp.h"
 #include "globals.h"
 #include "mem_node.h"
+#include "neighbors.h"
 #include "protos.h"
 #include "StatCounters.h"
 #include "StatHist.h"
 #include "SquidMath.h"
 #include "SquidTime.h"
+#include "stat.h"
 #include "Store.h"
 
 /************************************************************************
index 13de8021109894c454d3ee15eb2ae1f56c66bc09..d63e789fe036c6aba2067ec1bc45886638a047c8 100644 (file)
@@ -12,7 +12,7 @@
 #include "protos.h"
 #include "ssl/ServerBump.h"
 #include "Store.h"
-
+#include "URL.h"
 
 CBDATA_NAMESPACED_CLASS_INIT(Ssl, ServerBump);
 
index 34cf8d495dcea2dc81d71dc845f8c34e2f79a972..ee81402e085444433245de412602d78e57d285d6 100644 (file)
@@ -9,6 +9,8 @@
 #include "ssl/helper.h"
 #include "SquidTime.h"
 #include "SwapDir.h"
+#include "wordlist.h"
+#include "protos.h"
 
 Ssl::Helper * Ssl::Helper::GetInstance()
 {
index 3e4244021e404b30cedbdb73f16470b8bffbd0d3..f4a482a28006b19ae297b8b03bd817b7df03d37c 100644 (file)
@@ -47,6 +47,7 @@
 #include "ssl/ErrorDetail.h"
 #include "ssl/support.h"
 #include "ssl/gadgets.h"
+#include "URL.h"
 
 #if HAVE_ERRNO_H
 #include <errno.h>
index b6f63e3062aab07e728e9b7eb912582eb917dd01..2dd0fe8a1908c2399238f008567b85aeded48bb8 100644 (file)
@@ -33,6 +33,7 @@
  */
 
 #include "squid.h"
+#include "CacheDigest.h"
 #include "client_side_request.h"
 #include "client_side.h"
 #include "comm/Connection.h"
 #include "mgr/IoAction.h"
 #include "mgr/Registration.h"
 #include "mgr/ServiceTimesAction.h"
+#include "neighbors.h"
+#include "PeerDigest.h"
 #include "protos.h"
 #include "SquidMath.h"
 #include "SquidTime.h"
 #include "StatCounters.h"
+#include "stat.h"
 #include "StoreClient.h"
 #include "Store.h"
 #if USE_AUTH
diff --git a/src/stat.h b/src/stat.h
new file mode 100644 (file)
index 0000000..2db0594
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_STAT_H_
+#define SQUID_STAT_H_
+
+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 double statRequestHitRatio(int minutes);
+extern double statRequestHitMemoryRatio(int minutes);
+extern double statRequestHitDiskRatio(int minutes);
+extern double statByteHitRatio(int minutes);
+
+#endif /* SQUID_STAT_H_ */
index fdbead6f35fcca4d06f87822ed3b1c2e8f706d8f..5ee1828d94d2757bff063cd3dc43a03e374325c9 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "CacheDigest.h"
 #include "CacheManager.h"
 #include "comm/Connection.h"
 #include "ETag.h"
 #include "stmem.h"
 #include "StoreClient.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "StoreIOState.h"
 #include "StoreMeta.h"
+#include "store_key_md5.h"
 #include "SwapDir.h"
 #include "swap_log_op.h"
 #if USE_DELAY_POOLS
index 141e928adc3da0a212999a4f73164ace7c09774c..ac2e6ad41707f7b16bc4c4f7f0b81818b58d646c 100644 (file)
 #include "globals.h"
 #include "mgr/Registration.h"
 #include "protos.h"
-#if USE_CACHE_DIGESTS
 
+#if USE_CACHE_DIGESTS
+#include "CacheDigest.h"
 #include "HttpReply.h"
 #include "HttpRequest.h"
+#include "internal.h"
 #include "MemObject.h"
 #include "PeerDigest.h"
+#include "refresh.h"
 #include "SquidTime.h"
 #include "Store.h"
 #include "StoreSearch.h"
index 46919af47e23ce0d7f611467153c58e5b4c43402..11e3b86e4e541cbe0d1f74eebd01a15fdd4df3d3 100644 (file)
@@ -43,6 +43,7 @@
 #include "SquidMath.h"
 #include "SquidTime.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "StoreHashIndex.h"
 #include "SwapDir.h"
 #include "swap_log_op.h"
index 8ebb91fad841eed5d366e40a0858938e7972138c..2bd7a9d534d25807ed42acdea63cf75c9e5d5832 100644 (file)
@@ -36,7 +36,9 @@
 #include "squid.h"
 #include "HttpRequest.h"
 #include "md5.h"
-#include "protos.h"
+#include "Mem.h"
+#include "store_key_md5.h"
+#include "URL.h"
 
 static cache_key null_key[SQUID_MD5_DIGEST_LENGTH];
 
diff --git a/src/store_key_md5.h b/src/store_key_md5.h
new file mode 100644 (file)
index 0000000..54b35d4
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * DEBUG: section 20    Storage Manager MD5 Cache Keys
+ * AUTHOR: Duane Wessels
+ *
+ * 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_KEY_MD5_H_
+#define SQUID_STORE_KEY_MD5_H_
+
+#include "hash.h"
+#include "typedefs.h"
+
+class HttpRequestMethod;
+class HttpRequest;
+
+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 HttpRequestMethod&);
+extern const cache_key *storeKeyPublicByRequest(HttpRequest *);
+extern const cache_key *storeKeyPublicByRequestMethod(HttpRequest *, const HttpRequestMethod&);
+extern const cache_key *storeKeyPrivate(const char *, const HttpRequestMethod&, int);
+extern int storeKeyHashBuckets(int);
+extern int storeKeyNull(const cache_key *);
+extern void storeKeyInit(void);
+
+extern HASHHASH storeKeyHashHash;
+extern HASHCMP storeKeyHashCmp;
+
+#endif /* SQUID_STORE_KEY_MD5_H_ */
index b85269d87972f6c6439ba2f280daf91ea278738b..f7d9bdd9fbbe77b674eedd76567626efd8776ba2 100644 (file)
@@ -40,6 +40,7 @@
 #include "protos.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "SwapDir.h"
 #include "StoreSearch.h"
 #include "SquidTime.h"
index 017ef0db598fd6d37898ded96515c911f93214fe..7fcdf5914258600fb52caa3598e785c433e52dc7 100644 (file)
@@ -37,6 +37,8 @@
  */
 
 #include "squid.h"
+#include "CacheDigest.h"
+#include "store_key_md5.h"
 
 #if HAVE_ERRNO_H
 #include <errno.h>
index ab909337209a15aa3b96c72e0eb2e5a650c230c7..645b14a310fa5bd4a9fce2ca19d87acfdd1d4eb6 100644 (file)
@@ -6,29 +6,28 @@
 
 #define STUB_API "stub_mem.cc"
 #include "STUB.h"
-/* mem* definitions are still in protos.h */
-#include "protos.h"
+#include "Mem.h"
 
-extern "C" void
+void
 memFreeString(size_t size, void *buf)
 {
     xfree(buf);
 }
 
-extern "C" void *
+void *
 memAllocString(size_t net_size, size_t * gross_size)
 {
     *gross_size=net_size;
     return xmalloc(net_size);
 }
 
-extern "C" void
+void
 memFreeBuf(size_t size, void *buf)
 {
     xfree(buf);
 }
 
-extern "C" void *
+void *
 memAllocBuf(size_t net_size, size_t * gross_size)
 {
     *gross_size=net_size;
@@ -38,7 +37,7 @@ memAllocBuf(size_t net_size, size_t * gross_size)
 /* net_size is the new size, *gross size is the old gross size, to be changed to
  * the new gross size as a side-effect.
  */
-extern "C" void *
+void *
 memReallocBuf(void *oldbuf, size_t net_size, size_t * gross_size)
 {
     void *rv=xrealloc(oldbuf,net_size);
index ad0fdb9fb67a0c16d2ad96184a3ab917932bae16..2ab9f2fb4b302f7f18425706f82ae6d270bf8611 100644 (file)
@@ -8,9 +8,9 @@
 #include "event.h"
 #include "Mem.h"
 #include "protos.h"
+#include "stat.h"
 #include "testEvent.h"
 
-
 CPPUNIT_TEST_SUITE_REGISTRATION( testEvent );
 
 /* init legacy static-initialized modules */
index bd4fb74ef1d883ee67ed0335ff6f6aeb08e762dc..693988f7e8f691ac50244b084ccbbd94a757ee69 100644 (file)
@@ -7,6 +7,7 @@
 #include "EventLoop.h"
 #include "Mem.h"
 #include "protos.h"
+#include "stat.h"
 
 CPPUNIT_TEST_SUITE_REGISTRATION( testEventLoop );
 
index b87ee3c32afc7ca738518da62f570e1ef70f15fb..3b02f4a77dd7ecf31ba912d2b545e104ed51a118 100644 (file)
@@ -3,6 +3,7 @@
 #include <cppunit/TestAssert.h>
 
 #include "testHttpReply.h"
+#include "HttpHeader.h"
 #include "HttpReply.h"
 #include "Mem.h"
 #include "protos.h"
index 8197634aad12aebb4baff58a9414ad0c01a884c5..4e4d60d5b5be1f0882a25687b000ebde18d32b87 100644 (file)
@@ -4,6 +4,7 @@
 #include <cppunit/TestAssert.h>
 
 #include "testHttpRequest.h"
+#include "HttpHeader.h"
 #include "HttpRequest.h"
 #include "Mem.h"
 #include "protos.h"
index 3bea878a804e9eb50337f6ce3f257cd9230cc882..c50f9fded1f0f440fa6459fa0b097cc141a32a81 100644 (file)
 
 #include "squid.h"
 #include "base/Subscription.h"
+#include "client_side.h"
+#include "disk.h"
 #include "fde.h"
+#include "fqdncache.h"
 #include "htcp.h"
 #include "ICP.h"
 #include "ip/Intercept.h"
diff --git a/src/tools.h b/src/tools.h
new file mode 100644 (file)
index 0000000..49eb7ed
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * DEBUG: section 
+ * AUTHOR: 
+ *
+ * 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_TOOLS_H_
+#define SQUID_TOOLS_H_
+
+/* for kb_t */
+#include "typedefs.h"
+
+class MemBuf;
+
+extern void kb_incr(kb_t *, size_t);
+extern void parseEtcHosts(void);
+extern int getMyPort(void);
+extern void setUmask(mode_t mask);
+extern void strwordquote(MemBuf * mb, const char *str);
+
+/* packs, then prints an object using debugs() */
+extern void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
+
+
+#endif /* SQUID_TOOLS_H_ */
index 547eec19ec6b26601d011c40fe71a12a7adcca18..5aca7e97cbe62c649c8525e850a61a1fdcfad2bb 100644 (file)
@@ -50,6 +50,7 @@
 #include "PeerSelectState.h"
 #include "protos.h"
 #include "StatCounters.h"
+#include "tools.h"
 
 #if USE_DELAY_POOLS
 #include "DelayId.h"
index 46c416e3a89361e7cf29d70877509ddee9e2bdb4..7c5da5de898f05e557045b84e57747c352cd608f 100644 (file)
@@ -36,6 +36,7 @@
 #include "StoreMeta.h"
 #include "StoreMetaUnpacker.h"
 #include "Store.h"
+#include "store_key_md5.h"
 #include "Generic.h"
 #include "mgr/Registration.h"
 
index 5d08e7de8c89f27c856d737aef1a8b8c40a16c5c..8428bf04bb263b129f9673889b35b4beadcddb02 100644 (file)
@@ -34,6 +34,7 @@
  */
 
 #include "squid.h"
+#include "disk.h"
 #include "fde.h"
 #include "globals.h"
 #include "xusleep.h"
index e72cd09932c585199de1aab785721f7299bdaba2..c340583e5f6e518ce4f9a0b39e47caabd7bc3840 100644 (file)
@@ -45,6 +45,7 @@
 #include "SquidTime.h"
 #include "icmp/net_db.h"
 #include "protos.h"
+#include "URL.h"
 
 #define        URN_REQBUF_SZ   4096
 
diff --git a/src/wccp.h b/src/wccp.h
new file mode 100644 (file)
index 0000000..7fdbe9e
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * DEBUG: section 80    WCCP Support
+ * AUTHOR: Glenn Chisholm
+ *
+ * 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_WCCP_H_
+#define SQUID_WCCP_H_
+
+#if USE_WCCP
+extern void wccpInit(void);
+extern void wccpConnectionOpen(void);
+extern void wccpConnectionClose(void);
+#endif /* USE_WCCP */
+
+
+
+#endif /* SQUID_WCCP_H_ */
index 45d0653b67ba88390efa1830749df0711edc0bfd..c7e7aa9c9139b17e5950ed171eca51816a4ae241 100644 (file)
@@ -34,6 +34,7 @@
 
 #if USE_WCCPv2
 
+#include "cache_cf.h"
 #include "comm.h"
 #include "comm/Connection.h"
 #include "comm/Loops.h"
diff --git a/src/wccp2.h b/src/wccp2.h
new file mode 100644 (file)
index 0000000..6474013
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * DEBUG: section 80    WCCP Support
+ * AUTHOR: Steven Wilton
+ *
+ * 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_WCCP2_H_
+#define SQUID_WCCP2_H_
+
+#if USE_WCCPv2
+
+class StoreEntry;
+
+extern void wccp2Init(void);
+extern void wccp2ConnectionOpen(void);
+extern void wccp2ConnectionClose(void);
+extern void parse_wccp2_method(int *v);
+extern void free_wccp2_method(int *v);
+extern void dump_wccp2_method(StoreEntry * e, const char *label, int v);
+extern void parse_wccp2_amethod(int *v);
+extern void free_wccp2_amethod(int *v);
+extern void dump_wccp2_amethod(StoreEntry * e, const char *label, int v);
+
+extern void parse_wccp2_service(void *v);
+extern void free_wccp2_service(void *v);
+extern void dump_wccp2_service(StoreEntry * e, const char *label, void *v);
+
+extern int check_null_wccp2_service(void *v);
+
+extern void parse_wccp2_service_info(void *v);
+
+extern void free_wccp2_service_info(void *v);
+
+extern void dump_wccp2_service_info(StoreEntry * e, const char *label, void *v);
+#endif /* USE_WCCPv2 */
+
+#endif /* WCCP2_H_ */
index 551413e992c0ce328c3c4a8208dda4d0017d920c..d4a0c6d9f8ec2774c0c5bb18425622efd8574659 100644 (file)
@@ -44,6 +44,7 @@
 #include "protos.h"
 #include "StatCounters.h"
 #include "Store.h"
+#include "tools.h"
 
 #if HAVE_ERRNO_H
 #include <errno.h>
index cec9258a4d29ae24b871e1c49b174421735f0d13..22ffbca2359e60b7f45bec447a9da9dba70f4684 100644 (file)
@@ -47,10 +47,11 @@ public:
 
 MEMPROXY_CLASS_INLINE(wordlist);
 
-SQUIDCEXTERN const char *wordlistAdd(wordlist **, const char *);
-SQUIDCEXTERN void wordlistAddWl(wordlist **, wordlist *);
-SQUIDCEXTERN void wordlistJoin(wordlist **, wordlist **);
-SQUIDCEXTERN wordlist *wordlistDup(const wordlist *);
-SQUIDCEXTERN void wordlistDestroy(wordlist **);
+extern const char *wordlistAdd(wordlist **, const char *);
+extern void wordlistCat(const wordlist *, MemBuf * mb);
+extern void wordlistAddWl(wordlist **, wordlist *);
+extern void wordlistJoin(wordlist **, wordlist **);
+extern wordlist *wordlistDup(const wordlist *);
+extern void wordlistDestroy(wordlist **);
 
 #endif /* SQUID_WORDLIST_H */
index c7360d6fbd8b5da3263162121e5dfba381d76156..8e564d05f6a6dcc6ccd5127af9300c82390d0e66 100644 (file)
@@ -108,6 +108,7 @@ DISTCHECK_CONFIGURE_FLAGS=" \
        --with-pic \
        --with-pthreads \
        --enable-build-info=squid\ test\ build \
+       --enable-ssl-crtd \
        "
 
 # Fix the distclean testing.