summaryrefslogtreecommitdiff
path: root/src/channel_mode.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2016-06-05 14:16:36 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2019-07-21 20:59:35 +0100
commit7f273676eb203a1be6ca179c6ee1b3d3a4e81a78 (patch)
tree9621beb408331e4cd9d9f32763e78f561c2118ee /src/channel_mode.c
parent02b2a4ebcbd2eb71f7abaad36da2dc489c7c2d7c (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.c5
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;
}