You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "John Vines (Created) (JIRA)" <ji...@apache.org> on 2012/01/03 16:08:39 UTC

[jira] [Created] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
-------------------------------------------------------------------------------------------------------

                 Key: ACCUMULO-241
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
             Project: Accumulo
          Issue Type: Improvement
    Affects Versions: 1.3.5
            Reporter: John Vines
             Fix For: 1.3.6


We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "David Medinets (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179903#comment-13179903 ] 

David Medinets commented on ACCUMULO-241:
-----------------------------------------

Doh! For some reason I kept not seeing the word 'visibility'. Now I understand what labels are being discussed. Would it make sense to use syntax like NOT(FOO) instead of !FOO in labels. Using function-based syntax (if that terminology makes sense) reduces the need for fiddly single-character flags and should be more readable. It also leaves the door open for an extensible mechanism whereby keywords can be attached to user-supplied functionality.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Keith Turner (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179917#comment-13179917 ] 

Keith Turner commented on ACCUMULO-241:
---------------------------------------

I like the idea of quoting.  We keep the current white list.  If the user wants to use something outside of that list, they have to quote it.  For example if a user wanted to use the label foo.bar, then they would need to do 'foo.bar'.  I think this has the following benefits:

 * backwards compatible with existing data
 * allows users to use whatever characters they like in their labels
 * give us the flexibility to use additional characters in the language in the future
 * is human readable

Would just need an escape mechanism for quote, could do the standard two quotes.

One drawback I can think of is that users can make labels that look like expressions, like 'A&B'.  This is the type of thing that a computer has no issues with, but it may mislead a person. 
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Eric Newton (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13185104#comment-13185104 ] 

Eric Newton commented on ACCUMULO-241:
--------------------------------------

This whitelist/blacklist discussion started because we have an immediate need to extend the alphabet to include ".". While all of these alternative ideas are great, we need "." added yesterday. A quoting mechanism, or alternative syntax is going to require testing and analysis of the performance which isn't something we can do very quickly.

We can always extend the expressions with something that is presently illegal like "%" and provide an alternative syntax:

{noformat}
%AND("a", OR("b", "c"), NOT("$x"))
{noformat}

But for now... I'm adding the silly "."; we can add extensibility of the column visibility when an actual use-case comes up.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "David Medinets (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178805#comment-13178805 ] 

David Medinets commented on ACCUMULO-241:
-----------------------------------------

Not to be obtuse but what is the purpose of any restrictions? I am new to Accumulo so I don't grok how a label is used. If this information is already documented, I can go look it up.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Jim Klucar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181041#comment-13181041 ] 

Jim Klucar commented on ACCUMULO-241:
-------------------------------------

I agree with John's statement "I just hate arbitrary restrictions"  I vote for the blacklist approach. The current whitelist limits to ascii characters, which seems to be an arbitrary restriction. Currently, many non-english languages are left out, and whitelisting UTF-8 is probably too big of a space to make it worth it.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "David Medinets (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178783#comment-13178783 ] 

David Medinets commented on ACCUMULO-241:
-----------------------------------------

It seems like someone ran into a specific label string that would not currently work. If possible, I'd like to know what that label was. Thanks.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "David Medinets (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179925#comment-13179925 ] 

David Medinets commented on ACCUMULO-241:
-----------------------------------------

If y'all decide to quote, please consider implementing ruby's alternate quote syntax. Using alternative syntax can make strings more readable. See more information at http://en.wikibooks.org/wiki/Ruby_Programming/Alternate_quotes. 

You can alleviate the 'A&B' issue if the syntax is AND(A,B) instead of the single-character &. Granted, this is not want must programmers would want to see, though.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Billie Rinaldi (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178899#comment-13178899 ] 

Billie Rinaldi commented on ACCUMULO-241:
-----------------------------------------

Currently, visibilities can contain a-z, A-Z, 0-9, _, -, and :, so your example would work.  As John says, there is no reason not to include all printable characters other than &, |, (, and ).
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "John Vines (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178796#comment-13178796 ] 

John Vines commented on ACCUMULO-241:
-------------------------------------

I just hate arbitrary restrictions. I see no point for this whitelist approach when a looser blacklist gives more power to the end user. Currently we only have 3 non-text characters, so if people want to set up different levels of delimiters they are limited.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "David Medinets (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178891#comment-13178891 ] 

David Medinets commented on ACCUMULO-241:
-----------------------------------------

Let me provide a potential use case. What if I want to use a MAC address as a label? One example value would be "00:34:C8:3B:32:68". I don't know if this makes any sense. Just trying to start a conversation.
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Eric Newton (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Newton resolved ACCUMULO-241.
----------------------------------

    Resolution: Later
    
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ACCUMULO-241) Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters

Posted by "Adam Fuchs (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ACCUMULO-241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179856#comment-13179856 ] 

Adam Fuchs commented on ACCUMULO-241:
-------------------------------------

We have a few goals for the language used in security labels (expressions made up of operators and authorizations): they should be easy to read by human and by computer, and they should be unambiguous, the Boolean logic operators should be easily distinguished from the atomic authorizations, labels should be backwards compatible forever, and the language should be extensible to anything we might want to do with it in the future. To support backwards compatibility while leaving room for extension, we originally reserved all non-alphanumeric characters and only allowed alphanumeric characters within authorizations. When our users asked for '_', '-', and ':' for use in authorizations, we added those to the white list. Moving to a black list approach is a bit more limiting to extensibility, but I think it can be done while preserving the possibility of adding future capabilities.

Supporting escaping of reserved characters might be another option, but that might reduce the human readability.

The big question is what do we want to do with cell-level security in the future? I think we probably want to support "not" at some point, so probably '!' and '~' should be reserved. If we do want to support escaping, we should probably reserve '\' or '#' and ';'. It has been hinted that we might want to support something like regular expressions, so '*', '?', '[', ']', '+', .... How about variable substitution, with '%' or '$'?

Maybe it would be better to keep a white list for now?
                
> Visibility labels should blacklist non-ASCII characters instead of whitelisting select ASCII characters
> -------------------------------------------------------------------------------------------------------
>
>                 Key: ACCUMULO-241
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-241
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.3.5
>            Reporter: John Vines
>              Labels: visibility
>             Fix For: 1.3.6
>
>
> We currently whitelist our visibility labels to only allow alphanumerics and a few select delimiting characters. While we strive for human-readable labels, we should instead utilize a blacklist approach where we disallow parentheses, ampersands, pipes, and any non-ASCII characters. This will provide users with more flexibility in labeling, while still sticking to human readability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira