summaryrefslogtreecommitdiff
path: root/tools/convertdb.py
diff options
context:
space:
mode:
authorJosef Gustafsson <josef.gson@gmail.com>2015-09-04 12:18:19 +0200
committerJosef Gustafsson <josef.gson@gmail.com>2015-09-04 12:18:19 +0200
commitd1a2f978fb626c904fb1278c792d992ec4563acf (patch)
treee0ae1a38f9d4fc4c14b433222bff70e64bb1ac83 /tools/convertdb.py
parent4596485adffb636c014362bc982ee0b952c77f26 (diff)
stripping away everything except what is necessary for nagiosnagios
Diffstat (limited to 'tools/convertdb.py')
-rw-r--r--tools/convertdb.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/tools/convertdb.py b/tools/convertdb.py
deleted file mode 100644
index c036843..0000000
--- a/tools/convertdb.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2014, NORDUnet A/S.
-# See LICENSE for licensing information.
-
-import argparse
-import urllib2
-import urllib
-import json
-import base64
-import sys
-import struct
-import hashlib
-import itertools
-from certtools import *
-from mergetools import *
-import zipfile
-import os
-import time
-import shutil
-
-def write_file(fn, contents):
- tempname = fn + ".new"
- open(tempname, 'w').write(contents)
- shutil.move(tempname, fn)
-
-def unpack_entry(entry):
- pieces = []
- while len(entry):
- (length,) = struct.unpack(">I", entry[0:4])
- data = entry[4:4+length]
- entry = entry[4+length:]
- pieces.append(data)
- return pieces
-
-def read_old_entry(entry, hash):
- unpacked = unpack_entry(entry)
- mtl = unpacked[0]
- assert hash == get_leaf_hash(mtl)
- (leafcert, timestamp, issuer_key_hash) = unpack_mtl(mtl)
- certchain = decode_certificate_chain(unpacked[1])
- if issuer_key_hash:
- leafcert = certchain[0]
- certchain = certchain[1:]
- certtype = "PRC1"
- else:
- certtype = "EEC1"
- return (mtl, leafcert, certtype, certchain)
-
-def convertentry(entry, hash):
- (mtl, leafcert, certtype, chain) = read_old_entry(entry, hash)
- entry = tlv_encodelist([("MTL1", mtl),
- (certtype, leafcert),
- ("CHN1", tlv_encodelist([("X509", cert) for cert in chain]))])
- return wrap_entry(entry)
-
-parser = argparse.ArgumentParser(description='')
-parser.add_argument('path', help="Path to database to convert")
-args = parser.parse_args()
-
-for (dirpath, dirnames, filenames) in os.walk(args.path):
- for filename in filenames:
- fullpath = dirpath + "/" + filename
- entry = open(fullpath).read()
- entry = convertentry(entry, base64.b16decode(filename.upper()))
- if entry != None:
- print "writing new entry for", filename
- write_file(fullpath, entry)
- else:
- print "not writing new entry for", filename