[reSIProcate] Incorrect pre-parsing SIP-ETag header

Byron Campen bcampen at estacado.net
Wed Mar 26 12:34:42 CDT 2008


	Yikes! This code is at fault:

*snip*
       Data etag = Random::getCryptoRandom(8);
       while (mServerPublications.find(etag) !=  
mServerPublications.end())
       {
          etag = Random::getCryptoRandom(8);
       }

       if (request.getContents())
       {
          ServerPublication* sp = new ServerPublication(*this, etag,  
request);
          mServerPublications[etag] = sp;
          sp->dispatch(request);
       }
       else
       {
*snip*

	Shoving raw binary into an etag header is bad. I suspect that _this_  
is what was meant:

*snip*
       Data etag = Random::getCryptoRandomHex(8);
       while (mServerPublications.find(etag) !=  
mServerPublications.end())
       {
          etag = Random::getCryptoRandomHex(8);
       }

       if (request.getContents())
       {
          ServerPublication* sp = new ServerPublication(*this, etag,  
request);
          mServerPublications[etag] = sp;
          sp->dispatch(request);
       }
       else
       {
*snip*

I will fix this right away.

Best regards,
Byron Campen


> Hi,
>
> As I see resiprocate does not parse SIP-ETag correctly
> (BTW it was generated by itself). For example attached
> 200 OK was generated by resiprocate's DUM but cannot
> be processed by resiprocate when it was received via
> UDP, error is:
> Scanner rejecting datagram as unparsable / fragmented
>
> As I see it happens when 0x0a symbol exists in this
> header because resiprocate correctly parses all other
> messages where SIP-ETag exists without this symbol...
>
> Any idea how to fix it? ;)
>
>
>        
> ______________________________________________________________________ 
> ______________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/ 
> newsearch/category.php? 
> category=shopping<OK.sip>_____________________________________________ 
> __
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2423 bytes
Desc: not available
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20080326/2a5f70be/attachment.bin>


More information about the resiprocate-devel mailing list