aboutsummaryrefslogtreecommitdiffstats
path: root/main/nginx/ipv6.patch
diff options
context:
space:
mode:
authorJesse Young <jlyo@jlyo.org>2011-10-27 21:32:53 +0000
committerCarlo Landmeter <clandmeter@gmail.com>2011-10-28 09:57:34 +0000
commit7981f4662b32f5eda46042e4459d02b0fdf8e6bc (patch)
treec38bb1abe91c6293bcc78df06165beb9443f22ab /main/nginx/ipv6.patch
parent7221894bd49b7fe76b1d0a75dbd6816b2ca606d0 (diff)
downloadaports-7981f4662b32f5eda46042e4459d02b0fdf8e6bc.tar.bz2
aports-7981f4662b32f5eda46042e4459d02b0fdf8e6bc.tar.xz
main/nginx: default listen on :::80 rather than 0.0.0.0:80
Signed-off-by: Jesse Young <jlyo@jlyo.org>
Diffstat (limited to 'main/nginx/ipv6.patch')
-rw-r--r--main/nginx/ipv6.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/main/nginx/ipv6.patch b/main/nginx/ipv6.patch
new file mode 100644
index 0000000000..9b05f8ff83
--- /dev/null
+++ b/main/nginx/ipv6.patch
@@ -0,0 +1,42 @@
+--- a/src/http/ngx_http_core_module.c
++++ b/src/http/ngx_http_core_module.c
+@@ -2442,7 +2442,11 @@
+ ngx_uint_t i;
+ ngx_conf_t pcf;
+ ngx_http_module_t *module;
++#if (NGX_HAVE_INET6)
++ struct sockaddr_in6 *sin6;
++#else
+ struct sockaddr_in *sin;
++#endif
+ ngx_http_conf_ctx_t *ctx, *http_ctx;
+ ngx_http_listen_opt_t lsopt;
+ ngx_http_core_srv_conf_t *cscf, **cscfp;
+@@ -2526,6 +2530,19 @@
+ if (rv == NGX_CONF_OK && !cscf->listen) {
+ ngx_memzero(&lsopt, sizeof(ngx_http_listen_opt_t));
+
++#if (NGX_HAVE_INET6)
++ sin6 = &lsopt.u.sockaddr_in6;
++
++ sin6->sin6_family = AF_INET6;
++#if (NGX_WIN32)
++ sin6->sin6_port = htons(80);
++#else
++ sin6->sin6_port = htons((getuid() == 0) ? 80 : 8000);
++#endif
++ sin6->sin6_addr = in6addr_any;
++
++ lsopt.socklen = sizeof(struct sockaddr_in6);
++#else
+ sin = &lsopt.u.sockaddr_in;
+
+ sin->sin_family = AF_INET;
+@@ -2537,6 +2554,7 @@
+ sin->sin_addr.s_addr = INADDR_ANY;
+
+ lsopt.socklen = sizeof(struct sockaddr_in);
++#endif
+
+ lsopt.backlog = NGX_LISTEN_BACKLOG;
+ lsopt.rcvbuf = -1;