Mercurial > hg > nginx-vendor-0-7
comparison src/core/ngx_inet.h @ 454:a8424ffa495c NGINX_0_7_39
nginx 0.7.39
*) Bugfix: large response with SSI might hang, if gzipping was enabled;
the bug had appeared in 0.7.28.
Thanks to Artem Bokhan.
*) Bugfix: a segmentation fault might occur in worker process, if short
static variants are used in a "try_files" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 02 Mar 2009 00:00:00 +0300 |
parents | fc5ebf0e5f98 |
children | 98143f74eb3d |
comparison
equal
deleted
inserted
replaced
453:9ef0e36f3cd5 | 454:a8424ffa495c |
---|---|
33 #define NGX_SOCKADDRLEN 512 | 33 #define NGX_SOCKADDRLEN 512 |
34 #endif | 34 #endif |
35 | 35 |
36 | 36 |
37 typedef struct { | 37 typedef struct { |
38 in_addr_t addr; | 38 in_addr_t addr; |
39 in_addr_t mask; | 39 in_addr_t mask; |
40 } ngx_inet_cidr_t; | 40 } ngx_in_cidr_t; |
41 | |
42 | |
43 #if (NGX_HAVE_INET6) | |
44 | |
45 typedef struct { | |
46 struct in6_addr addr; | |
47 struct in6_addr mask; | |
48 } ngx_in6_cidr_t; | |
49 | |
50 #endif | |
51 | |
52 | |
53 typedef struct { | |
54 ngx_uint_t family; | |
55 union { | |
56 ngx_in_cidr_t in; | |
57 #if (NGX_HAVE_INET6) | |
58 ngx_in6_cidr_t in6; | |
59 #endif | |
60 } u; | |
61 } ngx_cidr_t; | |
41 | 62 |
42 | 63 |
43 typedef union { | 64 typedef union { |
44 in_addr_t in_addr; | 65 in_addr_t in_addr; |
45 } ngx_url_addr_t; | 66 } ngx_url_addr_t; |
46 | 67 |
47 | 68 |
48 typedef struct { | 69 typedef struct { |
49 struct sockaddr *sockaddr; | 70 struct sockaddr *sockaddr; |
50 socklen_t socklen; | 71 socklen_t socklen; |
51 ngx_str_t name; | 72 ngx_str_t name; |
52 } ngx_peer_addr_t; | 73 } ngx_peer_addr_t; |
53 | 74 |
54 | 75 |
55 typedef struct { | 76 typedef struct { |
56 ngx_str_t url; | 77 ngx_str_t url; |
57 ngx_str_t host; | 78 ngx_str_t host; |
58 ngx_str_t port_text; | 79 ngx_str_t port_text; |
59 ngx_str_t uri; | 80 ngx_str_t uri; |
60 | 81 |
61 in_port_t port; | 82 in_port_t port; |
62 in_port_t default_port; | 83 in_port_t default_port; |
63 int family; | 84 int family; |
64 | 85 |
65 unsigned listen:1; | 86 unsigned listen:1; |
66 unsigned uri_part:1; | 87 unsigned uri_part:1; |
67 unsigned no_resolve:1; | 88 unsigned no_resolve:1; |
68 unsigned one_addr:1; | 89 unsigned one_addr:1; |
69 | 90 |
70 unsigned no_port:1; | 91 unsigned no_port:1; |
71 unsigned wildcard:1; | 92 unsigned wildcard:1; |
72 | 93 |
73 ngx_url_addr_t addr; | 94 ngx_url_addr_t addr; |
74 | 95 |
75 socklen_t socklen; | 96 socklen_t socklen; |
76 u_char sockaddr[NGX_SOCKADDRLEN]; | 97 u_char sockaddr[NGX_SOCKADDRLEN]; |
77 | 98 |
78 ngx_peer_addr_t *addrs; | 99 ngx_peer_addr_t *addrs; |
79 ngx_uint_t naddrs; | 100 ngx_uint_t naddrs; |
80 | 101 |
81 char *err; | 102 char *err; |
82 } ngx_url_t; | 103 } ngx_url_t; |
83 | 104 |
84 | 105 |
85 in_addr_t ngx_inet_addr(u_char *text, size_t len); | 106 in_addr_t ngx_inet_addr(u_char *text, size_t len); |
86 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len, | 107 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len, |
87 ngx_uint_t port); | 108 ngx_uint_t port); |
88 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); | 109 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); |
89 ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr); | 110 ngx_int_t ngx_ptocidr(ngx_str_t *text, ngx_cidr_t *cidr); |
90 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u); | 111 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u); |
91 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u); | 112 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u); |
92 | 113 |
93 | 114 |
94 | 115 |