|
@@ -827,7 +827,7 @@ static void refresh_ban_kick(struct chanset_t* chan, memberlist *m, char *user)
|
|
|
for (int cycle = 0; cycle < 2; cycle++) {
|
|
for (int cycle = 0; cycle < 2; cycle++) {
|
|
|
for (register maskrec* b = cycle ? chan->bans : global_bans; b; b = b->next) {
|
|
for (register maskrec* b = cycle ? chan->bans : global_bans; b; b = b->next) {
|
|
|
if (wild_match(b->mask, user) || match_cidr(b->mask, user)) {
|
|
if (wild_match(b->mask, user) || match_cidr(b->mask, user)) {
|
|
|
- if (role == 1)
|
|
|
|
|
|
|
+ if (role == 1 && chan_hasop(m))
|
|
|
add_mode(chan, '-', 'o', m->nick); /* Guess it can't hurt. */
|
|
add_mode(chan, '-', 'o', m->nick); /* Guess it can't hurt. */
|
|
|
check_exemptlist(chan, user);
|
|
check_exemptlist(chan, user);
|
|
|
do_mask(chan, chan->channel.ban, b->mask, 'b');
|
|
do_mask(chan, chan->channel.ban, b->mask, 'b');
|