diff options
author | Matthew Wild <mwild1@gmail.com> | 2013-12-16 02:04:43 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2013-12-16 02:04:43 +0000 |
commit | 1f0a67c0df2212951c8ab693e4ab9b1088cfb11c (patch) | |
tree | 0342a9d6cca7783cc788e35fcdb464b904cde942 | |
parent | c680f0d75a09ea19ca159d14ffb68e40ada91c90 (diff) | |
parent | 077a959dbc316d125f047c28f6a5eb89569dcf07 (diff) | |
download | prosody-1f0a67c0df2212951c8ab693e4ab9b1088cfb11c.tar.gz prosody-1f0a67c0df2212951c8ab693e4ab9b1088cfb11c.zip |
Merge 0.10->trunk
-rw-r--r-- | plugins/muc/mod_muc.lua | 2 | ||||
-rw-r--r-- | util/jid.lua | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/plugins/muc/mod_muc.lua b/plugins/muc/mod_muc.lua index 38c97d61..042d3891 100644 --- a/plugins/muc/mod_muc.lua +++ b/plugins/muc/mod_muc.lua @@ -164,7 +164,7 @@ function stanza_handler(event) 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 diff --git a/util/jid.lua b/util/jid.lua index 0d9a864f..08e63335 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 |