diff libpurple/protocols/jabber/iq.c @ 25129:b4ec5481a67a

Implements file transfers using in-band bytestreams for XMPP using XEP-0047 Refs #6183
author Marcus Lundblad <ml@update.uu.se>
date Sat, 06 Sep 2008 07:49:05 +0000
parents c6ba0a7028f4
children 53b073da65ee
line wrap: on
line diff
--- a/libpurple/protocols/jabber/iq.c	Fri Sep 05 12:07:37 2008 +0000
+++ b/libpurple/protocols/jabber/iq.c	Sat Sep 06 07:49:05 2008 +0000
@@ -33,6 +33,7 @@
 #include "si.h"
 #include "ping.h"
 #include "adhoccommands.h"
+#include "ibb.h"
 
 #ifdef _WIN32
 #include "utsname.h"
@@ -355,6 +356,13 @@
 		return;
 	}
 
+	if (xmlnode_get_child_with_namespace(packet, "data", XEP_0047_NAMESPACE)
+		|| xmlnode_get_child_with_namespace(packet, "close", XEP_0047_NAMESPACE)
+		|| xmlnode_get_child_with_namespace(packet, "open", XEP_0047_NAMESPACE)) {
+		jabber_ibb_parse(js, packet);
+		return;
+	}
+	
 	/* If we get here, send the default error reply mandated by XMPP-CORE */
 	if(type && (!strcmp(type, "set") || !strcmp(type, "get"))) {
 		JabberIq *iq = jabber_iq_new(js, JABBER_IQ_ERROR);