Welcome! Log In Create A New Profile

Advanced

[PATCH] ignore ipv6=off resolver option when no ipv6 support

Thibault Charbonnier
December 15, 2016 08:18PM
Hello,

Please let me know how you feel about this relatively simple patch which
aims at making the "resolver" directive more robust with regards to the
"ipv6=" option when Nginx is built without IPv6 support.

Thanks!

# HG changeset patch
# User Thibault Charbonnier <thibaultcha@fastmail.com>
# Date 1481847421 28800
# Thu Dec 15 16:17:01 2016 -0800
# Node ID 8bf038fe006fd8ae253d6b41fc6cf109a8912d3e
# Parent a3dc657f4e9530623683e6b85bd7492662e4dc47
Resolver: ignore ipv6=off resolver option when no ipv6 support

Makes the resolver directive more robust: we only error out when ipv6
resolution is desired but not supported (ipv6=on).

use case 1: some configurations are sometimes re-used between builds
with and
without ipv6 support. This patch avoids the need to remove the
"ipv6=off" flag.

use case 2: currently, some tools rely on the --with-ipv6 configure
option from
"nginx -V" to determine if ipv6 resolution should be disabled in some cases.
With this option disappearing in Nginx 1.11.5, this patch would allow
such tools
to assume "ipv6=off" to be safe regardless of ipv6 support in the current
build.

diff -r a3dc657f4e95 -r 8bf038fe006f src/core/ngx_resolver.c
--- a/src/core/ngx_resolver.c Thu Dec 15 21:44:34 2016 +0300
+++ b/src/core/ngx_resolver.c Thu Dec 15 16:17:01 2016 -0800
@@ -224,14 +224,22 @@
continue;
}

-#if (NGX_HAVE_INET6)
if (ngx_strncmp(names[i].data, "ipv6=", 5) == 0) {

if (ngx_strcmp(&names[i].data[5], "on") == 0) {
+#if (NGX_HAVE_INET6)
r->ipv6 = 1;
+#else
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "no ipv6 support but \"%V\" in
resolver",
+ &names[i]);
+ return NULL;
+#endif

} else if (ngx_strcmp(&names[i].data[5], "off") == 0) {
+#if (NGX_HAVE_INET6)
r->ipv6 = 0;
+#endif

} else {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
@@ -241,7 +249,6 @@

continue;
}
-#endif

ngx_memzero(&u, sizeof(ngx_url_t));

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] ignore ipv6=off resolver option when no ipv6 support

Thibault Charbonnier 621 December 15, 2016 08:18PM

Re: [PATCH] ignore ipv6=off resolver option when no ipv6 support

Maxim Dounin 273 December 16, 2016 10:08AM

Re: [PATCH] ignore ipv6=off resolver option when no ipv6 support

Thibault Charbonnier 341 December 16, 2016 02:36PM

Re: [PATCH] ignore ipv6=off resolver option when no ipv6 support

Maxim Dounin 631 December 16, 2016 03:06PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 297
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready