From b5f3e5e5e87b36b21276575daf683a56b2c94d09 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Fri, 29 Apr 2016 18:59:32 -0500 Subject: [PATCH] ircd: Channel.bants is not a serial but a timestamp. Previously, the IRCd would increment bants instead of resyncing the timestamp, causing the potential of false negatives from the bancache system. --- ircd/chmode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ircd/chmode.c b/ircd/chmode.c index c3182d1fd..ea405d80b 100644 --- a/ircd/chmode.c +++ b/ircd/chmode.c @@ -291,7 +291,7 @@ add_id(struct Client *source_p, struct Channel *chptr, const char *banid, const /* invalidate the can_send() cache */ if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION) - chptr->bants++; + chptr->bants = rb_current_time(); return true; } @@ -321,7 +321,7 @@ del_id(struct Channel *chptr, const char *banid, rb_dlink_list * list, long mode /* invalidate the can_send() cache */ if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION) - chptr->bants++; + chptr->bants = rb_current_time(); return banptr; }