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.
This commit is contained in:
William Pitcock 2016-04-29 18:59:32 -05:00
parent ff0414c856
commit b5f3e5e5e8

View file

@ -291,7 +291,7 @@ add_id(struct Client *source_p, struct Channel *chptr, const char *banid, const
/* invalidate the can_send() cache */ /* invalidate the can_send() cache */
if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION) if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION)
chptr->bants++; chptr->bants = rb_current_time();
return true; 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 */ /* invalidate the can_send() cache */
if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION) if(mode_type == CHFL_BAN || mode_type == CHFL_QUIET || mode_type == CHFL_EXCEPTION)
chptr->bants++; chptr->bants = rb_current_time();
return banptr; return banptr;
} }