From owner-freebsd-current Wed Oct 23 18:33:41 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2CAA037B401 for ; Wed, 23 Oct 2002 18:33:40 -0700 (PDT) Received: from cyclops.local.mti.ie (c104-26.bas1.prp.dublin.eircom.net [159.134.104.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3252943E77 for ; Wed, 23 Oct 2002 18:33:38 -0700 (PDT) (envelope-from iedowse@cyclops.local.mti.ie) Received: from localhost (localhost [127.0.0.1]) by cyclops.local.mti.ie (8.12.6/8.12.5) with ESMTP id g9O1XMqX007070; Thu, 24 Oct 2002 02:33:35 +0100 (IST) (envelope-from iedowse@cyclops.local.mti.ie) Message-Id: <200210240133.g9O1XMqX007070@cyclops.local.mti.ie> To: Peter Wemm Cc: current@freebsd.org Subject: Re: mozilla vs linux emulation in -current? In-Reply-To: Your message of "Wed, 23 Oct 2002 16:21:36 PDT." <20021023232136.443022A88D@canning.wemm.org> Date: Thu, 24 Oct 2002 02:33:22 +0100 From: Ian Dowse Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <20021023232136.443022A88D@canning.wemm.org>, 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message