]> git.ipfire.org Git - thirdparty/asterisk.git/commit
pjproject: Add patch for removing strip of '[]' from header params 79/2579/1
authorGeorge Joseph <george.joseph@fairview5.com>
Tue, 12 Apr 2016 20:41:43 +0000 (14:41 -0600)
committerGeorge Joseph <george.joseph@fairview5.com>
Tue, 12 Apr 2016 20:41:43 +0000 (14:41 -0600)
commitcf15a2f2d30e5ec0936ea921a8541a5cca40f63a
treeb33d648362321b279a758cacf4e3951810f2e342
parent70c788ec5e9c3ae4ee66ee05541c486849e103dc
pjproject:  Add patch for removing strip of '[]' from header params

From the patch submitted to Teluu on 4/12/2016
<<<<<<<<<
The wholesale stripping of '[]' from header parameters causes issues if
something (like a port) occurs after the final ']'.

'[2001:a::b]' will correctly parse to '2001:a::b'
'[2001:a::b]:8080' will correctly parse to '2001:a::b' but the scanner is left
with ':8080' and parsing stops with a syntax error.

I can't even find a case where stripping the '[]' is a good thing anyway.  Even
if you continued to parse and resulted in a string that looks like this...
'2001:a::b:8080', it's not valid.

This came up in Asterisk because Kamailio sends us a Contact with an alias
URI parameter that has an IPv6 address in it like this:
Contact: <sip:1171@127.0.0.1:5080;alias=[2001:1:2::3]~43691~6>
which should be legal but causes a syntax error because of the characters
after the final ']'.  Even if it didn't, the '[]' should still not be stripped.

I've run the Asterisk Test Suite for PJSIP (252 tests) many of which are IPv6
enabled.  No issues were caused by removing the code that strips the '[]'.
>>>>>>>>>>>

ASTERISK-25123 #close
Reported-by: Anthony Messina
Change-Id: I5cb33f4ebf07ee1f2b26d07caae715e2ec65595a
third-party/pjproject/patches/0001-sip_parser.c-Remove-wholesale-strip-from-parse_param.patch [new file with mode: 0644]