On 6/09/2013 11:56 a.m., Nikolai Gorchilov wrote:
Sorry for the late reply. Was traveling in the last two days.
On Wed, Sep 4, 2013 at 10:05 AM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote:
I would use an external_acl_type helper to do the calculation about whether a request was to be cached and set a tag=value on the transaction. The tag type ACL can then test for this tag and do a "cache deny". Since you have all traffic
Something like this:
external_acl_type tagger ttl=0 %URL ... (helper returns "OK tag=first-seen" or just "OK").
acl firstSeen external tagger
acl taggedFirst tag first-seen
http_accesss deny firstSeen !all
cache deny !taggedFirst
Yeah. Did something like this, works like a charm.
Even tried to remove all ICP as it is used only for marking via
qos_flows parent. The helper mostly replicates the logic behind our
custom ICP listener and returning tag=parent-hit was a no brainer.
Unfortunately I have discovered that clientside_tos doesn't support
slow acls like tag. I believe this fact has to be mentioned somewhere
at http://www.squid-cache.org/Doc/config/clientside_tos/. Will stick
to ICP HIT/MISS & quos_flows for DSP marking for now, while observing
ZPH kernel patch as an alternative.
'tag' is a fast-ACL check against the transactions existing tag. I
recoomend it a lot to prevent mistakes using external_acl_type tests in
fast ACL checks. Perhapse you have found a bug in the clientside_tos -
checking that now.
Thanks Amos. For all the efforts keeping the squid development going
and it's community alive :)
Welcome
Amos