summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/merge.py15
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: