diff options
author | George Joseph <george.joseph@fairview5.com> | 2016-04-10 13:16:42 -0600 |
---|---|---|
committer | George Joseph <george.joseph@fairview5.com> | 2016-04-10 13:16:42 -0600 |
commit | 0c414eaf35eb29dd7422a776a33955e89999f68d (patch) | |
tree | c355ef01c36fbf1c8286182d8df628f7976acfa6 /third-party | |
parent | e7e16b7465f8bcccb1a10b9a42a36fe098442e5e (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.patch | 30 |
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 + |