cpw.malu.xmpp.google_relay: 303f4072: Make the check for PRPL-supplied TURN pa...

malu at pidgin.im malu at pidgin.im
Thu Feb 18 17:45:33 EST 2010


-----------------------------------------------------------------
Revision: 303f4072d75faa7770a5339dbfea05da7cee30a4
Ancestor: 0319e39c02a77d7387a1ccf996ef368a969770ba
Author: malu at pidgin.im
Date: 2010-02-18T22:42:19
Branch: im.pidgin.cpw.malu.xmpp.google_relay
URL: http://d.pidgin.im/viewmtn/revision/info/303f4072d75faa7770a5339dbfea05da7cee30a4

Modified files:
        libpurple/media/backend-fs2.c

ChangeLog: 

Make the check for PRPL-supplied TURN parameters in the new place

-------------- next part --------------
============================================================
--- libpurple/media/backend-fs2.c	648440768a9f9891a769a4c606716d18af47c432
+++ libpurple/media/backend-fs2.c	b55cc7142fb3d204be5e433feede64dc3e015714
@@ -1584,7 +1584,19 @@ create_stream(PurpleMediaBackendFs2 *sel
 	PurpleMediaBackendFs2Session *session;
 	PurpleMediaBackendFs2Stream *stream;
 	FsParticipant *participant;
+	/* check if the prpl has already specified a relay-info
+	  we need to do this to allow them to override when using non-standard
+	  TURN modes, like Google f.ex. */
+	gboolean got_turn_from_prpl = FALSE;
+	int i;
 
+	for (i = 0 ; i < num_params ; i++) {
+		if (purple_strequal(params[i].name, "relay-info")) {
+			got_turn_from_prpl = TRUE;
+			break;
+		}
+	}
+
 	memcpy(_params, params, sizeof(GParameter) * num_params);
 
 	/* set the controlling mode parameter */
@@ -1603,7 +1615,7 @@ create_stream(PurpleMediaBackendFs2 *sel
 		++_num_params;
 	}
 
-	if (turn_ip && !strcmp("nice", transmitter)) {
+	if (turn_ip && !strcmp("nice", transmitter) && !got_turn_from_prpl) {
 		GValueArray *relay_info = g_value_array_new(0);
 		GValue value;
 		gint turn_port = purple_prefs_get_int(


More information about the Commits mailing list