Unescaped DELETE control character U+007F fails with "unacceptable character"
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
Start by reproducing the reported command, python -m openapi_spec_validator --schema 2.0 openapi-spec.json, with both the literal U+007F and its \u007f form. The payload names no source file or test, so trace where parsing rejects the character and whether the dependency is responsible. Done means the expected behavior is implemented and covered for both inputs, or the dependency limitation is clearly documented.
Written by the indexing model from the issue text.
Description
Note: I am not entirely sure if the source of this issue lies within the scope of this library of any of its dependencies.
Situation
My (openAPI specification) JSON file contains a string with an unescaped DELETE control character, U+007F.
"examples" : {
"image/png" : "" # should be U+007F (Github seems to redact this character)
},
Output of python -m openapi_spec_validator --schema 2.0 openapi-spec.json is:
unacceptable character #x007f: special characters are not allowed
in "<urllib response>", position 1082
If we replace the character by its encoded equivalent, like this:
"examples" : {
"image/png" : "\u007f"
},
the result is: OK
Expected
In my understanding, RFC 7159 (obsolete) RFC 8259 allows this specific control character to appear escaped and unescaped inside JSON strings: https://tools.ietf.org/html/rfc8259#section-7.
Therefore, I expect OK for both Inputs mentioned above.
- Dominant language
- Python
- Stars
- 409
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from python-openapi/openapi-spec-validator
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 3/5 1-2 days Newbie friendliness 30/100
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
python-openapi/openapi-spec-validator#400 · 1 comment ·
-
kind/bug/confirmed
Difficulty 5/5 Over a week Newbie friendliness 25/100
python-openapi/openapi-spec-validator#373 · 1 comment ·
All issues in python-openapi/openapi-spec-validator
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
canonical/paas-charm#368 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
tech debt
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
StevenBlack/hosts#3256 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
qualcomm/qai-appbuilder#275 ·