--- 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;