Mercurial > prosody-modules
annotate mod_limits_exception/mod_limits_exception.lua @ 4909:6ce42aacad42
mod_adhoc_account_management: Add compatibility with 0.12 permission string (thanks mirux)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 19 Mar 2022 09:10:25 +0000 |
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); |