mod_c2s_conn_throttle: Reduce log level from error->info
Our general policy is that "error" should never be triggerable by remote
entities, and that it is always about something that requires admin
intervention. This satisfies neither condition.
The "warn" level can be used for unexpected events/behaviour triggered by
remote entities, and this could qualify. However I don't think failed auth
attempts are unexpected enough.
I selected "info" because it is what is also used for other notable session
lifecycle events.
-- Send carbons v0 style copies of incoming messages to clients which
-- are not (yet) capable of Message Carbons (XEP-0280).
--
-- This extension integrates with the mod_carbons plugin in such a way
-- that a client capable of Message Carbons will not get a v0 copy.
--
-- This extension can be enabled for all users by default by setting
-- carbons_copies_default = true.
--
-- Alternatively or additionally setting carbons_copies_adhoc = true
-- will allow the user to enable or disable copies through Adhoc
-- commands.
--
-- Copyright (C) 2012 Michael Holzt
--
-- This file is MIT/X11 licensed.
local jid_split = require "util.jid".split;
local dm_load = require "util.datamanager".load;
local dm_store = require "util.datamanager".store;
local adhoc_new = module:require "adhoc".new;
local xmlns_carbons_v0 = "urn:xmpp:carbons:0";
local storename = "mod_carbons_copies";
local function toggle_copies(data, on)
local username, hostname, resource = jid_split(data.from);
dm_store(username, hostname, storename, { enabled = on });
end
local function adhoc_enable_copies(self, data, state)
toggle_copies(data, true);
return { info = "Copies are enabled for you now.\nPlease restart/reconnect clients.", status = "completed" };
end
local function adhoc_disable_copies(self, data, state)
toggle_copies(data, false);
return { info = "Copies are disabled for you now.\nPlease restart/reconnect clients.", status = "completed" };
end
module:hook("resource-bind", function(event)
local session = event.session;
local username, hostname, resource = jid_split(session.full_jid);
local store = dm_load(username, hostname, storename) or
{ enabled =
module:get_option_boolean("carbons_copies_default") };
if store.enabled then
session.want_carbons = xmlns_carbons_v0;
module:log("debug", "%s enabling copies", session.full_jid);
end
end);
-- Adhoc-Support
if module:get_option_boolean("carbons_copies_adhoc") then
local enable_desc = adhoc_new("Carbons: Enable Copies",
"mod_carbons_copies#enable", adhoc_enable_copies);
local disable_desc = adhoc_new("Carbons: Disable Copies",
"mod_carbons_copies#disable", adhoc_disable_copies);
module:add_item("adhoc", enable_desc);
module:add_item("adhoc", disable_desc);
end