ПРОЕКТЫ 


  АРХИВ 


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: Багофич а captures in server segexp



On Thu, Mar 19, 2009 at 05:13:10PM +0300, Vladimir Sopot wrote:

> Игорь, может стоит задокументировать  
> как-то, что captures работают только если  
> описано больше одного server-а? Чтобы  
> народ по граблям не ходил в будущем?

Прилагаемый патч будет выполнять regex'ы даже в одном сервере.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http.c
===================================================================
--- src/http/ngx_http.c (revision 1899)
+++ src/http/ngx_http.c (working copy)
@@ -1395,7 +1395,12 @@
             name = addr[a].names.elts;
             for (s = 0; s < addr[a].names.nelts; s++) {
 
-                if (addr[a].core_srv_conf == name[s].core_srv_conf) {
+                if (addr[a].core_srv_conf == name[s].core_srv_conf
+#if (NGX_PCRE)
+                    && name[s].captures == 0
+#endif
+                    )
+                {
                     continue;
                 }
 
@@ -1806,7 +1811,11 @@
             && (addr[i].wc_head == NULL
                 || addr[i].wc_head->hash.buckets == NULL)
             && (addr[i].wc_head == NULL
-                || addr[i].wc_head->hash.buckets == NULL))
+                || addr[i].wc_head->hash.buckets == NULL)
+#if (NGX_PCRE)
+            && addr[i].nregex == 0
+#endif
+            )
         {
             continue;
         }


 




Copyright © Lexa Software, 1996-2009.