Date: Fri, 09 Jul 1999 16:24:50 +0100 From: Kevin Bracey <kbracey@e-14.com> To: freebsd-net@freebsd.org Subject: Re: interesting connect(2) side effect... Message-ID: <154f91e49%kbracey@kbracey.acorn.co.uk> In-Reply-To: <199907091147.NAA01166@labinfo.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199907091147.NAA01166@labinfo.iet.unipi.it> Luigi Rizzo <luigi@labinfo.iet.unipi.it> wrote: > > > It is in my opinion totally broken with connected datagram sockets, > > > where the connect has the side effect of in-kernel packet filtering > > > based on source address (who said that you cannot do that!). > > > > It's not a side effect - it's a basic required feature! My TFTP client > > relies on it to filter incoming multicast TFTP channels, which are keyed > > by server address+port. > > i was considering this a side effect because i can't find documentation > mentioning this as a feature -- certainly not the connect(2) manpage. > Not to mention that nothing prevents a second, unprivileged app on > your server send packets on the same UDP port -- if you want to do > a safe filtering you do need a better mechanism. It's not "safe filtering" - it's just the way the protocol works :) It reduces client size/overhead if the kernel filters out the unwanted multicasts for you. Connecting a UDP socket does exactly what I'd expect. It restricts you to sending to particular addr/port pair, and limits you to receiving from that addr/port pair. Further, it also starts picking up ICMP messages related to that addr/port to allow you to detect Destination Unreachable conditions. If it didn't actually filter on source addr/port, then that's half the of the meaning of connect() lost. Now, there might be an argument for saying that connect to a multicast address means you can receive from anything, but I'm sure an equally strong argument for connecting to a multicast address meaning you can receive nothing. -- Kevin Bracey, Senior Software Engineer Pace Micro Technology plc Tel: +44 (0) 1223 725228 645 Newmarket Road Fax: +44 (0) 1223 725328 Cambridge, CB5 8PB, United Kingdom WWW: http://www.acorn.co.uk/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?154f91e49%kbracey>