Re: [squid-users] cache_peer_domain with file list

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Mon, 24 Aug 2009 15:23:23 +1200

On Sun, 23 Aug 2009 19:57:29 -0700, Waitman Gobble <waitman_at_waitman.net>
wrote:
> Hello,
>
> running (squid/3.0.STABLE18)
>
> The following squid.conf directive does not seem to work.
>
> cache_peer_domain server_www "/usr/local/squid/etc/domains"
>
> IF /usr/local/squid/etc/domains contains
>
> example.com
> www.example.com
>
>
> in access log:
>
> 1251108418.210 0 70.90.171.37 TCP_MISS/503 2528 GET
> http://example.com/ - NONE/- text/html
>
>
> 2009/08/24 10:38:08.493| peerSelect: http://example.com/
> 2009/08/24 10:38:08.494| StoreEntry::lock: key
> 'F578F0C741279B555497A4A5EBA1AFB7' count=3
> 2009/08/24 10:38:08.494| peerSelectFoo: 'GET example.com'
> 2009/08/24 10:38:08.494| peerSelectFoo: direct = DIRECT_NO
> 2009/08/24 10:38:08.494| peerSelectIcpPing: http://example.com/
> 2009/08/24 10:38:08.494| neighborsCount: 0
> 2009/08/24 10:38:08.494| peerSelectIcpPing: counted 0 neighbors
> 2009/08/24 10:38:08.494| peerGetSomeParent: GET example.com
> 2009/08/24 10:38:08.494| getDefaultParent: returning NULL
> 2009/08/24 10:38:08.494| neighbors.cc(336) returning NULL
> 2009/08/24 10:38:08.494| getWeightedRoundRobinParent: returning NULL
> 2009/08/24 10:38:08.494| getFirstUpParent: returning NULL
> 2009/08/24 10:38:08.494| getAnyParent: returning NULL
> 2009/08/24 10:38:08.494| getDefaultParent: returning NULL
> 2009/08/24 10:38:08.494| peerSelectCallback: http://example.com/
> 2009/08/24 10:38:08.494| Failed to select source for
'http://example.com/'
> 2009/08/24 10:38:08.494| always_direct = 0
> 2009/08/24 10:38:08.494| never_direct = 0
> 2009/08/24 10:38:08.494| timedout = 0
>
>
>
>
> however, if i change the line to:
>
> cache_peer_domain server_http example.com www.example.com
>
> It works.. So i think it doesn't like the domains in a file!
>
>
> Is the loading of domains from external file unimplemented, or a bug...
> specifying a file DOES seem to work in the acl list, ie:
>
> acl valid_dst dstdomain "/usr/local/squid/etc/domains"
> http_access allow valid_dst
>

Not implemented. When quotes _are_ fully implemented they are going to mean
exact-text in most places.

Generic pieces of config can't be included from files randomly. The
'include' directive is needed to pull in sections of config, but even that
only works on a whole-line basis and retains the order-specific nature of
squid.conf.

ACL are kind of special in that they might have to handle extremely long
lists of data so have been extended to sub-process external files.

To do what you are trying:
acl our_domains dstdomain "/path/to.file"
cache_peer_access server_www allow our_domains

Amos
Received on Mon Aug 24 2009 - 03:23:27 MDT

This archive was generated by hypermail 2.2.0 : Mon Aug 24 2009 - 12:00:04 MDT