diff --git a/Changes b/Changes index d7ec0e041..3efc43ae1 100644 --- a/Changes +++ b/Changes @@ -586,3 +586,4 @@ seen. gmtime warning still there - Made CRYPTOIRCD get cached in config.cache - Fixed generation of certs, moved from configure.in to Config - Fixed lack of -lssl +- Fixed the keywalk bug reported by BaTmAn (?) diff --git a/src/channel.c b/src/channel.c index 8f02998b6..e8f9b64de 100644 --- a/src/channel.c +++ b/src/channel.c @@ -2392,9 +2392,10 @@ void over_notice(aClient *cptr, aClient *sptr, aChannel *chptr, char *key) if (is_banned(cptr, sptr, chptr) && IsOper(sptr) && !IsULine(sptr)) { sendto_umode(UMODE_EYES, "*** Banwalk [IRCop: %s] [Channel: %s]",sptr->name,chptr->chname); - } else if (*chptr->mode.key && (BadPtr(key) || mycmp(chptr->mode.key, key))) { + } else if (IsOper(sptr) && !IsULine(sptr) && *chptr->mode.key && (BadPtr(key) || + mycmp(chptr->mode.key, key))) { sendto_umode(UMODE_EYES, "*** Keywalk [IRCop: %s] [Channel: %s]",sptr->name,chptr->chname); - } else if ((chptr->mode.mode & MODE_INVITEONLY) && !lp) { + } else if (IsOper(sptr) && !IsULine(sptr) && (chptr->mode.mode & MODE_INVITEONLY) && !lp) { sendto_umode(UMODE_EYES, "*** Invitewalk [IRCop: %s] [Channel: %s]",sptr->name,chptr->chname); }