os_klinechan: Prefer klining by IP if known, like flood klines.
This commit is contained in:
parent
2451d1c0f5
commit
1f414ba7b1
|
@ -49,6 +49,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata)
|
||||||
chanuser_t *cu = hdata->cu;
|
chanuser_t *cu = hdata->cu;
|
||||||
service_t *svs;
|
service_t *svs;
|
||||||
char reason[256];
|
char reason[256];
|
||||||
|
const char *khost;
|
||||||
|
|
||||||
svs = service_find("operserv");
|
svs = service_find("operserv");
|
||||||
if (svs == NULL)
|
if (svs == NULL)
|
||||||
|
@ -62,6 +63,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata)
|
||||||
|
|
||||||
if (metadata_find(mc, "private:klinechan:closer"))
|
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))
|
if (has_priv_user(cu->user, PRIV_JOIN_STAFFONLY))
|
||||||
notice(svs->me->nick, cu->user->nick,
|
notice(svs->me->nick, cu->user->nick,
|
||||||
"Warning: %s klines normal users",
|
"Warning: %s klines normal users",
|
||||||
|
@ -70,7 +72,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata)
|
||||||
{
|
{
|
||||||
char buf[BUFSIZE];
|
char buf[BUFSIZE];
|
||||||
snprintf(buf, sizeof(buf), "Not klining *@%s due to klinechan %s (user %s!%s@%s is exempt)",
|
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);
|
cu->user->nick, cu->user->user, cu->user->host);
|
||||||
wallops_sts(buf);
|
wallops_sts(buf);
|
||||||
}
|
}
|
||||||
|
@ -79,10 +81,10 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata)
|
||||||
snprintf(reason, sizeof reason, "Joining %s",
|
snprintf(reason, sizeof reason, "Joining %s",
|
||||||
cu->chan->name);
|
cu->chan->name);
|
||||||
slog(LG_INFO, "klinechan_check_join(): klining \2*@%s\2 (user \2%s!%s@%s\2 joined \2%s\2)",
|
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->user->user, cu->user->host,
|
||||||
cu->chan->name);
|
cu->chan->name);
|
||||||
kline_sts("*", "*", cu->user->host, 86400, reason);
|
kline_sts("*", "*", khost, 86400, reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue