On Wed, 2002-02-13 at 13:44, David Wheeler wrote:
> On Fri, 2002-02-08 at 20:25, Salvador Ortiz Garcia wrote:
> > Yes, It's a bug in <Perl> Sections. Confirmed in 1.26.
> 
> <snip />
> 
> > I'm digging into it.
> 
> Thanks. I'm glad to know that I'm not imagining things. We've just found
> a place in Bricolage where the Location directive *does* work as
> expected. So you're right -- it's worse. Ugh.
> 
> Thanks,
> 
> David

Ok, I found it. Right now all Location, Directory and Files are afected
by being "upgraded" at random to the Match versions.

Can you please test the following patch for perl_config.c:

===============
--- perl_config.c       Tue Jul 10 20:47:15 2001
+++ perl_config.c.new   Wed Feb 13 22:40:27 2002
@@ -1166,6 +1166,7 @@
     char *tmpkey; 
     I32 tmpklen; 
     SV *tmpval;
+    void *old_info = cmd->info;
     (void)hv_iterinit(hv); 
     while ((tmpval = hv_iternextsv(hv, &tmpkey, &tmpklen))) { 
        char line[MAX_STRING_LEN]; 
@@ -1195,6 +1196,7 @@
        if(errmsg)
            log_printf(cmd->server, "<Perl>: %s", errmsg);
     }
+    cmd->info = old_info;
     /* Emulate the handling of end token for the section */ 
     perl_set_config_vectors(cmd, cfg, &core_module);
 } 
@@ -1511,9 +1513,7 @@
     void *dummy = perl_set_config_vectors(cmd, config, &core_module);
     void *old_info = cmd->info;
 
-    if (strstr(key, "Match")) {
-       cmd->info = (void*)key;
-    }
+    cmd->info = (void*)strstr(key,"Match");
 
     if(strnEQ(key, "Location", 8))
        perl_urlsection(cmd, dummy, hv);
===============

Right now I'm working in a more radical patch to fix other minor
problems related to <Perl> sections handling.

Regards

Salvador Ortiz.


Reply via email to