[Pidgin] #6879: prpl-jabber happily sends characters which are invalid in XML

Pidgin trac at pidgin.im
Fri Aug 29 13:00:41 EDT 2008


#6879: prpl-jabber happily sends characters which are invalid in XML
--------------------+-------------------------------------------------------
 Reporter:  resiak  |        Owner:  deryni
     Type:  defect  |       Status:  new   
Milestone:          |    Component:  XMPP  
  Version:  2.5.0   |   Resolution:        
 Keywords:          |  
--------------------+-------------------------------------------------------
Description changed by resiak:

Old description:

> A lot of the low-code-point characters, such as 0x1, are invalid in XML.
> If you try to send a message (or set a status) including such a
> character, prpl-jabber will happily send it across the wire, and a
> conforming jabber server will kick you off:
>
> {{{(17:48:31) jabber: Sending (ssl): <presence
> to='devel at conference.pidgin.im/wjt'><status>&#x1;</status><priority>1</priority><c
> xmlns='http://jabber.org/protocol/caps' node='http://pidgin.im/caps'
> ver='2.5.0' ext='mood moodn nick nickn tune tunen avatarmeta avatardata
> avatar'/><x xmlns='vcard-
> temp:x:update'><photo>62fee823c556eeeaf210cffec2c92d7592c02cb9</photo></x></presence>
>
> (17:48:31) jabber: Recv (ssl)(111): <stream:error><xml-not-well-formed
> xmlns='urn:ietf:params:xml:ns:xmpp-
> streams'/></stream:error></stream:stream>}}}
>
> Meanwhile, you'll get warnings from Gtk:
>
> {{{(17:48:31) Gtk: Failed to set text from markup due to error parsing
> markup: Error on line 1: Character reference '1' does not encode a
> permitted character}}}
>
> You might do this by accident, if you're copy-pasting some perfectly
> valid UTF-8 into an IM window.  Accidentally putting a silly unicode
> character into your status (or worse, your user tune!) would make it hard
> to figure out why your jabber account keeps being kicked off whenever you
> reconnect.
>
> We should probably strip these out.

New description:

 A lot of the low-code-point characters, such as 0x1, are invalid in XML.
 If you try to send a message (or set a status) including such a character,
 prpl-jabber will happily send it across the wire, and a conforming jabber
 server will kick you off:

 {{{
 (17:48:31) jabber: Sending (ssl): <presence
 to='devel at conference.pidgin.im/wjt'>
   <status>&#x1;</status>
   <priority>1</priority>
   <c xmlns='http://jabber.org/protocol/caps'
     node='http://pidgin.im/caps'
     ver='2.5.0'
     ext='mood moodn nick nickn tune tunen avatarmeta avatardata avatar'/>
   <x xmlns='vcard-temp:x:update'>
     <photo>62fee823c556eeeaf210cffec2c92d7592c02cb9</photo>
   </x>
 </presence>

 (17:48:31) jabber: Recv (ssl)(111): <stream:error>
   <xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
 </stream:error></stream:stream>
 }}}

 Meanwhile, you'll get warnings from Gtk:

 {{{(17:48:31) Gtk: Failed to set text from markup due to error parsing
 markup: Error on line 1: Character reference '1' does not encode a
 permitted character}}}

 You might do this by accident, if you're copy-pasting some perfectly valid
 UTF-8 into an IM window.  Accidentally putting a silly unicode character
 into your status (or worse, your user tune!) would make it hard to figure
 out why your jabber account keeps being kicked off whenever you reconnect.

 We should probably strip these out.

--

-- 
Ticket URL: <http://developer.pidgin.im/ticket/6879#comment:1>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list