Mercurial > hg > nginx
changeset 7217:8b70d4caa505
Generate error for unsupported IPv6 transparent proxy.
On some platforms (for example, Linux with glibc 2.12-2.25) IPv4 transparent
proxying is available, but IPv6 transparent proxying is not. The entire feature
is enabled in this case and NGX_HAVE_TRANSPARENT_PROXY macro is set to 1.
Previously, an attempt to enable transparency for an IPv6 socket was silently
ignored in this case and was usually followed by a bind(2) EADDRNOTAVAIL error
(ticket #1487). Now the error is generated for unavailable IPv6 transparent
proxy.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 22 Feb 2018 13:16:21 +0300 |
parents | aa60f5799a4c |
children | e48ac0136ee3 |
files | src/event/ngx_event_connect.c |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/ngx_event_connect.c Thu Feb 22 12:42:29 2018 +0300 +++ b/src/event/ngx_event_connect.c Thu Feb 22 13:16:21 2018 +0300 @@ -388,7 +388,16 @@ return NGX_ERROR; } +#else + + ngx_log_error(NGX_LOG_ALERT, pc->log, 0, + "could not enable transparent proxying for IPv6 " + "on this platform"); + + return NGX_ERROR; + #endif + break; #endif /* NGX_HAVE_INET6 */