Mercurial > prosody-modules
annotate mod_limits_exception/mod_limits_exception.lua @ 5511:0860497152af
mod_http_oauth2: Record hash of client_id to allow future verification
RFC 6819 section 5.2.2.2 states that refresh tokens MUST be bound to the
client. In order to do that, we must record something that can
definitely tie the client to the grant. Since the full client_id is so
large (why we have this client_subset function), a hash is stored
instead.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 02 Jun 2023 10:14:16 +0200 |
| parents | 28c16c93d79a |
| children |
| 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); |
