[Click] a bug in tcprewriter.cc:apply_sack() and/or tcprewriter.cc:apply()?

Eddie Kohler kohler at CS.UCLA.EDU
Sat Oct 1 21:38:58 EDT 2005


AAAAAAAAAAAARGH

TCPRewriter::TCPMapping::apply_sack()'s option parsing code had no  
cases for options other than NOP, EOL, and SACK.

That meant that if for example there was a SACKOK option it would  
infinite loop.

SO STUPID!!!!!

Weidong, the fix is checked in (and a diff appended).  Let me know if  
this seems to help.

Thanks for reporting the bug!
Eddie


-------------- next part --------------
A non-text attachment was scrubbed...
Name: tcprw.patch
Type: application/octet-stream
Size: 616 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20051001/6d4a2510/tcprw.obj
-------------- next part --------------


On Sep 30, 2005, at 9:52 AM, Weidong Cui wrote:

> Hi Eddie,
>
>
>> (1) Do you have a trace file + config that can reliably replicate  
>> the  problem?
>>
>
> I don't have them.  I run it on a real honeyfarm testbed in ICSI.   
> But, I can give you my source code and click conf file if you want  
> to somehow reproduce it by yourself.  What my code does is  
> basically to ack all tcp syns, check the first data packet (if  
> any), and then set up another tcp connection to the real server,  
> finally work as a tcp proxy (using tcprewriter).
>
>
>> (2) Do you know what the value of 'len' was in    
>> TCPRewriter::apply_sack()?  I wonder if it was less than 0.  That   
>> would cause some serious issues.
>>
>
> I think the 'len' is 40, which is weird because there shouldn't be  
> any TCP options (as I explained in my last email).
>
> Please let me know if I can help on anything else.
>
> Thanks,
> Weidong
>
> -- 
> _____________________________________________________
> Weidong Cui
> Ph.D. Candidate      wdc at EECS.Berkeley.EDU
> EECS, UC Berkeley    http://www.cs.berkeley.edu/~wdc/
>



More information about the click mailing list