projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net.dns: Support for resolving AAAA records
[prosody.git]
/
net
/
dns.lua
diff --git
a/net/dns.lua
b/net/dns.lua
index c905f56c5d612565d416a2fcd85321cc64f58b7a..3f1cb4f687ffc917b53e2ca5dfadc7aba65082ca 100644
(file)
--- a/
net/dns.lua
+++ b/
net/dns.lua
@@
-389,6
+389,14
@@
function resolver:A(rr) -- - - - - - - - - - - - - - - - - - - - - - - - A
rr.a = string.format('%i.%i.%i.%i', b1, b2, b3, b4);
end
rr.a = string.format('%i.%i.%i.%i', b1, b2, b3, b4);
end
+function resolver:AAAA(rr)
+ local addr = {};
+ for i = 1, rr.rdlength, 2 do
+ local b1, b2 = self:byte(2);
+ table.insert(addr, ("%02x%02x"):format(b1, b2));
+ end
+ rr.aaaa = table.concat(addr, ":");
+end
function resolver:CNAME(rr) -- - - - - - - - - - - - - - - - - - - - CNAME
rr.cname = self:name();
function resolver:CNAME(rr) -- - - - - - - - - - - - - - - - - - - - CNAME
rr.cname = self:name();
@@
-479,7
+487,7
@@
function resolver:PTR(rr)
end
function resolver:TXT(rr) -- - - - - - - - - - - - - - - - - - - - - - TXT
end
function resolver:TXT(rr) -- - - - - - - - - - - - - - - - - - - - - - TXT
- rr.txt = self:sub (
rr.rdlength
);
+ rr.txt = self:sub (
self:byte()
);
end
end