From owner-freebsd-net@FreeBSD.ORG Tue Aug 31 13:01:45 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33FC510656A6; Tue, 31 Aug 2010 13:01:45 +0000 (UTC) (envelope-from Michael.Tuexen@lurchi.franken.de) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by mx1.freebsd.org (Postfix) with ESMTP id 091978FC13; Tue, 31 Aug 2010 13:01:44 +0000 (UTC) Received: from [172.10.20.2] (tmo-109-179.customers.d1-online.com [80.187.109.179]) by mail-n.franken.de (Postfix) with ESMTP id 47A6B1C0C0BD8; Tue, 31 Aug 2010 15:01:38 +0200 (CEST) Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii From: =?iso-8859-1?Q?Michael_T=FCxen?= In-Reply-To: Date: Tue, 31 Aug 2010 15:01:34 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <7B42D7FB-B782-4EE9-8813-BF7D3ED3274B@lurchi.franken.de> References: <4C7A7B25.9040300@freebsd.org> To: Robert Watson X-Mailer: Apple Mail (2.1081) Cc: freebsd-net@freebsd.org, Andre Oppermann Subject: Re: Removal of deprecated implied connect for TCP X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Aug 2010 13:01:45 -0000 On Aug 31, 2010, at 12:04 PM, Robert Watson wrote: >=20 > On Sun, 29 Aug 2010, Andre Oppermann wrote: >=20 >> When T/TCP RFC1644 support was introduced in r6283 by wollman 15 = years ago the semantics of sendto(2) with regard to TCP sockets were = changed. >>=20 >> It became possible directly do a sendto(2) call with the target = address in the *to argument instead of doing a connect(2) first and = subsequent write(2) or send(2) calls as the standard TCP API specifies. = Optionally MSG_EOR could be specified to close the connection again = right again after the data has been sent out. >>=20 >> This is totally non-portable and no other OS (Linux, NetBSD, OpenBSD, = Solaris, HP-UX) ever supported this functionality for TCP sockets. = FreeBSD was the only OS to ever ship this. >>=20 >> T/TCP was ill-defined and had major security issues and never gained = any support. It has been defunct in FreeBSD and most code has been = removed about 6 years ago. The sendto(2) extended functionality is one = of the last parts that persisted and remained around living a zombie = life. >>=20 >> I want to remove it now because it is totally non-portable, has no = known users and complicates the TCP send path. The patch is attached. >>=20 >> If you have any objections speak up now. >=20 > I'm not entirely comfortable with this change, and would like a chance = to cogitate on it a bit more. While I'm not aware of any applications = depending on the semantic for TCP, I know that we do use it for UNIX = domain sockets. Since it's a documented API, if we are going to remove = it, then we need to go through a deprecation process, not least by = marking it as a deprecated API in 8.x before having it vanish in 9.0. sendto() is also used for SCTP SOCK_STREAMS and SOCK_SEQPACKET = sockets... Best regards Michael >=20 > (I won't be sorry to see the complexity go, but I'm not sure I have = all the implications in mind as yet...) >=20 > Robert > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >=20