[ircd-ratbox] Probably a design bug?
narf at bofh.bg
Wed Mar 25 18:04:55 UTC 2009
An interesting situation happened today on a network, where we use a
slightly modified versions of ircd-ratbox ...
A server(using ircd-ratbox 3.0.0, and so does it's uplink) splits from
the network and then tries to reconnect but it's timezone is
incorrect(-2 hours difference) and therefore is being disconnected. Then
one of our operators connects as a client on another of our
servers(using ircd-ratbox 2.2.6) with the same nickname. On the next
(auto)attempt for the first server to connect to the network, it's being
disconnected again instantly.
However, a nick collision occured and what was more tricky ... even if
he reconnected with the same nickname, a collision would still be
triggered each time his server tries to get back to the network as it
was 2 hours behind the rest of the ircds and it's TS delta was "older"
compared to the others.
Of course ... the operator changed his nickname and situations like this
probably happen once in a year(unless intended), but it's still a pretty
interesting case. :)
So, in my opinion the correct behaviour should be first to check if
there's an acceptable difference(according to ts_max_delta) between the
two servers, and _only_ after it's confirmed to be "ok" to process all
other incoming data. Which means unnecessary collisions like the above
wouldn't be possible.
Andrey Andreev a.k.a. Narf.
More information about the ircd-ratbox