annotate mod_limits_exception/mod_limits_exception.lua @ 5404:1087f697c3f3

mod_http_oauth2: Strip unknown extra fields from client registration We shouldn't sign things we don't understand! RFC 7591 section-2 states: > The authorization server MUST ignore any client metadata sent by the > client that it does not understand (for instance, by silently removing > unknown metadata from the client's registration record during > processing). Prevents grandfathering in of unvalidated data that might become used later, especially since the 'additionalProperties' schema keyword was removed in 698fef74ce53
author Kim Alvefur <zash@zash.se>
date Tue, 02 May 2023 16:23:40 +0200
parents 28c16c93d79a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4562
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local unlimited_jids = module:get_option_inherited_set("unlimited_jids", {});
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 if unlimited_jids:empty() then
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 return;
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 end
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 module:hook("authentication-success", function (event)
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 local session = event.session;
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 local jid = session.username .. "@" .. session.host;
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 if unlimited_jids:contains(jid) then
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 if session.conn and session.conn.setlimit then
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 session.conn:setlimit(0);
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 elseif session.throttle then
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 session.throttle = nil;
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 end
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 end
28c16c93d79a mod_limits_exception: New module to except some JIDs from rate limiting
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 end);