changeset 4970:ed2219d58518

Fixed URL parsing code. The URL parsing code is not expected to initialize port from default port when in "no_resolve" mode. This got broken in r4671 for the case of IPv6 literals.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 17 Dec 2012 09:44:46 +0000
parents 2efa05bbbc1e
children eaf95350d75c
files src/core/ngx_inet.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -828,6 +828,11 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ng
 
         } else {
             u->no_port = 1;
+
+            if (!u->no_resolve) {
+                u->port = u->default_port;
+                sin6->sin6_port = htons(u->default_port);
+            }
         }
     }
 
@@ -850,11 +855,6 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ng
         u->wildcard = 1;
     }
 
-    if (u->no_port) {
-        u->port = u->default_port;
-        sin6->sin6_port = htons(u->default_port);
-    }
-
     u->family = AF_INET6;
     u->naddrs = 1;