[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100907.223654.70187707.davem@davemloft.net>
Date: Tue, 07 Sep 2010 22:36:54 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: brian.haley@...com, ole@....pl, netdev@...r.kernel.org
Subject: Re: [PATCH] inet: dont set inet_rcv_saddr in connect()
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Wed, 08 Sep 2010 06:57:37 +0200
> Document that connect() also sets local address, and that before
> doing a second connect() to change remote address, its mandatory to
> first issue a connect(AF_UNSPEC) to clear local address (if not locked
> by a prior bind() call)
For connectionless sockets, the application may connect() as many
times as it wishes to change the remote address. The local address
remains set if it were set before such a re-associating connect().
It need only issue a connect(AF_UNSPEC) to make the socket have no
remote association, and as you state this operation will also wipe out
any local address settings not created by a bind() call.
And nicely our man pages are very clear about this :-) as is BSD and
Steven's volume 2.
This has been legal for decades, so we have to keep working this way.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists