[tahoe-dev] compatibility break, test grid flushed
Brian Warner
warner-tahoe at allmydata.com
Thu Feb 14 20:35:32 PST 2008
It's that time of the week again. In the closing hours before our big 0.8.0
release, we pushed a number of large changes into the Tahoe codebase under
the "better now than later" banner. Once we committed to making at least one
compatibility-breaking change, we figured it was an opportunity to push
through a number of other ones.
In the last few days, we've changed the following items:
* we changed the storage server's share-naming algorithm to allow servers to
store more shares before running into the ext3 32000-entry-per-directory
limit. More changes might be necessary in the future, as storage servers
grow, but these changes will not need to be visible outside that server.
* we switched all binary-to-ascii representations from using z-base32 to
base62 to regular base32. This invalidates all URIs and the
'private/secret' file that is used by the client to compute lease
renewal/cancellation secrets
* we switched to using SHA-256d (as defined by Ferguson and Schneier in
_Practical Cryptography_) for all hashing purposes, which is not
vulnerable to the length-extension attack that normal SHA algorithms are.
This invalidates all URIs too.
* hash tags have been updated and cleaned up to more accurately reflect
their meanings. This invalidates all URIs too.
What does this mean for you?
* When you upgrade a storage server, the old shares will no longer be useful
to the new version of the server. Zooko is planning to write a conversion
tool to migrate these shares, but that probably won't help you, since:
* All URIs in all extant dirnodes and bookmarks are now invalid. All data is
effectively flushed, so storage server operators might as well delete
their storage/shares/ directory when upgrading their nodes.
* The 'private/secret' file in client directories needs to be deleted before
you restart your client with the new code.
We hope for this to be the last time we make non-backwards-compatible changes.
I've updated the TestGrid wiki page with the new public shared directory cap:
URI:DIR2:rymosvvxauojktsga6ukfbffsu:d4b2rqamue744nejtu4h7akxicllb7ta7iybckfywx7ba3lcqj7a
, and populated it with some random documents.
Stay tuned for a shiny new 0.8.0 release tomorrow!
cheers,
-Brian
More information about the tahoe-dev
mailing list