[ 
https://issues.apache.org/jira/browse/ACCUMULO-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075504#comment-15075504
 ] 

Keith Turner commented on ACCUMULO-3734:
----------------------------------------

I looked into this and modified a test so that it fails.  The problem is that 
quoted authorizations containing {{"}} or {{\}} will not match properly when 
{{VisibilityEvaluator(AuthorizationContainer)}} is used.

{noformat}
$ git diff
diff --git 
a/core/src/test/java/org/apache/accumulo/core/security/VisibilityEvaluatorTest.java
 
b/core/src/test/java/org/apache/accumulo/core/security/VisibilityEvaluatorTest.java
index 2996970..ac9ef1e 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/security/VisibilityEvaluatorTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/security/VisibilityEvaluatorTest.java
@@ -88,8 +88,17 @@ public class VisibilityEvaluatorTest {
 
   @Test
   public void testQuotedExpressions() throws VisibilityParseException {
-    VisibilityEvaluator ct = new VisibilityEvaluator(new Authorizations("A#C", 
"A\"C", "A\\C", "AC"));
 
+    Authorizations auths = new Authorizations("A#C", "A\"C", "A\\C", "AC");
+    VisibilityEvaluator ct = new VisibilityEvaluator(auths);
+    runQuoteTest(ct);
+
+    // constuct VisibilityEvaluator using another constructor and run test 
again
+    ct = new VisibilityEvaluator((AuthorizationContainer) auths);
+    runQuoteTest(ct);
+  }
+
+  private void runQuoteTest(VisibilityEvaluator ct) throws 
VisibilityParseException {
     assertTrue(ct.evaluate(new ColumnVisibility(quote("A#C") + "|" + 
quote("A?C"))));
     assertTrue(ct.evaluate(new ColumnVisibility(new 
ColumnVisibility(quote("A#C") + "|" + quote("A?C")).flatten())));
     assertTrue(ct.evaluate(new ColumnVisibility(quote("A\"C") + "&" + 
quote("A\\C"))));

{noformat}

> Possible bug in VisibilityConstraint
> ------------------------------------
>
>                 Key: ACCUMULO-3734
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3734
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Keith Turner
>             Fix For: 1.7.2, 1.8.0
>
>
> ACCUMULO-1681 modified which constructor from {{VisibilityEvaluator}} that  
> {{VisibilityConstraint}} uses.  After the modification {{escape()}} is no 
> longer called (the old constructor called escape, and the new one does not).  
> Not sure if this is a problem.
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to