File 10822.patch of Package squid-beta

---------------------
PatchSet 10822 
Date: 2007/05/22 01:16:39
Author: hno
Branch: HEAD
Tag: (none) 
Log:
%URI external_acl_type tag for referencing the complete URI

Members: 
	src/cf.data.pre:1.435->1.436 
	src/external_acl.cc:1.78->1.79 

Index: squid3/src/cf.data.pre
===================================================================
RCS file: /cvsroot/squid/squid3/src/cf.data.pre,v
retrieving revision 1.435
retrieving revision 1.436
diff -u -r1.435 -r1.436
--- squid3/src/cf.data.pre	17 May 2007 19:55:52 -0000	1.435
+++ squid3/src/cf.data.pre	22 May 2007 01:16:39 -0000	1.436
@@ -1,6 +1,6 @@
 
 #
-# $Id: cf.data.pre,v 1.435 2007/05/17 19:55:52 hno Exp $
+# $Id: cf.data.pre,v 1.436 2007/05/22 01:16:39 hno Exp $
 #
 #
 # SQUID Web Proxy Cache		http://www.squid-cache.org/
@@ -2050,6 +2050,7 @@
 	  %IDENT	Ident user name
 	  %SRC		Client IP
 	  %SRCPORT	Client source port
+	  %URI		Requested URI
 	  %DST		Requested host
 	  %PROTO	Requested protocol
 	  %PORT		Requested port
Index: squid3/src/external_acl.cc
===================================================================
RCS file: /cvsroot/squid/squid3/src/external_acl.cc,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- squid3/src/external_acl.cc	18 May 2007 06:41:24 -0000	1.78
+++ squid3/src/external_acl.cc	22 May 2007 01:16:40 -0000	1.79
@@ -1,6 +1,6 @@
 
 /*
- * $Id: external_acl.cc,v 1.78 2007/05/18 06:41:24 amosjeffries Exp $
+ * $Id: external_acl.cc,v 1.79 2007/05/22 01:16:40 hno Exp $
  *
  * DEBUG: section 82    External ACL
  * AUTHOR: Henrik Nordstrom, MARA Systems AB
@@ -143,6 +143,7 @@
         EXT_ACL_SRCPORT,
         EXT_ACL_MYADDR,
         EXT_ACL_MYPORT,
+        EXT_ACL_URI,
         EXT_ACL_DST,
         EXT_ACL_PROTO,
         EXT_ACL_PORT,
@@ -337,6 +338,8 @@
             format->type = _external_acl_format::EXT_ACL_MYADDR;
         else if (strcmp(token, "%MYPORT") == 0)
             format->type = _external_acl_format::EXT_ACL_MYPORT;
+        else if (strcmp(token, "%URI") == 0)
+            format->type = _external_acl_format::EXT_ACL_URI;
         else if (strcmp(token, "%DST") == 0)
             format->type = _external_acl_format::EXT_ACL_DST;
         else if (strcmp(token, "%PROTO") == 0)
@@ -450,6 +453,7 @@
                 DUMP_EXT_ACL_TYPE(SRCPORT);
                 DUMP_EXT_ACL_TYPE(MYADDR);
                 DUMP_EXT_ACL_TYPE(MYPORT);
+                DUMP_EXT_ACL_TYPE(URI);
                 DUMP_EXT_ACL_TYPE(DST);
                 DUMP_EXT_ACL_TYPE(PROTO);
                 DUMP_EXT_ACL_TYPE(PORT);
@@ -798,6 +802,10 @@
             str = buf;
             break;
 
+        case _external_acl_format::EXT_ACL_URI:
+            str = urlCanonical(request);
+            break;
+
         case _external_acl_format::EXT_ACL_DST:
             str = request->host;
             break;