Software /
code /
prosody
Diff
net/dns.lua @ 8900:fcf42bd7d067
net.dns: Don't attempt to cache unparsed data (fixes #1056)
rr[qtype:lower()] can be nil. I think this happens if the type does not
have a parser.
Also see #819 #976
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 09 Jun 2018 15:35:03 +0200 |
parent | 8898:e6ba0e5260b4 |
child | 8901:eae606b9266c |
line wrap: on
line diff
--- a/net/dns.lua Sat Jun 09 00:09:25 2018 +0200 +++ b/net/dns.lua Sat Jun 09 15:35:03 2018 +0200 @@ -672,7 +672,7 @@ self.cache = self.cache or setmetatable({}, cache_metatable); local rrs = get(self.cache, qclass, type, qname) or set(self.cache, qclass, type, qname, setmetatable({}, rrs_metatable)); - if not rrs[rr[qtype:lower()]] then + if rr[qtype:lower()] and not rrs[rr[qtype:lower()]] then rrs[rr[qtype:lower()]] = true; append(rrs, rr); end