diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/merge.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/merge.py b/tools/merge.py index 0435b77..76ffede 100755 --- a/tools/merge.py +++ b/tools/merge.py @@ -226,7 +226,16 @@ def verify_entry(verifycert, entry, hash): mtl = unpacked[0] assert hash == get_leaf_hash(mtl) s = struct.pack(">I", len(entry)) + entry - verifycert.stdin.write(s) + try: + verifycert.stdin.write(s) + except IOError, e: + sys.stderr.write("merge: unable to write to verifycert process: ") + while 1: + line = verifycert.stdout.readline() + if line: + sys.stderr.write(line) + else: + sys.exit(1) result_length_packed = verifycert.stdout.read(4) (result_length,) = struct.unpack(">I", result_length_packed) result = verifycert.stdout.read(result_length) @@ -251,8 +260,8 @@ for hash in new_entries: entries_to_fetch[storagenode["name"]].append(hash) break -verifycert = subprocess.Popen(paths["verifycert_bin"], - stdin=subprocess.PIPE, stdout=subprocess.PIPE) +verifycert = subprocess.Popen([paths["verifycert_bin"], paths["known_roots"]], + stdin=subprocess.PIPE, stdout=subprocess.PIPE) added_entries = 0 for storagenode in storagenodes: |