]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Checks for timestamps, boot server off and abort if time delay > 10 mins (the safe...
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 8 Mar 2006 11:22:14 +0000 (11:22 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 8 Mar 2006 11:22:14 +0000 (11:22 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3544 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_spanningtree.cpp

index d164bef273d7a186c8fba86daebf2ed2e3530b12..b5584b5321b2f20575fb28451d583646db48bb45 100644 (file)
@@ -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);