diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 16:05:59 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-27 16:05:59 +0000 |
commit | 2b3394855d5adddb16285b905503d9ffe5a1d963 (patch) | |
tree | 5a253a4b3d9420758a510f15c0332d29410fff7a /src/modules/m_spanningtree | |
parent | 9bea99f973d8ff1148172ab3b4aa93e895bbc37e (diff) |
Add a metric assload of TRANSLATE macros to modules.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7892 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/treesocket1.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 21882eda8..c75bf17e9 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -966,6 +966,37 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa if (iter != this->Instance->clientlist->end()) { /* + * Nick collision. + * Under old protocol rules, we would have had to kill both clients. + * Really, this sucks. + * These days, we have UID. And, so what we do is, force nick change client(s) + * involved according to timestamp rules. + * + * RULES: + * user@host equal: + * Force nick change on OLDER timestamped client + * user@host differ: + * Force nick change on NEWER timestamped client + * TS EQUAL: + * FNC both. + * + * Note that remote clients MUST be dealt with also to remove desyncs. + * XXX we don't do this yet. + * + * This stops abusive use of collisions, simplifies problems with loops, and so on. + * -- w00t + */ + + if (age == iter->second->signon) + { + /* TS equal, do both */ + + } + else + { + } + + /* * Uh oh, nick collision. Under old rules, we'd kill both. These days now we have UUID, * we force both clients to change nick to their UUID. Just change ours, and the other * server will change theirs when they see the collide. Problem solved! -- w00t |