From 6c37b451cd2bb948d562cb00354bdc7a7dc400da Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Sun, 27 Jul 2014 18:56:12 +0200 Subject: m_spanningtree Parse additional information present in SERVER messages Format: [=] --- src/modules/m_spanningtree/server.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/modules/m_spanningtree/server.cpp') diff --git a/src/modules/m_spanningtree/server.cpp b/src/modules/m_spanningtree/server.cpp index 5da000f20..e7868090d 100644 --- a/src/modules/m_spanningtree/server.cpp +++ b/src/modules/m_spanningtree/server.cpp @@ -64,11 +64,29 @@ CmdResult CommandServer::HandleServer(TreeServer* ParentOfThis, std::vectorGetSocket(), lnk ? lnk->Hidden : false); Node->BeginBurst(); + HandleExtra(Node, params); ServerInstance->SNO->WriteToSnoMask('L', "Server \002"+ParentOfThis->GetName()+"\002 introduced server \002"+servername+"\002 ("+description+")"); return CMD_SUCCESS; } +void CommandServer::HandleExtra(TreeServer* newserver, const std::vector& params) +{ + for (std::vector::const_iterator i = params.begin() + 2; i != params.end() - 1; ++i) + { + const std::string& prop = *i; + std::string::size_type p = prop.find('='); + + std::string key = prop; + std::string val; + if (p != std::string::npos) + { + key.erase(p); + val = prop.substr(p+1); + } + } +} + Link* TreeSocket::AuthRemote(const parameterlist& params) { if (params.size() < 5) -- cgit v1.3.1-10-gc9f91