diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-02-08 22:56:08 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-02-08 22:56:08 +0000 |
commit | f5c9eb1434178669dad371660d321cef61a1807e (patch) | |
tree | f16e2b1fc3cf48e7be5fd26b56878c67b27989d7 /src/modules | |
parent | 7df379d61e96e84d99a4d815fc879a38e5fabd2c (diff) |
Fix: always have a colon marking the last FJOIN parameter, otherwise servers are going to try to add users to servers on perm channels with modes, etc.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11066 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_spanningtree/netburst.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/netburst.cpp b/src/modules/m_spanningtree/netburst.cpp index 1072eb3eb..297950792 100644 --- a/src/modules/m_spanningtree/netburst.cpp +++ b/src/modules/m_spanningtree/netburst.cpp @@ -85,7 +85,7 @@ void TreeSocket::SendFJoins(TreeServer* Current, Channel* c) char list[MAXBUF]; size_t dlen, curlen; - dlen = curlen = snprintf(list,MAXBUF,":%s FJOIN %s %lu +%s", this->ServerInstance->Config->GetSID().c_str(), c->name.c_str(),(unsigned long)c->age, c->ChanModes(true)); + dlen = curlen = snprintf(list,MAXBUF,":%s FJOIN %s %lu +%s :", this->ServerInstance->Config->GetSID().c_str(), c->name.c_str(),(unsigned long)c->age, c->ChanModes(true)); int numusers = 0; char* ptr = list + dlen; bool looped_once = false; @@ -102,13 +102,13 @@ void TreeSocket::SendFJoins(TreeServer* Current, Channel* c) if ((curlen + modestr.length() + i->first->uuid.length() + 4) > 480) { buffer.append(list).append("\r\n"); - dlen = curlen = snprintf(list, MAXBUF, ":%s FJOIN %s %lu +%s", this->ServerInstance->Config->GetSID().c_str(), c->name.c_str(), (unsigned long)c->age, c->ChanModes(true)); + dlen = curlen = snprintf(list, MAXBUF, ":%s FJOIN %s %lu +%s :", this->ServerInstance->Config->GetSID().c_str(), c->name.c_str(), (unsigned long)c->age, c->ChanModes(true)); ptr = list + dlen; numusers = 0; } // The first parameter gets a : before it - ptrlen = snprintf(ptr, MAXBUF, " %s%s,%s", !numusers ? ":" : "", modestr.c_str(), i->first->uuid.c_str()); + ptrlen = snprintf(ptr, MAXBUF, " %s,%s", modestr.c_str(), i->first->uuid.c_str()); looped_once = true; |