Mercurial > hg > nginx-quic
comparison src/http/ngx_http_core_module.c @ 4630:f39138a69e0a
Fixed win32 build after changes in r4624.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 15 May 2012 08:10:59 +0000 |
parents | f675474435e0 |
children | ed957e0daeb4 |
comparison
equal
deleted
inserted
replaced
4629:e813c113ef19 | 4630:f39138a69e0a |
---|---|
2702 ngx_int_t | 2702 ngx_int_t |
2703 ngx_http_get_forwarded_addr(ngx_http_request_t *r, ngx_addr_t *addr, | 2703 ngx_http_get_forwarded_addr(ngx_http_request_t *r, ngx_addr_t *addr, |
2704 u_char *xff, size_t xfflen, ngx_array_t *proxies, int recursive) | 2704 u_char *xff, size_t xfflen, ngx_array_t *proxies, int recursive) |
2705 { | 2705 { |
2706 u_char *p; | 2706 u_char *p; |
2707 in_addr_t *inaddr; | 2707 in_addr_t inaddr; |
2708 ngx_addr_t paddr; | 2708 ngx_addr_t paddr; |
2709 ngx_cidr_t *cidr; | 2709 ngx_cidr_t *cidr; |
2710 ngx_uint_t family, i; | 2710 ngx_uint_t family, i; |
2711 #if (NGX_HAVE_INET6) | 2711 #if (NGX_HAVE_INET6) |
2712 ngx_uint_t n; | 2712 ngx_uint_t n; |
2713 struct in6_addr *inaddr6; | 2713 struct in6_addr *inaddr6; |
2714 #endif | 2714 #endif |
2715 | 2715 |
2716 #if (NGX_SUPPRESS_WARN) | 2716 #if (NGX_SUPPRESS_WARN) |
2717 inaddr = NULL; | 2717 inaddr = 0; |
2718 #if (NGX_HAVE_INET6) | 2718 #if (NGX_HAVE_INET6) |
2719 inaddr6 = NULL; | 2719 inaddr6 = NULL; |
2720 #endif | 2720 #endif |
2721 #endif | 2721 #endif |
2722 | 2722 |
2723 family = addr->sockaddr->sa_family; | 2723 family = addr->sockaddr->sa_family; |
2724 | 2724 |
2725 if (family == AF_INET) { | 2725 if (family == AF_INET) { |
2726 inaddr = &((struct sockaddr_in *) addr->sockaddr)->sin_addr.s_addr; | 2726 inaddr = ((struct sockaddr_in *) addr->sockaddr)->sin_addr.s_addr; |
2727 } | 2727 } |
2728 | 2728 |
2729 #if (NGX_HAVE_INET6) | 2729 #if (NGX_HAVE_INET6) |
2730 else if (family == AF_INET6) { | 2730 else if (family == AF_INET6) { |
2731 inaddr6 = &((struct sockaddr_in6 *) addr->sockaddr)->sin6_addr; | 2731 inaddr6 = &((struct sockaddr_in6 *) addr->sockaddr)->sin6_addr; |
2732 | 2732 |
2733 if (IN6_IS_ADDR_V4MAPPED(inaddr6)) { | 2733 if (IN6_IS_ADDR_V4MAPPED(inaddr6)) { |
2734 family = AF_INET; | 2734 family = AF_INET; |
2735 inaddr = (in_addr_t *) &inaddr6->s6_addr[12]; | 2735 inaddr = *(in_addr_t *) &inaddr6->s6_addr[12]; |
2736 } | 2736 } |
2737 } | 2737 } |
2738 #endif | 2738 #endif |
2739 | 2739 |
2740 for (cidr = proxies->elts, i = 0; i < proxies->nelts; i++) { | 2740 for (cidr = proxies->elts, i = 0; i < proxies->nelts; i++) { |
2760 case AF_UNIX: | 2760 case AF_UNIX: |
2761 break; | 2761 break; |
2762 #endif | 2762 #endif |
2763 | 2763 |
2764 default: /* AF_INET */ | 2764 default: /* AF_INET */ |
2765 if ((*inaddr & cidr[i].u.in.mask) != cidr[i].u.in.addr) { | 2765 if ((inaddr & cidr[i].u.in.mask) != cidr[i].u.in.addr) { |
2766 goto next; | 2766 goto next; |
2767 } | 2767 } |
2768 break; | 2768 break; |
2769 } | 2769 } |
2770 | 2770 |