You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/09/04 19:49:17 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator FormAuthenticator.java

craigmcc    01/09/04 10:49:17

  Modified:    catalina/src/share/org/apache/catalina/authenticator
                        FormAuthenticator.java
  Log:
  Do not double up query-string based parameters when restoring the original
  request after a form based login.  This was only happening on GET requests
  -- POST requests were (and continue to be) processed correctly.
  
  PR: Bugzilla #3306
  Submitted by:	Vincente Salvador <vi...@netscape.net>
  
  Revision  Changes    Path
  1.17      +12 -10    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java
  
  Index: FormAuthenticator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- FormAuthenticator.java	2001/08/01 03:04:04	1.16
  +++ FormAuthenticator.java	2001/09/04 17:49:17	1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.16 2001/08/01 03:04:04 craigmcc Exp $
  - * $Revision: 1.16 $
  - * $Date: 2001/08/01 03:04:04 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.17 2001/09/04 17:49:17 craigmcc Exp $
  + * $Revision: 1.17 $
  + * $Date: 2001/09/04 17:49:17 $
    *
    * ====================================================================
    *
  @@ -88,7 +88,7 @@
    * Authentication, as described in the Servlet API Specification, Version 2.2.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.16 $ $Date: 2001/08/01 03:04:04 $
  + * @version $Revision: 1.17 $ $Date: 2001/09/04 17:49:17 $
    */
   
   public final class FormAuthenticator
  @@ -368,12 +368,14 @@
               request.addLocale((Locale) locales.next());
           }
           request.clearParameters();
  -        Iterator paramNames = saved.getParameterNames();
  -        while (paramNames.hasNext()) {
  -            String paramName = (String) paramNames.next();
  -            String paramValues[] =
  -              (String[]) saved.getParameterValues(paramName);
  -            request.addParameter(paramName, paramValues);
  +        if ("POST".equalsIgnoreCase(saved.getMethod())) {
  +            Iterator paramNames = saved.getParameterNames();
  +            while (paramNames.hasNext()) {
  +                String paramName = (String) paramNames.next();
  +                String paramValues[] =
  +                    (String[]) saved.getParameterValues(paramName);
  +                request.addParameter(paramName, paramValues);
  +            }
           }
           request.setMethod(saved.getMethod());
           request.setQueryString(saved.getQueryString());