projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow Network Services opping themselves and removed an old copyright message
[ircu2.10.12-pk.git]
/
ircd
/
channel.c
diff --git
a/ircd/channel.c
b/ircd/channel.c
index dc8783ce5994f86570abc5885dcfbac86c2271b3..b82d8e0780b25c4e3d0f8a92cb7ff71fd72a6d63 100644
(file)
--- a/
ircd/channel.c
+++ b/
ircd/channel.c
@@
-2513,6
+2513,9
@@
mode_parse_access(struct ParseState *state, ulong64 *flag_p)
return;
}
return;
}
+ if(feature_bool(FEAT_CHMODE_A_NOSET) && !(state->flags & MODE_PARSE_FORCE)) /* mode can'T be set. */
+ return;
+
if (!(state->flags & MODE_PARSE_WIPEOUT) &&
(!t_access || t_access == state->chptr->mode.access))
return;
if (!(state->flags & MODE_PARSE_WIPEOUT) &&
(!t_access || t_access == state->chptr->mode.access))
return;
@@
-3511,7
+3514,7
@@
mode_parse_client(struct ParseState *state, ulong64 *flag_p)
} else if (req_oplevel <= MAXOPLEVEL)
oplevel = req_oplevel;
}
} else if (req_oplevel <= MAXOPLEVEL)
oplevel = req_oplevel;
}
- if(*flag_p == CHFL_CHANOP && state->member && !IsChanOp(state->member)) {
+ if(*flag_p == CHFL_CHANOP && state->member && !IsChanOp(state->member)
&& !(state->flags & MODE_PARSE_FORCE)
) {
send_notoper(state);
return;
}
send_notoper(state);
return;
}