Diff

net/resolvers/basic.lua @ 10621:e5ab31845094

net.resolvers.basic: Obey use_ipv4/use_ipv6
author Matthew Wild <mwild1@gmail.com>
date Sat, 25 Jan 2020 14:03:30 +0000
parent 10485:913276ba0c47
child 10624:0725b7b8dc14
line wrap: on
line diff
--- a/net/resolvers/basic.lua	Fri Jan 24 23:29:14 2020 +0100
+++ b/net/resolvers/basic.lua	Sat Jan 25 14:03:30 2020 +0000
@@ -42,23 +42,28 @@
 
 	-- Resolve DNS to target list
 	local dns_resolver = adns.resolver();
-	dns_resolver:lookup(function (answer)
-		if answer then
-			for _, record in ipairs(answer) do
-				table.insert(targets, { self.conn_type.."4", record.a, self.port, self.extra });
-			end
-		end
-		ready();
-	end, self.hostname, "A", "IN");
 
-	dns_resolver:lookup(function (answer)
-		if answer then
-			for _, record in ipairs(answer) do
-				table.insert(targets, { self.conn_type.."6", record.aaaa, self.port, self.extra });
+	if self.connector_options.use_ipv4 ~= false then
+		dns_resolver:lookup(function (answer)
+			if answer then
+				for _, record in ipairs(answer) do
+					table.insert(targets, { self.conn_type.."4", record.a, self.port, self.extra });
+				end
 			end
-		end
-		ready();
-	end, self.hostname, "AAAA", "IN");
+			ready();
+		end, self.hostname, "A", "IN");
+	end
+
+	if self.connector_options.use_ipv6 ~= false then
+		dns_resolver:lookup(function (answer)
+			if answer then
+				for _, record in ipairs(answer) do
+					table.insert(targets, { self.conn_type.."6", record.aaaa, self.port, self.extra });
+				end
+			end
+			ready();
+		end, self.hostname, "AAAA", "IN");
+	end
 end
 
 local function new(hostname, port, conn_type, extra)