summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-11-30 21:22:13 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-11-30 21:22:13 +0000
commit1b6bcd432ac77865e14a8046f0a4b29eeaa2bcd8 (patch)
treeb5600e2407696c239d40d788acc4f8ada3d1ddbe /src
parentae24824b0f72acdb368105881c1fbceb93d46ccc (diff)
Fixed bug where half-registered users would be propogated if they were half connected during sync
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2068 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_spanningtree.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 00805e1aa..124ae0be7 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -613,16 +613,19 @@ class TreeSocket : public InspSocket
char data[MAXBUF];
for (user_hash::iterator u = clientlist.begin(); u != clientlist.end(); u++)
{
- snprintf(data,MAXBUF,":%s NICK %lu %s %s %s %s +%s %s :%s",u->second->server,(unsigned long)u->second->age,u->second->nick,u->second->host,u->second->dhost,u->second->ident,u->second->modes,u->second->ip,u->second->fullname);
- this->WriteLine(data);
- if (strchr(u->second->modes,'o'))
- {
- this->WriteLine(":"+std::string(u->second->nick)+" OPERTYPE "+std::string(u->second->oper));
- }
- char* chl = chlist(u->second,u->second);
- if (*chl)
+ if (u->second->registered == 7)
{
- this->WriteLine(":"+std::string(u->second->nick)+" FJOIN "+std::string(chl));
+ snprintf(data,MAXBUF,":%s NICK %lu %s %s %s %s +%s %s :%s",u->second->server,(unsigned long)u->second->age,u->second->nick,u->second->host,u->second->dhost,u->second->ident,u->second->modes,u->second->ip,u->second->fullname);
+ this->WriteLine(data);
+ if (strchr(u->second->modes,'o'))
+ {
+ this->WriteLine(":"+std::string(u->second->nick)+" OPERTYPE "+std::string(u->second->oper));
+ }
+ char* chl = chlist(u->second,u->second);
+ if (*chl)
+ {
+ this->WriteLine(":"+std::string(u->second->nick)+" FJOIN "+std::string(chl));
+ }
}
}
}