remm        00/11/14 16:52:45

  Modified:    catalina/src/share/org/apache/catalina/util RequestUtil.java
  Log:
  - Fix POST parameters decoding : parameters on the URL are decoded
    using RequestUtil.URLDecode instead of java.net.URLDecoder.decode
  
  Revision  Changes    Path
  1.9       +17 -7     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java
  
  Index: RequestUtil.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RequestUtil.java  2000/10/28 01:39:45     1.8
  +++ RequestUtil.java  2000/11/15 00:52:45     1.9
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
 1.8 2000/10/28 01:39:45 craigmcc Exp $
  - * $Revision: 1.8 $
  - * $Date: 2000/10/28 01:39:45 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v
 1.9 2000/11/15 00:52:45 remm Exp $
  + * $Revision: 1.9 $
  + * $Date: 2000/11/15 00:52:45 $
    *
    * ====================================================================
    *
  @@ -79,7 +79,7 @@
    * General purpose request parsing and encoding utility methods.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.8 $ $Date: 2000/10/28 01:39:45 $
  + * @version $Revision: 1.9 $ $Date: 2000/11/15 00:52:45 $
    */
   
   public final class RequestUtil {
  @@ -217,10 +217,12 @@
        *
        * @param map Map that accumulates the resulting parameters
        * @param data Input string containing request parameters
  +     * @param urlParameters true if we're parsing parameters on the URL
        *
        * @exception IllegalArgumentException if the data is malformed
        */
  -    public static void parseParameters(Map map, String data) {
  +    public static void parseParameters(Map map, String data, 
  +                                       boolean urlParameters) {
   
           if ((data == null) || (data.length() < 1))
            return;
  @@ -260,14 +262,22 @@
               // Decode the name and value if required
               if ((name.indexOf('%') >= 0) || (name.indexOf('+') >= 0)) {
                   try {
  -                    name = URLDecoder.decode(name);
  +                    if (urlParameters) {
  +                        name = URLDecode(name);
  +                    } else {
  +                        name = URLDecoder.decode(name);
  +                    }
                   } catch (Throwable t) {
                       ;
                   }
               }
               if ((value.indexOf('%') >= 0) || (value.indexOf('+') >= 0)) {
                   try {
  -                    value = URLDecoder.decode(value);
  +                    if (urlParameters) {
  +                        value = URLDecode(value);
  +                    } else {
  +                        value = URLDecoder.decode(value);
  +                    }
                   } catch (Throwable t) {
                       ;
                   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to