comparison src/http/modules/ngx_http_realip_module.c @ 2512:2e91aecb9e57

a prelimiary IPv6 support, HTTP listen
author Igor Sysoev <igor@sysoev.ru>
date Sat, 21 Feb 2009 07:02:02 +0000
parents 74d270c8821e
children a472d954c534
comparison
equal deleted inserted replaced
2511:f91c5c964e61 2512:2e91aecb9e57
11 11
12 #define NGX_HTTP_REALIP_XREALIP 0 12 #define NGX_HTTP_REALIP_XREALIP 0
13 #define NGX_HTTP_REALIP_XFWD 1 13 #define NGX_HTTP_REALIP_XFWD 1
14 #define NGX_HTTP_REALIP_HEADER 2 14 #define NGX_HTTP_REALIP_HEADER 2
15 15
16
17 /* AF_INET only */
18 16
19 typedef struct { 17 typedef struct {
20 in_addr_t mask; 18 in_addr_t mask;
21 in_addr_t addr; 19 in_addr_t addr;
22 } ngx_http_realip_from_t; 20 } ngx_http_realip_from_t;
207 205
208 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "realip: \"%s\"", ip); 206 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "realip: \"%s\"", ip);
209 207
210 /* AF_INET only */ 208 /* AF_INET only */
211 209
210 if (r->connection->sockaddr->sa_family != AF_INET) {
211 return NGX_DECLINED;
212 }
213
212 sin = (struct sockaddr_in *) c->sockaddr; 214 sin = (struct sockaddr_in *) c->sockaddr;
213 215
214 from = rlcf->from->elts; 216 from = rlcf->from->elts;
215 for (i = 0; i < rlcf->from->nelts; i++) { 217 for (i = 0; i < rlcf->from->nelts; i++) {
216 218