[SR-Users] Decode contact with user paramer
Gareth Rylance
gareth at rylance.me.uk
Thu Jan 24 14:01:17 CET 2013
Sorry had wrong branch here it is ff22a1cbc2b817d63611b3da967d8245e11cb84c.
On 24 January 2013 12:55, Gareth Rylance <gareth at rylance.me.uk> wrote:
> I cant see the patch in master. Can you?
>
>
> On 21 January 2013 20:13, Richard Brady <rnbrady at gmail.com> wrote:
>
>> Patch attached.
>>
>> Should this be cross posted to [sr-dev] if it contains a patch?
>>
>> Richard
>>
>>
>> On 7 January 2013 01:10, Richard Brady <rnbrady at gmail.com> wrote:
>>
>>> Agreed, doesn't make sense to me either.
>>>
>>> The code is in the decode2format function in siputils/contact_ops.c:
>>>
>>> if (((*pos) == '>')||(*pos == ';'))
>>> {
>>> /* invalid chars inside username part */
>>> return -5;
>>> }
>>>
>>> The ABNF in RFC3261 makes it clear that a semicolon is ok in the
>>> user-info field:
>>>
>>> userinfo = ( user / telephone-subscriber ) [ ":" password ] "@"
>>> user = 1*( unreserved / escaped / user-unreserved )
>>> user-unreserved = "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
>>>
>>> The code might be to check for the end of a URI (both those characters
>>> terminate a URI under certain circumstances), perhaps for fault tolerance
>>> and/or security but I don't think it's been done in a way that makes sense,
>>> for the following reasons:
>>>
>>> 1. An angle bracket is not legal in or surrounding a request URI, so it
>>> should be picked up by the parser and/or sanity check.
>>> 2. A semicolon is totally legal in the userinfo part, as per ABNF and
>>> also as explained in RFC3261:
>>>
>>> ...
>>> sip:alice;day=tuesday at atlanta.com
>>>
>>> The last sample URI above has a user field value of
>>> "alice;day=tuesday". The escaping rules defined above allow a
>>> semicolon to appear unescaped in this field. For the purposes of
>>> this protocol, the field is opaque. The structure of that value is
>>> only useful to the SIP element responsible for the resource.
>>>
>>> So I have raised bug FS#263:
>>> http://sip-router.org/tracker/index.php?do=details&task_id=263
>>>
>>> Richard
>>>
>>>
>>> On 3 January 2013 13:28, Gareth Rylance <gareth at rylance.me.uk> wrote:
>>>
>>>> Anyone?
>>>>
>>>> If no one objects I will submit a patch with it removed.
>>>>
>>>>
>>>> On 18 December 2012 09:11, Gareth Rylance <gareth at rylance.me.uk> wrote:
>>>>
>>>>> When using the siputils function encode_contact() on a message that
>>>>> contains a user parameter e.g.
>>>>>
>>>>> <sip:XXXXX00015;phone-context=national at 10.YYY.1.92
>>>>> ;user=phone>;tag=88930
>>>>>
>>>>> it encodes fine e.g.
>>>>>
>>>>>
>>>>> <sip:natted_ua*sip:XXXXX00015;phone-context=national**192.168.242.102*5080*udp at 10.YYY.70.100
>>>>> >
>>>>>
>>>>> but decode_contact() errors due to the ";" (there is an explicit check
>>>>> for it in the code)
>>>>>
>>>>> I am currently working round this using
>>>>>
>>>>> $rU = $(rU{s.replace,;,:});
>>>>>
>>>>> to remove the ; as the user part is not needed for my application.
>>>>>
>>>>> Would it be safe to remove the check for ";" ?
>>>>>
>>>>> Gareth
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users at lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130124/6d72e8fb/attachment.htm>
More information about the sr-users
mailing list