]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Support %% in external ACL format
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 6 Nov 2011 22:52:18 +0000 (11:52 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 6 Nov 2011 22:52:18 +0000 (11:52 +1300)
src/cf.data.pre
src/external_acl.cc

index f55fc9c881fe3e56b31a8e06195f55ecbffd0129..dd7771a46f2051cfbf96dee53581061541747a67 100644 (file)
@@ -592,6 +592,9 @@ DOC_START
                        list separator. ; can be any non-alphanumeric
                        character.
 
+         %%            The percent sign. Useful for helpers which need
+                       an unchanging input format.
+
        In addition to the above, any string specified in the referencing
        acl will also be included in the helper request line, after the
        specified formats (see the "acl external" directive)
index d14abdc6ee79e24f35c30e36645890e2adda4f33..5c286c4d1d88af07a4d7416fbf1409ee48fd5e60 100644 (file)
@@ -190,6 +190,7 @@ struct _external_acl_format {
 #endif
         EXT_ACL_EXT_LOG,
         EXT_ACL_TAG,
+        EXT_ACL_PERCENT,
         EXT_ACL_END
     } type;
     external_acl_format *next;
@@ -471,6 +472,8 @@ parse_externalAclHelper(external_acl ** list)
             format->type = _external_acl_format::EXT_ACL_EXT_LOG;
         else if (strcmp(token, "%TAG") == 0)
             format->type = _external_acl_format::EXT_ACL_TAG;
+        else if (strcmp(token, "%%") == 0)
+            format->type = _external_acl_format::EXT_ACL_PERCENT;
         else {
             debugs(0,0, "ERROR: Unknown Format token " << token);
             self_destruct();
@@ -1096,6 +1099,9 @@ makeExternalAclKey(ACLFilledChecklist * ch, external_acl_data * acl_data)
         case _external_acl_format::EXT_ACL_TAG:
             str = request->tag.termedBuf();
             break;
+        case _external_acl_format::EXT_ACL_PERCENT:
+            str = "%";
+            break;
         case _external_acl_format::EXT_ACL_UNKNOWN:
 
         case _external_acl_format::EXT_ACL_END: