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