# HG changeset patch # User Kim Alvefur # Date 1440587857 -7200 # Node ID 4fc6b0a090bbfc212c8bfd213a66e516ab30789e # Parent e3c51bf7861b3542cf92ab65e63504e147a58e65# Parent 8b4c8e9572110b514a5a74758ad1568ea960ba95 Merge 0.10->trunk diff -r e3c51bf7861b -r 4fc6b0a090bb plugins/mod_admin_adhoc.lua --- a/plugins/mod_admin_adhoc.lua Sat Aug 22 21:01:00 2015 +0200 +++ b/plugins/mod_admin_adhoc.lua Wed Aug 26 13:17:37 2015 +0200 @@ -30,6 +30,7 @@ local core_post_stanza = prosody.core_post_stanza; local adhoc_simple = require "util.adhoc".new_simple_form; local adhoc_initial = require "util.adhoc".new_initial_data_form; +local set = require"util.set"; module:depends("adhoc"); local adhoc_new = module:require "adhoc".new; @@ -613,6 +614,7 @@ end); local function send_to_online(message, server) + local sessions; if server then sessions = { [server] = hosts[server] }; else diff -r e3c51bf7861b -r 4fc6b0a090bb tools/ejabberd2prosody.lua --- a/tools/ejabberd2prosody.lua Sat Aug 22 21:01:00 2015 +0200 +++ b/tools/ejabberd2prosody.lua Wed Aug 26 13:17:37 2015 +0200 @@ -72,7 +72,22 @@ print("["..(err or "success").."] vCard: "..node.."@"..host); end function password(node, host, password) - local ret, err = dm.store(node, host, "accounts", {password = password}); + local data = {}; + if type(password) == "string" then + data.password = password; + elseif type(password) == "table" and password[1] == "scram" then + local unb64 = require"mime".unb64; + local function hex(s) + return s:gsub(".", function (c) + return ("%02x"):format(c:byte()); + end); + end + data.stored_key = hex(unb64(password[2])); + data.server_key = hex(unb64(password[3])); + data.salt = unb64(password[4]); + data.iteration_count = password[5]; + end + local ret, err = dm.store(node, host, "accounts", data); print("["..(err or "success").."] accounts: "..node.."@"..host); end function roster(node, host, jid, item)