diff options
Diffstat (limited to 'lib/thandy/ServerCLI.py')
-rw-r--r-- | lib/thandy/ServerCLI.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/thandy/ServerCLI.py b/lib/thandy/ServerCLI.py index d9c0f04..9212846 100644 --- a/lib/thandy/ServerCLI.py +++ b/lib/thandy/ServerCLI.py @@ -24,7 +24,8 @@ def snarf(fname): def snarfObj(fname): f = open(fname, 'r') try: - return json.load(f) + length = os.fstat(f.fileno()).st_size + return json.load(f), length finally: f.close() @@ -127,12 +128,12 @@ def timestamp(args): tsFname = os.path.join(repo, "meta/timestamp.txt") try: - mObj = snarfObj(os.path.join(repo, "meta/mirrors.txt")) + mObj, mLen = snarfObj(os.path.join(repo, "meta/mirrors.txt")) except OSError: print "No mirror list!" sys.exit(1) try: - kObj = snarfObj(os.path.join(repo, "meta/keys.txt")) + kObj, kLen = snarfObj(os.path.join(repo, "meta/keys.txt")) except OSError: print "No key list!" sys.exit(1) @@ -142,7 +143,7 @@ def timestamp(args): for fn in fns: fn = os.path.join(dirpath, fn) try: - bObj = snarfObj(fn) + bObj, bLen = snarfObj(fn) except (ValueError, OSError, IOError), e: print "(Couldn't read bundle-like %s: %s)"%(fn, e) continue @@ -154,10 +155,11 @@ def timestamp(args): if r != "bundle": print "%s was not a good bundle"%fn continue - bundles.append(bObj['signed']) + bundles.append((bObj['signed'], bLen)) timestamp = thandy.formats.makeTimestampObj( - mObj['signed'], kObj['signed'], bundles) + mObj['signed'], mLen, kObj['signed'], kLen, + bundles) signable = thandy.formats.makeSignable(timestamp) keydb = thandy.formats.Keylist() |