summaryrefslogtreecommitdiff
path: root/third-party/pjproject/patches/0010-r5665-svn-backport-ICE-Use-STUN-FINGERPRINT-attribut.patch
blob: 3c83cc502229e5c727a3fe4712f0c96d5e971735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 06bc834969a34d2c60e05beed3051b4a6d34c125 Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Thu, 28 Sep 2017 10:57:23 -0500
Subject: [PATCH 3/3] r5665 svn backport ICE: Use STUN FINGERPRINT attribute
 when sending keepalives

Fixed #2046: ICE: Use STUN FINGERPRINT attribute when sending keepalives

Per RFC 5245 Section 10:

   If STUN is being used for keepalives, a STUN Binding Indication is
   used [RFC5389].  The Indication MUST NOT utilize any authentication
   mechanism.  It SHOULD contain the FINGERPRINT attribute to aid in
   demultiplexing, but SHOULD NOT contain any other attributes.
---
 pjnath/src/pjnath/ice_session.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c
index 27a2950..63a0d1c 100644
--- a/pjnath/src/pjnath/ice_session.c
+++ b/pjnath/src/pjnath/ice_session.c
@@ -1217,10 +1217,12 @@ static void ice_keep_alive(pj_ice_sess *ice, pj_bool_t send_now)
 	msg_data = PJ_POOL_ZALLOC_T(tdata->pool, pj_ice_msg_data);
 	msg_data->transport_id = the_check->lcand->transport_id;
 
-	/* Temporarily disable FINGERPRINT. The Binding Indication 
-	 * SHOULD NOT contain any attributes.
+	/* RFC 5245 Section 10:
+	 * The Binding Indication SHOULD contain the FINGERPRINT attribute
+	 * to aid in demultiplexing, but SHOULD NOT contain any other
+	 * attributes.
 	 */
-	saved = pj_stun_session_use_fingerprint(comp->stun_sess, PJ_FALSE);
+	saved = pj_stun_session_use_fingerprint(comp->stun_sess, PJ_TRUE);
 
 	/* Send to session */
 	addr_len = pj_sockaddr_get_len(&the_check->rcand->addr);
-- 
2.7.4