Commit graph

15 commits

Author SHA1 Message Date
David du Colombier
6f568da64e lib9/p9dialparse: fix segfault on gethostbyname
In some situations, gethostbyname can
return an empty address list.

R=rsc
http://codereview.appspot.com/6443097
2012-09-11 17:11:44 +02:00
Russ Cox
4db1ecb904 lib9: remove ss_len manipulation in _p9dialparse
Not all systems have ss_len, and we've never set it before.

R=rsc
http://codereview.appspot.com/6497102
2012-09-08 13:53:59 -04:00
Russ Cox
1c99633848 lib9: fix announce on OS X
R=rsc
http://codereview.appspot.com/6495109
2012-09-08 12:49:03 -04:00
David du Colombier
d765c37110 lib9: fix openbsd build
Fix build error and warning on OpenBSD 5.1,
as reported by Dimitri Sokolyuk.

R=rsc
http://codereview.appspot.com/6350044
2012-06-27 20:02:03 +02:00
David du Colombier
3409bc9ae1 lib9/dial: add support for IPv6
The function p9dialparse() returns the host as a sockaddr_storage
structure instead of a u32int, to be able to handle both IPv4
and IPv6 addresses. Because the sockaddr_storage structure also
handle port numbers and Unix path names, there is no longer
need to set them in the calling functions. However, these values
are still returned for convenience.

The sockaddr_in and sockaddr_un structures have been replaced
by sockaddr_storage to handle Unix, IPv4 and IPv6 sockets.

Names and addresses are resolved using either gethostbyname()
or getaddrinfo() functions.

The getaddrinfo() function is documented in RFC2553 and standardized
since POSIX.1-2001. It supports both IPv4 and IPv6 addresses.
The gethostbyname() function is deprecated since POSIX.1-2008.
However, some libc implementations don't handle getaddrinfo()
properly, thus we preferred to try gethostbyname() first.

I've tried to preserve most of the old code logic to prevent
from surprising or unwanted behavior.

R=rsc
http://codereview.appspot.com/6255068
2012-06-02 21:50:59 +02:00
Russ Cox
0c9c620f39 fix type-punned pointer warnings from gcc
R=rsc
http://codereview.appspot.com/396042
2010-03-10 14:50:33 -08:00
rsc
4b1648d559 ignore /net/ prefixes - been long enough 2006-07-23 02:57:41 +00:00
rsc
772b39cd98 add dns 2006-02-20 19:23:18 +00:00
rsc
fc11cb4bbb make sure to set p9unix 2005-05-07 22:36:07 +00:00
rsc
b589fce2fb hard code list of plan 9 services in case they are not in /etc/services 2005-02-11 16:58:23 +00:00
wkj
c2070b2fc9 Include netinet/in.h to get ntohs prototype. 2004-12-29 01:25:18 +00:00
rsc
e42882dc96 publish p9dialparse 2004-06-16 16:45:09 +00:00
rsc
478ee9636f Make things build on FreeBSD again. 2003-11-23 20:04:53 +00:00
rsc
1c253ceb58 Annoying changes to work on Sun boxes. 2003-11-23 19:49:17 +00:00
rsc
fd04aacee1 Various additions and fixes. 2003-11-23 18:12:54 +00:00