Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#5381 closed patch (fixed)

MSNP15 SOAP does not check if a pre-existing connection is still open when attempting to send

Reported by: tomgr Owned by: khc
Milestone: Activate MSNPV14 Component: MSN
Version: 2.4.1 Keywords: MSNP15, SOAP, sending


When sending a SOAP request the current code simply assumes that if the timeout has not destroyed the connection then it must still be connected. If it finds that it is not connected then the request is simply discarded (with no reporting to the user). This leads to problems with offline instant messages (in particular) and causes them not to be sent.

The attached patch solves this by testing to see if the connection is currently open by trying to send the first lot of data. If it finds it is closed it reopens it and resends any messages.

(There is still quite a considerable amount of work needed on the error reporting from the soap code, if anything goes wrong it seems to just ignore it. In particular if an error is encountered whilst reading from a socket it is just ignored.)

Attachments (1)

msn-soap-test-before-sending.diff (2.8 KB) - added by tomgr 11 years ago.
Aforementioned patch (works fine under Adium)

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by tomgr

Aforementioned patch (works fine under Adium)

comment:1 Changed 11 years ago by Sim-on

  • Component changed from libpurple to MSN
  • Owner set to khc

comment:2 Changed 11 years ago by QuLogic

  • Milestone set to Activate MSNPV14

comment:3 Changed 11 years ago by khc

  • Resolution set to fixed
  • Status changed from new to closed
Revision: fe64585228f6243a6a06cd69aa83ae98b2e6cf23
Ancestor: 210e0cda4d066bc10eb33ea0e294aed8c31f643a
Date: 2008-05-14T04:39:54
Branch: im.pidgin.pidgin.khc.msnp15

Modified files:


Patch from tomgr to resend once if the connection is down, fixes #5379

comment:4 Changed 11 years ago by QuLogic

Can this also be applied on MSNp14? Also, the purple_debug_info() call is missing a '\n'.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!