diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-06-05 14:16:36 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2019-07-21 20:59:35 +0100 |
commit | 83edbefbaabb2b17c84ac803131dc1a549da6964 (patch) | |
tree | 32cb5123307ee3e3b59dedf191fd5776ea5b7062 /src | |
parent | 7f273676eb203a1be6ca179c6ee1b3d3a4e81a78 (diff) |
Add support for limited temporary Klines
Diffstat (limited to 'src')
-rw-r--r-- | src/conf.c | 1 | ||||
-rw-r--r-- | src/conf_lexer.l | 2 | ||||
-rw-r--r-- | src/conf_parser.y | 11 |
3 files changed, 14 insertions, 0 deletions
@@ -1176,6 +1176,7 @@ set_default_conf(void) ConfigFileEntry.oper_umodes = UMODE_BOTS | UMODE_LOCOPS | UMODE_SERVNOTICE | UMODE_OPERWALL | UMODE_WALLOP; ConfigFileEntry.throttle_time = 1; + ConfigFileEntry.tkline_max = 24 * 3600; } static void diff --git a/src/conf_lexer.l b/src/conf_lexer.l index 88fb7d0..a94c44a 100644 --- a/src/conf_lexer.l +++ b/src/conf_lexer.l @@ -332,7 +332,9 @@ stats_o_oper_only { return STATS_O_OPER_ONLY; } stats_P_oper_only { return STATS_P_OPER_ONLY; } stats_u_oper_only { return STATS_U_OPER_ONLY; } throttle_time { return THROTTLE_TIME; } +tkline { return TKLINE; } tkline_expire_notices { return TKLINE_EXPIRE_NOTICES; } +tkline_time { return TKLINE_TIME; } tlsv1 { return T_TLSV1; } topiclimit { return T_TOPICLIMIT; } true_no_oper_flood { return TRUE_NO_OPER_FLOOD; } diff --git a/src/conf_parser.y b/src/conf_parser.y index 4274b6a..9d4c28a 100644 --- a/src/conf_parser.y +++ b/src/conf_parser.y @@ -355,7 +355,9 @@ reset_block_state(void) %token T_WEBIRC %token TBOOL %token THROTTLE_TIME +%token TKLINE %token TKLINE_EXPIRE_NOTICES +%token TKLINE_TIME %token TMASKED %token TRUE_NO_OPER_FLOOD %token TS_MAX_DELTA @@ -1377,6 +1379,10 @@ oper_flags_item: KILL ':' REMOTE { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_MODULE; +} | TKLINE +{ + if (conf_parser_ctx.pass == 2) + block_state.port.value |= OPER_FLAG_TKLINE; }; @@ -2476,6 +2482,7 @@ general_item: general_hide_spoof_ips | general_ignore_bogus_ts | general_stats_e_disabled | general_max_watch | general_services_name | general_cycle_on_host_change | + general_tkline_time | error; @@ -2873,6 +2880,10 @@ general_default_floodcount: DEFAULT_FLOODCOUNT '=' NUMBER ';' ConfigFileEntry.default_floodcount = $3; }; +general_tkline_time: TKLINE_TIME '=' timespec ';' +{ + ConfigFileEntry.tkline_max = $3; +}; /*************************************************************************** * section channel |