]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/server.cpp
Lower the acceptable drift for clocks on link.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / server.cpp
index 0af91a0ed35a020f0310bba22c5b5a384555f47f..92ba69eda6f4813d8e42e0d1956036f3b611aaef 100644 (file)
@@ -59,9 +59,8 @@ CmdResult CommandServer::HandleServer(TreeServer* ParentOfThis, Params& params)
                return CMD_FAILURE;
        }
 
-
-       Link* lnk = Utils->FindLink(servername);
-
+       TreeServer* route = ParentOfThis->GetRoute();
+       Link* lnk = Utils->FindLink(route->GetName());
        TreeServer* Node = new TreeServer(servername, description, sid, ParentOfThis, ParentOfThis->GetSocket(), lnk ? lnk->Hidden : false);
 
        HandleExtra(Node, params);
@@ -85,8 +84,10 @@ void CommandServer::HandleExtra(TreeServer* newserver, Params& params)
                        val.assign(prop, p+1, std::string::npos);
                }
 
-               if (key == "burst")
+               if (irc::equals(key, "burst"))
                        newserver->BeginBurst(ConvToNum<uint64_t>(val));
+               else if (irc::equals(key, "hidden"))
+                       newserver->Hidden = ConvToNum<bool>(val);
        }
 }
 
@@ -224,11 +225,12 @@ bool TreeSocket::Inbound_Server(CommandBase::Params& params)
 }
 
 CommandServer::Builder::Builder(TreeServer* server)
-       : CmdBuilder(server->GetParent()->GetID(), "SERVER")
+       : CmdBuilder(server->GetParent(), "SERVER")
 {
        push(server->GetName());
        push(server->GetID());
        if (server->IsBursting())
                push_property("burst", ConvToStr(server->StartBurst));
+       push_property("hidden", ConvToStr(server->Hidden));
        push_last(server->GetDesc());
 }