summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2016-06-05 14:16:36 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2019-07-21 20:59:35 +0100
commit83edbefbaabb2b17c84ac803131dc1a549da6964 (patch)
tree32cb5123307ee3e3b59dedf191fd5776ea5b7062 /src
parent7f273676eb203a1be6ca179c6ee1b3d3a4e81a78 (diff)
Add support for limited temporary Klines
Diffstat (limited to 'src')
-rw-r--r--src/conf.c1
-rw-r--r--src/conf_lexer.l2
-rw-r--r--src/conf_parser.y11
3 files changed, 14 insertions, 0 deletions
diff --git a/src/conf.c b/src/conf.c
index e488dec..ca93b9e 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -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