summaryrefslogtreecommitdiff
path: root/monitor/josef_monitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'monitor/josef_monitor.py')
-rwxr-xr-xmonitor/josef_monitor.py44
1 files changed, 23 insertions, 21 deletions
diff --git a/monitor/josef_monitor.py b/monitor/josef_monitor.py
index 0569a81..83e3663 100755
--- a/monitor/josef_monitor.py
+++ b/monitor/josef_monitor.py
@@ -30,7 +30,6 @@ if not os.path.exists(OUTPUT_DIR):
if not os.path.exists(DB_PATH):
os.makedirs(DB_PATH)
-# DB = None
parser = argparse.ArgumentParser(description="")
@@ -51,7 +50,6 @@ class ctlog:
def incremental_build(self):
# Keeps state current during build, partial builds are possible.
self.sth = get_sth(self.url)
- # self.log("Building....")
start_size = self.entries
while self.entries < self.sth["tree_size"]:
tmp_size = self.entries
@@ -66,8 +64,6 @@ class ctlog:
" new entries. Size: " + str(self.entries))
else:
self.log("ERROR Failed to build tree from entries.")
- # else:
- # self.log("No new entries.")
def fetch_and_increment_subtree(self, first, last, url, subtree =[[]]):
@@ -237,8 +233,6 @@ def check_domain(raw_entry, log=None):
except IndexError:
return None
-
-
def verify_subtree(sth, subtree, base_url):
try:
tmp = deepcopy(subtree)
@@ -320,11 +314,7 @@ def get_all_roots(base_url):
root_cert = base64.decodestring(accepted_cert)
print get_cert_info(root_cert)["subject"]
-def main(args):
- global DB
- # Create logs
- logs = []
-
+def setup_domain_monitoring():
monitored_domains = []
with open(DOMAINS_FILE) as fp:
for line in fp:
@@ -332,13 +322,23 @@ def main(args):
for domain in tmp:
md = monitored_domain(domain["url"])
md.load_entries(domain["entries"])
+ monitored_domains.append(md)
+
for md in MONITORED_DOMAINS:
tmp = monitored_domain(md)
if not tmp in monitored_domains:
+ print "New domain (not in file) " + md
tmp.set()
monitored_domains.append(tmp)
+ return monitored_domains
+
+def main(args):
+ global DB
+ monitored_domains = setup_domain_monitoring()
+ # Create logs
+ logs = []
try:
for item in ctlogs:
logs.append(ctlog(item, ctlogs[item][0], ctlogs[item][1]))
@@ -368,27 +368,29 @@ def main(args):
for md in monitored_domains:
md.update()
-
+ # Normal exit oof the program
except KeyboardInterrupt:
print time.strftime('%H:%M:%S') + ' Received interrupt from user. Saving and exiting....'
for log in logs:
log.save()
+ # Save info about monitored domains
domain_dict = []
for md in monitored_domains:
domain_dict.append(md.to_dict())
open(DOMAINS_FILE, 'w').write(json.dumps(domain_dict))
- # except Exception, err:
- # print Exception, err
- # for log in logs:
- # log.save()
-
- # domain_dict = []
- # for md in monitored_domains:
- # domain_dict.append(md.to_dict())
+ # Something went horribly wrong!
+ except Exception, err:
+ print Exception, err
+ for log in logs:
+ log.save()
- # open(DOMAINS_FILE, 'w').write(json.dumps(domain_dict))
+ # Save info about monitored domains
+ domain_dict = []
+ for md in monitored_domains:
+ domain_dict.append(md.to_dict())
+ open(DOMAINS_FILE, 'w').write(json.dumps(domain_dict))