Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!hpda!hpcuhb!hpindda!subbu From: subbu@hpindda.cup.hp.com (MCV Subramaniam) Newsgroups: comp.protocols.tcp-ip Subject: Re: single tcpcb loopback bug Message-ID: <6200036@hpindda.cup.hp.com> Date: 18 Oct 90 16:21:50 GMT References: <19897@frog.UUCP> Organization: HP Information Networks, Cupertino, CA Lines: 24 >This seems to be a previously unpublished bug. Yes, it is unpublished, but not unreported. We, at HP have found this bug in 4.3 BSD, and have submitted a fix to Mike Karels. You may not believe it, but 4.3 BSD cannot handle crossing SYNs! (i.e. if two 4.3 machines send SYN to each other and they cross each other, the machines will go in an infinite loop sending SYN|ACKs to each other). Connecting to the same port number causes a similar situation to happen. You send a SYN and go into SYN_SENT state, and you receive the SYN while in SYN_SENT state! The fix involves handling a SYN correctly while in the SYN_SENT state. >I suspect that a workable fix is to use the tcpcb's ISN when sending >any SYN, although I haven't tried this yet. However, the failure to >do this ought to have generated a RST, IMHO, so I guess there are >actually two bugs here. The ISN is already used while sending a SYN. -Subbu