You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by jm...@apache.org on 2003/12/22 20:42:32 UTC

cvs commit: jakarta-struts/src/share/org/apache/struts/actions DispatchAction.java LocalStrings.properties

jmitchell    2003/12/22 11:42:32

  Modified:    src/share/org/apache/struts/actions DispatchAction.java
                        LocalStrings.properties
  Log:
  Fix for potential recursive call with DispatchAction
  
  Revision  Changes    Path
  1.22      +17 -4     jakarta-struts/src/share/org/apache/struts/actions/DispatchAction.java
  
  Index: DispatchAction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/actions/DispatchAction.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- DispatchAction.java	5 Oct 2003 17:48:57 -0000	1.21
  +++ DispatchAction.java	22 Dec 2003 19:42:32 -0000	1.22
  @@ -224,6 +224,17 @@
               throw new ServletException(message);
           }
   
  +		// Prevent recursive calls
  +		if (parameter.equals("execute") || parameter.equals("perform")){
  +			String message =
  +				messages.getMessage("dispatch.recursive", mapping.getPath());
  +
  +			log.error(message);
  +
  +			throw new ServletException(message);
  +
  +		}
  +
           // Get the method's name. This could be overridden in subclasses.
           String name = getMethodName(mapping, form, request, response, parameter);
   
  @@ -233,6 +244,8 @@
       }
   
   
  +
  +    
       /**
        * Method which is dispatched to when there is no value for specified
        * request parameter included in the request.  Subclasses of
  
  
  
  1.10      +2 -1      jakarta-struts/src/share/org/apache/struts/actions/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/actions/LocalStrings.properties,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- LocalStrings.properties	13 Aug 2003 17:19:58 -0000	1.9
  +++ LocalStrings.properties	22 Dec 2003 19:42:32 -0000	1.10
  @@ -1,5 +1,6 @@
   dispatch.error=Dispatch[{0}] to method '{1}' returned an exception
   dispatch.handler=DispatchMapping[{0}] does not define a handler property
  +dispatch.recursive=Do not use 'execute' or 'perform' with DispatchAction.
   dispatch.lookup=Action[{0}] does not contain handler for resource '{1}'
   dispatch.mapping=ActionMapping[{0}] is not of type DispatchMapping
   dispatch.method=Action[{0}] does not contain method named '{1}'
  @@ -13,4 +14,4 @@
   switch.prefix=Invalid module prefix '{0}' was specified
   switch.required=Switch requires both 'prefix' and 'page' request parameters
   success.required=SuccessAction could not find an ActionForward named 'success' for path '{0}'
  -mapping.parameter=ActionMapping[{0}] does not define a 'parameter' attribute
  \ No newline at end of file
  +mapping.parameter=ActionMapping[{0}] does not define a 'parameter' attribute
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org