[Nice] patch for TURN proxy and more

Madaro Livio livio.madaro at telecomitalia.it
Thu Feb 9 03:18:56 PST 2012

I submit another patch for review. It addresses these issues in libnice0.1.1:

1) If TURN server is not listening then nice_tcp_bsd_socket_new (in priv_add_new_candidate_discovery_turn) returns socket=NULL and libnice crashes. The patch check for socket==NULL

2) In the functions _nice_agent_recv and nice_turn_socket_parse_recv the receiving address is compared to the TURN server address. The test fails if the client is using a proxy.
The patch adds specific test for proxy.

3) In function nice_agent_g_source_cb the glib source is destroyed if reading len < 0. Windows platform sometimes invoke the callback even if there are no data to read.  It happens for example when the STUN server is not listening. I think it is related to receiving ICMP.
The patch check for G_IO_ERR before destroying the glib source

4) Using TURN server, the permission refresh is sent when the client sends data to the remote peer. The TURN permission refresh is not sent if the client is receiving data but is not transmitting (this happen if libnice (ICE) finds an asymmetrical path using TURN server for receiving and direct connection for transmitting).
The patch adds the sending of TURN permission refresh in priv_permission_timeout. The side effect is that the permission is refreshed for every remote candidates even if not in use.


Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: agent.diff
Type: application/octet-stream
Size: 1959 bytes
Desc: agent.diff
URL: <http://lists.freedesktop.org/archives/nice/attachments/20120209/1455abaf/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: turn.diff
Type: application/octet-stream
Size: 1581 bytes
Desc: turn.diff
URL: <http://lists.freedesktop.org/archives/nice/attachments/20120209/1455abaf/attachment-0001.obj>

More information about the nice mailing list