]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blame - hackdeop.patch
whonoidle: hide idle time of users with mode +I in non-HIS setup in WHO
[irc/quakenet/snircd-patchqueue.git] / hackdeop.patch
CommitLineData
27acef9a 1do not send HACK deop notice for +k operator deopping himself (using /MODE or /OPMODE)
2
3diff -r 98e1865ae6f0 ircd/channel.c
4--- a/ircd/channel.c
5+++ b/ircd/channel.c
6@@ -3176,14 +3176,15 @@
7 * Allow +X'ed users to mess with +k'ed.
8 * --Bigfoot
9 */
10- if ((IsRealChannelService(state->cli_change[i].client)) || (IsChannelService(state->cli_change[i].client) && !IsXtraOp(state->sptr))) {
11+ if ((IsRealChannelService(state->cli_change[i].client)) ||
12+ (IsChannelService(state->cli_change[i].client) && !IsXtraOp(state->sptr) && state->sptr != state->cli_change[i].client)) {
13 if (state->flags & MODE_PARSE_FORCE) /* it was forced */
14 sendto_opmask_butone(0, SNO_HACK4, "Deop of +k user on %H by %s",
15 state->chptr,
16 (IsServer(state->sptr) ? cli_name(state->sptr) :
17 cli_name((cli_user(state->sptr))->server)));
18
19- else if (MyUser(state->sptr) && state->flags & MODE_PARSE_SET && (state->sptr != state->cli_change[i].client)) {
20+ else if (MyUser(state->sptr) && state->flags & MODE_PARSE_SET) {
21 if(IsRealChannelService(state->cli_change[i].client)){
22 send_reply(state->sptr, ERR_ISREALSERVICE,
23 cli_name(state->cli_change[i].client),