Software /
code /
prosody
Changeset
5946:04f2138dfa87
Merge 0.10->trunk
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 16 Dec 2013 02:04:43 +0000 |
parents | 5940:783107f85ea0 (current diff) 5945:51ead0aa3a02 (diff) |
children | 5947:49fb5835965e |
files | |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/muc/mod_muc.lua Fri Dec 13 12:53:14 2013 +0000 +++ b/plugins/muc/mod_muc.lua Mon Dec 16 02:04:43 2013 +0000 @@ -164,7 +164,7 @@ return true; end if not(restrict_room_creation) or - is_admin(stanza.attr.from)) or + is_admin(stanza.attr.from) or (restrict_room_creation == "local" and select(2, jid_split(stanza.attr.from)) == module.host:gsub("^[^%.]+%.", "")) then room = create_room(bare); end
--- a/util/jid.lua Fri Dec 13 12:53:14 2013 +0000 +++ b/util/jid.lua Mon Dec 16 02:04:43 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