From 1f414ba7b160a92fd2ebfaba6eba91cf6403e178 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Mon, 1 Jul 2013 00:17:30 +0200 Subject: [PATCH] os_klinechan: Prefer klining by IP if known, like flood klines. --- os_klinechan.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/os_klinechan.c b/os_klinechan.c index 939207a..f8b5189 100644 --- a/os_klinechan.c +++ b/os_klinechan.c @@ -49,6 +49,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) chanuser_t *cu = hdata->cu; service_t *svs; char reason[256]; + const char *khost; svs = service_find("operserv"); if (svs == NULL) @@ -62,6 +63,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) if (metadata_find(mc, "private:klinechan:closer")) { + khost = cu->user->ip ? cu->user->ip : cu->user->host; if (has_priv_user(cu->user, PRIV_JOIN_STAFFONLY)) notice(svs->me->nick, cu->user->nick, "Warning: %s klines normal users", @@ -70,7 +72,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) { char buf[BUFSIZE]; snprintf(buf, sizeof(buf), "Not klining *@%s due to klinechan %s (user %s!%s@%s is exempt)", - cu->user->host, cu->chan->name, + khost, cu->chan->name, cu->user->nick, cu->user->user, cu->user->host); wallops_sts(buf); } @@ -79,10 +81,10 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) snprintf(reason, sizeof reason, "Joining %s", cu->chan->name); slog(LG_INFO, "klinechan_check_join(): klining \2*@%s\2 (user \2%s!%s@%s\2 joined \2%s\2)", - cu->user->host, cu->user->nick, + khost, cu->user->nick, cu->user->user, cu->user->host, cu->chan->name); - kline_sts("*", "*", cu->user->host, 86400, reason); + kline_sts("*", "*", khost, 86400, reason); } } }