IPv6 for Win32

This commit is contained in:
Igor Sysoev 2009-05-07 13:05:04 +00:00
parent 6ce6fcd12d
commit dbc205ab5a
2 changed files with 18 additions and 0 deletions

View File

@ -20,5 +20,9 @@ if [ $EVENT_SELECT = NO ]; then
EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
fi fi
if [ $NGX_IPV6 = YES ]; then
have=NGX_HAVE_INET6 . auto/have
fi
have=NGX_HAVE_AIO . auto/have have=NGX_HAVE_AIO . auto/have
have=NGX_HAVE_IOCP . auto/have have=NGX_HAVE_IOCP . auto/have

View File

@ -649,8 +649,22 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u)
(void) ngx_cpystrn(p, host, len); (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); rc = inet_pton(AF_INET6, (const char *) p, &sin6->sin6_addr);
#endif
ngx_free(p); ngx_free(p);
if (rc == 0) { if (rc == 0) {