projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
portmanager: use_ipv6 defaults to true if luasocket has ipv6 support
[prosody.git]
/
net
/
dns.lua
diff --git
a/net/dns.lua
b/net/dns.lua
index 8f428476dfcf1a7f86d9c141e6e4ee01048066e4..c9c51fe8afd470e5f95cf745669e53f839fea5da 100644
(file)
--- a/
net/dns.lua
+++ b/
net/dns.lua
@@
-223,7
+223,7
@@
end
function dns.random(...) -- - - - - - - - - - - - - - - - - - - dns.random
function dns.random(...) -- - - - - - - - - - - - - - - - - - - dns.random
- math.randomseed(math.floor(10000*socket.gettime()));
+ math.randomseed(math.floor(10000*socket.gettime())
% 0x100000000
);
dns.random = math.random;
return dns.random(...);
end
dns.random = math.random;
return dns.random(...);
end
@@
-358,6
+358,7
@@
function resolver:name() -- - - - - - - - - - - - - - - - - - - - - - name
local remember, pointers = nil, 0;
local len = self:byte();
local n = {};
local remember, pointers = nil, 0;
local len = self:byte();
local n = {};
+ if len == 0 then return "." end -- Root label
while len > 0 do
if len >= 0xc0 then -- name is "compressed"
pointers = pointers + 1;
while len > 0 do
if len >= 0xc0 then -- name is "compressed"
pointers = pointers + 1;
@@
-548,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
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
return nil;
end
end
@@
-641,6
+643,7
@@
function resolver:voidsocket(sock)
self.socket[self.socketset[sock]] = nil;
self.socketset[sock] = nil;
end
self.socket[self.socketset[sock]] = nil;
self.socketset[sock] = nil;
end
+ sock:close();
end
function resolver:socket_wrapper_set(func) -- - - - - - - socket_wrapper_set
end
function resolver:socket_wrapper_set(func) -- - - - - - - socket_wrapper_set
@@
-795,6
+798,9
@@
function resolver:servfail(sock)
end
end
end
end
end
end
+ if next(queries) == nil then
+ self.active[id] = nil;
+ end
end
if num == self.best_server then
end
if num == self.best_server then
@@
-851,6
+857,7
@@
function resolver:receive(rset) -- - - - - - - - - - - - - - - - - receive
set(self.wanted, q.class, q.type, q.name, nil);
end
end
set(self.wanted, q.class, q.type, q.name, nil);
end
end
+
end
end
end
end
end
end