Index: src/channels.cpp
===================================================================
--- src/channels.cpp (revision 5830)
+++ src/channels.cpp (working copy)
@@ -213,7 +213,7 @@
{
privs = "@";
- if (IS_LOCAL(user))
+ if (IS_LOCAL(user) && override == false)
{
MOD_RESULT = 0;
FOREACH_RESULT_I(Instance,I_OnUserPreJoin,OnUserPreJoin(user,NULL,cname,privs));
@@ -248,7 +248,7 @@
* remote users are allowed us to bypass channel modes
* and bans (used by servers)
*/
- if (IS_LOCAL(user)) /* was a check on fd > -1 */
+ if (IS_LOCAL(user) && override == false)
{
MOD_RESULT = 0;
FOREACH_RESULT_I(Instance,I_OnUserPreJoin,OnUserPreJoin(user,Ptr,cname,privs));
@@ -333,7 +333,7 @@
* and put the channel in here. Same for remote users which are not bound by
* the channel limits. Otherwise, nope, youre boned.
*/
- if (!IS_LOCAL(user)) /* was a check on fd < 0 */
+ if (!IS_LOCAL(user) || override == true) /* was a check on fd < 0 */
{
ucrec* a = new ucrec();
chanrec* c = chanrec::ForceChan(Instance, Ptr, a, user, privs);