You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by di...@apache.org on 2001/07/13 15:55:45 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/security NodePermission.java

dirkv       01/07/13 06:55:43

  Modified:    src/share/org/apache/slide/security NodePermission.java
  Log:
  make validate method more robust
  "/files/x" == "/files/x/"
  
  Revision  Changes    Path
  1.8       +19 -8     jakarta-slide/src/share/org/apache/slide/security/NodePermission.java
  
  Index: NodePermission.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/security/NodePermission.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- NodePermission.java	2001/05/20 21:35:31	1.7
  +++ NodePermission.java	2001/07/13 13:55:33	1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/security/NodePermission.java,v 1.7 2001/05/20 21:35:31 remm Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/05/20 21:35:31 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/security/NodePermission.java,v 1.8 2001/07/13 13:55:33 dirkv Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/07/13 13:55:33 $
    *
    * ====================================================================
    *
  @@ -74,7 +74,7 @@
    * Permission object.
    * 
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    */
   public final class NodePermission implements Serializable, Cloneable {
       
  @@ -499,10 +499,21 @@
                   (expectedUri, Messages.message
                    (NodePermission.class.getName() + ".nullObjectUri"));
           
  -        if (!objectUri.equals(expectedUri))
  -            throw new ObjectValidationFailedException
  -                (expectedUri, Messages.message
  -                 (NodePermission.class.getName() + ".incorrectObjectUri"));
  +        if (!objectUri.equals(expectedUri)) 
  +		{
  +			// extra test to make "/files/x" == "/files/x/"
  +			String tmpObjectUri=objectUri;
  +			if (tmpObjectUri.endsWith("/"))
  +				tmpObjectUri=tmpObjectUri.substring(0,tmpObjectUri.length()-1);
  +			String tmpExpectedUri=expectedUri;
  +			if (tmpExpectedUri.endsWith("/"))
  +				tmpExpectedUri=tmpExpectedUri.substring(0,tmpExpectedUri.length()-1);
  +
  +           	if (!tmpObjectUri.equals(tmpExpectedUri)) 
  +				throw new ObjectValidationFailedException
  +				    (expectedUri, Messages.message
  +				     (NodePermission.class.getName() + ".incorrectObjectUri"));
  +		}
           
           if (subjectUri == null)
               throw new ObjectValidationFailedException