Tagging 0.6.0
[prosody.git] / net / dns.lua
index 5d5f512f3796b6021c2f09b456313dee4ec7f5f7..c50e893c8866c843f154b80503efff96a8ed5a63 100644 (file)
@@ -731,17 +731,16 @@ function resolver:receive(rset)    -- - - - - - - - - - - - - - - - -  receive
                                        --print('received response');
                                        --self.print(response);
 
-                                       for i,section in pairs({ 'answer', 'authority', 'additional' }) do
-                                               for j,rr in pairs(response[section]) do
+                                       for j,rr in pairs(response.answer) do
+                                               if rr.name:sub(-#response.question[1].name, -1) == response.question[1].name then
                                                        self:remember(rr, response.question[1].type)
                                                end
                                        end
 
                                        -- retire the query
                                        local queries = self.active[response.header.id];
-                                       if queries[response.question.raw] then
-                                               queries[response.question.raw] = nil;
-                                       end
+                                       queries[response.question.raw] = nil;
+                                       
                                        if not next(queries) then self.active[response.header.id] = nil; end
                                        if not next(self.active) then self:closeall(); end