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