Software /
code /
prosody
Comparison
net/resolvers/service.lua @ 10384:94c9c574cd8a 0.11
net.resolvers: Apply IDNA conversion to ascii for DNS lookups (fixes #1426)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 02 Nov 2019 19:24:26 +0100 |
parent | 9397:e09ddd061ec4 |
child | 10385:62a7042e0771 |
comparison
equal
deleted
inserted
replaced
10348:3852fc91b2fc | 10384:94c9c574cd8a |
---|---|
1 local adns = require "net.adns"; | 1 local adns = require "net.adns"; |
2 local basic = require "net.resolvers.basic"; | 2 local basic = require "net.resolvers.basic"; |
3 local idna_to_ascii = require "util.encodings".idna.to_ascii; | |
3 | 4 |
4 local methods = {}; | 5 local methods = {}; |
5 local resolver_mt = { __index = methods }; | 6 local resolver_mt = { __index = methods }; |
6 | 7 |
7 -- Find the next target to connect to, and | 8 -- Find the next target to connect to, and |
56 end, "_" .. self.service .. "._" .. self.conn_type .. "." .. self.hostname, "SRV", "IN"); | 57 end, "_" .. self.service .. "._" .. self.conn_type .. "." .. self.hostname, "SRV", "IN"); |
57 end | 58 end |
58 | 59 |
59 local function new(hostname, service, conn_type, extra) | 60 local function new(hostname, service, conn_type, extra) |
60 return setmetatable({ | 61 return setmetatable({ |
61 hostname = hostname; | 62 hostname = idna_to_ascii(hostname); |
62 service = service; | 63 service = service; |
63 conn_type = conn_type or "tcp"; | 64 conn_type = conn_type or "tcp"; |
64 extra = extra; | 65 extra = extra; |
65 }, resolver_mt); | 66 }, resolver_mt); |
66 end | 67 end |