Switch V1 protocol to Dbase32, 240-bit hash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
FileStore |
Fix Released
|
High
|
Jason Gerard DeRose |
Bug Description
One of the differences between the V0 and V1 protocol is that V1 will use our Dbase32 encoding:
http://
This will require a change to the sub-directories in .dmedia/files/, and also means we can't support the V0 and V1 protocols side-by-side. However, we will provide V0 to V1 migration, as we can easily detect which version the file layout was created under based on the sub directories.
As we wont be supporting V0 and V1 side-by-side, they don't need to use different digest lengths, so I'm going move V1 back to 240 bits (down from 280 bits).
Also, in this bug V1 will be switched to Dbase32 encoding, although V0 will still remain the active protocol, and this change should cause no external breakage.
V0 will keep using standard RFC 3548 Base32 encoded (it has to for us to do the migration).
For more details on how the migration will take place, see this post:
https:/
Related branches
- David Jordan: Approve
-
Diff: 3659 lines (+1377/-1583)12 files modifieddebian/control (+2/-2)
filestore/__init__.py (+41/-58)
filestore/data/MD5SUMS.json (+23/-0)
filestore/data/V0.json (+24/-0)
filestore/data/V1.json (+24/-0)
filestore/data/test-vectors.json (+0/-50)
filestore/misc.py (+52/-32)
filestore/protocols.py (+68/-164)
filestore/tests/__init__.py (+67/-180)
filestore/tests/test_misc.py (+132/-54)
filestore/tests/test_protocols.py (+943/-1042)
setup.py (+1/-1)
Changed in filestore: | |
status: | In Progress → Fix Committed |
Changed in filestore: | |
status: | Fix Committed → Fix Released |
summary: |
- Switch V1 protocol to D-Base32, 240-bit hash + Switch V1 protocol to Dbase32, 240-bit hash |