Debug
authorNicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Tue, 20 Jul 2010 00:52:21 +0200
changeset 58 daafe5b8a48d
parent 57 23df37238a3a
child 59 69985ccda25a
Debug
jingle-filetransfer/filetransfer.c
jingle-ibb/CMakeLists.txt
jingle-ibb/ibb.c
jingle-ibb/ibb.h
jingle/CMakeLists.txt
jingle/action-handlers.c
jingle/check.c
jingle/jingle.c
jingle/send.c
--- a/jingle-filetransfer/filetransfer.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle-filetransfer/filetransfer.c	Tue Jul 20 00:52:21 2010 +0200
@@ -109,7 +109,12 @@
   }
 
   ft->name = g_path_get_basename(ft->name);
-  ft->name = g_build_filename(settings_opt_get("jingle_ft_dir"), ft->name, NULL);
+  
+  if (settings_opt_get("jingle_ft_dir") != NULL)
+    ft->name = g_build_filename(settings_opt_get("jingle_ft_dir"), ft->name, NULL);
+  else
+    ft->name = g_build_filename("/tmp", ft->name, NULL);
+
   if (!g_strcmp0(ft->name, ".")) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_BADVALUE,
                 "the offered file has an invalid filename");
--- a/jingle-ibb/CMakeLists.txt	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle-ibb/CMakeLists.txt	Tue Jul 20 00:52:21 2010 +0200
@@ -1,4 +1,4 @@
 add_library(jingle-inbandbytestream MODULE ibb.c ibb.h)
-set_target_properties(jingle-inbandbytestream PROPERTIES COMPILE_FLAGS "-Wall")
+set_target_properties(jingle-inbandbytestream PROPERTIES COMPILE_FLAGS "-Wall -O0 -g")
 include_directories(${CMAKE_SOURCE_DIR})
 install(TARGETS jingle-inbandbytestream DESTINATION lib/mcabber)
--- a/jingle-ibb/ibb.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle-ibb/ibb.c	Tue Jul 20 00:52:21 2010 +0200
@@ -44,7 +44,7 @@
 
 JingleTransportFuncs funcs = {jingle_ibb_check, NULL};
 
-module_info_t info_jingle_filetransfer = {
+module_info_t  info_jingle_inbandbytestream = {
   .branch          = MCABBER_BRANCH,
   .api             = MCABBER_API_VERSION,
   .version         = PROJECT_VERSION,
--- a/jingle-ibb/ibb.h	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle-ibb/ibb.h	Tue Jul 20 00:52:21 2010 +0200
@@ -1,7 +1,7 @@
 #ifndef __JINGLEIBB_H__
 #define __JINGLEIBB_H__ 1
 
-#define NS_JINGLE_TRANSPORT_IBB "urn:xmpp:jingle:transports:ibb:1"
+#define NS_JINGLE_TRANSPORT_IBB "urn:xmpp:jingle:transports:ibb:0"
 #define NS_TRANSPORT_IBB "http://jabber.org/protocol/ibb"
 
 typedef struct {
--- a/jingle/CMakeLists.txt	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/CMakeLists.txt	Tue Jul 20 00:52:21 2010 +0200
@@ -1,5 +1,5 @@
 add_library(jingle MODULE jingle.c jingle.h check.c check.h action-handlers.c action-handlers.c register.c register.h sessions.c sessions.h send.c send.h)
-set_target_properties(jingle PROPERTIES COMPILE_FLAGS "")
+set_target_properties(jingle PROPERTIES COMPILE_FLAGS "-O0 -g")
 include_directories(${LM_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR})
 target_link_libraries(jingle ${LM_LIBRARIES})
 install(TARGETS jingle DESTINATION lib/mcabber)
--- a/jingle/action-handlers.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/action-handlers.c	Tue Jul 20 00:52:21 2010 +0200
@@ -26,6 +26,7 @@
 #include <mcabber/events.h>
 #include <mcabber/hbuf.h>
 #include <mcabber/utils.h>
+#include <mcabber/screen.h>
 
 #include <jingle/jingle.h>
 #include <jingle/check.h>
@@ -262,6 +263,7 @@
   GString *sbuf;
   GSList *child = NULL;
   LmMessage *r;
+  gchar *disp;
   
   // Make sure the request come from an user in our roster
   if (!roster_find(jidtodisp(lm_message_get_from(jn->message)), jidsearch, 0)) {
@@ -309,7 +311,8 @@
   sbuf = g_string_new("");
   g_string_printf(sbuf, "Received an invitation for a jingle session from <%s>", lm_message_get_from(jn->message));
 
-  scr_WriteIncomingMessage(jidtodisp(lm_message_get_from(jn->message)), sbuf->str, 0, HBB_PREFIX_INFO, 0);
+  disp = jidtodisp(lm_message_get_from(jn->message));
+  scr_WriteIncomingMessage(disp, sbuf->str, 0, HBB_PREFIX_INFO, 0);
   scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str);
 
   {
@@ -322,7 +325,10 @@
       g_string_printf(sbuf, "Please use /event %s accept|reject", id);
     else
       g_string_printf(sbuf, "Unable to create a new event!");
+    scr_WriteIncomingMessage(disp, sbuf->str, 0, HBB_PREFIX_INFO, 0);
+    scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str);
   }
+  g_free(disp);
 }
 
 void handle_session_terminate(JingleNode *jn)
--- a/jingle/check.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/check.c	Tue Jul 20 00:52:21 2010 +0200
@@ -69,7 +69,7 @@
     return FALSE;
   }
 
-  if (!check_jid_syntax(jn->initiator)) {
+  if (check_jid_syntax(jn->initiator)) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_BADVALUE,
                 "the initiator attribute in invalid (not a jid)");
     return FALSE;
@@ -120,15 +120,17 @@
 
   tmp = index_in_array(creatorstr, jingle_content_creator);
   tmp2 = index_in_array(sendersstr, jingle_content_senders);
-  if (tmp < 0 || tmp2 < 0) {
+  if (tmp < 0 || (tmp2 < 0 && sendersstr != NULL)) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_BADVALUE,
                 "the attribute creator or sender is invalid");
     g_free(cn);
     return NULL;
   }
   cn->creator = (JingleCreator)tmp;
-  cn->senders = (JingleSenders)tmp2;
-
+  if(sendersstr != NULL)
+    cn->senders = (JingleSenders)tmp2;
+  else
+    cn->senders = JINGLE_SENDERS_BOTH;
   cn->description = lm_message_node_get_child(node, "description");
   cn->transport   = lm_message_node_get_child(node, "transport");
   if (cn->description == NULL || cn->transport == NULL) {
--- a/jingle/jingle.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/jingle.c	Tue Jul 20 00:52:21 2010 +0200
@@ -187,20 +187,27 @@
     jingle_free_jinglenode(jn);
     return FALSE;
   }
-  if (evcontext = EVS_CONTEXT_CANCEL) {
+  if (evcontext == EVS_CONTEXT_CANCEL) {
     scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
                  jn->initiator);
     jingle_free_jinglenode(jn);
     return FALSE;
   }
   if (!(evcontext == EVS_CONTEXT_ACCEPT || evcontext == EVS_CONTEXT_REJECT)) {
+    scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
+                 jn->initiator);
     jingle_free_jinglenode(jn);
     return FALSE;
   }
   
   if (evcontext == EVS_CONTEXT_ACCEPT) {
+    scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s accepted.",
+                 jn->initiator);
     jingle_send_session_accept(jn);
+
   } else {
+    scr_LogPrint(LPRINT_LOGNORM, "Jingle event from %s cancelled.",
+                 jn->initiator);
     jingle_send_session_terminate(jn, "decline");
     jingle_free_jinglenode(jn);
   }
--- a/jingle/send.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/send.c	Tue Jul 20 00:52:21 2010 +0200
@@ -24,6 +24,8 @@
 
 #include <mcabber/xmpp_helper.h>
 #include <mcabber/xmpp_defines.h>
+#include <mcabber/settings.h>
+#include <mcabber/logprint.h>
 
 #include <jingle/jingle.h>
 #include <jingle/sessions.h>
@@ -33,7 +35,7 @@
 void jingle_send_session_terminate(JingleNode *jn, const gchar *reason)
 {
   LmMessage *r;
-  LmMessageNode *err;
+  LmMessageNode *err,*err2;
   JingleNode *reply = g_new0(JingleNode, 1);
   JingleAckHandle *ackhandle;
 
@@ -44,8 +46,9 @@
   if (r == NULL) return;
 
   if (reason != NULL) { 
+    err2 = lm_message_node_get_child(r->node, "jingle");
     // TODO check reason 
-    err = lm_message_node_add_child(r->node, "reason", NULL);
+    err = lm_message_node_add_child(err2, "reason", NULL);
     lm_message_node_add_child(err, reason, NULL);
   }
 
@@ -95,6 +98,9 @@
     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);
 
     session_add_content(sess, cn, JINGLE_SESSION_STATE_ACTIVE);
     accept.content = g_slist_append(accept.content, cn);