the list of HTCP mode options had grown a bit too large. Collapse them
all into a single htcp= option taking a list of mode flags.

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: hen...@henriknordstrom.net-20090917222032-\
#   nns17iudtio5jovr
# target_branch: http://www.squid-cache.org/bzr/squid3/trunk/
# testament_sha1: 8bd7245c3b25c9acc89a037834f39bc71100b3ea
# timestamp: 2009-09-18 00:21:15 +0200
# base_revision_id: amosjeffr...@squid-cache.org-20090916095346-\
#   m7liji2knguolxxw
# 
# Begin patch
=== modified file 'src/cache_cf.cc'
--- src/cache_cf.cc	2009-09-15 11:59:51 +0000
+++ src/cache_cf.cc	2009-09-17 22:11:15 +0000
@@ -1753,30 +1753,41 @@
         } else if (!strcasecmp(token, "weighted-round-robin")) {
             p->options.weighted_roundrobin = 1;
 #if USE_HTCP
-
         } else if (!strcasecmp(token, "htcp")) {
             p->options.htcp = 1;
         } else if (!strcasecmp(token, "htcp-oldsquid")) {
+	    /* Note: This form is deprecated, replaced by htcp=oldsquid */
             p->options.htcp = 1;
             p->options.htcp_oldsquid = 1;
-        } else if (!strcasecmp(token, "htcp-no-clr")) {
-            if (p->options.htcp_only_clr)
-                fatalf("parse_peer: can't set htcp-no-clr and htcp-only-clr simultaneously");
-            p->options.htcp = 1;
-            p->options.htcp_no_clr = 1;
-        } else if (!strcasecmp(token, "htcp-no-purge-clr")) {
-            p->options.htcp = 1;
-            p->options.htcp_no_purge_clr = 1;
-        } else if (!strcasecmp(token, "htcp-only-clr")) {
-            if (p->options.htcp_no_clr)
-                fatalf("parse_peer: can't set htcp-no-clr and htcp-only-clr simultaneously");
-            p->options.htcp = 1;
-            p->options.htcp_only_clr = 1;
-        } else if (!strcasecmp(token, "htcp-forward-clr")) {
-            p->options.htcp = 1;
-            p->options.htcp_forward_clr = 1;
+        } else if (!strncasecmp(token, "htcp=", 5) || !strncasecmp(token, "htcp-", 5)) {
+	    /* Note: The htcp- form is deprecated, replaced by htcp= */
+            p->options.htcp = 1;
+            char *tmp = xstrdup(token+5);
+            char *mode, *nextmode;
+            for (mode = nextmode = token; mode; mode = nextmode) {
+                nextmode = strchr(mode, ',');
+                if (nextmode)
+                    *nextmode++ = '\0';
+                if (!strcasecmp(mode, "no-clr")) {
+                    if (p->options.htcp_only_clr)
+                        fatalf("parse_peer: can't set htcp-no-clr and htcp-only-clr simultaneously");
+                    p->options.htcp_no_clr = 1;
+                } else if (!strcasecmp(mode, "no-purge-clr")) {
+                    p->options.htcp_no_purge_clr = 1;
+                } else if (!strcasecmp(mode, "only-clr")) {
+                    if (p->options.htcp_no_clr)
+                        fatalf("parse_peer: can't set htcp no-clr and only-clr simultaneously");
+                    p->options.htcp_only_clr = 1;
+                } else if (!strcasecmp(mode, "forward-clr")) {
+                    p->options.htcp_forward_clr = 1;
+		} else if (!strcasecmp(mode, "oldsquid")) {
+		    p->options.htcp_oldsquid = 1;
+                } else {
+                    fatalf("invalid HTCP mode '%s'", mode);
+                }
+            }
+            safe_free(tmp);
 #endif
-
         } else if (!strcasecmp(token, "no-netdb-exchange")) {
             p->options.no_netdb_exchange = 1;
 

=== modified file 'src/cf.data.pre'
--- src/cf.data.pre	2009-09-15 23:49:34 +0000
+++ src/cf.data.pre	2009-09-17 22:20:32 +0000
@@ -922,7 +922,7 @@
 
 	NOTE: The default if no htcp_access lines are present is to
 	deny all traffic. This default may cause problems with peers
-	using the htcp or htcp-oldsquid options.
+	using the htcp option.
 
 	This clause only supports fast acl types.
 	See http://wiki.squid-cache.org/SquidFaq/SquidAcl for details.
@@ -1682,22 +1682,23 @@
 	
 	htcp		Send HTCP, instead of ICP, queries to the neighbor.
 			You probably also want to set the "icp-port" to 4827
-			instead of 3130.
-	
-	htcp-oldsquid	Send HTCP to old Squid versions.
-	
-	htcp-no-clr	Send HTCP to the neighbor but without
+			instead of 3130. This directive accepts a comma separated
+			list of options described below.
+	
+	htcp=oldsquid	Send HTCP to old Squid versions (2.5 or earlier).
+	
+	htcp=no-clr	Send HTCP to the neighbor but without
 			sending any CLR requests.  This cannot be used with
-			htcp-only-clr.
-	
-	htcp-only-clr	Send HTCP to the neighbor but ONLY CLR requests.
-			This cannot be used with htcp-no-clr.
-	
-	htcp-no-purge-clr
+			only-clr.
+	
+	htcp=only-clr	Send HTCP to the neighbor but ONLY CLR requests.
+			This cannot be used with no-clr.
+	
+	htcp=no-purge-clr
 			Send HTCP to the neighbor including CLRs but only when
 			they do not result from PURGE requests.
 	
-	htcp-forward-clr
+	htcp=forward-clr
 			Forward any HTCP CLR requests this proxy receives to the peer.
 	
 	

# Begin bundle
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

Reply via email to