diff libpurple/protocols/jabber/disco.c @ 28079:49cb3fc2c01a

Add the camera-v1 cap or else Gmail refuses to accept we're video enabled.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Fri, 31 Jul 2009 04:20:30 +0000
parents d953b613a794
children cbbde19ce02d
line wrap: on
line diff
--- a/libpurple/protocols/jabber/disco.c	Thu Jul 30 03:42:26 2009 +0000
+++ b/libpurple/protocols/jabber/disco.c	Fri Jul 31 04:20:30 2009 +0000
@@ -166,6 +166,18 @@
 			 */
 			xmlnode *feature = xmlnode_new_child(query, "feature");
 			xmlnode_set_attrib(feature, "var", "http://www.google.com/xmpp/protocol/video/v1");
+		} else if (g_str_equal(node, CAPS0115_NODE "#" "camera-v1")) {
+			/*
+			 * HUGE HACK! We advertise this ext (see jabber_presence_create_js
+			 * where we add <c/> to the <presence/>) for the Google Talk
+			 * clients that don't actually check disco#info features.
+			 *
+			 * This specific feature is redundant but is what
+			 * node='http://mail.google.com/xmpp/client/caps', ver='1.1'
+			 * advertises as 'camera-v1'.
+			 */
+			xmlnode *feature = xmlnode_new_child(query, "feature");
+			xmlnode_set_attrib(feature, "var", "http://www.google.com/xmpp/protocol/camera/v1");
 #endif
 		} else {
 			xmlnode *error, *inf;