diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-06-05 14:16:36 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2019-07-21 20:59:35 +0100 |
commit | 7f273676eb203a1be6ca179c6ee1b3d3a4e81a78 (patch) | |
tree | 9621beb408331e4cd9d9f32763e78f561c2118ee /src/channel_mode.c | |
parent | 02b2a4ebcbd2eb71f7abaad36da2dc489c7c2d7c (diff) |
Convert global channel operator support to OFTC's God mode.
OFTC's God mode is very similar to the global channel operator mode,
with the following differences:
- gaining God mode notifies all operators
- uses of God mode privileges notifies all operators
- God mode times out after a configurable period
- uses umode S rather than O - S is taken for SSL clients in
hybrid 8.1.13.
So align with OFTC's implementation, but omit these features.
Diffstat (limited to 'src/channel_mode.c')
-rw-r--r-- | src/channel_mode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/channel_mode.c b/src/channel_mode.c index 5a11d79..fc6771b 100644 --- a/src/channel_mode.c +++ b/src/channel_mode.c @@ -1578,7 +1578,7 @@ get_channel_access(const struct Client *source_p, const struct Membership *member) { /* Let hacked servers in for now... */ - if (!MyClient(source_p) || HasUMode(source_p, UMODE_GCHANOP)) + if (!MyClient(source_p)) return CHACCESS_CHANOP; if (member == NULL) @@ -1595,6 +1595,9 @@ get_channel_access(const struct Client *source_p, return CHACCESS_HALFOP; #endif + if (HasUMode(source_p, UMODE_GOD)) + return CHACCESS_GOD; + return CHACCESS_PEON; } |