diff options
author | Simon Josefsson <simon@josefsson.org> | 2006-07-28 18:29:35 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2006-07-28 18:29:35 +0000 |
commit | 35dc31d98a8bcf33050889394c03b802e8980bf5 (patch) | |
tree | fc629e2640790920e887aed12e1882dbff431bb7 /gl/getaddrinfo.c | |
parent | 560681a14eb3fd1064a498651f9192f4e1d04ad7 (diff) | |
download | gnutls-35dc31d98a8bcf33050889394c03b802e8980bf5.tar.gz |
Update.
Diffstat (limited to 'gl/getaddrinfo.c')
-rw-r--r-- | gl/getaddrinfo.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gl/getaddrinfo.c b/gl/getaddrinfo.c index d6d9534dc0..7a84003640 100644 --- a/gl/getaddrinfo.c +++ b/gl/getaddrinfo.c @@ -140,7 +140,7 @@ getaddrinfo (const char *restrict nodename, return getaddrinfo_ptr (nodename, servname, hints, res); #endif - if (hints && (hints->ai_flags & ~AI_CANONNAME)) + if (hints && (hints->ai_flags & ~(AI_CANONNAME|AI_PASSIVE))) /* FIXME: Support more flags. */ return EAI_BADFLAGS; @@ -153,8 +153,16 @@ getaddrinfo (const char *restrict nodename, return EAI_SOCKTYPE; /* FIXME: Better return code? */ if (!nodename) - /* FIXME: Support server bind mode. */ - return EAI_NONAME; + { + if (!(hints->ai_flags & AI_PASSIVE)) + return EAI_NONAME; + +#ifdef HAVE_IPV6 + nodename = (hint->ai_family == AF_INET6) ? "::" : "0.0.0.0"; +#else + nodename = "0.0.0.0"; +#endif + } if (servname) { |