Багофича captures in server segexp

Igor Sysoev is at rambler-co.ru
Thu Mar 19 17:41:40 MSK 2009


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

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

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


-- 
Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
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;
         }


More information about the nginx-ru mailing list