Author: scottbw
Date: Wed Feb  1 12:04:07 2012
New Revision: 1239099

URL: http://svn.apache.org/viewvc?rev=1239099&view=rev
Log:
Check for directives when handling wildcard policies; this is a fix for 
WOOKIE-309 and adds test case to verify.

Modified:
    
incubator/wookie/trunk/src-tests/org/apache/wookie/tests/proxy/PoliciesTest.java
    incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java

Modified: 
incubator/wookie/trunk/src-tests/org/apache/wookie/tests/proxy/PoliciesTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src-tests/org/apache/wookie/tests/proxy/PoliciesTest.java?rev=1239099&r1=1239098&r2=1239099&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src-tests/org/apache/wookie/tests/proxy/PoliciesTest.java
 (original)
+++ 
incubator/wookie/trunk/src-tests/org/apache/wookie/tests/proxy/PoliciesTest.java
 Wed Feb  1 12:04:07 2012
@@ -166,5 +166,13 @@ public class PoliciesTest {
     assertEquals(1, 
Policies.getInstance().getPolicies("http://temp.org";).length);
     Policies.getInstance().clearPolicies("http://temp.org";);
   }
+  
+  @Test
+  public void denyAllDirective() throws ConfigurationException, 
PolicyFormatException, URISyntaxException{
+    assertTrue(Policies.getInstance().validate("http://zzz.apache.org";, 
"http://incubator.apache.org/wookie/widgets/test";));
+    Policies.getInstance().addPolicy("* * DENY");
+    assertFalse(Policies.getInstance().validate("http://zzz.apache.org";, 
"http://incubator.apache.org/wookie/widgets/test";));
+    Policies.getInstance().removePolicy("* * DENY");
+  }
  
 }

Modified: incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java?rev=1239099&r1=1239098&r2=1239099&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java Wed Feb  1 
12:04:07 2012
@@ -137,7 +137,13 @@ public class Policy {
     //
     // Wildcard match
     //
-    if (getOrigin().equals("*")) return 1;
+    if (getOrigin().equals("*")){
+      if (getDirective().equalsIgnoreCase("ALLOW")){
+        return 1;
+      } else {
+        return -1;
+      }
+    }
 
     //
     // Get the match origin, and check they match


Reply via email to