You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2006/11/25 00:58:19 UTC
svn commit: r479052 - in /tomcat/tc6.0.x/trunk:
java/org/apache/catalina/servlets/CGIServlet.java webapps/docs/changelog.xml
Author: markt
Date: Fri Nov 24 15:58:18 2006
New Revision: 479052
URL: http://svn.apache.org/viewvc?view=rev&rev=479052
Log:
Port fix bug 41008. Enable POST to be used with indexed queries. Patch provided by Chris Halstead.
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/CGIServlet.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/CGIServlet.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/CGIServlet.java?view=diff&rev=479052&r1=479051&r2=479052
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/CGIServlet.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/CGIServlet.java Fri Nov 24 15:58:18 2006
@@ -794,30 +794,22 @@
this.pathInfo = this.servletPath;
}
- // If request is HEAD or GET and Query String does not contain
- // an unencoded "=" this is an indexed query. Parsed Query String
- // forms command line parameters for cgi command.
- if (!"GET".equals(req.getMethod()) &&
- !"HEAD".equals(req.getMethod()))
- return;
-
- String qs = req.getQueryString();
-
- if (qs == null || qs.indexOf("=")>0)
- return;
-
- int delimIndex = 0;
- int lastDelimIndex = 0;
- delimIndex = qs.indexOf("+");
-
- while (delimIndex >0) {
- cmdLineParameters.add(URLDecoder.decode(qs.substring(
- lastDelimIndex,delimIndex),parameterEncoding));
- lastDelimIndex = delimIndex + 1;
- delimIndex = qs.indexOf("+",lastDelimIndex);
+ // If the request method is GET, POST or HEAD and the query string
+ // does not contain an unencoded "=" this is an indexed query.
+ // The parsed query string becomes the command line parameters
+ // for the cgi command.
+ if (req.getMethod().equals("GET")
+ || req.getMethod().equals("POST")
+ || req.getMethod().equals("HEAD")) {
+ String qs = req.getQueryString();
+ if (qs != null && qs.indexOf("=") == -1) {
+ StringTokenizer qsTokens = new StringTokenizer(qs, "+");
+ while ( qsTokens.hasMoreTokens() ) {
+ cmdLineParameters.add(URLDecoder.decode(qsTokens.nextToken(),
+ parameterEncoding));
+ }
+ }
}
- cmdLineParameters.add(URLDecoder.decode(qs.substring(
- lastDelimIndex),parameterEncoding));
}
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?view=diff&rev=479052&r1=479051&r2=479052
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Fri Nov 24 15:58:18 2006
@@ -41,6 +41,10 @@
<bug>40929</bug>: Correct JavaDoc for StandardClassLoader. (markt)
</fix>
<fix>
+ <bug>41008</bug>: Allow POST to be used for indexed queries with CGI
+ Servlet. Patch provided by Chris Halstead. (markt)
+ </fix>
+ <fix>
Fix usage of print on the servlet output stream if the processor never used
a writer (fhanik)
</fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org