diff options
| author | 2006-02-22 22:22:37 +0000 | |
|---|---|---|
| committer | 2006-02-22 22:22:37 +0000 | |
| commit | bbbf55dfcadf02784dced07c5b5c72581dff66a2 (patch) | |
| tree | 95833aa5e59e5a961ce7e5e062e89d4ef65f6927 /src/modules/m_spanningtree.cpp | |
| parent | Improved calculation to account for server name on start of numeric, plus spa... (diff) | |
Force burst to end if a remote server pings us, or answers a pong, if this is the case it just "forgot" to send an ENDBURST!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3295 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
| -rw-r--r-- | src/modules/m_spanningtree.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 1577a6a0e..1374c88a2 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -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(); |
