On Thu Apr 17 19:07:09 EDT 2008, [EMAIL PROTECTED] wrote:
> anyway, perhaps the more important question, at least for erik, is: will
> his change cause trouble elsewhere?  unfortunately, we don't know, but we'll
> see how he gets along!
> 

not setting the PSH bit when there's no data does fix the problem and
has run for several days on some well-used machines without causing
any issues with telnet, http, smtp, srv, cpu, import -E ssl &c.  i would be 
surprised
if the change caused any problem between plan 9 machines as the PSH bit
may be set but is never tested.

bwc points out that godaddy's behavior is very likely a violation of the rfc.
while the PSH bit may be mistaken, compliant implementations are supposed
to be liberal with what they accept.  i can only assume that they are trying to
defend against some sort of dos attack.  perhaps someone has a better 
suggestion?

it was suggested that the } was prehaps misplaced.  i think this is not correct
as the preceeding if modifieds dsize so i believe the ifs need to be seperate.

/n/sources/plan9//sys/src/9/ip/tcp.c:2529,2535 - tcp.c:2529,2535
                        }
                }
  
-               if(sent+dsize == sndcnt)
+               if(sent+dsize == sndcnt && dsize)
                        seg.flags |= PSH;
  
                /* keep track of balance of resent data */

- erik

Reply via email to