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