From 9c2a74d09c9c45d165a4bcf51f4debfac8877e36 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Sat, 2 Nov 2019 19:36:19 +0100
Subject: net.resolvers: Abort on hostnames not passing IDNA validation

Prevents error on trying to use nil.

Needs better error reporting in the future.
---
 net/resolvers/basic.lua   | 5 +++++
 net/resolvers/service.lua | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/net/resolvers/basic.lua b/net/resolvers/basic.lua
index d8031a6b..cafef58b 100644
--- a/net/resolvers/basic.lua
+++ b/net/resolvers/basic.lua
@@ -18,6 +18,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()
diff --git a/net/resolvers/service.lua b/net/resolvers/service.lua
index a76adb73..bb255c33 100644
--- a/net/resolvers/service.lua
+++ b/net/resolvers/service.lua
@@ -25,6 +25,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;
-- 
cgit v1.2.3