# HG changeset patch # User Nicolas Cornu # Date 1281468943 -7200 # Node ID a49f78cada2904e99cb2d6b8de76de33c51d9300 # Parent 4038cce7fd808045efb8f8b4d5598ae9936a4a2f Fix bugs. Use directly the JingleSession to determine the recipient. diff -r 4038cce7fd80 -r a49f78cada29 jingle-filetransfer/filetransfer.c --- a/jingle-filetransfer/filetransfer.c Tue Aug 10 20:31:12 2010 +0200 +++ b/jingle-filetransfer/filetransfer.c Tue Aug 10 21:35:43 2010 +0200 @@ -226,7 +226,7 @@ gchar *ressource, *recipientjid; const gchar *namespaces[] = {NS_JINGLE, NS_JINGLE_APP_FT, NULL}; struct stat fileinfo; - const gchar *myjid = lm_connection_get_jid(lconnection); + const gchar *myjid = g_strdup(lm_connection_get_jid(lconnection)); JingleFT *jft = g_new0(JingleFT, 1); if (CURRENT_JID == NULL) { // CURRENT_JID = the jid of the user which has focus @@ -244,7 +244,7 @@ sess = session_new(sid, myjid, recipientjid, JINGLE_SESSION_OUTGOING); session_add_content(sess, "file", JINGLE_SESSION_STATE_PENDING); - if (g_stat(args[0], &fileinfo) != 0) { + if (g_stat(filename, &fileinfo) != 0) { scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: unable to stat %s", args[1]); return; } diff -r 4038cce7fd80 -r a49f78cada29 jingle-ibb/ibb.c --- a/jingle-ibb/ibb.c Tue Aug 10 20:31:12 2010 +0200 +++ b/jingle-ibb/ibb.c Tue Aug 10 21:35:43 2010 +0200 @@ -78,6 +78,8 @@ LmMessageNode *node = cn->transport; const gchar *blocksize; + ibb = g_new0(JingleIBB, 1); + blocksize = lm_message_node_get_attribute(node, "block-size"); ibb->sid = lm_message_node_get_attribute(node, "sid"); diff -r 4038cce7fd80 -r a49f78cada29 jingle/send.c --- a/jingle/send.c Tue Aug 10 20:31:12 2010 +0200 +++ b/jingle/send.c Tue Aug 10 21:35:43 2010 +0200 @@ -64,7 +64,7 @@ void jingle_send_session_accept(JingleNode *jn) { JingleNode accept = {0}; - JingleSession* sess; + JingleSession *sess; JingleContent *cn; GSList *child = NULL; JingleAppFuncs *appfuncs; @@ -75,7 +75,7 @@ JingleAckHandle *ackhandle; accept.action = JINGLE_SESSION_ACCEPT; - accept.responder = g_strdup_printf("%s", lm_connection_get_jid(lconnection)); + accept.responder = g_strdup(lm_connection_get_jid(lconnection)); accept.sid = jn->sid; accept.content = NULL; @@ -148,8 +148,7 @@ JingleAckHandle *ackhandle; GSList *listentry; - LmMessage *mess = lm_message_from_jinglesession(js, js->to, - JINGLE_SESSION_INITIATE); + LmMessage *mess = lm_message_from_jinglesession(js, JINGLE_SESSION_INITIATE); lm_message_node_set_attribute(lm_message_node_get_child(mess->node, "jingle"), "initiator", js->from); diff -r 4038cce7fd80 -r a49f78cada29 jingle/sessions.c --- a/jingle/sessions.c Tue Aug 10 20:31:12 2010 +0200 +++ b/jingle/sessions.c Tue Aug 10 21:35:43 2010 +0200 @@ -54,6 +54,7 @@ from = lm_message_node_get_attribute(jn->message->node, "from"); to = lm_message_node_get_attribute(jn->message->node, "to"); + if (!from || !to) { return NULL; } @@ -217,15 +218,17 @@ } LmMessage *lm_message_from_jinglesession(const JingleSession *js, - const gchar *to, JingleAction action) { LmMessage* m; LmMessageNode *jnode; - const gchar *actionstr; + const gchar *actionstr, *recipient; + + recipient = (js->origin == JINGLE_SESSION_INCOMING) ? js->from : js->to; - m = lm_message_new_with_sub_type(to, LM_MESSAGE_TYPE_IQ, + m = lm_message_new_with_sub_type(recipient, LM_MESSAGE_TYPE_IQ, LM_MESSAGE_SUB_TYPE_SET); + jnode = lm_message_node_add_child(m->node, "jingle", NULL); lm_message_node_set_attribute(jnode, "xmlns", NS_JINGLE); diff -r 4038cce7fd80 -r a49f78cada29 jingle/sessions.h --- a/jingle/sessions.h Tue Aug 10 20:31:12 2010 +0200 +++ b/jingle/sessions.h Tue Aug 10 21:35:43 2010 +0200 @@ -96,7 +96,6 @@ const gchar *xmlns_app, gconstpointer app, const gchar *to); LmMessage *lm_message_from_jinglesession(const JingleSession *js, - const gchar *to, JingleAction action); #endif