summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treesocket1.cpp
diff options
context:
space:
mode:
authorGravatar brain2007-05-10 15:41:11 +0000
committerGravatar brain2007-05-10 15:41:11 +0000
commit1becbd4f0347de2cc4d5d4432bba41ea932689de (patch)
tree99885715d7c63426667a6a5e733880f91b4c1735 /src/modules/m_spanningtree/treesocket1.cpp
parentFix for bug #281, oper fail notices should be global (diff)
remove EB metadata madness and make services people happy.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6956 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/treesocket1.cpp')
-rw-r--r--src/modules/m_spanningtree/treesocket1.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp
index e6c9eeb49..30fc0fa79 100644
--- a/src/modules/m_spanningtree/treesocket1.cpp
+++ b/src/modules/m_spanningtree/treesocket1.cpp
@@ -889,6 +889,13 @@ bool TreeSocket::IntroduceClient(const std::string &source, std::deque<std::stri
cmd_validation valid[] = { {"Nickname", 1, NICKMAX}, {"Hostname", 2, 64}, {"Displayed hostname", 3, 64}, {"Ident", 4, IDENTMAX}, {"GECOS", 7, MAXGECOS}, {"", 0, 0} };
+ TreeServer* remoteserver = Utils->FindServer(source);
+ if (!remoteserver)
+ {
+ this->WriteLine(std::string(":")+this->Instance->Config->ServerName+" KILL "+params[1]+" :Invalid client introduction (Unknown server "+source+")");
+ return true;
+ }
+
/* Check parameters for validity before introducing the client, discovered by dmb */
if (!age)
{
@@ -955,7 +962,7 @@ bool TreeSocket::IntroduceClient(const std::string &source, std::deque<std::stri
Instance->AddGlobalClone(_new);
- bool send = !((this->Utils->quiet_bursts && this->bursting) || (this->Instance->SilentULine(_new->server)));
+ bool send = !(((this->Utils->quiet_bursts) && (this->bursting || Utils->FindRemoteBurstServer(remoteserver))) || (this->Instance->SilentULine(_new->server)));
if (send)
this->Instance->SNO->WriteToSnoMask('C',"Client connecting at %s: %s!%s@%s [%s] [%s]",_new->server,_new->nick,_new->ident,_new->host, _new->GetIPString(), _new->fullname);