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.