From: Amos Jeffries Date: Sun, 6 Nov 2011 22:52:18 +0000 (+1300) Subject: Support %% in external ACL format X-Git-Tag: BumpSslServerFirst.take01~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0db8942f476006738913c0a92da348027dbba6bf;p=thirdparty%2Fsquid.git Support %% in external ACL format --- diff --git a/src/cf.data.pre b/src/cf.data.pre index f55fc9c881..dd7771a46f 100644 --- a/src/cf.data.pre +++ b/src/cf.data.pre @@ -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) diff --git a/src/external_acl.cc b/src/external_acl.cc index d14abdc6ee..5c286c4d1d 100644 --- a/src/external_acl.cc +++ b/src/external_acl.cc @@ -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: