Thanks, patch was pushed to master branch.

Cheers,
Daniel

On 1/21/13 9:13 PM, Richard Brady 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 <rnbr...@gmail.com <mailto:rnbr...@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=tues...@atlanta.com <mailto:tues...@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 <gar...@rylance.me.uk
    <mailto:gar...@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
        <gar...@rylance.me.uk <mailto:gar...@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=natio...@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*u...@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@lists.sip-router.org
        <mailto:sr-users@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@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, April 16-17, 2013, Berlin
 - http://conference.kamailio.com -

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to