[OpenSER-Users] crash when checking empty destination uri
Daniel-Constantin Mierla
daniel at voice-system.ro
Mon Jul 9 14:02:41 CEST 2007
Hello,
On 07/09/07 13:50, Papadopoulos Georgios wrote:
> Hi Daniel,
>
> Here is the ACK packet
>
> U 2007/07/09 13:13:31.577697 213.5.17.78:5060 -> 213.5.43.4:5060
> ACK sip:demo1 at 213.5.168.214:54656 SIP/2.0.
> Via: SIP/2.0/UDP 213.5.17.78:5060;branch=z9hG4bK504461f5;rport.
> Route: <sip:213.5.43.4;lr=on;ftag=as2f3574dc>.
> From: "GEOP Papadopoul" <sip:2116872933 at altecnet.gr>;tag=as2f3574dc.
> To: <sip:DEMO1 at 213.5.43.4>;tag=80299598395.
> Contact: <sip:2116872933 at 213.5.17.78>.
> Call-ID: 088e7cdc7176016349ad45ea69468b7b at altecnet.gr.
> CSeq: 102 ACK.
> User-Agent: Asterisk PBX.
> Max-Forwards: 70.
> Content-Length: 0.
>
> How do I get the backtrace that you need? All I get from gdb is this:
> #0 0x080844a7 in ?? ()
> #1 0xbffb26e0 in ?? ()
> #2 0x00b56cee in ?? ()
> #3 0x00000000 in ?? ()
>
Check if you got a core file, and then:
gdb /path/to/openser /path/to/core_file
# bt
Cheers,
Daniel
> Best regards
>
> George
>
>
>
>
>> -----Original Message-----
>> From: Daniel-Constantin Mierla [mailto:daniel at voice-system.ro]
>> Sent: Monday, July 09, 2007 12:10 PM
>> To: Papadopoulos Georgios
>> Cc: users at openser.org
>> Subject: Re: [OpenSER-Users] crash when checking empty destination uri
>>
>> Hello George,
>>
>> if loose_route returns true, the $du should be set. Can you
>> send me a sample of such ACK along with the backtrace?
>>
>> Cheers,
>> Daniel
>>
>>
>> On 07/09/07 10:52, Papadopoulos Georgios wrote:
>>
>>> Hi Daniel,
>>>
>>> Thank you for looking into this. I got from SVN the patch for rev.
>>> 2420 and I applied it to my 1.2 branch. OpenSER still
>>>
>> crashes at the
>>
>>> same point. Did I get the right patch? The one I have
>>>
>> changes one line
>>
>>> on route.c and transformations.c. I will add it at the end
>>>
>> of the email.
>>
>>> Best regards
>>>
>>> George
>>>
>>>
>>> Index: route.c^M
>>>
>>>
>> ===================================================================^M
>>
>>> --- route.c (revision 2419)^M
>>> +++ route.c (revision 2420)^M
>>> @@ -446,6 +446,9 @@^M
>>> char backup2;
>>> str res;
>>> xl_value_t value;
>>> +
>>> + if(ival==NULL || ival->s==NULL)
>>> + goto error;
>>>
>>> res.s = 0; res.len = 0;
>>> if(opd->type == SCRIPTVAR_ST)
>>> Index: transformations.c^M
>>>
>>>
>> ===================================================================^M
>>
>>> --- transformations.c (revision 2419)^M
>>> +++ transformations.c (revision 2420)^M
>>> @@ -71,7 +71,8 @@^M
>>> char *p, *s;
>>> str st;
>>> xl_value_t v;
>>> - if(val==NULL)
>>> +
>>> + if(val==NULL || val->flags&XL_VAL_NULL)
>>> return -1;
>>>
>>> switch(subtype)
>>>
>>>
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Daniel-Constantin Mierla [mailto:daniel at voice-system.ro]
>>>> Sent: Friday, July 06, 2007 9:19 PM
>>>> To: Papadopoulos Georgios
>>>> Cc: users at openser.org
>>>> Subject: Re: [OpenSER-Users] crash when checking empty destination
>>>> uri
>>>>
>>>> Hello,
>>>>
>>>> On 07/06/07 17:09, Papadopoulos Georgios wrote:
>>>>
>>>>
>>>>> Hello,
>>>>>
>>>>> I have the following line in my script which causes OpenSER
>>>>>
>>>>>
>>>> (1.2) to
>>>>
>>>>
>>>>> crash when the execution gets there for an ACK.
>>>>> if ($du=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)")
>>>>> It gets at this line when an ACK is received and after
>>>>>
>>>>>
>>>> loose_route()
>>>>
>>>>
>>>>> returns true. So I am guessing the destination uri is
>>>>>
>> null at that
>>
>>>>> point and the check causes OpenSER to crash.
>>>>>
>>>>> If I add the following check then everything works fine.
>>>>> if (isdsturiset() &&
>>>>> $du=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)")
>>>>>
>>>>>
>>>> can you test with devel version? I applied a patch, and if
>>>>
>> ok, I will
>>
>>>> backport. Thanks for reporting.
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>>
>>>>
>>>>>
>>>>> thank you
>>>>>
>>>>> George
>>>>>
>>>>>
>>>>>
>>>>> Disclaimer
>>>>>
>>>>> The information in this e-mail and any attachments is
>>>>>
>>>>>
>>>> confidential. It
>>>>
>>>>
>>>>> is intended solely for the attention and use of the named
>>>>> addressee(s). If you are not the intended recipient, or person
>>>>> responsible for delivering this information to the intended
>>>>>
>>>>>
>>>> recipient,
>>>>
>>>>
>>>>> please notify the sender immediately. Unless you are the intended
>>>>> recipient or his/her representative you are not
>>>>>
>> authorized to, and
>>
>>>>> must not, read, copy, distribute, use or retain this
>>>>>
>> message or any
>>
>>>>> part of it. E-mail transmission cannot be guaranteed to be
>>>>>
>>>>>
>>>> secure or
>>>>
>>>>
>>>>> error-free as information could be intercepted, corrupted, lost,
>>>>> destroyed, arrive late or incomplete, or contain viruses.
>>>>>
>>>>>
>>>>>
>>>>>
>> ---------------------------------------------------------------------
>>
>>>> -
>>>>
>>>>
>>>>> --
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at openser.org
>>>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>>
>>>>>
>>>
>>>
>
>
More information about the sr-users
mailing list