Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: большой патч в пр едверии 0.7.53
Igor Sysoev wrote:
Будущее уже сегодня:
http://sysoev.ru/tmp/patch.0.7.52.prefix
В патче много изменений, связанных с ключём -p prefix и выводом ошибок
на старте и я хочу протестировать его до релиза.
*) Изменение: теперь лог, указанный в --error-log-path, создаётся с
самого начала работы.
*) Добавление: теперь ошибки и предупреждения при старте записываются в
error_log и выводятся на stderr.
*) Добавление: при сборке с параметром --prefix=. nginx использует
текущий каталог в качестве префикса.
*) Добавление: ключ -p.
*) Добавление: ключ -s на Unix-платформах.
*) Добавление: ключи -? и -h.
*) Добавление: теперь ключи можно задавать в сжатой форме.
*) Исправление: директива fastcgi_cache_min_uses не работала.
Прошу прощения, что прерываю тему, но есть ли информация по моим патчам
к апстриму (см. аттач)?
--
Regards,
Valery Kholodkov
diff -Naur nginx-0.7.51/src/http/ngx_http_upstream.c
nginx-0.7.51-process-header/src/http/ngx_http_upstream.c
--- nginx-0.7.51/src/http/ngx_http_upstream.c 2009-04-10 16:49:51.000000000
+0200
+++ nginx-0.7.51-process-header/src/http/ngx_http_upstream.c 2009-04-17
12:03:54.000000000 +0200
@@ -1385,6 +1385,10 @@
continue;
}
+ if(rc == NGX_DONE) {
+ return;
+ }
+
break;
}
diff -Naur nginx-0.7.51/src/http/ngx_http_upstream.c
nginx-0.7.51-named/src/http/ngx_http_upstream.c
--- nginx-0.7.51/src/http/ngx_http_upstream.c 2009-04-10 16:49:51.000000000
+0200
+++ nginx-0.7.51-named/src/http/ngx_http_upstream.c 2009-04-17
11:50:02.000000000 +0200
@@ -1649,26 +1649,32 @@
}
uri = &u->headers_in.x_accel_redirect->value;
- args.len = 0;
- args.data = NULL;
- flags = 0;
- if (ngx_http_parse_unsafe_uri(r, uri, &args, &flags) != NGX_OK) {
- ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
- return NGX_DONE;
- }
+ if(uri->len != 0 && uri->data[0] != '@') {
+ args.len = 0;
+ args.data = NULL;
+ flags = 0;
- if (flags & NGX_HTTP_ZERO_IN_URI) {
- r->zero_in_uri = 1;
- }
+ if (ngx_http_parse_unsafe_uri(r, uri, &args, &flags) != NGX_OK) {
+ ngx_http_finalize_request(r, NGX_HTTP_NOT_FOUND);
+ return NGX_DONE;
+ }
- if (r->method != NGX_HTTP_HEAD) {
- r->method = NGX_HTTP_GET;
- }
+ if (flags & NGX_HTTP_ZERO_IN_URI) {
+ r->zero_in_uri = 1;
+ }
+
+ if (r->method != NGX_HTTP_HEAD) {
+ r->method = NGX_HTTP_GET;
+ }
- r->valid_unparsed_uri = 0;
+ r->valid_unparsed_uri = 0;
- ngx_http_internal_redirect(r, uri, &args);
+ (void) ngx_http_internal_redirect(r, uri, &args);
+ }
+ else {
+ (void) ngx_http_named_location(r, uri);
+ }
return NGX_DONE;
}
|