[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 Users mailing list