Mercurial > prosody-modules
annotate mod_limits_exception/mod_limits_exception.lua @ 6317:7b693a5539ad
mod_auth_http_async: Update documentation
The required async APIs were included in 0.10.0, but at the time of this
writing we only consider 0.12.x and later supported.
The fallback sync API would have made it work with even earlier
versions, but I don't remember specifically and it doesn't matter.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Tue, 02 Sep 2025 21:32:01 +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); |
