[Pidgin] #15528: BOSH http parser does not appear to check the Content-Length header

Pidgin trac at pidgin.im
Mon Feb 25 11:03:56 EST 2013


#15528: BOSH http parser does not appear to check the Content-Length header
--------------------+---------------------
 Reporter:  Zash    |       Owner:  deryni
     Type:  defect  |      Status:  new
Milestone:          |   Component:  XMPP
  Version:  2.10.3  |  Resolution:
 Keywords:  bosh    |
--------------------+---------------------

Comment (by darkrain42):

 An extremely quick glance at bosh.c suggests it is trying to process the
 content-length (I make no statement as to whether it's doing it properly).
 I think it's more likely (and again, a very quick skim seems to confirm
 this) that the issue here is that it processes the first response and then
 doesn't bother to check and see that there's more data remaining in the
 buffer (to treat as a second response), and I think it then throws away
 the data (oops...)

 Consensus from the XSF summit was that pipelining should just not be used,
 so the fix here is probably to just remove that functionality and always
 start with two HTTP connections.

 From Zash (re how to reproduce this):
 {{{
 (07:51:02) Zash: It sends a ping before getting a reply to a held request.
 When the held request times out or has something to say, both request
 return, as the later has a ping which gives a pong.
 (07:51:44) Zash: And then the two replies get merged like that
 }}}

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


More information about the Tracker mailing list