ldilley / rubircd

:speech_balloon: An IRC server written in Ruby
http://www.dilley.me/rubircd
GNU General Public License v3.0
22 stars 4 forks source link

Implement the TS5 protocol #6

Open ldilley opened 9 years ago

ldilley commented 9 years ago

Every channel, nickname, and topic should have an associated creation timestamp. This will help defend against channel takeovers and nickname theft during netsplits. The server whose channel has an older timestamp is the dominant one. All modes and the topic from it are used after the servers re-establish connection. After connection is re-established, any non-unique nicknames are collided (we may not necessarily force a disconnect, but rather change the nick via FNICK? to an unused temporary nick and then allow the user to change it afterward.)