You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Steve Veum (JIRA)" <ji...@apache.org> on 2019/05/23 13:50:00 UTC

[jira] [Created] (OLINGO-1360) OData V4 search phrases that contain ? character cause error

Steve Veum created OLINGO-1360:
----------------------------------

             Summary: OData V4 search phrases that contain ? character cause error
                 Key: OLINGO-1360
                 URL: https://issues.apache.org/jira/browse/OLINGO-1360
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.6.0
            Reporter: Steve Veum
             Fix For: (Java) V4 4.7.0
         Attachments: 0001-OData-V4-search-phrases-that-contain-character-cause.patch

The URI search parser returns an error if a search phrase contains the ? character

The OData 4 ABNF document specifies which characters are allowed in a search phrase. One of those characters is the question mark (?).

The URI search tokenizer follows the ABNF document by having a method called isQCharUnescaped which matches the qchar-escaped definition in the ABNF document.
This method is missing the condition which would allow the ? character as a member of the qchar-escaped. It looks like the author of this code just missed it
since the comment includes the ? as one of the allowed characters.

The following search phrase should be allowed:
$search="Olingo?"

I have attached a patch for this issue.  The fix and improved test were both 1 line changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)