--- squid-2.6-DEVEL-20020821/src/external_acl.c	Fri Jul 19 08:02:26 2002
+++ squid-2.6-DEVEL-20020821/src/external_acl.c.new	Thu Aug 22 03:09:59 2002
@@ -101,6 +101,7 @@
 	EXT_ACL_DST,
 	EXT_ACL_PROTO,
 	EXT_ACL_PORT,
+	EXT_ACL_PATH,
 	EXT_ACL_METHOD,
 	EXT_ACL_HEADER,
 	EXT_ACL_HEADER_MEMBER,
@@ -206,7 +207,7 @@
 	    char *header, *member, *end;
 	    header = token + 2;
 	    end = strchr(header, '}');
-	    /* cut away the terminating } */
+	    /* cut away the terminating closing brace */
 	    if (end && strlen(end) == 1)
 		*end = '\0';
 	    else
@@ -250,6 +251,8 @@
 	    format->type = EXT_ACL_PROTO;
 	else if (strcmp(token, "%PORT") == 0)
 	    format->type = EXT_ACL_PORT;
+	else if (strcmp(token, "%PATH") == 0)
+	    format->type = EXT_ACL_PATH;
 	else if (strcmp(token, "%METHOD") == 0)
 	    format->type = EXT_ACL_METHOD;
 	else {
@@ -515,6 +518,11 @@
 	case EXT_ACL_PORT:
 	    snprintf(buf, sizeof(buf), "%d", request->port);
 	    str = buf;
+	    break;
+	case EXT_ACL_PATH:
+	    snprintf(buf, sizeof(buf), "%*s", request->urlpath.len, request->urlpath.buf);
+	    str = buf;
+	    break;
 	case EXT_ACL_METHOD:
 	    str = RequestMethodStr[request->method];
 	    break;

