]>
Commit | Line | Data |
---|---|---|
1 | do not send HACK deop notice for +k operator deopping himself (using /MODE or /OPMODE) | |
2 | ||
3 | diff -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), |