summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_spanningtree.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index d164bef27..b5584b532 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -1365,7 +1365,7 @@ class TreeSocket : public InspSocket
* back to the core so that a large burst is split into at least 6 sections
* (possibly more)
*/
- std::string burst = "BURST";
+ std::string burst = "BURST "+ConvToStr(TIME);
std::string endburst = "ENDBURST";
Srv->SendOpers("*** Bursting to \2"+s->GetName()+"\2.");
this->WriteLine(burst);
@@ -2264,6 +2264,14 @@ class TreeSocket : public InspSocket
}
else if (command == "BURST")
{
+ time_t THEM = atoi(params[0].c_str());
+ long delta = THEM-TIME;
+ if ((delta < -600) || (delta > 600))
+ {
+ WriteOpers("*** \2ERROR\2: Your clocks are out by "+ConvToStr(abs(delta))+" seconds (this is more than ten minutes). Link aborted, \2PLEASE SYNC YOUR CLOCKS!\2");
+ this->WriteLine("ERROR :Your clocks are out by "+ConvToStr(abs(delta))+" seconds (this is more than ten minutes). Link aborted, PLEASE SYNC YOUR CLOCKS!");
+ return false;
+ }
this->LinkState = CONNECTED;
Node = new TreeServer(InboundServerName,InboundDescription,TreeRoot,this);
TreeRoot->AddChild(Node);