Software / code / prosody
Comparison
plugins/mod_register_limits.lua @ 13213:50324f66ca2a
plugins: Use integer config API with interval specification where sensible
Many of these fall into a few categories:
- util.cache size, must be >= 1
- byte or item counts that logically can't be negative
- port numbers that should be in 1..0xffff
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 17 Jul 2023 01:38:54 +0200 |
| parent | 13209:c8d949cf6b09 |
comparison
equal
deleted
inserted
replaced
| 13212:3e6e98cc63e9 | 13213:50324f66ca2a |
|---|---|
| 19 local min_seconds_between_registrations = module:get_option_period("min_seconds_between_registrations"); | 19 local min_seconds_between_registrations = module:get_option_period("min_seconds_between_registrations"); |
| 20 local allowlist_only = module:get_option_boolean("allowlist_registration_only", module:get_option_boolean("whitelist_registration_only")); | 20 local allowlist_only = module:get_option_boolean("allowlist_registration_only", module:get_option_boolean("whitelist_registration_only")); |
| 21 local allowlisted_ips = module:get_option_set("registration_allowlist", module:get_option("registration_whitelist", { "127.0.0.1", "::1" }))._items; | 21 local allowlisted_ips = module:get_option_set("registration_allowlist", module:get_option("registration_whitelist", { "127.0.0.1", "::1" }))._items; |
| 22 local blocklisted_ips = module:get_option_set("registration_blocklist", module:get_option_set("registration_blacklist", {}))._items; | 22 local blocklisted_ips = module:get_option_set("registration_blocklist", module:get_option_set("registration_blacklist", {}))._items; |
| 23 | 23 |
| 24 local throttle_max = module:get_option_number("registration_throttle_max", min_seconds_between_registrations and 1); | 24 local throttle_max = module:get_option_number("registration_throttle_max", min_seconds_between_registrations and 1, 0); |
| 25 local throttle_period = module:get_option_period("registration_throttle_period", min_seconds_between_registrations); | 25 local throttle_period = module:get_option_period("registration_throttle_period", min_seconds_between_registrations); |
| 26 local throttle_cache_size = module:get_option_number("registration_throttle_cache_size", 100); | 26 local throttle_cache_size = module:get_option_integer("registration_throttle_cache_size", 100, 1); |
| 27 local blocklist_overflow = module:get_option_boolean("blocklist_on_registration_throttle_overload", | 27 local blocklist_overflow = module:get_option_boolean("blocklist_on_registration_throttle_overload", |
| 28 module:get_option_boolean("blacklist_on_registration_throttle_overload", false)); | 28 module:get_option_boolean("blacklist_on_registration_throttle_overload", false)); |
| 29 | 29 |
| 30 local throttle_cache = new_cache(throttle_cache_size, blocklist_overflow and function (ip, throttle) | 30 local throttle_cache = new_cache(throttle_cache_size, blocklist_overflow and function (ip, throttle) |
| 31 if not throttle:peek() then | 31 if not throttle:peek() then |