Messages in this thread |  | | Date | Tue, 30 Jul 2002 23:31:16 +1000 | From | Geoffrey Lee <> | Subject | bind()/connect() to port 0 question for tcp/udp |
| |
Hi list,
I want to ask a question:
In sockets, what is the correct behavior when we try to connect() to port 0 for tcp / udp?
It seems that FreeBSD returns EADDRNOTAVAIL, as does Solaris.
So something like this will fail on Solaris and FreeBSD:
[...] saddr.sin_port = htons(0); [...]
connect(AF_INET, (struct sockaddr *)&saddr, sizeof(struct sockaddr));
We don't do this however, and Linux will merrily accept a port of 0 in a connect(), though most probably your connect() wouldn't succeed.
Making it return EADDRNOTAVAIL to user space would be a trivial task, so I want to ask, is this a buglet in the Linux implementation, or is FreeBSD and Solaris wrong?
- G. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |