Skip to content

ReadPath regex in files.stone does not match U+2028 in filename #309

Description

@devPalacio

Describe the bug
dropbox/dropbox-sdk-java#490
This issue was reported in the dropbox java sdk.

To Reproduce
Attempt to call getMetadata with a filename that has U+2028 in it. It will fail to match the regex and throw java.lang.IllegalArgumentException: String 'path' does not match pattern.

If you attempt to escape the Unicode character, the server returns a malformed path error.

Expected Behavior
Files with a valid path would match the regex and return the file metadata.

Actual Behavior
java.lang.IllegalArgumentException: String 'path' does not match pattern.
or
Malformed path error from the server

Versions

  • What version of the Stone are you using? Latest stone, latest api spec from Sep 1, 2022
  • What version of the language are you using? Java
  • What platform are you using? (if applicable) Dropbox Java Sdk

Additional context
I think the fix is as simple as changing the regex to
(/(.|[\r\n\u2028])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)
in files.stone but would like somebody with more stone experience to chime in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions