summaryrefslogtreecommitdiff
path: root/third-party
diff options
context:
space:
mode:
authorGeorge Joseph <george.joseph@fairview5.com>2016-04-10 13:16:42 -0600
committerGeorge Joseph <george.joseph@fairview5.com>2016-04-10 14:23:07 -0500
commit8637f29d24e6a4354f8b2ca2ecd9a2458a62a80d (patch)
tree71082a2ff79426ab97e87617526adc5de1aaa1d3 /third-party
parent8610f4344fc2d83d0926fbf45b9f77d6fc26eea5 (diff)
pjproject: Add patch to fix Via IPv6 parsing
There's a bug in pjproject's sip_parser where the ":" wasn't correctly interpreted. This is causing IPv6 addresses in the "received" parameter of the Via header to cause a syntax check failure. This patch was submitted to Teluu on 4/10/2016. ASTERISK-25910 #close Reported-by: Anthony Messina Change-Id: Ic7e4c4aa14ded61860401ec349f5177568c4d922
Diffstat (limited to 'third-party')
-rw-r--r--third-party/pjproject/patches/0001-sip_parser.c-Fix-pjsip_VIA_PARAM_SPEC_ESC.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/third-party/pjproject/patches/0001-sip_parser.c-Fix-pjsip_VIA_PARAM_SPEC_ESC.patch b/third-party/pjproject/patches/0001-sip_parser.c-Fix-pjsip_VIA_PARAM_SPEC_ESC.patch
new file mode 100644
index 000000000..60c27cb1a
--- /dev/null
+++ b/third-party/pjproject/patches/0001-sip_parser.c-Fix-pjsip_VIA_PARAM_SPEC_ESC.patch
@@ -0,0 +1,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
+