Mercurial > hg > nginx-vendor-1-0
comparison src/core/ngx_inet.h @ 540:c04fa65fe604 NGINX_0_8_22
nginx 0.8.22
*) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind"
directives.
*) Feature: the "access" and the "deny" directives support IPv6.
*) Feature: the "set_real_ip_from" directive supports IPv6 addresses in
request headers.
*) Feature: the "unix:" parameter of the "set_real_ip_from" directive.
*) Bugfix: nginx did not delete unix domain socket after configuration
testing.
*) Bugfix: nginx deleted unix domain socket while online upgrade.
*) Bugfix: the "!-x" operator did not work.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process, if
limit_rate was used in HTTPS server.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process while
$limit_rate logging.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process, if
there was no "listen" directive in "server" block; the bug had
appeared in 0.8.21.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 03 Nov 2009 00:00:00 +0300 |
parents | 1dcf6adad484 |
children | ad25218fd14b |
comparison
equal
deleted
inserted
replaced
539:c88014f74832 | 540:c04fa65fe604 |
---|---|
68 | 68 |
69 typedef struct { | 69 typedef struct { |
70 struct sockaddr *sockaddr; | 70 struct sockaddr *sockaddr; |
71 socklen_t socklen; | 71 socklen_t socklen; |
72 ngx_str_t name; | 72 ngx_str_t name; |
73 } ngx_peer_addr_t; | 73 } ngx_addr_t; |
74 | 74 |
75 | 75 |
76 typedef struct { | 76 typedef struct { |
77 ngx_str_t url; | 77 ngx_str_t url; |
78 ngx_str_t host; | 78 ngx_str_t host; |
92 unsigned wildcard:1; | 92 unsigned wildcard:1; |
93 | 93 |
94 socklen_t socklen; | 94 socklen_t socklen; |
95 u_char sockaddr[NGX_SOCKADDRLEN]; | 95 u_char sockaddr[NGX_SOCKADDRLEN]; |
96 | 96 |
97 ngx_peer_addr_t *addrs; | 97 ngx_addr_t *addrs; |
98 ngx_uint_t naddrs; | 98 ngx_uint_t naddrs; |
99 | 99 |
100 char *err; | 100 char *err; |
101 } ngx_url_t; | 101 } ngx_url_t; |
102 | 102 |
103 | 103 |
104 in_addr_t ngx_inet_addr(u_char *text, size_t len); | 104 in_addr_t ngx_inet_addr(u_char *text, size_t len); |
105 #if (NGX_HAVE_INET6) | |
106 ngx_int_t ngx_inet6_addr(u_char *p, size_t len, u_char *addr); | |
107 size_t ngx_inet6_ntop(u_char *p, u_char *text, size_t len); | |
108 #endif | |
105 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len, | 109 size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len, |
106 ngx_uint_t port); | 110 ngx_uint_t port); |
107 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); | 111 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len); |
108 ngx_int_t ngx_ptocidr(ngx_str_t *text, ngx_cidr_t *cidr); | 112 ngx_int_t ngx_ptocidr(ngx_str_t *text, ngx_cidr_t *cidr); |
113 ngx_int_t ngx_parse_addr(ngx_pool_t *pool, ngx_addr_t *addr, u_char *text, | |
114 size_t len); | |
109 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u); | 115 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u); |
110 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u); | 116 ngx_int_t ngx_inet_resolve_host(ngx_pool_t *pool, ngx_url_t *u); |
111 | 117 |
112 | 118 |
113 | |
114 #endif /* _NGX_INET_H_INCLUDED_ */ | 119 #endif /* _NGX_INET_H_INCLUDED_ */ |