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

Reply via email to