squid: 5-MOAD scan; squid-0004 CWE-407 whichPeer() O(P*A) ICP peer lookup, 83x at P=100

This commit is contained in:
russell@unturf.com 2026-04-03 12:58:47 -04:00
parent aa588e0384
commit b26dcb053a
4 changed files with 325 additions and 0 deletions

View file

@ -11,6 +11,12 @@ Fixed in defects/squid-0001.
inside getEntry() loop. Called per response hop in removeHopByHopEntries(). At H=200 headers
and C=50 Connection tokens: 4.84x measured speedup. Fixed in defects/squid-0002.
**squid-0004** (new): whichPeer() O(P*A) nested linear scan over cache peers and their DNS
addresses, called on every incoming ICP and HTCP response packet. With P=100 peers and
A=4 addresses/peer, each call scans up to 400 entries. Fix: build a
std::map<(addr,port), CachePeer*> in peerDNSConfigure(), cleared on peer removal.
83x speedup measured at P=100, 1041x at P=1000. Fixed in defects/squid-0004.
## MOAD-0002 (Intertangle): god object coupling
SquidConfig is a 571-line god object included in 209 source files across every subsystem: