File

mod_limits_exception/mod_limits_exception.lua @ 4562:28c16c93d79a

mod_limits_exception: New module to except some JIDs from rate limiting
author Matthew Wild <mwild1@gmail.com>
date Mon, 24 May 2021 15:46:11 +0100
line wrap: on
line source

local unlimited_jids = module:get_option_inherited_set("unlimited_jids", {});

if unlimited_jids:empty() then
	return;
end

module:hook("authentication-success", function (event)
	local session = event.session;
	local jid = session.username .. "@" .. session.host;
	if unlimited_jids:contains(jid) then
		if session.conn and session.conn.setlimit then
			session.conn:setlimit(0);
		elseif session.throttle then
			session.throttle = nil;
		end
	end
end);