pidgin: 50a93a0f: Don't sent an ACK to a SLP message if th...
qulogic at pidgin.im
qulogic at pidgin.im
Mon Dec 14 02:27:34 EST 2009
-----------------------------------------------------------------
Revision: 50a93a0fe5c58ba016220ac9e08fa039c9999a9d
Ancestor: 27665a8b222aae5ab3dfaeea99ba9ff9afc5c832
Author: qulogic at pidgin.im
Date: 2009-12-14T05:45:50
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/50a93a0fe5c58ba016220ac9e08fa039c9999a9d
Modified files:
ChangeLog libpurple/protocols/msn/slplink.c
ChangeLog:
Don't sent an ACK to a SLP message if the SlpCall has been marked as wasted
by lower code.
Fixes #6523.
-------------- next part --------------
============================================================
--- ChangeLog c28ff952b1aae47b06bcd1631f08d6a2c4bdb75d
+++ ChangeLog 944bd3d88a5710c0ae7a634df87f2516ab35841f
@@ -8,6 +8,10 @@ version 2.6.5 (??/??/20??):
* Messages from some mobile clients are no longer displayed as
Chinese characters (broken in 2.6.4)
+ MSN:
+ * File transfer requests will no longer cause a crash if you delete the file
+ before the other side accepts.
+
XMPP:
* Added support for the SCRAM-SHA-1 SASL mechanism. This is only
available when built without Cyrus SASL support.
============================================================
--- libpurple/protocols/msn/slplink.c d7c9e917dead2564051195b071447b36c604a409
+++ libpurple/protocols/msn/slplink.c 0e3b791483d2436adcf29211c58329c5a66e4224
@@ -624,30 +624,37 @@ msn_slplink_process_msg(MsnSlpLink *slpl
slpcall = msn_slp_process_msg(slplink, slpmsg);
- if (slpmsg->flags == 0x100)
- {
- MsnDirectConn *directconn;
+ if (slpcall == NULL) {
+ msn_slpmsg_destroy(slpmsg);
+ return;
+ }
- directconn = slplink->directconn;
+ if (!slpcall->wasted) {
+ if (slpmsg->flags == 0x100)
+ {
+ MsnDirectConn *directconn;
+
+ directconn = slplink->directconn;
#if 0
- if (!directconn->acked)
- msn_directconn_send_handshake(directconn);
+ if (!directconn->acked)
+ msn_directconn_send_handshake(directconn);
#endif
- }
- else if (slpmsg->flags == 0x00 || slpmsg->flags == 0x1000000 ||
- slpmsg->flags == 0x20 || slpmsg->flags == 0x1000020 ||
- slpmsg->flags == 0x1000030)
- {
- /* Release all the messages and send the ACK */
+ }
+ else if (slpmsg->flags == 0x00 || slpmsg->flags == 0x1000000 ||
+ slpmsg->flags == 0x20 || slpmsg->flags == 0x1000020 ||
+ slpmsg->flags == 0x1000030)
+ {
+ /* Release all the messages and send the ACK */
- msn_slplink_send_ack(slplink, msg);
- msn_slplink_send_queued_slpmsgs(slplink);
+ msn_slplink_send_ack(slplink, msg);
+ msn_slplink_send_queued_slpmsgs(slplink);
+ }
+
+ } else {
+ msn_slpcall_destroy(slpcall);
}
msn_slpmsg_destroy(slpmsg);
-
- if (slpcall != NULL && slpcall->wasted)
- msn_slpcall_destroy(slpcall);
}
}
More information about the Commits
mailing list