From: Igor Sysoev Date: Thu, 7 May 2009 13:05:04 +0000 (+0000) Subject: IPv6 for Win32 X-Git-Tag: release-0.7.56~15 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=dbc205ab5a856b64f31306565f9eeb5bbc7bea46;p=nginx.git IPv6 for Win32 --- diff --git a/auto/os/win32 b/auto/os/win32 index c4bcc6ab2..02b261cea 100644 --- a/auto/os/win32 +++ b/auto/os/win32 @@ -20,5 +20,9 @@ if [ $EVENT_SELECT = NO ]; then EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" fi +if [ $NGX_IPV6 = YES ]; then + have=NGX_HAVE_INET6 . auto/have +fi + have=NGX_HAVE_AIO . auto/have have=NGX_HAVE_IOCP . auto/have diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c index a5b137d94..3debac37e 100644 --- a/src/core/ngx_inet.c +++ b/src/core/ngx_inet.c @@ -649,8 +649,22 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u) (void) ngx_cpystrn(p, host, len); +#if (NGX_WIN32) + + rc = WSAStringToAddress((char *) p, AF_INET6, NULL, + (SOCKADDR *) sin6, &u->socklen); + rc = !rc; + + if (u->port) { + sin6->sin6_port = htons(u->port); + } + +#else + rc = inet_pton(AF_INET6, (const char *) p, &sin6->sin6_addr); +#endif + ngx_free(p); if (rc == 0) {