diff options
author | josef <josef.gson@gmail.com> | 2015-10-19 13:51:45 +0200 |
---|---|---|
committer | josef <josef.gson@gmail.com> | 2015-10-19 13:51:45 +0200 |
commit | 833f64c2621b8cef3ec350d530541498d7173dbc (patch) | |
tree | 32812e96bd575540f2f0542967e8b0387df17cce /monitor/josef_mover.py | |
parent | e432e62cc2ae7c7cbe7639eb476939ddc27afb85 (diff) |
adding code for analyzing overlap
Diffstat (limited to 'monitor/josef_mover.py')
-rwxr-xr-x | monitor/josef_mover.py | 70 |
1 files changed, 63 insertions, 7 deletions
diff --git a/monitor/josef_mover.py b/monitor/josef_mover.py index 08ec05d..ac79448 100755 --- a/monitor/josef_mover.py +++ b/monitor/josef_mover.py @@ -50,10 +50,10 @@ def print_reply(rep, entry): def is_new_timestamp(ts): MAX_TIMEDIFF = 300 # 5 min, allows for some clock skew ts_time = datetime.datetime.fromtimestamp(ts / 1000, UTC()).strftime('%Y-%m-%d %H:%M:%S') - start_time = datetime.datetime.utcnow().strftime('2013-10-19 00:00:00') - delta_time = datetime.datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S') - datetime.datetime.strptime(ts_time, '%Y-%m-%d %H:%M:%S') + start_time = datetime.datetime.utcnow().strftime('2015-10-19 00:00:00') + # delta_time = datetime.datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S') - datetime.datetime.strptime(ts_time, '%Y-%m-%d %H:%M:%S') # print delta_time.seconds - if delta_time.seconds > MAX_TIMEDIFF: + if ts_time < start_time: return False else: return True @@ -123,17 +123,73 @@ def move_entry(first, last, source, dest): print "FAILED!\n" print s_log["name"] + "[" + str(first + i) + "] found in " + str(len(inclusions)) + " logs: ", inclusions +def check_inclusion_by_submission(first, last, source, dest): + # print entries + for s_log in source: + try: + entries = get_entries(s_log["url"], first, last)["entries"] + except: + log("Failed to get entries from " + s_log["name"]) + + # print "\n\nSource: " + s_log["name"] + "\n" + for i in range(len(entries)): + # for item in entries: + item = entries[i] + inclusions = [] + for d_log in dests: + # print "Log: " + d_log["name"] + try: + entry = extract_original_entry(item) + if entry[2]: + precert = True + else: + precert = False + submission = [] + + for e in entry[0]: + submission.append(base64.b64encode(e)) + + if entry[2]: + res = add_prechain(d_log["url"], {"chain" : submission}) + else: + res = add_chain(d_log["url"], {"chain" : submission}) + # print_reply(res, entry) + + if not is_new_timestamp(res["timestamp"]): + inclusions.append(d_log["name"]) + + # time.sleep(5) + except KeyboardInterrupt: + sys.exit() + except: + # print "FAILED!\n" + pass + s = s_log["name"] + "[" + str(first + i) + "] found in " + str(len(inclusions)) + " logs: " + str(inclusions) + print s + logfile = OUTPUT_DIR + s_log["name"] + "_overlap.log" + log(logfile, s) + +def log(fn, string): + logfile = fn + s = time_str() + " " + string + with open(logfile, 'a') as f: + f.write(s + "\n") + f.close() if __name__ == "__main__": - source = [CTLOGS[0]] + source = [CTLOGS[9]] dests = CTLOGS # source = ctlogs # dests = ctlogs + for tmp_log in source: + sth = get_sth(tmp_log["url"]) + - first = 100 - last = 102 + first = 0 + last = int(sth["tree_size"]) - 1 + # print last - move_entry(first, last, source,dests) + check_inclusion_by_submission(first, last, [tmp_log], dests) # check_inclusion_all(first,last,source, dests) |