cpw.malu.xmpp.jingle_ft: 3c2adff3: The receiver now starts listening on a l...

malu at pidgin.im malu at pidgin.im
Sat Mar 28 11:30:22 EDT 2009


-----------------------------------------------------------------
Revision: 3c2adff3925e0f7b96b27070963646671e22ff8e
Ancestor: d15cbf4d8fa793ec2ec7643f689b690f6fcf810d
Author: malu at pidgin.im
Date: 2009-03-28T15:27:06
Branch: im.pidgin.cpw.malu.xmpp.jingle_ft
URL: http://d.pidgin.im/viewmtn/revision/info/3c2adff3925e0f7b96b27070963646671e22ff8e

Modified files:
        libpurple/protocols/jabber/jingle/file-transfer.c

ChangeLog: 

The receiver now starts listening on a local port and sends <streamhost/>s for
S5B

-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/jingle/file-transfer.c	badab4bdd30bbcc6e84090f30c2e25991ce8393c
+++ libpurple/protocols/jabber/jingle/file-transfer.c	f83336c3f0c28ce06bf183c19d5baa6e94fa6515
@@ -448,14 +448,17 @@ jingle_file_transfer_xfer_init(PurpleXfe
 		JingleSession *session = jingle_content_get_session(content);
 		JingleTransport *transport = jingle_content_get_transport(content);
 
-		jabber_iq_send(jingle_session_to_packet(session,
-			JINGLE_SESSION_ACCEPT));
 		/* ready to receive */
 		if (JINGLE_IS_IBB(transport)) {
 			/* open file and prepare for IBB */
 			/* open file to write to */
 			JingleIBB *ibb = JINGLE_IBB(transport);
 			const gchar *filename = purple_xfer_get_local_filename(xfer);
+
+			/* send a session-accept immediatly, since it's IBB */
+			jabber_iq_send(jingle_session_to_packet(session,
+				JINGLE_SESSION_ACCEPT));
+
 			JINGLE_FT_GET_PRIVATE(JINGLE_FT(content))->ibb_fp = 
 				g_fopen(filename, "wb");
 			if (JINGLE_FT_GET_PRIVATE(JINGLE_FT(content))->ibb_fp == NULL) {
@@ -479,6 +482,8 @@ jingle_file_transfer_xfer_init(PurpleXfe
 	
 			/* start the transfer */
 			purple_xfer_start(xfer, 0, NULL, 0);
+		} else if (JINGLE_IS_S5B(transport)) {
+			jingle_s5b_gather_streamhosts(session, JINGLE_S5B(transport));	
 		}
 		g_object_unref(session);
 		g_object_unref(transport);


More information about the Commits mailing list