Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 May 2004 22:21:57 +0400
From:      Yar Tikhiy <yar@comp.chem.msu.su>
To:        arch@freebsd.org, net@freebsd.org
Cc:        Eugene Grosbein <eugen@grosbein.pp.ru>
Subject:   Re: bin/65928: [PATCH] stock ftpd uses superuser credentials for active mode sockets
Message-ID:  <20040515182157.GB89625@comp.chem.msu.su>
In-Reply-To: <20040508132354.GB44214@comp.chem.msu.su>
References:  <20040508034514.GA937@grosbein.pp.ru> <Pine.BSF.4.53.0405080636010.66978@e0-0.zab2.int.zabbadoz.net> <20040508132354.GB44214@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi folks,

Attached below is a patch addressing the issue of the inability to
reuse a local IP:port couple occupied by an established TCP connection
from another user, but by no listeners.  Could anybody with fair
understanding of our TCP/IP stack review it please?  Thanks.

-- 
Yar

Index: in_pcb.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/in_pcb.c,v
retrieving revision 1.146
diff -u -p -r1.146 in_pcb.c
--- in_pcb.c	23 Apr 2004 23:29:49 -0000	1.146
+++ in_pcb.c	15 May 2004 17:37:18 -0000
@@ -340,6 +340,8 @@ in_pcbbind_setup(inp, nam, laddrp, lport
 						return (EADDRINUSE);
 				} else
 				if (t &&
+				    (so->so_type != SOCK_STREAM ||
+				     ntohl(t->inp_faddr.s_addr) == INADDR_ANY) &&
 				    (ntohl(sin->sin_addr.s_addr) != INADDR_ANY ||
 				     ntohl(t->inp_laddr.s_addr) != INADDR_ANY ||
 				     (t->inp_socket->so_options &



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040515182157.GB89625>