plugins/mod_limits.lua
changeset 11738 c0fc4ca74046
parent 11564 3bbb1af92514
child 11739 7d29167bfcc3
--- a/plugins/mod_limits.lua	Thu Jul 29 20:04:57 2021 +0200
+++ b/plugins/mod_limits.lua	Thu Jul 29 20:11:48 2021 +0200
@@ -111,23 +111,27 @@
 	filters.remove_filter_hook(filter_hook);
 end
 
+function unlimited(session)
+	local session_type = session.type:match("^[^_]+");
+	if session.conn and session.conn.setlimit then
+		session.conn:setlimit(0);
+		-- Currently no burst support
+	else
+		local filter_set = type_filters[session_type];
+		filters.remove_filter(session, "bytes/in", filter_set.bytes_in);
+		session.throttle = nil;
+	end
+end
+
 function module.add_host(module)
 	local unlimited_jids = module:get_option_inherited_set("unlimited_jids", {});
 
 	if not unlimited_jids:empty() then
 		module:hook("authentication-success", function (event)
 			local session = event.session;
-			local session_type = session.type:match("^[^_]+");
 			local jid = session.username .. "@" .. session.host;
 			if unlimited_jids:contains(jid) then
-				if session.conn and session.conn.setlimit then
-					session.conn:setlimit(0);
-					-- Currently no burst support
-				else
-					local filter_set = type_filters[session_type];
-					filters.remove_filter(session, "bytes/in", filter_set.bytes_in);
-					session.throttle = nil;
-				end
+				unlimited(session);
 			end
 		end);
 	end