diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 7a6f85469..b96b4588e 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -213,7 +213,7 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo { 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 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo * 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 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo * 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); |