On 16.11.2011 12:41, Willem Fibbe wrote:
Hi,With the HEAD revision of tc7.0.x/trunk I get that spaces are translated into + symbols. After binary searching which SVN rev in tomcat introduced this error, I found the following: - 1189876 correctly URL-decodes the + sign into a space - 1189899 doesn't URL-decode the + sign into a space anymore, which results in many + characters on the server (and in our DB). Looking into the SVN rev and looking into java.net.URL{Encoder,Decoder} I saw that one case was left out in parsing parameters, so I tried the following patch on the HEAD rev (r1202638): Index: java/org/apache/tomcat/util/http/Parameters.java =================================================================== --- java/org/apache/tomcat/util/http/Parameters.java (revision 1202638) +++ java/org/apache/tomcat/util/http/Parameters.java (working copy) @@ -284,6 +284,7 @@ pos++; break; case '%': + case '+': // Decoding required if (parsingName) { decodeName = true; This solves my issue and the + signs are now correctly URL-decoded into spaces again. I hope this patch helps.
Thanks for posting your observation and analyzing the problem. We just discovered the same 2 hours before your post while voting on 6.0.34, which contains a similar patch.
Regards, Rainer --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
