From eed390dbe7c19ea94fac71545fdd7d6933360f85 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Tue, 10 Mar 2020 13:53:51 -0400 Subject: [PATCH] Probably need to open the file in binary mode --- src/_zkapauthorizer/_storage_server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py index ddefca3..8c83282 100644 --- a/src/_zkapauthorizer/_storage_server.py +++ b/src/_zkapauthorizer/_storage_server.py @@ -512,7 +512,7 @@ def get_storage_index_share_size(sharepath): # share data is structured. A lot of this seems to be wrong. # storage/immutable.py appears to have the correct information. fmt = ">LL" - with open(sharepath) as share_file: + with open(sharepath, "rb") as share_file: header = share_file.read(calcsize(fmt)) if len(header) != calcsize(fmt): @@ -570,7 +570,7 @@ def get_slot_share_size(sharepath): :return int: The data size of the share in bytes. """ - with open(sharepath) as share_file: + with open(sharepath, "rb") as share_file: share_data_length_bytes = share_file.read(92)[-8:] (share_data_length,) = unpack('>Q', share_data_length_bytes) return share_data_length @@ -598,7 +598,7 @@ def get_stat(sharepath): This is necessary to differentiate between buckets and slots. """ # Figure out if it is a storage index or a slot. - with open(sharepath) as share_file: + with open(sharepath, "rb") as share_file: magic = share_file.read(32) if magic == "Tahoe mutable container v1\n" + "\x75\x09\x44\x03\x8e": return stat_slot -- GitLab