You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Cliff Woolley <jw...@virginia.edu> on 2002/05/04 06:52:14 UTC
mod_include if expr parsing
-------------------------------------------------------------
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8462
<!--#elif expr="($SERVER_PORT = 443) && ($p_ssl = 1)" -->
produces a "Unmatched '('" error which is wrong.
-------------------------------------------------------------
This looks like a legitimate bug, though from looking through the CVS
history I don't really think this code changed much between 1.3 and 2.0,
so I can't really see how it worked in 1.3. You get the error message
after the parse tree has been generated and then you go to walk the tree
and it encounters a ( it didn't expect. The parse tree that gets
generated doesn't look totally kosher (in particular, some of the ->parent
pointers seem wrong). Is anyone especially familiar with this code?
--Cliff
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA
Re: mod_include if expr parsing
Posted by Cliff Woolley <jw...@virginia.edu>.
On Fri, 3 May 2002, Brian Pane wrote:
> The scanning loop in get_ptoken() was consuming the ')'
> right after the "443". I just committed a fix.
Thanks! It strikes me that the parsing engine in there is relatively
clunky... I wouldn't mind rewriting the thing. But then again, I guess
there's something to be said for code that's been in service for a long
time.
--Cliff
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA
Re: mod_include if expr parsing
Posted by Brian Pane <bp...@pacbell.net>.
The scanning loop in get_ptoken() was consuming the ')'
right after the "443". I just committed a fix.
--Brian
Cliff Woolley wrote:
>-------------------------------------------------------------
>http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8462
>
><!--#elif expr="($SERVER_PORT = 443) && ($p_ssl = 1)" -->
>produces a "Unmatched '('" error which is wrong.
>-------------------------------------------------------------
>
>This looks like a legitimate bug, though from looking through the CVS
>history I don't really think this code changed much between 1.3 and 2.0,
>so I can't really see how it worked in 1.3. You get the error message
>after the parse tree has been generated and then you go to walk the tree
>and it encounters a ( it didn't expect. The parse tree that gets
>generated doesn't look totally kosher (in particular, some of the ->parent
>pointers seem wrong). Is anyone especially familiar with this code?
>
>--Cliff
>
>
>--------------------------------------------------------------
> Cliff Woolley
> cliffwoolley@yahoo.com
> Charlottesville, VA
>
>
>
>
>
>