Checkout
fanf
committed
on 18 Jan 01
I broke mod_rewrite by modifying strings in place when expanding them,
because variable lookups can cause subrequests which cause mod_rewrit… Show more
I broke mod_rewrite by modifying strings in place when expanding them,

because variable lookups can cause subrequests which cause mod_rewrite

to do its stuff again including an expansion on the same string, which

is then syntactically invalid. So copy the lookup keys somewhere else

before using them in such a way that may cause recursion.

In addition to this, my parser could also be confused by complicated

nested rewrite map expansions like ${map1:${map2:key|dflt}|dflt} so

fix that too by keeping track of {} when looking for |.

PR:             7087

Show less