We send a session-accept \o/... Endly
--- 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);