Patch B51 premature pattern match bug fix.
Patch to fix premature pattern matching with aliases.
e.g if you have an alias for /abs then you
can't have a reach a url called /abstract.html 'cos a
substitution takes place on the start of the string.
file affected : http_alias.c
the string compares for alias matching
now check that the pattern matches a whole
word i.e.
/abs matches /abs
/abs?
/abs#
/abs;
/abs,
/abs/
/abs fails to match anything else.
I didn't think it through too much, but it looks reasonable.
I tried it with aliases for
/abs -> cgi script
/abstruct -> a directory
and with a document called /abstruct.html
Seems to work just fine. I'm assuming that the characters
[nothing] ? # : , / are the only "word" boundary
chars in URLs. If not, then it's easy to add more.
robh
Patch to fix premature pattern matching with aliases.
e.g if you have an alias for /abs then you
can't have a reach a url called /abstract.html 'cos a
substitution takes place on the start of the string.
file affected : http_alias.c
the string compares for alias matching
now check that the pattern matches a whole
word i.e.
/abs matches /abs
/abs?
/abs#
/abs;
/abs,
/abs/
/abs fails to match anything else.
I didn't think it through too much, but it looks reasonable.
I tried it with aliases for
/abs -> cgi script
/abstruct -> a directory
and with a document called /abstruct.html
Seems to work just fine. I'm assuming that the characters
[nothing] ? # : , / are the only "word" boundary
chars in URLs. If not, then it's easy to add more.
robh