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