X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/ccd2e3b8ee0a8181013fbee9f3515657b32a45cc..a58b84b4b21c7b8d5089252f29c2b2909eae90e1:/modules/core/m_kick.c diff --git a/modules/core/m_kick.c b/modules/core/m_kick.c index e807212..a85b7a7 100644 --- a/modules/core/m_kick.c +++ b/modules/core/m_kick.c @@ -110,7 +110,7 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p { if(MyConnect(source_p)) { - if(IsOverride(source_p) & !is_any_op(msptr)) + if(IsOverride(source_p)) is_override = 1; else { @@ -228,6 +228,10 @@ m_kick(struct Client *client_p, struct Client *source_p, int parc, const char *p ":%s KICK %s %s :%s", use_id(source_p), chptr->chname, use_id(who), comment); remove_user_from_channel(msptr); + + /* we don't need to track NOREJOIN stuff unless it's our client being kicked */ + if(MyClient(who) && chptr->mode.mode & MODE_NOREJOIN) + channel_metadata_time_add(chptr, "KICKNOREJOIN", rb_current_time(), who->id); } else if (MyClient(source_p)) sendto_one_numeric(source_p, ERR_USERNOTINCHANNEL,