[ http://issues.apache.org/jira/browse/DIR-184?page=all ]

Jacob S. Barrett updated DIR-184:
---------------------------------

    Attachment: DIR-184.patch

Here is a patch that fixes the spaces problem.  It might not be the cleanest 
solution, but I had to just get something working ASAP.

Basically it keeps track of the non-space (which includes escaped spaces) and 
spaces separately.  If no non-spaces have been parsed it ignores spaces (trims 
the leading spaces).  When done if there are spaces after the last non-space 
then they are removed (trims trailing spaces).

I am sure there is a cleaner grammer to describe this, but like I said, I don't 
have the time.

> DnParser does not correctly parse leading and trailing spaces and pound signs 
> in values.
> ----------------------------------------------------------------------------------------
>
>          Key: DIR-184
>          URL: http://issues.apache.org/jira/browse/DIR-184
>      Project: Directory
>         Type: Bug

>     Reporter: Jacob S. Barrett
>     Assignee: Alex Karasulu
>  Attachments: DIR-184.patch
>
> As defined in RFC 2253 section 2.4:
> (http://www.ietf.org/rfc/rfc2253.txt)
> ..
> If the UTF-8 string does not have any of the following characters
>    which need escaping, then that string can be used as the string
>    representation of the value.
>     -   a space or "#" character occurring at the beginning of the
>         string
>     -   a space character occurring at the end of the string
>     -   one of the characters ",", "+", """, "\", "<", ">" or ";"
> ...
> A string can lead with '\ ' and trail with '\ '.  Both cases are not 
> supported by the DnParser and cause a parsing error.  Furthermore, if a 
> string starts with '\ ' only the spaces leading up to the escape should be 
> trimmed.  In addition only the spaces after '\ ' when at the end of a value 
> should be stripped.
> looking at the valuelexer.g file '\#' will work anywhere in the string, but 
> should really only be supported at the head of the string.
> If I understand the RFC correctly then these string should be supported:
> "\    four spaces leading and 3 trailing  \ " -> "\    four spaces leading 
> and 3 trailing  \ "
> "    \  two leading three trailing  \    " -> "\  two leading three trailing  
> \ "
> "\# a leading pound" -> "\# a pound"
> "a middle # pound" -> "a middle # pound" 
> "a trailing pound #" -> "a trailing pound #"
> These are not valid:
> "middle\ spaces"
> "# a leading pound" 
> "a middle \# pound" 
> "a trailing pound \#" 
> Unless the next line in the RFC is really true, "Implementations MAY escape 
> other characters."  This makes things a bit more hairy I think.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to