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