--- orig/squid-2.5.STABLE4/src/external_acl.c	2003-09-02 04:51:59.000000000 -0300
+++ squid-2.5.STABLE4/src/external_acl.c	2003-10-08 14:53:57.000000000 -0300
@@ -101,6 +101,7 @@
 	EXT_ACL_DST,
 	EXT_ACL_PROTO,
 	EXT_ACL_PORT,
+	EXT_ACL_URI,
 	EXT_ACL_METHOD,
 	EXT_ACL_HEADER,
 	EXT_ACL_HEADER_MEMBER,
@@ -251,6 +252,8 @@
 	    format->type = EXT_ACL_PROTO;
 	else if (strcmp(token, "%PORT") == 0)
 	    format->type = EXT_ACL_PORT;
+	else if (strcmp(token, "%URI") == 0)
+		format->type = EXT_ACL_URI;
 	else if (strcmp(token, "%METHOD") == 0)
 	    format->type = EXT_ACL_METHOD;
 	else {
@@ -314,6 +317,7 @@
 		DUMP_EXT_ACL_TYPE(DST);
 		DUMP_EXT_ACL_TYPE(PROTO);
 		DUMP_EXT_ACL_TYPE(PORT);
+		DUMP_EXT_ACL_TYPE(URI);
 		DUMP_EXT_ACL_TYPE(METHOD);
 	    }
 	}
@@ -531,6 +535,9 @@
 	case EXT_ACL_PORT:
 	    snprintf(buf, sizeof(buf), "%d", request->port);
 	    str = buf;
+		break;
+	case EXT_ACL_URI:
+		str = urlCanonical(request);
 	    break;
 	case EXT_ACL_METHOD:
 	    str = RequestMethodStr[request->method];
