]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/server.cpp
m_spanningtree Throw an exception on protocol violations instead of returning CMD_INVALID
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / server.cpp
index 807666f49ec5c1edc1d0296cee4b10df2b24504f..69cae001c6f13f20ff2d4cb0116b7b84984c34f8 100644 (file)
@@ -142,11 +142,8 @@ bool TreeSocket::Outbound_Reply_Server(parameterlist &params)
                Utils->TreeRoot->AddChild(MyRoot);
                this->DoBurst(MyRoot);
 
-               params[4] = ":" + params[4];
-
-               /* IMPORTANT: Take password/hmac hash OUT of here before we broadcast the introduction! */
-               params[1] = "*";
-               Utils->DoOneToAllButSender(ServerInstance->Config->GetSID(),"SERVER",params,MyRoot);
+               // This will send a * in place of the password/hmac
+               CommandServer::Builder(MyRoot).Forward(MyRoot);
 
                return true;
        }
@@ -248,3 +245,11 @@ bool TreeSocket::Inbound_Server(parameterlist &params)
        return false;
 }
 
+CommandServer::Builder::Builder(TreeServer* server)
+       : CmdBuilder(server->GetParent()->GetID(), "SERVER")
+{
+       push(server->GetName());
+       push_raw(" * 0 ");
+       push_raw(server->GetID());
+       push_last(server->GetDesc());
+}