# HG changeset patch
# User Matthew Wild <mwild1@gmail.com>
# Date 1387159415 0
# Node ID f3817912e8b2357332d46f374ae51e7bc81dc745
# Parent  355f8b59bf1b43c06d402dc6defa21958549a84e
util.jid: Strip trailing '.' when normalizing hostnames

diff -r 355f8b59bf1b -r f3817912e8b2 util/jid.lua
--- a/util/jid.lua	Sat Dec 14 17:25:17 2013 +0100
+++ b/util/jid.lua	Mon Dec 16 02:03:35 2013 +0000
@@ -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 @@
 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