At 08:36 PM 2/9/2003, Maxim Sobolev wrote:
Folks,
There is a bug in ser, which results in different hashes to be
generated if some of the fields participating in hash generation has
extra spaces before value in reply that were not present in request,
i.e.:
request:
From: <vasia_pupkin(a)1.2.3.4>
reply:
From: <vasia_pupkin(a)1.2.3.4>
This leads to matching failure and as a result causes useless
retransmition, if tm module is used.
I guess that if there is a reply-matching failure, it has some other
reason. Reply matching is based on value of topmost branch in Via and
does not depend on From. Hash calculation is only used for request
processing.
For example, Vovida's SIP stack
is found to be guilty in inserting extra spaces into reply's headers
(which isn't really prohibited by the RFC).
Attached little patch should fix the problem. It would be nice to have
it integrated into the next release.
Parser in the next release is changed to set hdr->body to its real beginning
and skip LWS. (on CVS now) Nevertheless, I guess that is not related to the
issue you observed.
-Jiri