diff options
author | Matthew Wild <mwild1@gmail.com> | 2013-12-16 02:03:35 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2013-12-16 02:03:35 +0000 |
commit | 54824c98f10d8da89b2b2af3ab3c536e906d866d (patch) | |
tree | be0cb3a00e84f22791275e00ad125bb149213fd4 /util | |
parent | fa4bdf2950a4562958ddd9b8b3e25b6d4a1b8256 (diff) | |
download | prosody-54824c98f10d8da89b2b2af3ab3c536e906d866d.tar.gz prosody-54824c98f10d8da89b2b2af3ab3c536e906d866d.zip |
util.jid: Strip trailing '.' when normalizing hostnames
Diffstat (limited to 'util')
-rw-r--r-- | util/jid.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/util/jid.lua b/util/jid.lua index 4c4371d8..8e0a784c 100644 --- a/util/jid.lua +++ b/util/jid.lua @@ -8,7 +8,7 @@ -local match = string.match; +local match, sub = string.match, string.sub; local nodeprep = require "util.encodings".stringprep.nodeprep; local nameprep = require "util.encodings".stringprep.nameprep; local resourceprep = require "util.encodings".stringprep.resourceprep; @@ -47,6 +47,9 @@ end local function _prepped_split(jid) local node, host, resource = _split(jid); if host then + if sub(host, -1, -1) == "." then -- Strip empty root label + host = sub(host, 1, -2); + end host = nameprep(host); if not host then return; end if node then |