]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Summary: Merge in Gerards AIX patches.
authorrobertc <>
Mon, 20 Oct 2003 18:33:01 +0000 (18:33 +0000)
committerrobertc <>
Mon, 20 Oct 2003 18:33:01 +0000 (18:33 +0000)
Keywords:

Patches applied:

 * gerard@eviston.net--squid/squid--aix-fixes--3.0--patch-2
   remove declaration of squid_rn_mkfreelist from radix.h

 * gerard@eviston.net--squid/squid--aix-fixes--3.0--patch-5
   typecast ntohl() in wccp.cc

 * gerard@eviston.net--squid/squid--aix-fixes--3.0--patch-15
   first round of template instantiation fixes for g++

 * gerard@eviston.net--squid/squid--aix-fixes--3.0--patch-16
   template instantiation continued

 * gerard@eviston.net--squid/squid--aix-fixes--3.0--patch-17
   last of the template instantiation stuff

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-2
   resync with HEAD

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-3
   debug() ==> debugs() round 1

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-4
   casts and format strings

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-5
   debug() => debugs() round 2: peer_digest.cc

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-6
   casts in stat.cc

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-7
   debug() => debugs() round 3

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-8
   cast for ntohl() in wccp.cc

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-9
   casts in tools.cc

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-10
   fix for duplicate symbol squid_rn_mkfreelist

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-11
   explicit template instantiation

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-12
   name conflict for 'acl' on AIX, remove typedef

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-13
   store_io_aufs.cc: debug() => debugs() 1-liner

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-14
   resync with HEAD

 * ports@eviston.net--aix/squid--aix-fixes--3.0--patch-15
   resync with HEAD

19 files changed:
include/radix.h
src/ACL.h
src/ACLBrowser.cc
src/ACLIntRange.cc
src/ACLMethod.cc
src/ACLMethodData.cc
src/ACLMyPort.cc
src/ACLProtocol.cc
src/ACLProtocolData.cc
src/ACLReferer.cc
src/ACLReplyMIMEType.cc
src/ACLRequestMIMEType.cc
src/acl.cc
src/asn.cc
src/cache_cf.cc
src/comm.cc
src/external_acl.cc
src/fs/aufs/store_io_aufs.cc
src/structs.h

index ac6a6eb57cdfc35dd3d04bd4d0385855ef2a5d63..c963531e86611cb54096f03a03e107b47b5855d0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: radix.h,v 1.17 2003/06/19 13:12:00 robertc Exp $
+ * $Id: radix.h,v 1.18 2003/10/20 12:33:03 robertc Exp $
  */
 
 #ifndef SQUID_RADIX_H
  * Radix search tree node layout.
  */
 
-struct squid_radix_node {
+struct squid_radix_node
+{
+
     struct squid_radix_mask *rn_mklist;        /* list of masks contained in subtree */
+
     struct squid_radix_node *rn_p;     /* parent */
     short rn_b;                        /* bit offset; -1-index(netmask) */
     char rn_bmask;             /* node: mask for bit test */
@@ -54,21 +57,34 @@ struct squid_radix_node {
 #define RNF_NORMAL     1       /* leaf contains normal route */
 #define RNF_ROOT       2       /* leaf is root leaf for tree */
 #define RNF_ACTIVE     4       /* This node is alive (for rtfree) */
+
     union {
-       struct {                /* leaf only data: */
-           char *rn_Key;       /* object of search */
-           char *rn_Mask;      /* netmask, if present */
-           struct squid_radix_node *rn_Dupedkey;
-       } rn_leaf;
-       struct {                /* node only data: */
-           int rn_Off;         /* where to start compare */
-           struct squid_radix_node *rn_L;      /* progeny */
-           struct squid_radix_node *rn_R;      /* progeny */
-       } rn_node;
+
+        struct {               /* leaf only data: */
+            char *rn_Key;      /* object of search */
+            char *rn_Mask;     /* netmask, if present */
+
+            struct squid_radix_node *rn_Dupedkey;
+        }
+
+        rn_leaf;
+
+        struct {               /* node only data: */
+            int rn_Off;                /* where to start compare */
+
+            struct squid_radix_node *rn_L;     /* progeny */
+
+            struct squid_radix_node *rn_R;     /* progeny */
+        }
+
+        rn_node;
     } rn_u;
 #ifdef RN_DEBUG
+
     int rn_info;
+
     struct squid_radix_node *rn_twin;
+
     struct squid_radix_node *rn_ybro;
 #endif
 };
@@ -80,56 +96,88 @@ struct squid_radix_node {
  * Annotations to tree concerning potential routes applying to subtrees.
  */
 
-struct squid_radix_mask {
+struct squid_radix_mask
+{
     short rm_b;                        /* bit offset; -1-index(netmask) */
     char rm_unused;            /* cf. rn_bmask */
     unsigned char rm_flags;    /* cf. rn_flags */
+
     struct squid_radix_mask *rm_mklist;        /* more masks to try */
     union {
-       char *rmu_mask;         /* the mask */
-       struct squid_radix_node *rmu_leaf;      /* for normal routes */
+        char *rmu_mask;                /* the mask */
+
+        struct squid_radix_node *rmu_leaf;     /* for normal routes */
     } rm_rmu;
     int rm_refs;               /* # of references to this struct */
-}         *squid_rn_mkfreelist;
+};
+
+struct squid_radix_node_head
+{
 
-struct squid_radix_node_head {
     struct squid_radix_node *rnh_treetop;
     int rnh_addrsize;          /* permit, but not require fixed keys */
     int rnh_pktsize;           /* permit, but not require fixed keys */
+
     struct squid_radix_node *(*rnh_addaddr)    /* add based on sockaddr */
-               (void *v, void *mask,
-           struct squid_radix_node_head * head, struct squid_radix_node nodes[]);
+                (void *v, void *mask,
+
+                 struct squid_radix_node_head * head, struct squid_radix_node nodes[]);
+
     struct squid_radix_node *(*rnh_addpkt)     /* add based on packet hdr */
-               (void *v, void *mask,
-           struct squid_radix_node_head * head, struct squid_radix_node nodes[]);
+                (void *v, void *mask,
+
+                 struct squid_radix_node_head * head, struct squid_radix_node nodes[]);
+
     struct squid_radix_node *(*rnh_deladdr)    /* remove based on sockaddr */
-               (void *v, void *mask, struct squid_radix_node_head * head);
+
+                (void *v, void *mask, struct squid_radix_node_head * head);
+
     struct squid_radix_node *(*rnh_delpkt)     /* remove based on packet hdr */
-               (void *v, void *mask, struct squid_radix_node_head * head);
+
+                (void *v, void *mask, struct squid_radix_node_head * head);
+
     struct squid_radix_node *(*rnh_matchaddr)          /* locate based on sockaddr */
-               (void *v, struct squid_radix_node_head * head);
+
+                (void *v, struct squid_radix_node_head * head);
+
     struct squid_radix_node *(*rnh_lookup)     /* locate based on sockaddr */
-               (void *v, void *mask, struct squid_radix_node_head * head);
+
+                (void *v, void *mask, struct squid_radix_node_head * head);
+
     struct squid_radix_node *(*rnh_matchpkt)   /* locate based on packet hdr */
-               (void *v, struct squid_radix_node_head * head);
+
+                (void *v, struct squid_radix_node_head * head);
     int (*rnh_walktree)                /* traverse tree */
-        (struct squid_radix_node_head * head, int (*f) (struct squid_radix_node *, void *), void *w);
+
+    (struct squid_radix_node_head * head, int (*f) (struct squid_radix_node *, void *), void *w);
+
     struct squid_radix_node rnh_nodes[3];      /* empty tree for common case */
 };
 
 
 SQUIDCEXTERN void squid_rn_init (void);
+
 SQUIDCEXTERN int squid_rn_inithead(struct squid_radix_node_head **, int);
 SQUIDCEXTERN int squid_rn_refines(void *, void *);
+
 SQUIDCEXTERN int squid_rn_walktree(struct squid_radix_node_head *, int (*)(struct squid_radix_node *, void *), void *);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_addmask(void *, int, int);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_addroute(void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2]);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_delete(void *, void *, struct squid_radix_node_head *);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_insert(void *, struct squid_radix_node_head *, int *, struct squid_radix_node[2]);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_match(void *, struct squid_radix_node_head *);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_newpair(void *, int, struct squid_radix_node[2]);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_search(void *, struct squid_radix_node *);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_search_m(void *, struct squid_radix_node *, void *);
+
 SQUIDCEXTERN struct squid_radix_node *squid_rn_lookup(void *, void *, struct squid_radix_node_head *);
 
 #endif /* SQUID_RADIX_H */
index f2cb8ff2e9844e1616a8da4adef76609cced5c8f..fb5cbe0844049bedfb7a6e25024f973b7653d428 100644 (file)
--- a/src/ACL.h
+++ b/src/ACL.h
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACL.h,v 1.10 2003/08/04 22:14:38 robertc Exp $
+ * $Id: ACL.h,v 1.11 2003/10/20 12:33:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -39,7 +39,7 @@
 
 /* acl.c */
 SQUIDCEXTERN void aclDestroyAccessList(acl_access **list);
-SQUIDCEXTERN void aclDestroyAcls(acl **);
+SQUIDCEXTERN void aclDestroyAcls(ACL **);
 SQUIDCEXTERN void aclDestroyAclList(acl_list **);
 SQUIDCEXTERN void aclParseAccessLine(acl_access **);
 SQUIDCEXTERN void aclParseAclList(acl_list **);
@@ -49,7 +49,7 @@ SQUIDCEXTERN err_type aclGetDenyInfoPage(acl_deny_info_list ** head, const char
 SQUIDCEXTERN void aclParseDenyInfoLine(struct _acl_deny_info_list **);
 
 SQUIDCEXTERN void aclDestroyDenyInfoList(struct _acl_deny_info_list **);
-SQUIDCEXTERN wordlist *aclDumpGeneric(const acl *);
+SQUIDCEXTERN wordlist *aclDumpGeneric(const ACL *);
 SQUIDCEXTERN void aclCacheMatchFlush(dlink_list * cache);
 extern void dump_acl_access(StoreEntry * entry, const char *name, acl_access * head);
 int aclPurgeMethodInUse(acl_access * a);
@@ -63,7 +63,7 @@ public:
     void operator delete(void *);
 
     static ACL *Factory (char const *);
-    static void ParseAclLine(acl ** head);
+    static void ParseAclLine(ACL ** head);
     static void Initialize();
     static ACL* FindByName(const char *name);
 
@@ -142,7 +142,7 @@ public:
     void negated(bool isNegated);
     bool matches (ACLChecklist *)const;
     int op;
-    acl *_acl;
+    ACL *_acl;
     ACLList *next;
 
 private:
index 017918870a463c24c61e710e2893d8ae132edcc3..e048ec1f384d8ec8498ac546b24e54f0db03c3e8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLBrowser.cc,v 1.1 2003/02/17 07:01:34 robertc Exp $
+ * $Id: ACLBrowser.cc,v 1.2 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
 #include "ACLChecklist.h"
 #include "ACLRegexData.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<char const *>
+
+;
+template class ACLRequestHeaderStrategy<HDR_USER_AGENT>
+
+;
+
 ACL::Prototype ACLBrowser::RegistryProtoype(&ACLBrowser::RegistryEntry_, "browser");
+
 ACLStrategised<char const *> ACLBrowser::RegistryEntry_(new ACLRegexData, ACLRequestHeaderStrategy<HDR_USER_AGENT>::Instance(), "browser");
index 6d1b49018f1c685bfbabff28517b0c2b64ccbbe0..ea57590fb3043db2b7ab5fc5b247a4fcce080590 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLIntRange.cc,v 1.2 2003/08/04 22:14:38 robertc Exp $
+ * $Id: ACLIntRange.cc,v 1.3 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Robert Collins
 #include "squid.h"
 #include "ACLIntRange.h"
 
+/* explicit instantiation required for some systems */
+
+template cbdata_type List<Range<int> >
+::CBDATA_List;
+
 void
 ACLIntRange::parse()
 {
index 0c2b8a47f90363d18c0f6edf20b140ed67255de6..7639b6fcf016dc07709dc704c1b0133ebc24e9d1 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACLMethod.cc,v 1.2 2003/07/11 01:40:34 robertc Exp $
+ * $Id: ACLMethod.cc,v 1.3 2003/10/20 12:33:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #include "ACLChecklist.h"
 #include "HttpRequest.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<method_t>
+
+;
+
 ACL::Prototype ACLMethod::RegistryProtoype(&ACLMethod::RegistryEntry_, "method");
+
 ACLStrategised<method_t> ACLMethod::RegistryEntry_(new ACLMethodData, ACLMethodStrategy::Instance(), "method");
 
 int
index f935dfd954ef150d218e6cacb820f2003c4c3672..048e2d17c7dae95be01a1cd46687ad2213767f1a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLMethodData.cc,v 1.3 2003/08/04 22:14:38 robertc Exp $
+ * $Id: ACLMethodData.cc,v 1.4 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -77,6 +77,11 @@ ACLMethodData::match(method_t toFind)
     return values->findAndTune (toFind);
 }
 
+/* explicit instantiation required for some systems */
+
+template cbdata_type List<method_t>
+::CBDATA_List;
+
 wordlist *
 ACLMethodData::dump()
 {
index ed1b94d2db4a470065f72bc30cd0550b92d0339b..d3f7796134c8333597778df0f7007299c7474274 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACLMyPort.cc,v 1.1 2003/02/25 12:16:55 robertc Exp $
+ * $Id: ACLMyPort.cc,v 1.2 2003/10/20 12:33:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #include "ACLIntRange.h"
 #include "ACLChecklist.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<int>
+
+;
+
 ACL::Prototype ACLMyPort::RegistryProtoype(&ACLMyPort::RegistryEntry_, "myport");
+
 ACLStrategised<int> ACLMyPort::RegistryEntry_(new ACLIntRange, ACLMyPortStrategy::Instance(), "myport");
 
 int
index 2cf6c41a07165fed505a92ee188e0b0d64942be9..1690fc45c5f0bb5813de6d2f63353c727acc3770 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACLProtocol.cc,v 1.2 2003/07/11 01:40:34 robertc Exp $
+ * $Id: ACLProtocol.cc,v 1.3 2003/10/20 12:33:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #include "ACLChecklist.h"
 #include "HttpRequest.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<protocol_t>
+
+;
+
 ACL::Prototype ACLProtocol::RegistryProtoype(&ACLProtocol::RegistryEntry_, "proto");
+
 ACLStrategised<protocol_t> ACLProtocol::RegistryEntry_(new ACLProtocolData, ACLProtocolStrategy::Instance(), "proto");
 
 int
index 424eeabe8f0092c2d83556267fe5c8a9f281b860..3b9907ea02a645502c78e020cf100650892743cd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLProtocolData.cc,v 1.3 2003/08/04 22:14:38 robertc Exp $
+ * $Id: ACLProtocolData.cc,v 1.4 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -77,6 +77,11 @@ ACLProtocolData::match(protocol_t toFind)
     return values->findAndTune (toFind);
 }
 
+/* explicit instantiation required for some systems */
+
+template cbdata_type List<protocol_t>
+::CBDATA_List;
+
 wordlist *
 ACLProtocolData::dump()
 {
index 5436eeb7de40513535a4ac8d57b2327580e3ed12..e56783c5e618c7ce9f3b4d6e00e4e4ffcc3624ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLReferer.cc,v 1.1 2003/02/17 07:01:34 robertc Exp $
+ * $Id: ACLReferer.cc,v 1.2 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
 #include "ACLChecklist.h"
 #include "ACLRegexData.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLRequestHeaderStrategy<HDR_REFERER>
+
+;
+
 ACL::Prototype ACLReferer::RegistryProtoype(&ACLReferer::RegistryEntry_, "referer_regex");
+
 ACLStrategised<char const *> ACLReferer::RegistryEntry_(new ACLRegexData, ACLRequestHeaderStrategy<HDR_REFERER>::Instance(), "referer_regex");
index 756ddc4250650e79ac8da8f7b96f320220819ef9..7a2fecd5b8853f01ca7f6fb69cfebac8cffa2402 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLReplyMIMEType.cc,v 1.1 2003/02/25 12:16:55 robertc Exp $
+ * $Id: ACLReplyMIMEType.cc,v 1.2 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
 #include "ACLChecklist.h"
 #include "ACLRegexData.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLReplyHeaderStrategy<HDR_CONTENT_TYPE>
+
+;
+
 ACL::Prototype ACLReplyMIMEType::RegistryProtoype(&ACLReplyMIMEType::RegistryEntry_, "rep_mime_type");
+
 ACLStrategised<char const *> ACLReplyMIMEType::RegistryEntry_(new ACLRegexData, ACLReplyHeaderStrategy<HDR_CONTENT_TYPE>::Instance(), "rep_mime_type");
index 3331a65764c9d06c9ab10e383aeeb6f7858b6a41..06befa18f7721640786b2051d2315b799e6ef9c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLRequestMIMEType.cc,v 1.1 2003/02/17 07:01:34 robertc Exp $
+ * $Id: ACLRequestMIMEType.cc,v 1.2 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
 #include "ACLChecklist.h"
 #include "ACLRegexData.h"
 
+/* explicit template instantiation required for some systems */
+
+template class ACLRequestHeaderStrategy<HDR_CONTENT_TYPE>
+
+;
+
 ACL::Prototype ACLRequestMIMEType::RegistryProtoype(&ACLRequestMIMEType::RegistryEntry_, "req_mime_type");
+
 ACLStrategised<char const *> ACLRequestMIMEType::RegistryEntry_(new ACLRegexData, ACLRequestHeaderStrategy<HDR_CONTENT_TYPE>::Instance(), "req_mime_type");
index 505aebf0c4b5509a76713b2f349fe651b5c59391..2cb8d4b974cd5662a1f3a1e9b5f8569279d4cb10 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: acl.cc,v 1.312 2003/09/21 00:30:46 robertc Exp $
+ * $Id: acl.cc,v 1.313 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -52,10 +52,10 @@ ACL::operator delete (void *address)
     fatal ("unusable ACL::delete");
 }
 
-acl *
+ACL *
 ACL::FindByName(const char *name)
 {
-    acl *a;
+    ACL *a;
 
     for (a = Config.aclList; a; a = a->next)
         if (!strcasecmp(a->name, name))
@@ -78,11 +78,11 @@ ACL::Factory (char const *type)
 ACL::ACL () {}
 
 void
-ACL::ParseAclLine(acl ** head)
+ACL::ParseAclLine(ACL ** head)
 {
     /* we're already using strtok() to grok the line */
     char *t = NULL;
-    acl *A = NULL;
+    ACL *A = NULL;
     LOCAL_ARRAY(char, aclname, ACL_NAME_SZ);
     int new_acl = 0;
 
@@ -200,7 +200,7 @@ aclIsProxyAuth(const char *name)
     if (NULL == name)
         return false;
 
-    acl *a;
+    ACL *a;
 
     if ((a = ACL::FindByName(name)))
         return a->isProxyAuth();
@@ -338,7 +338,7 @@ void
 aclParseAclList(acl_list ** head)
 {
     acl_list **Tail = head;    /* sane name in the use below */
-    acl *a = NULL;
+    ACL *a = NULL;
     char *t;
 
     /* next expect a list of ACL names, possibly preceeded
@@ -482,11 +482,11 @@ ACLList::matches (ACLChecklist *checklist) const
 /*********************/
 
 void
-aclDestroyAcls(acl ** head)
+aclDestroyAcls(ACL ** head)
 {
     ACL *next = NULL;
 
-    for (acl *a = *head; a; a = next) {
+    for (ACL *a = *head; a; a = next) {
         next = a->next;
         delete a;
     }
@@ -687,7 +687,7 @@ ACL::Prototype::Factory (char const *typeToClone)
 void
 ACL::Initialize()
 {
-    acl *a = Config.aclList;
+    ACL *a = Config.aclList;
     debug(53, 3) ("ACL::Initialize\n");
 
     while (a) {
index 42b8f7ddd14eba3b257b525bec4a622aa8c2e43e..9ba0887940789c193f607aa7fb2307c2b9d09c2d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: asn.cc,v 1.97 2003/08/10 11:00:40 robertc Exp $
+ * $Id: asn.cc,v 1.98 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 53    AS Number handling
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -63,6 +63,11 @@ typedef u_char m_int[1 + sizeof(unsigned int)];
 
 struct squid_radix_node_head *AS_tree_head;
 
+/* explicit instantiation required for some systems */
+
+template cbdata_type List<int>
+::CBDATA_List;
+
 /*
  * Structure for as number information. it could be simply 
  * a list but it's coded as a structure for future
@@ -105,15 +110,21 @@ struct _rtentry
 typedef struct _rtentry rtentry_t;
 
 static int asnAddNet(char *, int);
+
 static void asnCacheStart(int as);
+
 static STCB asHandleReply;
 
 static int destroyRadixNode(struct squid_radix_node *rn, void *w);
 
 static int printRadixNode(struct squid_radix_node *rn, void *sentry);
-void asnAclInitialize(acl * acls);
+
+void asnAclInitialize(ACL * acls);
+
 static void asStateFree(void *data);
+
 static void destroyRadixNodeInfo(as_info *);
+
 static OBJH asnStats;
 
 /* PUBLIC */
@@ -623,9 +634,18 @@ ACLASN::clone() const
     return new ACLASN(*this);
 }
 
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<struct in_addr>
+
+;
+
 ACL::Prototype ACLASN::SourceRegistryProtoype(&ACLASN::SourceRegistryEntry_, "src_as");
+
 ACLStrategised<struct in_addr> ACLASN::SourceRegistryEntry_(new ACLASN, ACLSourceASNStrategy::Instance(), "src_as");
+
 ACL::Prototype ACLASN::DestinationRegistryProtoype(&ACLASN::DestinationRegistryEntry_, "dst_as");
+
 ACLStrategised<struct in_addr> ACLASN::DestinationRegistryEntry_(new ACLASN, ACLDestinationASNStrategy::Instance(), "dst_as");
 
 int
index 79a300c39ca53f0181f5df7983f0a255fc6e3063..3a608ad54eec8dd64d606ead9674a94aca2e64ac 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.cc,v 1.450 2003/09/01 03:49:37 robertc Exp $
+ * $Id: cache_cf.cc,v 1.451 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -716,7 +716,7 @@ parseBytesUnits(const char *unit)
  *****************************************************************************/
 
 static void
-dump_acl(StoreEntry * entry, const char *name, acl * ae)
+dump_acl(StoreEntry * entry, const char *name, ACL * ae)
 {
     wordlist *w;
     wordlist *v;
@@ -742,13 +742,13 @@ dump_acl(StoreEntry * entry, const char *name, acl * ae)
 }
 
 static void
-parse_acl(acl ** ae)
+parse_acl(ACL ** ae)
 {
     ACL::ParseAclLine(ae);
 }
 
 static void
-free_acl(acl ** ae)
+free_acl(ACL ** ae)
 {
     aclDestroyAcls(ae);
 }
index 5b40275cd8ae809e6d90fdf1a3ee30d01843ab00..76db40b1c733a5cd505c688620150dc6ceacf7ab 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm.cc,v 1.390 2003/10/06 01:20:07 robertc Exp $
+ * $Id: comm.cc,v 1.391 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 5     Socket Functions
  * AUTHOR: Harvest Derived
@@ -2692,6 +2692,11 @@ DeferredReadManager::~DeferredReadManager() {
     assert (deferredReads.empty());
 }
 
+/* explicit instantiation required for some systems */
+
+template cbdata_type List<DeferredRead>
+::CBDATA_List;
+
 void
 DeferredReadManager::delayRead(DeferredRead const &aRead) {
     debug (5, 3)("Adding deferred read on fd %d\n", aRead.theRead.fd);
index 94d40e196646d47d36e67ce894204d33d6b6d2ab..2bd3b70f14e8c63209cafcd22a6481a2d92c3f09 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: external_acl.cc,v 1.53 2003/08/10 11:00:43 robertc Exp $
+ * $Id: external_acl.cc,v 1.54 2003/10/20 12:33:01 robertc Exp $
  *
  * DEBUG: section 82    External ACL
  * AUTHOR: Henrik Nordstrom, MARA Systems AB
@@ -1188,7 +1188,7 @@ ExternalACLLookup::checkForAsync(ACLChecklist *checklist)const
 {
     /* TODO: optimise this - we probably have a pointer to this
      * around somewhere */
-    acl *acl = ACL::FindByName(AclMatchedName);
+    ACL *acl = ACL::FindByName(AclMatchedName);
     ACLExternal *me = dynamic_cast<ACLExternal *> (acl);
     assert (me);
     checklist->asyncInProgress(true);
index c0acdfe62bf09e138a88d49bbe7e90152d1b4b50..c5b8c510c50be730c911345f3bac99b1019ddeb3 100644 (file)
@@ -173,7 +173,7 @@ AUFSFile::open (int flags, mode_t mode, IORequestor::Pointer callback)
 void
 AUFSFile::read(char *buf, off_t offset, size_t size)
 {
-    debug(79, 3) ("AUFSFile::read: %p, size %u\n", this, size);
+    debugs(79, 3, "AUFSFile::read: " << this << ", size " << size);
     assert (fd > -1);
     assert (ioRequestor.getRaw());
     statCounter.syscalls.disk.reads++;
index c22c9c5fcb50f23ac3d4daa5862e031945f21086..86761ed5f5b08fc1f47de4838e6178225c793f04 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.483 2003/10/16 21:40:16 robertc Exp $
+ * $Id: structs.h,v 1.484 2003/10/20 12:33:01 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -111,8 +111,6 @@ struct _snmp_request_t
 
 #endif
 
-typedef class ACL acl;
-
 
 struct _acl_address
 {
@@ -565,7 +563,8 @@ struct _SquidConfig
     }
 
     onoff;
-    acl *aclList;
+
+    class ACL *aclList;
 
     struct
     {