[Users] Bug in nathelper module or in the replace() function

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Aug 22 11:46:04 CEST 2006


actually openser does not apply the changes (remove and add) on the 
received message buffer, but keeps some lumps with the changes - all 
this changes are applied and the end of the processing (from performance 
reasons).
In your case you have two operations at the same offset in the message - 
nathelper adding a remove and add lump and you (via replace) doing the 
same. There is nothing you can do about this.....

regards,
bogdan


Federico Giannici wrote:

> Daniel-Constantin Mierla wrote:
>
>>
>>
>> On 08/20/06 17:45, Federico Giannici wrote:
>>
>>> If a message body is modified by both force_rtp_proxy() and replace( 
>>> "^Content-Length:", "l:" ) then the resulting message is corrupted.
>>
> >
>
>> if the body of the message is altered, openser rebuilds the content 
>> length by removing the old header and adding new one. From here comes 
>> the issue.
>
>
> I don't understand the issue. I cannot see the problem if the header 
> field was actually removed and then re-added.
>
> The problem is that the header field is present in BOTH forms (long 
> and compact): "l:Content-Length:".
>
> Bye.
>
>
>> If you want short header names, the best is to change the sources and 
>> update the define at config.h line 70 to compact form of content 
>> length header. In the future, maybe only the body of the header 
>> should be updated, and this issue will go.
>>
>> Cheers,
>> Daniel
>>
>>>
>>> The message size is updated but the header field name appear in both 
>>> the short and long form. Here it is an example:
>>>
>>> l:Content-Length: 403
>>>
>>> The result is the same if I reverse the order of the two operations 
>>> too.
>>>
>>> BTW, I use that replace call (and others) when the message is large 
>>> to prevent it to fragment.
>>>
>>>
>>> Bye.
>>>
>
>





More information about the sr-users mailing list