diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-30 21:22:13 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-30 21:22:13 +0000 |
commit | 1b6bcd432ac77865e14a8046f0a4b29eeaa2bcd8 (patch) | |
tree | b5600e2407696c239d40d788acc4f8ada3d1ddbe /src/modules/m_spanningtree.cpp | |
parent | ae24824b0f72acdb368105881c1fbceb93d46ccc (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/modules/m_spanningtree.cpp')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 21 |
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)); + } } } } |