diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-12-22 12:06:36 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-12-22 12:06:36 +0000 |
commit | 2e1052414f3d76091c3cf9b76250a30219123e9b (patch) | |
tree | e4675b7343e73391686e9aaa99242935d88f87bb | |
parent | 29bdb62b65aa7dd94af9f90a31a00b004d24e4fb (diff) | |
download | prosody-2e1052414f3d76091c3cf9b76250a30219123e9b.tar.gz prosody-2e1052414f3d76091c3cf9b76250a30219123e9b.zip |
net.dns: Clean up query list when a server is marked down
-rw-r--r-- | net/dns.lua | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/dns.lua b/net/dns.lua index 5b32a56c..1950ba73 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -549,6 +549,7 @@ function resolver:decode(packet, force) -- - - - - - - - - - - - - - decode if not force then if not self.active[response.header.id] or not self.active[response.header.id][response.question.raw] then + self.active[response.header.id] = nil; return nil; end end @@ -796,6 +797,9 @@ function resolver:servfail(sock) end end end + if next(queries) == nil then + self.active[id] = nil; + end end if num == self.best_server then @@ -852,6 +856,7 @@ function resolver:receive(rset) -- - - - - - - - - - - - - - - - - receive set(self.wanted, q.class, q.type, q.name, nil); end end + end end end |