[Dnsmasq-discuss] [PATCH] Report filtered A or AAAA records via EDE code

Simon Kelley simon at thekelleys.org.uk
Fri Mar 31 23:36:01 UTC 2023



On 31/03/2023 08:25, Dominik Derigs wrote:
> Hey Simon,
> 
> On Thu, 2023-03-30 at 18:28 +0100, Simon Kelley wrote:
>> I just merged the branch I've been working on for the last week which
>> includes this patch, but much modified because the surrounding code has
>> changed. The function is unaltered.
>>
>> The other changes are adding the ability to cache any RR-type, and the
>> ability to filter any RR-type. There's quite a bit of code cleanup in
>> the affected code paths too.
> 
> The new man page says:
>> By default, dnsmasq caches A, AAAA, CNAME and SRV DNS
> record types. This option adds other record types to the
> cache. [...]
> 
> I wonder how useful this really is. Won't it cause config
> files to explode with lines like (possibly line-per-line):
> --cache-
> rr=NS,MD,MF,SOA,MB,MG,MR,NULL,WKS,PTR,HINFO,MINFO,MX,TXT,RP,
> AFSDB,X25,ISDN,RT,NSAP,NSAP_PTR,SIG,KEY,PX,GPOS,LOC,NXT,EID,
> NIMLOC,ATMA,NAPTR,KX,CERT,A6,DNAME,SINK,OPT,APL,DS,SSHFP,IPS
> ECKEY,RRSIG,NSEC,DNSKEY,DHCID,NSEC3,NSEC3PARAM,TLSA,SMIMEA,H
> IP,NINFO,RKEY,TALINK,CDS,CDNSKEY,OPENPGPKEY,CSYNC,ZONEMD,SVC
> B,HTTPS,SPF,UINFO,UID,GID,UNSPEC,NID,L32,L64,LP,EUI48,EUI64,
> TKEY,TSIG,IXFR,AXFR,MAILB,MAILA,ANY,URI,CAA,AVC,DOA,AMTRELAY
> ,TA,DLV
> 
> if I want to cache all types known to dnsmasq by name (yes,
> this does not include proprietary extensions by numbers). It
> also seems inefficient to always loop over these 86 RR types
> when we check if this RR is to be cached.
> 
> Looking at this new option, it seems really counter-
> intuitive to specify "I want to cache ANY but not TXT". Is
> there a real-world scenario where someone would not like to
> cache a specific type? I suppose these queries should
> arguably have a TTL of 0 from upstream to prevent caching.
> 
> My feeling is that we should really have at least a shortcut
> to specify "cache everything you can". May this be "--cache-
> rr" without options, some special "--cache-rr=all" or maybe
> a dedicated option like "--cache-all".
> 

Good question. The motive for making caching opt-in rather than opt-out 
is only that just silently starting to cache everything has the 
potential to have a big enough affect on the memory footprint of dnsmasq 
to be noticeable on small routers.

I've made --cache-rr=ANY do the obvious thing.


> Others than that - thanks for working on this! I already
> started testing (using the long command above) and will
> report any oddities I come across.
> 

Thanks. Please pick up the latest code, which is more efficient at 
storing small RRs.


Cheers,

Simon.

> Best,
> Dominik
> 



More information about the Dnsmasq-discuss mailing list