When we click on the compare history link
"<"
on
"r4 < r3 ..."
we must redirect for this url:
http://safernet.org.br/twiki/bin/rdiff/SaferNet/Divulgue?rev1=4;rev2=3
But the web browser change
";"
to
"%3b"
. So... we need
"&"
as the url parameter separator.
We change the
.../twiki-dir/lib/TWiki.pm
to do this. Hire is the patch:
928c928
< $ps .= ';' . $p.'='.urlEncode(shift( @params )||'');
---
> $ps .= '&' . $p.'='.urlEncode(shift( @params )||'');
932c932
< $ps =~ s/^;/?/;
---
> $ps =~ s/^&/?/;
--
TWiki:Main.AurelioAHeckert
There are many other places where TWiki generates multiple parameters, so this seems to be a bigger issue. The safest fix is to prevent
";"
from getting escaped as
"%3b"
.
--
PTh
No browser should escape
";"
to
"%3b"
, and I doubt that they do. The semicolon has been chosen instead of the ampersand because usually it is the ampersand which creates a lot of escaping hassle because of its special meaning in HTML.
The Escaping occurs during redirection to the HTTPS URL, see the following telnet transcript:
$ telnet safernet.org.br 80
Trying 200.128.6.215...
Connected to safernet.org.br.
Escape character is '^]'.
HEAD http://safernet.org.br/twiki/bin/rdiff/SaferNet/Divulgue?rev1=4;rev2=3 HTTP/1.0
Host: safernet.org.br
HTTP/1.1 302 Found
Date: Tue, 26 Dec 2006 19:32:22 GMT
Server: Apache
Location: https://safernet.org.br/twiki/bin/rdiffauth/SaferNet/Divulgue?rev1=4%3brev2=3
Connection: close
Content-Type: text/html; charset=iso-8859-1
Connection closed by foreign host.
So the question to Aurelio is: How do you do the redirecting? Is this Apache based or via a TWiki feature?
HJ
It would be nice if the reporters would provide feedback.
The report was against 4.0.4. Is this a problem in 4.1.0?
I think Harald is right that the issue may be related to the redirecting.
KJL
Discarding under the 30 day rule.
CC