diff libpurple/protocols/jabber/presence.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 882748e27f9d
children b01e8e76c59d
line wrap: on
line diff
--- a/libpurple/protocols/jabber/presence.c	Sat Apr 04 07:29:50 2009 +0000
+++ b/libpurple/protocols/jabber/presence.c	Sat Apr 04 17:01:59 2009 +0000
@@ -273,6 +273,20 @@
 	xmlnode_set_attrib(c, "hash", "sha-1");
 	xmlnode_set_attrib(c, "ver", jabber_caps_get_own_hash(js));
 
+#ifdef USE_VV
+	/*
+	 * MASSIVE HUGE DISGUSTING HACK
+	 * This is a huge hack. As far as I can tell, Google Talk's gmail client
+	 * doesn't bother to check the actual features we advertise; they
+	 * just assume that if we advertise a 'voice-v1' ext (ignoring that
+	 * these are to be assigned no semantic value). We need to advertise
+	 * this for the gmail web interface chat client to allow the mail user
+	 * to start a voice chat with us. Boo.
+	 */
+	if (jabber_audio_enabled(js, NULL /* unused */))
+		xmlnode_set_attrib(c, "ext", "voice-v1");
+#endif
+
 	return presence;
 }