[Pidgin] #15852: blist.xml becomes corrupted by chat topic
Pidgin
trac at pidgin.im
Sat Jan 11 19:18:25 EST 2014
#15852: blist.xml becomes corrupted by chat topic
---------------------+--------------------------
Reporter: cyisfor | Owner: EionRobb
Type: defect | Status: new
Milestone: | Component: unclassified
Version: 2.10.7 | Keywords:
---------------------+--------------------------
There's a place on IRC that uses the byte 0x1D to act as an information
separator in their topic. Go figure, Unicode point 0x1D is "Information
Separator". This byte 0x1D is being properly escaped when the channel,
along with the topic, is saved, as  in blist.xml. However, XML has
an un-overridable error upon attempting to decode  not because the
parser is incapable of decoding it, but because 0x1D is in a range of
bytes "not allowed" to be encoded in an XML document.
Not saying you should switch to s-expressions, JSON or BENC but, well just
wanted to mention the elephant in the room.
At any rate, topics with "0x1D" in them have to be scrubbed such that they
no longer match the actual topic by eliding 0x1D and any other offending
bytes. I don't think there's any way to save that particular formatting
unless you want to encode the topics as base64 for blist.xml. There's no
error when encoding, or saving the blist after having a chat topic
containing 0x1D. But since they aren't allowed, when pidgin tries to read
blist.xml, it errors out saying blist.xml is unreadable.
--
Ticket URL: <https://developer.pidgin.im/ticket/15852>
Pidgin <https://pidgin.im>
Pidgin
More information about the Tracker
mailing list