We send a session-accept \o/... Endly
authorNicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Tue, 20 Jul 2010 12:49:17 +0200
changeset 59 69985ccda25a
parent 58 daafe5b8a48d
child 60 05184a1846d1
We send a session-accept \o/... Endly
jingle-filetransfer/CMakeLists.txt
jingle-filetransfer/filetransfer.c
jingle/register.c
jingle/register.h
jingle/send.c
--- a/jingle-filetransfer/CMakeLists.txt	Tue Jul 20 00:52:21 2010 +0200
+++ b/jingle-filetransfer/CMakeLists.txt	Tue Jul 20 12:49:17 2010 +0200
@@ -1,4 +1,4 @@
 add_library(jingle-filetransfer MODULE filetransfer.c)
-set_target_properties(jingle-filetransfer PROPERTIES COMPILE_FLAGS "-Wall")
+set_target_properties(jingle-filetransfer PROPERTIES COMPILE_FLAGS "-Wall -O0 -g")
 include_directories(${CMAKE_SOURCE_DIR})
 install(TARGETS jingle-filetransfer DESTINATION lib/mcabber)
--- a/jingle-filetransfer/filetransfer.c	Tue Jul 20 00:52:21 2010 +0200
+++ b/jingle-filetransfer/filetransfer.c	Tue Jul 20 12:49:17 2010 +0200
@@ -28,6 +28,7 @@
 #include <mcabber/utils.h>
 #include <mcabber/xmpp_helper.h>
 #include <mcabber/settings.h>
+#include <mcabber/logprint.h>
 
 #include <jingle/jingle.h>
 #include <jingle/check.h>
@@ -65,13 +66,15 @@
   const gchar *datestr, *sizestr;
 
   node = lm_message_node_get_child(cn->description, "offer");
+ scr_LogPrint(LPRINT_LOGNORM, "%s",
+                 lm_message_node_to_string(cn->description));
   if (!node) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_MISSING,
                 "the offer element is missing");
     return NULL;
   }
 
-  node = lm_message_node_get_child(cn->description, "file");
+  node = lm_message_node_get_child(node, "file");
   if (!node) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_MISSING,
                 "the file element is missing");
@@ -141,7 +144,7 @@
   for (i = 0; i < 32 && hash[i]; i++)
     if (!g_ascii_isxdigit(hash[i])) break;
 
-  if (i == 31)
+  if (i == 32)
     return TRUE;
   else
     return FALSE;
--- a/jingle/register.c	Tue Jul 20 00:52:21 2010 +0200
+++ b/jingle/register.c	Tue Jul 20 12:49:17 2010 +0200
@@ -103,14 +103,14 @@
 {
   GSList *entry = g_slist_find_custom(jingle_app_handlers, xmlns,
                                       jingle_entry_cmp);
-  return (AppHandlerEntry *) entry;
+  return entry != NULL ? (AppHandlerEntry *) entry->data : NULL;
 }
 
 static TransportHandlerEntry *jingle_find_transport(const gchar *xmlns)
 {
   GSList *entry = g_slist_find_custom(jingle_transport_handlers, xmlns,
                                       jingle_entry_cmp);
-  return (TransportHandlerEntry *) entry;
+  return entry != NULL ? (TransportHandlerEntry *) entry->data : NULL;
 }
 
 static void jingle_free_app(AppHandlerEntry *entry)
--- a/jingle/register.h	Tue Jul 20 00:52:21 2010 +0200
+++ b/jingle/register.h	Tue Jul 20 12:49:17 2010 +0200
@@ -4,8 +4,8 @@
 #include <jingle/jingle.h>
 
 
-#define NS_JINGLE_APP_PREFIX       "urn:xmpp:jingle:app:"
-#define NS_JINGLE_TRANSPORT_PREFIX "urn:xmpp:jingle:transport:"
+#define NS_JINGLE_APP_PREFIX       "urn:xmpp:jingle:apps:"
+#define NS_JINGLE_TRANSPORT_PREFIX "urn:xmpp:jingle:transports:"
 
 typedef enum {
   JINGLE_TRANS_IN_BAND,
--- a/jingle/send.c	Tue Jul 20 00:52:21 2010 +0200
+++ b/jingle/send.c	Tue Jul 20 12:49:17 2010 +0200
@@ -92,15 +92,14 @@
 
     xmlns = lm_message_node_get_attribute(cn->transport, "xmlns");
     transfuncs = jingle_get_transportfuncs(xmlns);
-    if (appfuncs == NULL) continue;
+    if (transfuncs == NULL) continue;
 
     description = appfuncs->check(cn, &err);
     if (description == NULL || err != NULL) continue;
     transport = transfuncs->check(cn, &err);
     if (transport == NULL || err != NULL) continue;
   
-    scr_log_print(LPRINT_DEBUG, "jingle: New content accepted: %s",
-                  cn->name);
+    scr_log_print(LPRINT_DEBUG, "jingle: New content accepted: %s", cn->name);
 
     session_add_content(sess, cn, JINGLE_SESSION_STATE_ACTIVE);
     accept.content = g_slist_append(accept.content, cn);