diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-23 17:22:10 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-23 17:22:10 +0000 |
commit | 5aaa38bea4ff3556dc3bff8c09c72a8067368c17 (patch) | |
tree | 9a339a2c1ab6cd785e84f9991a00edc88325b440 | |
parent | 480e1e9e1ff6c39a154f3efc6e83b0ffc94a6c8d (diff) |
Fix for bug #358, by rogalek.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7501 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/channels.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index b44a863b4..a111512bc 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -217,10 +217,18 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo if (!Ptr) { - if ((!IS_LOCAL(user)) && (!TS)) - Instance->Log(DEBUG,"*** BUG *** chanrec::JoinUser called for REMOTE user '%s' on channel '%s' but no TS given!", user->nick, cn); - - privs = "@"; + /* + * Fix: desync bug was here, don't set @ on remote users - spanningtree handles their permissions. bug #358. -- w00t + */ + if (!IS_LOCAL(user)) + { + if (!TS) + Instance->Log(DEBUG,"*** BUG *** chanrec::JoinUser called for REMOTE user '%s' on channel '%s' but no TS given!", user->nick, cn); + } + else + { + privs = "@"; + } if (IS_LOCAL(user) && override == false) { |