diff options
-rw-r--r-- | CHANGES | 8 | ||||
-rw-r--r-- | CHANGES.ru | 9 | ||||
-rw-r--r-- | src/core/nginx.h | 2 | ||||
-rw-r--r-- | src/http/modules/ngx_http_fastcgi_module.c | 2 | ||||
-rw-r--r-- | src/http/modules/ngx_http_proxy_module.c | 2 | ||||
-rw-r--r-- | src/http/modules/perl/nginx.pm | 2 |
6 files changed, 20 insertions, 5 deletions
@@ -1,4 +1,12 @@ +Changes with nginx 0.7.30 24 Dec 2008 + + *) Bugfix: a segmentation fault occurred in worker process, if + variables were used in the "fastcgi_pass" and "proxy_pass" + directives and host name must be resolved; the bug had appeared in + 0.7.29. + + Changes with nginx 0.7.29 24 Dec 2008 *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not diff --git a/CHANGES.ru b/CHANGES.ru index 8fe9a3f94..c74893d1b 100644 --- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,10 +1,17 @@ +Изменения в nginx 0.7.30 24.12.2008 + + *) Исправление: в рабочем процессе происходил segmentation fault, если + в директивах fastcgi_pass и proxy_pass использовались переменные и + имя хоста должно было резолвиться; ошибка появилась в 0.7.29. + + Изменения в nginx 0.7.29 24.12.2008 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали переменные при использовании unix domain сокетов. - *) Исправления в обработке подзапросов; ошибки появилась в 0.7.25. + *) Исправления в обработке подзапросов; ошибки появились в 0.7.25. *) Исправление: ответ "100 Continue" выдавался для запросов версии HTTP/1.0; Спасибо Максиму Дунину. diff --git a/src/core/nginx.h b/src/core/nginx.h index 3e82676c9..55b081856 100644 --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VERSION "0.7.29" +#define NGINX_VERSION "0.7.30" #define NGINX_VER "nginx/" NGINX_VERSION #define NGINX_VAR "NGINX" diff --git a/src/http/modules/ngx_http_fastcgi_module.c b/src/http/modules/ngx_http_fastcgi_module.c index 6e4d956d8..201ac2a21 100644 --- a/src/http/modules/ngx_http_fastcgi_module.c +++ b/src/http/modules/ngx_http_fastcgi_module.c @@ -512,7 +512,7 @@ ngx_http_fastcgi_eval(ngx_http_request_t *r, ngx_http_fastcgi_loc_conf_t *flcf) return NGX_ERROR; } - if (u.addrs[0].sockaddr) { + if (u.addrs && u.addrs[0].sockaddr) { r->upstream->resolved->sockaddr = u.addrs[0].sockaddr; r->upstream->resolved->socklen = u.addrs[0].socklen; r->upstream->resolved->naddrs = 1; diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c index 2bf58ab68..e8c19bb16 100644 --- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -614,7 +614,7 @@ ngx_http_proxy_eval(ngx_http_request_t *r, ngx_http_proxy_ctx_t *ctx, return NGX_ERROR; } - if (u.addrs[0].sockaddr) { + if (u.addrs && u.addrs[0].sockaddr) { r->upstream->resolved->sockaddr = u.addrs[0].sockaddr; r->upstream->resolved->socklen = u.addrs[0].socklen; r->upstream->resolved->naddrs = 1; diff --git a/src/http/modules/perl/nginx.pm b/src/http/modules/perl/nginx.pm index 668a472f6..49642a997 100644 --- a/src/http/modules/perl/nginx.pm +++ b/src/http/modules/perl/nginx.pm @@ -47,7 +47,7 @@ our @EXPORT = qw( HTTP_INSUFFICIENT_STORAGE ); -our $VERSION = '0.7.29'; +our $VERSION = '0.7.30'; require XSLoader; XSLoader::load('nginx', $VERSION); |