From: Ulrich Drepper <drepper@redhat.com>
To: netdev <netdev@vger.kernel.org>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: follow-up: discrepancy with POSIX
Date: Wed, 19 Sep 2007 08:21:47 -0700 [thread overview]
Message-ID: <46F13E8B.4050309@redhat.com> (raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
As a follow up to my question from yesterday on the netdev list what I
think is a real problem. Either in the kernel or in the POSIX spec.
The POSIX spec currently says this about SOCK_DGRAM sockets:
If address is a null address for the protocol, the socket’s peer
address shall be reset.
The term "null address" is not further specified but it will usually be
read to allow the following scenario to work out:
fd = socket(AT_INET6, ...)
connect(fd, ...some IPv6 address...)
struct sockaddr_in6 sin6 = { .sin6_family = AF_INET6 };
connect(fd, &sin6, sizeof (sin6));
connect(fd, ...some new IPv6 address...)
This does not work on Linux in the moment. The socket remains connected
to the old IPv6 address but the second connect() call does succeed (this
does not sound OK). What does work is if the connect call to
disassociate the address uses AF_UNSPEC instead of AF_INET6.
The question is: do people here think this is a problem in the POSIX
spec? Binding to :: and 0.0.0.0 isn't possible, so maybe the Linux
implementation should allow this?
If you think the POSIX spec is wrong (and can point to other
implementations doing the same as Linux) let me know and I'll work on
getting the spec changed.
- --
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
iD8DBQFG8T6L2ijCOnn/RHQRAnSRAJ9sXDGG9OepEQWQInaPgwxCWlaH6wCghqim
ULttg5/lU8c1rSpBnoRCjB8=
=nGVv
-----END PGP SIGNATURE-----
next reply other threads:[~2007-09-19 15:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-19 15:21 Ulrich Drepper [this message]
2007-09-19 15:47 ` follow-up: discrepancy with POSIX Andi Kleen
2007-09-19 16:49 ` Ulrich Drepper
2007-09-19 16:52 ` David Miller
2007-09-19 17:04 ` Ulrich Drepper
2007-09-19 17:27 ` Ulrich Drepper
2007-09-19 17:26 ` Andi Kleen
2007-09-19 17:46 ` Ulrich Drepper
2007-09-19 17:57 ` Andi Kleen
2007-09-19 18:02 ` Ulrich Drepper
2007-09-19 18:30 ` Andi Kleen
2007-09-19 18:38 ` Rick Jones
2007-09-19 19:40 ` Andi Kleen
2007-09-19 20:33 ` Valdis.Kletnieks
2007-09-19 18:06 ` Alan Cox
2007-09-19 16:15 ` David Miller
2007-09-19 16:39 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46F13E8B.4050309@redhat.com \
--to=drepper@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).