Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spec version incompatibility #1751

Closed
jku opened this issue Jan 4, 2022 · 4 comments · Fixed by #1796
Closed

spec version incompatibility #1751

jku opened this issue Jan 4, 2022 · 4 comments · Fixed by #1796
Assignees
Labels
1.0.0 blockers To be addressed before 1.0.0 release backlog Issues to address with priority for current development goals
Milestone

Comments

@jku
Copy link
Member

jku commented Jan 4, 2022

datadogs metadata contains
"spec_version": "1.0",

This is currently not compatible with Metadata API (deserializating the data fails).

"1.0" seems to not be a strictly compliant spec_version (the specification says format follows semantic versioning) but we could potentially support this for backwards compat?

EDIT: also metadata generated with go-tuf (so for example sigstore metadata) looks like this.

@jku
Copy link
Member Author

jku commented Jan 4, 2022

hmm looks like their newer metadata has
"spec_version": "1.0.0",
so maybe we don't need to support the other format after all...

@trishankatdatadog
Copy link
Member

datadogs metadata contains "spec_version": "1.0",

Thanks for filing the issue. Can you point to the metadata files?

"1.0" seems to not be a strictly compliant spec_version (the specification says format follows semantic versioning) but we could potentially support this for backwards compat?

I would say so, yes, although I'm not sure how many people actually use the original python-tuf implementation.

@jku
Copy link
Member Author

jku commented Jan 4, 2022

@jku
Copy link
Member Author

jku commented Jan 18, 2022

metadata generated with go-tuf (so for example sigstore metadata) uses "1.0" as well.

jku pushed a commit to jku/python-tuf that referenced this issue Jan 26, 2022
All TUF implementations used to use "1.0" as the spec version and most
of them have never modified that value since.

Accept two-digit spec_version for legacy compatibility: it is strictly
speaking against the current spec (which requires semver) but there
should be no harm in doing this and it allows us to deserialize
metadata generated by e.g. go-tuf.

Fixes theupdateframework#1751

Signed-off-by: Jussi Kukkonen <[email protected]>
jku pushed a commit to jku/python-tuf that referenced this issue Jan 26, 2022
All TUF implementations used to use "1.0" as the spec version and most
of them have never modified that value since.

Accept two-digit spec_version for legacy compatibility: it is strictly
speaking against the current spec (which requires semver) but there
should be no harm in doing this and it allows us to deserialize
metadata generated by e.g. go-tuf.

Fixes theupdateframework#1751

Signed-off-by: Jussi Kukkonen <[email protected]>
@jku jku added 1.0.0 blockers To be addressed before 1.0.0 release backlog Issues to address with priority for current development goals labels Jan 26, 2022
@jku jku self-assigned this Jan 26, 2022
@jku jku added this to the sprint 16 milestone Jan 26, 2022
jku pushed a commit to jku/python-tuf that referenced this issue Jan 26, 2022
All TUF implementations used to use "1.0" as the spec version and most
of them have never modified that value since.

Accept two-part spec_version for legacy compatibility: it is strictly
speaking against the current spec (which requires semver) but there
should be no harm in doing this and it allows us to deserialize
metadata generated by e.g. go-tuf.

Fixes theupdateframework#1751

Signed-off-by: Jussi Kukkonen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0.0 blockers To be addressed before 1.0.0 release backlog Issues to address with priority for current development goals
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants