In message <[EMAIL PROTECTED]>, Peter Wemm writes:
>Has anybody else noticed this in -current? Mozilla hangs for a minute or
>so at regular intervals..
>16:07:31.896548 216.145.52.172.20167 > 0.0.0.0.16001: S 1175926117:1175926117(
Sounds like something I may have broken... Need to sleep now, but
you could try the following. I think in_pcbconnect() used to do
some evil stuff where it would modify the supplied sockaddr,
tcp_connect was depending on this, and I failed to notice it
(in_pcbconnect maps a destination address of INADDR_ANY into a local
IP, but we were throwing away the modified version). Commit if it
works, and I'll look properly tomorrow. Sorry for the breakage.
Ian
Index: tcp_usrreq.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/netinet/tcp_usrreq.c,v
retrieving revision 1.83
diff -u -r1.83 tcp_usrreq.c
--- tcp_usrreq.c 21 Oct 2002 13:55:50 -0000 1.83
+++ tcp_usrreq.c 24 Oct 2002 01:27:27 -0000
@@ -876,14 +876,14 @@
if (oinp != inp && (otp = intotcpcb(oinp)) != NULL &&
otp->t_state == TCPS_TIME_WAIT &&
(ticks - otp->t_starttime) < tcp_msl &&
- (otp->t_flags & TF_RCVD_CC))
+ (otp->t_flags & TF_RCVD_CC)) {
+ inp->inp_faddr = oinp->inp_faddr;
+ inp->inp_fport = oinp->inp_fport;
otp = tcp_close(otp);
- else
+ } else
return EADDRINUSE;
}
inp->inp_laddr = laddr;
- inp->inp_faddr = sin->sin_addr;
- inp->inp_fport = sin->sin_port;
in_pcbrehash(inp);
/* Compute window scaling to request. */
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message