summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2010-12-14 19:19:07 +0000
committerIgor Sysoev <igor@sysoev.ru>2010-12-14 19:19:07 +0000
commit217f8cea3a8434e009f843b7043c8e102d8527ac (patch)
tree5d47244d9d43724b4a081ce2e56f364b7b933817 /src
parent772ecd6cc60d98df3a48daaef2b3c1e048a76372 (diff)
downloadnginx-217f8cea3a8434e009f843b7043c8e102d8527ac.tar.gz
nginx-217f8cea3a8434e009f843b7043c8e102d8527ac.tar.bz2
merge r3659, r3825, r3826:
IPv6 related fixes: *) fix IPv6 listen socket handling while reconfiguring *) test wildcard tail hash existance for IPv6 addresses, the same fix for IPv4 addresses has been made in r2581 *) always run regex in server_name to get captures for IPv6 addresses, the same fix for IPv4 addresses has been made in r2584
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_cycle.c2
-rw-r--r--src/http/ngx_http.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index cb551e945..3d4df5d01 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -847,7 +847,7 @@ ngx_cmp_sockaddr(struct sockaddr *sa1, struct sockaddr *sa2)
sin61 = (struct sockaddr_in6 *) sa1;
sin62 = (struct sockaddr_in6 *) sa2;
- if (sin61->sin6_port != sin61->sin6_port) {
+ if (sin61->sin6_port != sin62->sin6_port) {
return NGX_DECLINED;
}
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index f5cb430fa..3ac3eb617 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1831,8 +1831,12 @@ ngx_http_add_addrs6(ngx_conf_t *cf, ngx_http_port_t *hport,
if (addr[i].hash.buckets == NULL
&& (addr[i].wc_head == NULL
|| addr[i].wc_head->hash.buckets == NULL)
- && (addr[i].wc_head == NULL
- || addr[i].wc_head->hash.buckets == NULL))
+ && (addr[i].wc_tail == NULL
+ || addr[i].wc_tail->hash.buckets == NULL)
+#if (NGX_PCRE)
+ && addr[i].nregex == 0
+#endif
+ )
{
continue;
}