From deaf22d22083473ec3cdcd2dcfb2ea7c0fd62a3f Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Mon, 30 Jul 2012 12:27:06 +0000 Subject: Core: ipv6only is now on by default. There is a general consensus that this change results in better consistency between different operating systems and differently tuned operating systems. Note: this changes the width and meaning of the ipv6only field of the ngx_listening_t structure. 3rd party modules that create their own listening sockets might need fixing. --- src/http/ngx_http_core_module.c | 5 ++++- src/http/ngx_http_core_module.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/http') diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index ecc0a2f25..14dc2cef3 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -3912,6 +3912,9 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) lsopt.setfib = -1; #endif lsopt.wildcard = u.wildcard; +#if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) + lsopt.ipv6only = 1; +#endif (void) ngx_sock_ntop(&lsopt.u.sockaddr, lsopt.addr, NGX_SOCKADDR_STRLEN, 1); @@ -4031,7 +4034,7 @@ ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) lsopt.ipv6only = 1; } else if (ngx_strcmp(&value[n].data[10], "ff") == 0) { - lsopt.ipv6only = 2; + lsopt.ipv6only = 0; } else { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h index b11bdcd90..ff1c2dfa0 100644 --- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -76,7 +76,7 @@ typedef struct { unsigned ssl:1; #endif #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) - unsigned ipv6only:2; + unsigned ipv6only:1; #endif unsigned so_keepalive:2; -- cgit