much more well understood this time. thank you. the developers monitor this list - so if your patch has merit, i'm sure they will either commit it or something similar.
YAMAMOTO Kengo wrote: > Thank you responding. > > On Thu, 4 Oct 2001 13:48:19 -0400, > Robert Landrum <[EMAIL PROTECTED]> wrote: > > Couldn't you do the same thing by reversing the ordering of your > > Directory entries... > > On Thu, 04 Oct 2001 10:43:31 -0700, > ___cliff rayman___ <[EMAIL PROTECTED]> wrote: > > i don't think it is supposed to work this way according to the > > apache documentation. if you want the most specific (longest) one > > to take precedence, put it before the shorter one in the config file. > > Rewriting config file so takes no effect (had tested) because > Apache reorders <Directory> section config with most specific to > least specific order (by ap_core_reorder_directories()) precede > merging these configs by directory_walk(). > > It seems that I had explained my intention not enough in last > mail. I had written the patch to solve following problem. > > (1) Since perl_merge_dir_config() uses ap_overlay_tables() to > merge PerlSetEnv variables, overridden variables remains in > the table as association list elements (internal > representation of Apache's table). > > (2) The table remains precedences and consistency kept while > manipulated by Apache's standard table APIs > (e.g. ap_table_get()). > > (3) Although (2), mod_perl scans through internal structure of > the table directly as association list to dumps variables > into %ENV by mod_perl_dir_env(). This causes precedence > reversed on dumped %ENV variables because the list elements > is ordered by descending precedence. > > Above process results that PerlSetEnv always activates least > specific <Directory> section value. It's a real bug. > > My patch modifies (3) by reverses iterating direction on dump. > I would like the patch to be tested by someone else and included > in the mod_perl distribution. Please help! > > > YAMAMOTO Kengo wrote: > > > > > I think that per directory PerlSetEnv variable should be > > > overridden by the value that in the most specific(longest) > > > <Directory> section. > > > > > > http://localhost/cgi-bin/subdir/printenv with following config > > > will generate VAR="/usr/local/apache/cgi-bin/subdir", but > > > generated result is VAR="/usr/local/apache/cgi-bin". > > > > > > <Directory /usr/local/apache/cgi-bin> > > > PerlSetEnv VAR /usr/local/apache/cgi-bin > > > </Directory> > > > > > > <Directory /usr/local/apache/cgi-bin/subdir> > > > PerlSetEnv VAR /usr/local/apache/cgi-bin/subdir > > > </Directory> > > ------------------------------------- > YAMAMOTO Kengo [EMAIL PROTECTED] -- ___cliff [EMAIL PROTECTED]http://www.genwax.com/