]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree.cpp
Decide that it wasn't quite appropriate :(
[user/henk/code/inspircd.git] / src / modules / m_spanningtree.cpp
index 1577a6a0e18dc38bb0bc87ea4c0753e0a0bf1741..1374c88a2e9f839573ec3bc8367d81856a82ad42 100644 (file)
@@ -2295,6 +2295,16 @@ class TreeSocket : public InspSocket
                                }
                                else if (command == "PING")
                                {
+                                       /*
+                                        * We just got a ping from a server that's bursting.
+                                        * This can't be right, so set them to not bursting, and
+                                        * apply their lines.
+                                        */
+                                       if (this->bursting)
+                                       {
+                                               this->bursting = false;
+                                               apply_lines(APPLY_ZLINES|APPLY_GLINES|APPLY_QLINES);
+                                       }
                                        if (prefix == "")
                                        {
                                                prefix = this->GetName();
@@ -2303,6 +2313,16 @@ class TreeSocket : public InspSocket
                                }
                                else if (command == "PONG")
                                {
+                                       /*
+                                        * We just got a pong from a server that's bursting.
+                                        * This can't be right, so set them to not bursting, and
+                                        * apply their lines.
+                                        */
+                                       if (this->bursting)
+                                       {
+                                               this->bursting = false;
+                                               apply_lines(APPLY_ZLINES|APPLY_GLINES|APPLY_QLINES);
+                                       }
                                        if (prefix == "")
                                        {
                                                prefix = this->GetName();