summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-08 21:02:42 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-08 21:02:42 +0000
commit7576bae62bc5dead560dfd3551d0659e4b4443cb (patch)
tree1a17146e60623d423f3cca4334116e4e935167ab
parent2e187f678993ed2e92c019ca659f45d426057540 (diff)
Altered channel TS sync to always let ulined clients win, regardless of timestamp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2280 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index b11c89e18..703765246 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -837,8 +837,9 @@ class TreeSocket : public InspSocket
/* theres a mode for this user. push them onto the mode queue, and flush it
* if there are more than MAXMODES to go.
*/
- if (ourTS >= TS)
+ if ((ourTS >= TS) || (is_uline(user->server)))
{
+ /* We also always let u-lined clients win, no matter what the TS value */
log(DEBUG,"Our our channel newer than theirs, accepting their modes");
Srv->SendMode(mode_users,modectr,who);
}