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:[EMAIL PROTECTED]";>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
  
  
  

Reply via email to