shiro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "atomicknight (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SHIRO-530) INI parser does not properly handled backslashes at end of values
Date Wed, 18 Mar 2015 19:18:38 GMT
atomicknight created SHIRO-530:
----------------------------------

             Summary: INI parser does not properly handled backslashes at end of values
                 Key: SHIRO-530
                 URL: https://issues.apache.org/jira/browse/SHIRO-530
             Project: Shiro
          Issue Type: Bug
          Components: Configuration
    Affects Versions: 1.2.3
            Reporter: atomicknight


The backslash character is overloaded for use as a continuation delimiter as well as an escape
character. However, the parsing logic does not presently handle this character consistently,
which prevents the use of odd numbers of backslashes at the end of values. Here is a matrix
of examples:
||Original value||Parsed value||Notes||
|{noformat}
key=value\
{noformat}|{noformat}
key=value
{noformat}|Backslash treated as continuation delimiter|
|{noformat}
key=value\\
{noformat}|{noformat}
key=value\\
{noformat}|Backslashes treated as literal characters|
|{noformat}
key=value\\\
{noformat}|{noformat}
key=value\\
{noformat}|Final backslash treated as continuation delimiter, other backslashes treated as
literal characters|
|{noformat}
key=value\\\\
{noformat}|{noformat}
key=value\\\\
{noformat}|Backslashes treated as literal characters|
There is a comment in Ini.Section#isContinued(String) that states:
{quote}
//find the number of backslashes at the end of the line.  If an even number, the
//backslashes are considered escaped.  If an odd number, the line is considered continued
on the next line
{quote}
However, there is no unescaping logic in either Ini.Section#toMapProps(String) (which calls
#isContinued) or IniSection#splitKeyValue(String).



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

Mime
View raw message