On 2026-01-16 00:49, Amos Jeffries wrote:
On 16/01/2026 05:28, Alex Rousskov wrote:
On 2026-01-15 02:14, archer wrote:
# {cache_peer ... no_netdb_exchange } already set earlier
netdb_filename none
pinger_enable off
Icp_port0 #seems to be default value
And this issue persists. It seems that NO squid.conf could help with
the DNS leak issue.
Yes, your statement matches what I have stated in my previous
response: AFAICT, there is no squid.conf option that would disable
those DNS lookups in Squids built with `--enable-icmp` (which is also
the default).
Q1: So, does Squid netdb work on the IP level?
Squid NetDB feature has several parts/algorithms/statistics that use
various protocols. In this particular case, Squid prepares to "ping"
(via ICMP) the site targeted by the CONNECT request. Since ICMP needs
an IP address, Squid performs a DNS lookup first.
Since NetDB is a database indexed by CIDR, Squid needs to know the IP of
the origin server in order to lookup the details, even when going
through a peer.
The buggy code path in question does not really "lookup the details". It
does not need them. Instead, when successful, the lookup
populates/updates those details for _future_ use.
AFAICT, this particular DNS lookup is a Squid bug: Squid should not
perform that lookup when "pinger_enable" is "off" because the result
of that lookup cannot be used for its intended purpose -- pining the
corresponding origin server.
I have not investigated whether Squid should ping origin servers when
going through a cache_peer. If Squid should not, then there is a
second bug here.
The ping should not happen when "pinger_enabled off", but the
"closest/fastest" selection algorithm(s) still needs IP address to
lookup the available NetDB information.
The second suspected bug happens _after_ "selection algorithm(s)" have
completed their work. Look for netdbPingSite() callers. In this specific
case, the caller is TunnelStateData::connectDone() which is
post-peer-selection and even post-peer-connection-establishment code.
The algorithm could be a bit smarter in noticing when all possible
destinations (eg prohibited DIRECT and single peer) have already been
selected and skipping useless attempts to find more alternatives. But
that is not necessarily a bug per-se.
For the specific case in question, those algorithms may already be smart
enough to avoid those unwanted DNS lookups: The first logged unwanted
lookup happens _after_ those algorithms are applied.
Alex.
_______________________________________________
squid-users mailing list
[email protected]
https://lists.squid-cache.org/listinfo/squid-users