Commit Diff


commit - 2a790861a1334c17f87405c60c1417b15bbce392
commit + 83bfdddf995bd0a3b23ce7e7da3719e4b73c782e
blob - 934c9082c8f4647bf41f0ceb1751c7ac93d50a31
blob + e95999275aaab341c5a40252754d7343efa99df7
--- src/ngircd/irc-channel.c
+++ src/ngircd/irc-channel.c
@@ -69,6 +69,10 @@ join_allowed(CLIENT *Client, CLIENT *target, CHANNEL *
 {
 	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);