about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/ngircd/irc-channel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index 934c9082..e9599927 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -70,6 +70,10 @@ join_allowed(CLIENT *Client, CLIENT *target, CHANNEL *chan,
 	bool is_invited, is_banned;
 	const char *channel_modes;
 
+	/* Allow IRC operators to overwrite channel limits */
+	if (strchr(Client_Modes(Client), 'o'))
+		return true;
+
 	is_banned = Lists_Check(Channel_GetListBans(chan), target);
 	is_invited = Lists_Check(Channel_GetListInvites(chan), target);