]> jfr.im git - irc/freenode/web-7.0.git/blobdiff - content/news/2009-11-01-when-bots-go-bad.markdown
Clumsy sed fixed...
[irc/freenode/web-7.0.git] / content / news / 2009-11-01-when-bots-go-bad.markdown
index 69466a4acc79f6d66730a01dc44b05b6e0140ae6..934006e4f955bf7b9eac46cf10c6fd5d850b4886 100644 (file)
@@ -2,6 +2,12 @@ author: christel
 date: 2009-11-01 21:12:26+00:00
 slug: when-bots-go-bad
 title: When bots go bad..
+---
+
+First off, allow me to apologise to all users affected by the recent "client  killing" rampage of our utility bot; Syn. She appears to have gotten into the  Halloween spirit a bit too much!
+
+You may have noticed a large number of people disconnecting from freenode with the reason 'Nick collision from syn.' We feel we should explain what happened.
+
 For those of you not already familiar with her, syn is a utility bot that, amongst other duties, regulates gateway access to the network. This could be web gateways such as CGI:IRC or our own webchat, NAT gateways, or some conferences and shell services. One of the things that she does, for web gateways in particular, is to match the reported IP address (hex-encoded in the ident field) against network bans, and deny the connection if a match is found.
 
 It was this particular part that had an unfortunate pair of bugs resulting in the incident you observed. Firstly, in using sscanf() to detect a hex-encoded IP address in the ident field, the validation was not quite strict enough -- any ident that *began* with a series of valid hexadecimal characters (the digits 0-9 and letters a-f) would result in a number being decoded. In normal circumstances, this would be relatively harmless as the resulting IP is clearly invalid -- in most cases, it would begin 0.0.0., and not match any network bans.