m_spanningtree Ensure that TreeSocket::Close() only runs once
m_spanningtree Remove now needless TreeSocket::ConnectionFailureShown
m_spanningtree Move squit logic into TreeServer from TreeSocket
m_spanningtree Remove split servers from the hash maps in TreeServer::SQuitInternal()
m_spanningtree Add the TreeServer that split to the cull list and destroy everything under it recursively at cull time instead of at squit processing time
m_spanningtree Remove now unused TreeServer::Tidy()
m_spanningtree Mark servers awaiting destruction after being lost in a netsplit, add TreeServer::IsDead()
m_spanningtree Quit all split users in one go
m_spanningtree Change type of num_lost_* to be unsigned
m_spanningtree Check TreeServer::IsDead() to learn whether a user is being quit due to a netsplit in OnUserQuit()
m_spanningtree Remove the now needless SplitInProgress workaround
m_spanningtree Split dead servers as soon as they die, not at the next timer tick
m_spanningtree Throw a ProtocolException if a server SQUITs a server that isn't directly connected to it
Allow fast sid reuse by erasing fake users from UserManager::uuidlist when the netsplit is handled, not in cull()
Do not attempt to detect non-culled users at destruction by looking for their uuid, leave it to Extensible

This does not take uuid/sid reuse into consideration and Extensible implements this detection already in a proper way