# HG changeset patch # User Kim Alvefur # Date 1505954188 -7200 # Node ID 3a6f5b0f56f09eda1e2cacb198d90d4ce289c1ce # Parent ea2667fc6781e8efe7bab1cc2e26398b5d52f05d# Parent 63e505578d4f1f196dd3fe62c078b2a0698952a3 Merge 0.10->trunk diff -r ea2667fc6781 -r 3a6f5b0f56f0 core/hostmanager.lua --- a/core/hostmanager.lua Sun Sep 17 13:33:38 2017 -0400 +++ b/core/hostmanager.lua Thu Sep 21 02:36:28 2017 +0200 @@ -91,7 +91,7 @@ host_session.type = "component"; end hosts[host] = host_session; - if not host:match("[@/]") then + if not host_config.disco_hidden and not host:match("[@/]") then disco_items:set(host:match("%.(.*)") or "*", host, host_config.name or true); end for option_name in pairs(host_config) do diff -r ea2667fc6781 -r 3a6f5b0f56f0 plugins/mod_mam/mod_mam.lua --- a/plugins/mod_mam/mod_mam.lua Sun Sep 17 13:33:38 2017 -0400 +++ b/plugins/mod_mam/mod_mam.lua Thu Sep 21 02:36:28 2017 +0200 @@ -67,20 +67,18 @@ module:hook("iq/self/"..xmlns_mam..":prefs", function(event) local origin, stanza = event.origin, event.stanza; local user = origin.username; - if stanza.attr.type == "get" then - local prefs = prefs_to_stanza(get_prefs(user)); - local reply = st.reply(stanza):add_child(prefs); - origin.send(reply); - else -- type == "set" + if stanza.attr.type == "set" then local new_prefs = stanza:get_child("prefs", xmlns_mam); local prefs = prefs_from_stanza(new_prefs); local ok, err = set_prefs(user, prefs); if not ok then origin.send(st.error_reply(stanza, "cancel", "internal-server-error", "Error storing preferences: "..tostring(err))); - else - origin.send(st.reply(stanza)); + return true; end end + local prefs = prefs_to_stanza(get_prefs(user)); + local reply = st.reply(stanza):add_child(prefs); + origin.send(reply); return true; end); @@ -294,6 +292,7 @@ end end); if #clone_for_storage.tags == 0 then + log("debug", "Not archiving stanza: %s (empty when stripped)", stanza:top_tag()); return; end else diff -r ea2667fc6781 -r 3a6f5b0f56f0 prosodyctl --- a/prosodyctl Sun Sep 17 13:33:38 2017 -0400 +++ b/prosodyctl Thu Sep 21 02:36:28 2017 +0200 @@ -868,8 +868,22 @@ while arg[1] and prosody.hosts[ arg[1] ] do table.insert(hostnames, table.remove(arg, 1)); end + if hostnames[1] == nil then + local domains = os.getenv"RENEWED_DOMAINS"; -- Set if invoked via certbot + if domains then + for host in domains:gmatch("%S+") do + table.insert(hostnames, host); + end + else + for host in pairs(prosody.hosts) do + if host ~= "*" and config.get(host, "enabled") ~= false then + table.insert(hostnames, host); + end + end + end + end if not arg[1] or arg[1] == "--help" then -- Probably forgot the path - show_usage("cert import HOSTNAME [HOSTNAME+] /path/to/certs [/other/paths/]+", + show_usage("cert import [HOSTNAME+] /path/to/certs [/other/paths/]+", "Copies certificates to "..cert_basedir); return 1; end @@ -930,13 +944,15 @@ end local subcmd = table.remove(arg, 1); if type(cert_commands[subcmd]) == "function" then - if not arg[1] then - show_message"You need to supply at least one hostname" - arg = { "--help" }; - end - if arg[1] ~= "--help" and not hosts[arg[1]] then - show_message(error_messages["no-such-host"]); - return 1; + if subcmd ~= "import" then -- hostnames are optional for import + if not arg[1] then + show_message"You need to supply at least one hostname" + arg = { "--help" }; + end + if arg[1] ~= "--help" and not hosts[arg[1]] then + show_message(error_messages["no-such-host"]); + return 1; + end end return cert_commands[subcmd](arg); elseif subcmd == "check" then