From c3dd8d08d558ea13b346e95fee7e3d35f10a28d1 Mon Sep 17 00:00:00 2001 From: Bram Matthys Date: Tue, 4 Nov 2003 00:27:31 +0000 Subject: [PATCH] - Made it so chanmode +f flood detection doesn't apply to u-lined servers. This was already indirectly the case because services don't support the EOS command, but now some (homemade) services do :p. Reported by Troco (#0001337). --- Changes | 3 +++ src/channel.c | 7 ++++--- src/s_user.c | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 684042a8d..924dca804 100644 --- a/Changes +++ b/Changes @@ -2554,3 +2554,6 @@ seen. gmtime warning still there - Added insane OperOverride system for joining +z channels (#0001189). This seems better than just allowing the insecure oper trough +z. - Fixed a UMODE2 bug. +- Made it so chanmode +f flood detection doesn't apply to u-lined servers. This was + already indirectly the case because services don't support the EOS command, but + now some (homemade) services do :p. Reported by Troco (#0001337). diff --git a/src/channel.c b/src/channel.c index 5ff5cae4c..7aee3a9c4 100644 --- a/src/channel.c +++ b/src/channel.c @@ -3792,7 +3792,7 @@ CMD_FUNC(do_join) * from all servers. */ if (chptr->mode.floodprot && (MyClient(sptr) || sptr->srvptr->serv->flags.synced) && - do_chanflood(chptr->mode.floodprot, FLD_JOIN) && MyClient(sptr)) + !IsULine(sptr) && do_chanflood(chptr->mode.floodprot, FLD_JOIN) && MyClient(sptr)) { do_chanflood_action(chptr, FLD_JOIN, "join"); } @@ -5345,7 +5345,8 @@ CMD_FUNC(m_knock) sptr->name, chptr->chname); #ifdef NEWCHFLOODPROT - if (chptr->mode.floodprot && do_chanflood(chptr->mode.floodprot, FLD_KNOCK) && MyClient(sptr)) + if (chptr->mode.floodprot && !IsULine(sptr) && + do_chanflood(chptr->mode.floodprot, FLD_KNOCK) && MyClient(sptr)) do_chanflood_action(chptr, FLD_KNOCK, "knock"); #endif return 0; @@ -5752,7 +5753,7 @@ CMD_FUNC(m_sjoin) } else sendto_channel_butserv(chptr, acptr, ":%s JOIN :%s", nick, chptr->chname); #ifdef NEWCHFLOODPROT - if (chptr->mode.floodprot && sptr->serv->flags.synced) + if (chptr->mode.floodprot && sptr->serv->flags.synced && !IsULine(sptr)) do_chanflood(chptr->mode.floodprot, FLD_JOIN); #endif } diff --git a/src/s_user.c b/src/s_user.c index 1a9778be7..7fe6dbe25 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -1821,7 +1821,7 @@ CMD_FUNC(m_nick) hash_check_watch(sptr, RPL_LOGON); #ifdef NEWCHFLOODPROT - if (sptr->user && !newusr) + if (sptr->user && !newusr && !IsULine(sptr)) { for (mp = sptr->user->channel; mp; mp = mp->next) {