mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-21 02:01:31 +00:00
mutable/layout: break unpack_checkstring into unpack_mdmf_checkstring and unpack_sdmf_checkstring, add distinguisher function for checkstrings
This commit is contained in:
parent
2187f27ad0
commit
e8afe84813
@ -136,13 +136,24 @@ def unpack_share(data):
|
||||
pubkey, signature, share_hash_chain, block_hash_tree,
|
||||
share_data, enc_privkey)
|
||||
|
||||
def unpack_checkstring(checkstring):
|
||||
def get_version_from_checkstring(checkstring):
|
||||
(t, ) = struct.unpack(">B", checkstring[:1])
|
||||
return t
|
||||
|
||||
def unpack_sdmf_checkstring(checkstring):
|
||||
cs_len = struct.calcsize(PREFIX)
|
||||
version, seqnum, root_hash, IV = struct.unpack(PREFIX, checkstring[:cs_len])
|
||||
if version != 0: # TODO: just ignore the share
|
||||
raise UnknownVersionError("got mutable share version %d, but I only understand version 0" % version)
|
||||
return (seqnum, root_hash, IV)
|
||||
|
||||
def unpack_mdmf_checkstring(checkstring):
|
||||
cs_len = struct.calcsize(MDMFCHECKSTRING)
|
||||
checkstring = checkstring[:cs_len]
|
||||
version, seqnum, root_hash = struct.unpack(MDMFCHECKSTRING, checkstring)
|
||||
|
||||
assert version == 1
|
||||
return (seqnum, root_hash)
|
||||
|
||||
def pack_offsets(verification_key_length, signature_length,
|
||||
share_hash_chain_length, block_hash_tree_length,
|
||||
|
Loading…
x
Reference in New Issue
Block a user