[SR-Users] Wrong from/to header compose way in print_to and print_from

dongwf dongwflj at 163.com
Tue Sep 23 10:36:54 CEST 2014


Oh, sorry, it's my first time to report patch for the project, will follow the guide in future :-)






At 2014-09-23 14:39:37, "Daniel-Constantin Mierla" <miconda at gmail.com> wrote:
Hello,

I applied the patch copying manually the changes -- you can try the master branch to see if all works as expected. Son it will get backported to stable branches.

For future reference, you should use:

diff -u oldfile newfile >/tmp/file.patch

Then send the file.patch as attachment. Then one can save it locally from email and use:

patch -pX<file.patch

to apply the changes.

Thanks for troubleshooting and patching the issue.

Cheers,
Daniel


On 22/09/14 12:27, dongwf wrote:

Hi:
Sorry for the unconvinient, I didn't use git, I use diff tool generated diff for t_msgbuilder.c as below, is it ok for you?

1400c1400
<       + ((dialog->rem_uri.s[0]!='<')?2:0);
---
>       + ((dialog->rem_uri.s[dialog->rem_uri.len - 1]!='>')?2:0);
1403c1403
<   if(dialog->rem_uri.s[0]!='<') memapp(w, "<", 1);
---
>   if(dialog->rem_uri.s[dialog->rem_uri.len - 1]!='>') memapp(w, "<", 1);
1405c1405
<   if(dialog->rem_uri.s[0]!='<') memapp(w, ">", 1);
---
>   if(dialog->rem_uri.s[dialog->rem_uri.len - 1]!='>') memapp(w, ">", 1);
1425c1425
<       + ((dialog->loc_uri.s[0]!='<')?2:0);
---
>       + ((dialog->loc_uri.s[dialog->loc_uri.len - 1]!='>')?2:0);
1428c1428
<   if(dialog->loc_uri.s[0]!='<') memapp(w, "<", 1);
---
>   if(dialog->loc_uri.s[dialog->loc_uri.len - 1]!='>') memapp(w, "<", 1);
1430c1430
<   if(dialog->loc_uri.s[0]!='<') memapp(w, ">", 1);
---
>   if(dialog->loc_uri.s[dialog->loc_uri.len -1]!='>') memapp(w, ">", 1);
1551c1551
<   if(dialog->rem_uri.s[0]!='<') *len += 2; /* To-URI < > */
---
>   if(dialog->rem_uri.s[dialog->rem_uri.len - 1]!='>') *len += 2; /* To-URI < > */
1554c1554
<   if(dialog->loc_uri.s[0]!='<') *len += 2; /* From-URI < > */
---
>   if(dialog->loc_uri.s[dialog->loc_uri.len - 1]!='>') *len += 2; /* From-URI < > */






At 2014-09-20 00:03:32, "Daniel-Constantin Mierla" <miconda at gmail.com> wrote:
Hello,

can you send the changes as patch (diff) file?

If you got kamailio from git, then you can do:

git diff > /path/to/file.patch

It is easier to review the changes and be sure we are not overwriting a new version of the file.

Cheers,
Daniel


On 19/09/14 12:57, dongwf wrote:

Hi Daniel:
I added my fixing in attached t_msgbuilder.c, please take a review, mainly change in build_uac_req, print_to and print_from, thanks!






At 2014-09-17 04:25:17, "Daniel-Constantin Mierla" <miconda at gmail.com> wrote:
Hello,

your remarks seems legit -- if you send a patch, I will review and commit it. Otherwise, open an issue on bugh tracker and will be fixed soon. I tested the patch with my scenario, it works fine.

Cheers,
Daniel


On 17/09/14 10:06, dongwf wrote:

Hi kamailio dev:
I am writing a module to implement some features, my version is 4.1.2, I am not sure if it is a known issue, I found:
1. When I get a INVITE request with from/to like from:"display"<aaa at sip.com>, then I call tm's new_dlg_uas with the sip req, now the dlg's rem_uri set as value: "display"<aaa at sip.com>;
2. After that, when I need use the dlg to send BYE with tm's req_within with the above saved dlg, the print_to function will check the rem_uri's first value if "<" or not, now my uri has display name, so the outgoing BYE's to header becomes to:<"display"<aaa at sip.com>>, is it wrong? Should we check the last char in the rem_uri as ">"?

The detail code is :
static inline char* print_to(char* w, dlg_t* dialog, struct cell* t)
{
    t->to.s = w;
    t->to.len = TO_LEN + dialog->rem_uri.len + CRLF_LEN
        + ((dialog->rem_uri.s[0]!='<')?2:0);

    memapp(w, TO, TO_LEN);
    if(dialog->rem_uri.s[0]!='<') memapp(w, "<", 1);
    memapp(w, dialog->rem_uri.s, dialog->rem_uri.len);
    if(dialog->rem_uri.s[0]!='<') memapp(w, ">", 1);
....






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


-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany




-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany




-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140923/854cb77c/attachment.html>


More information about the sr-users mailing list