package-url / package-url/packageurl-java
Inconsistent colon encoding
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 48
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
There are inconsistencies with colon encoding in different languages.
For the following input:
type:docker
name:cassandra
version: sha256:244fd47e07d1004f0aed9c
output:
java implementation: pkg:docker/cassandra@sha256%3A244fd47e07d1004f0aed9c
go implementation: pkg:docker/cassandra@sha256:244fd47e07d1004f0aed9c
python implementation: pkg:docker/cassandra@sha256:244fd47e07d1004f0aed9c
As we can see, the colon : will be encoded as %3A in java implementaion, but not in other languages.
According to the specification of purl
the '#', '?', '@' and ':' characters must NOT be encoded when used as separators. They may need to be encoded elsewhere
the ':' scheme and type separator does not need to and must NOT be encoded. It is unambiguous unencoded everywhere
I think : must NOT be encoded.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by locating the Java implementation of purl version encoding and reproduce the supplied Docker, Cassandra, and digest input. Compare its output with the Go and Python implementations and the cited purl specification; done means the colon in the digest is left unencoded consistently with the specification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100