ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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;
     }
 


 




Copyright © Lexa Software, 1996-2009.