Some clients currently use strict XML parsers to parse s2c messages. I’'ve found that if a client gets an illegal (non-UTF8) character to the server, it will pass it along (in what amounts to non-well-formed XML) to the intended recipient. If the recipient uses a strict parser, the connection (which is “one big XML document” essentially) terminates.
http://www.w3.org/TR/REC-xml/#sec-references (in particular http://www.w3.org/TR/REC-xml/#NT-Char) define what valid characters. For example, &01; (�) would be an illegal character (I saw the character entity sent by the server when a client sent the unescaped character in the message body).
I observed this in Wildfire Server 3.0.1 (running on Ubuntu Dapper Drake, though that should not matter). I have not tested it with newer versions of Wildfire, and I have not tested it with other servers. Also, I have only tested this in one-to-one type=“chat” (perhaps type=“message”–I wasn’'t paying close enough attention at the time) messages.
I am somewhat (but not very) hesitant to post a test case, since the result is a fairly annoying DoS attack against strict clients.
I already reported it to some of the clients, but since it seems like legitimately invalid XML, maybe the server can play a role in the solution (I’'m not sure what way would be appropriate, and obviously, addressing this warrants looking at how various clients send and otherwise cope with non-ISO-8859-1 characters.