[
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)