Last modified: 2006-04-09 19:11:35 UTC
The URL http://topaz.snl.ch/cgi-bin/gw/chameleon?host=localhost%2b3603%2bDEFAULT&function=INITREQ&SourceScreen=FREEFORM&skin=helveticat&conf=.%2fchameleon.conf&lng=de&itemu1=0&u1=0&t1=(aw%3aludwig%20%26%20aw%3ageorg%20%26%20aw%3acourvoisier)&elementcount=3&pos=1&prevpos=1&beginsrch=1 inserted in an article is converted into http://topaz.snl.ch/cgi-bin/gw/chameleon?host=localhost+3603+DEFAULT&function=INITREQ&SourceScreen=FREEFORM&skin=helveticat&conf=.%2fchameleon.conf&lng=de&itemu1=0&u1=0&t1=(aw:ludwig%20%26%20aw:georg%20&%20aw:courvoisier)&elementcount=3&pos=1&prevpos=1&beginsrch=1 (see [[de:Benutzer:Raymond/TestURL]]) This converted URL gives an error at topaz.snl.ch. I have found out, that decoding of %26 to & in the (...)-part of the URL makes the problem. The searchengine of topaz.snl.ch needs %26 instead of & for combining two or more searchwords. I don't know if this is a bug or a feature, of mediawiki or topaz.snl.ch. Raymond.
Seems to be a regression in 1.6; works fine in 1.5.
The problem is in Parser::replaceUnusualEscapes, which was added to normalize escaping in URL hostnames to make it harder to skip around spam blacklists. However it's working over the *entire* URL and isn't excluding '+'. As far as I can tell + isn't allowed in hostnames, but some browsers (at least Safari) do allow using it. Either + should be excluded in this processing, or the processing should be restricted to the hostname portion of the URL.
*** Bug 5064 has been marked as a duplicate of this bug. ***
*** Bug 5267 has been marked as a duplicate of this bug. ***
Added parser test cases, going to poke at this...
*** Bug 5214 has been marked as a duplicate of this bug. ***