Merge lp://staging/~jderose/filestore/dbase32 into lp://staging/filestore
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 304 | ||||
Proposed branch: | lp://staging/~jderose/filestore/dbase32 | ||||
Merge into: | lp://staging/filestore | ||||
Diff against target: |
3659 lines (+1377/-1583) 12 files modified
debian/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) |
||||
To merge this branch: | bzr merge lp://staging/~jderose/filestore/dbase32 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Jordan | Approve | ||
Review via email: mp+149313@code.staging.launchpad.net |
Description of the change
For details, see this bug:
https:/
Changes include:
* Use compatibility functions from `dbase32.rfc3548` so that it will be very easy to switch to Dbase32, in particular use `isb32()` instead of set operations with B32ALPHABET; we can just replace with `isdb32()` when needed
* Removed protocol selection-
* `Protocol.
* `Protocol.
* Likewise, `Protocol.
* `Protocol` is now a base class without any hashing implementation itself; real implementations are now in the `SkeinProtocol` and `OldSkeinProtocol` subclasses
* Changed V1 to use a 240-bit digest and DBase32 encoding, updated test vectors accordingly
* Split old test-vectors.json file (which contained both V0 and V1) into separate V0.json and V1.json files
* Added MD5SUMS.json with md5sums of various values used by the test vectors; these are helpful for debugging an implementation, as mention in the specification
* Huge refactor of the unit tests for `filestore.
* misc.build_
As this diff is pretty sprawling and noisy, you can probably understand the key changes more easily by just looking at filestore/ protocols. py:
http:// bazaar. launchpad. net/~jderose/ filestore/ dbase32/ view/head: /filestore/ protocols. py