summaryrefslogtreecommitdiff
path: root/third-party/pjproject/patches/0001-sip_parser.c-Fix-pjsip_VIA_PARAM_SPEC_ESC.patch
blob: 60c27cb1af24217700da2660c63910465ac67e47 (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
From 0fc7ef5f01be9cc74d184c3ca3a973ff1ef44c93 Mon Sep 17 00:00:00 2001
From: George Joseph <george.joseph@fairview5.com>
Date: Sun, 10 Apr 2016 12:54:06 -0600
Subject: [PATCH] sip_parser.c: Fix pjsip_VIA_PARAM_SPEC_ESC

pjsip_VIA_PARAM_SPEC_ESC should have been pjsip_TOKEN_SPEC_ESC + ":" but
instead of appending ":" to pjsip_VIA_PARAM_SPEC_ESC it was being appended
to pjsip_VIA_PARAM_SPEC again.  This was causing parsing of Via headers
to fail when an ipv6 address was in a "received" param and
PJSIP_UNESCAPE_IN_PLACE was used.  Probably just a copy/paste error.
---
 pjsip/src/pjsip/sip_parser.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pjsip/src/pjsip/sip_parser.c b/pjsip/src/pjsip/sip_parser.c
index 378c22f..c18faa3 100644
--- a/pjsip/src/pjsip/sip_parser.c
+++ b/pjsip/src/pjsip/sip_parser.c
@@ -327,7 +327,7 @@ static pj_status_t init_parser()
 
     status = pj_cis_dup(&pconst.pjsip_VIA_PARAM_SPEC_ESC, &pconst.pjsip_TOKEN_SPEC_ESC);
     PJ_ASSERT_RETURN(status == PJ_SUCCESS, status);
-    pj_cis_add_str(&pconst.pjsip_VIA_PARAM_SPEC, ":");
+    pj_cis_add_str(&pconst.pjsip_VIA_PARAM_SPEC_ESC, ":");
 
     status = pj_cis_dup(&pconst.pjsip_HOST_SPEC, &pconst.pjsip_ALNUM_SPEC);
     PJ_ASSERT_RETURN(status == PJ_SUCCESS, status);
-- 
2.5.5