aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2019-11-24 04:41:07 +0100
committerKim Alvefur <zash@zash.se>2019-11-24 04:41:07 +0100
commitc3581958f7d24edf39f26a04c4cebe2f7d1b0579 (patch)
treec84f5bfc1cbbff0ca4a9b83cceb00b80d9d5bb77
parentnet.resolvers.basic: Fix resolution of IPv6 literals (in brackets) (fixes #1459) (diff)
downloadprosody-c3581958f7d24edf39f26a04c4cebe2f7d1b0579.tar.xz
prosody-c3581958f7d24edf39f26a04c4cebe2f7d1b0579.zip
net.resolvers.basic: Normalise IP literals, ensures net.server is happy
-rw-r--r--net/resolvers/basic.lua2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/resolvers/basic.lua b/net/resolvers/basic.lua
index 93182fda9..08c71ef5b 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 inet_ntop = require "util.net".ntop;
local idna_to_ascii = require "util.encodings".idna.to_ascii;
local methods = {};
@@ -63,6 +64,7 @@ local function new(hostname, port, conn_type, extra)
is_ip = inet_pton(hostname:sub(2,-2));
end
if is_ip then
+ hostname = inet_ntop(is_ip);
if #is_ip == 16 then
targets = { { conn_type.."6", hostname, port, extra } };
elseif #is_ip == 4 then