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

Fixity block case sensitivity #564

Closed
pwinckles opened this issue Oct 5, 2021 · 3 comments · Fixed by #575
Closed

Fixity block case sensitivity #564

pwinckles opened this issue Oct 5, 2021 · 3 comments · Fixed by #575
Assignees
Labels
Editorial Editorial issues (no changes to intent) Needs Discussion OCFL Object
Milestone

Comments

@pwinckles
Copy link

As JSON keys are case sensitive, while digests may not be, there is an additional requirement that each digest value MUST occur only once in the fixity block for any digest algorithm, regardless of case.

This mirrors the requirement for the manifest, but I do not think it is a requirement that can be generally applied to the fixity block. As per #534, the spec leaves the door open for non-hex encodings. If a new a digest algorithm is added and it's, say, base64 encoded, it would be wrong to treat the keys as case-insensitive.

I think the requirement either needs to be removed, or there needs to be additional language to clarify that it applies selectively based on encoding.

@zimeon
Copy link
Contributor

zimeon commented Nov 3, 2021

I agree that this is a problem. There could be a digest algorithm where abc and ABC are both valid and different values. I think the actual requirement is:

  • For digest algorithms with case insensitive digest values, each digest value MUST occur only once in the fixity block for that digest algorithm, regardless of case.

@zimeon zimeon added Editorial Editorial issues (no changes to intent) Needs Discussion OCFL Object labels Nov 3, 2021
@awoods
Copy link
Member

awoods commented Dec 9, 2021

@zimeon : Is your suggestion here to update both occurrences (found in the manifest and fixity sections) of:

As JSON keys are case sensitive, while digests may not be, there is an additional requirement that each 
digest value must occur only once in the fixity block for any digest algorithm, regardless of case.

..to become:

As JSON keys are case sensitive, for digest algorithms with case insensitive digest values, there is an 
additional requirement that each digest value must occur only once in the [fixity|manifest] block for 
any digest algorithm, regardless of case.

@rosy1280 rosy1280 added this to the 1.1 milestone Dec 21, 2021
@zimeon
Copy link
Contributor

zimeon commented Dec 21, 2021

2021-12-21 agreed to #564 (comment) in editors' meeting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Editorial Editorial issues (no changes to intent) Needs Discussion OCFL Object
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants