aboutsummaryrefslogtreecommitdiffstats
path: root/net/resolvers/service.lua
diff options
context:
space:
mode:
Diffstat (limited to 'net/resolvers/service.lua')
-rw-r--r--net/resolvers/service.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/resolvers/service.lua b/net/resolvers/service.lua
index 62d269e5..f9a30f91 100644
--- a/net/resolvers/service.lua
+++ b/net/resolvers/service.lua
@@ -1,5 +1,6 @@
local adns = require "net.adns";
local basic = require "net.resolvers.basic";
+local idna_to_ascii = require "util.encodings".idna.to_ascii;
local unpack = table.unpack or unpack; -- luacheck: ignore 113
local methods = {};
@@ -25,6 +26,11 @@ function methods:next(cb)
return;
end
+ if not self.hostname then
+ -- FIXME report IDNA error
+ cb(nil);
+ end
+
local targets = {};
local function ready()
self.targets = targets;
@@ -63,7 +69,7 @@ end
local function new(hostname, service, conn_type, extra)
return setmetatable({
- hostname = hostname;
+ hostname = idna_to_ascii(hostname);
service = service;
conn_type = conn_type or "tcp";
extra = extra;