diff libpurple/protocols/jabber/disco.c @ 26539:20743d9bd62d

Fix allowing gmail user to initiate voice call by advertising a specific ext From xep-0115 v1.3: "The names of the feature bundles MUST NOT be used for semantic purposes: they are merely opaque identifiers that will be used in other use cases."
author Paul Aurich <paul@darkrain42.org>
date Sat, 04 Apr 2009 17:01:59 +0000
parents 1ecbda91458a
children bc7fac8e2f79
line wrap: on
line diff
--- a/libpurple/protocols/jabber/disco.c	Sat Apr 04 07:29:50 2009 +0000
+++ b/libpurple/protocols/jabber/disco.c	Sat Apr 04 17:01:59 2009 +0000
@@ -148,6 +148,20 @@
 					xmlnode_set_attrib(feature, "var", feat->namespace);
 				}	
 			}
+#ifdef USE_VV
+		} else if (g_str_equal(node, CAPS0115_NODE "#" "voice-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 'voice-v1'.
+			 */
+			xmlnode *feature = xmlnode_new_child(query, "feature");
+			xmlnode_set_attrib(feature, "var", "http://www.google.com/xmpp/protocol/voice/v1");
+#endif
 		} else {
 			xmlnode *error, *inf;