aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/server.cpp
diff options
context:
space:
mode:
authorGravatar attilamolnar2013-08-19 20:22:15 +0200
committerGravatar attilamolnar2013-08-27 15:33:05 +0200
commit7e7e773d4d43e68c18c19e2ec712f4250e5f756d (patch)
treea446c63b439f3854ad2da6d8bd8d4dce9715b38a /src/modules/m_spanningtree/server.cpp
parentm_spanningtree Changes to TreeSocket::WriteLine() to avoid string copies (diff)
m_spanningtree Introduce command builders
Diffstat (limited to 'src/modules/m_spanningtree/server.cpp')
-rw-r--r--src/modules/m_spanningtree/server.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/modules/m_spanningtree/server.cpp b/src/modules/m_spanningtree/server.cpp
index 807666f49..69cae001c 100644
--- a/src/modules/m_spanningtree/server.cpp
+++ b/src/modules/m_spanningtree/server.cpp
@@ -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());
+}