aboutsummaryrefslogtreecommitdiff
path: root/rp/utils/scan_roas.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-05-02 04:36:10 +0000
committerRob Austein <sra@hactrn.net>2014-05-02 04:36:10 +0000
commitbf789ce9905c72eb26bcdfde9093ccf428ac432f (patch)
tree3ea3e6d5fcc542d9658ca5b07bc3f548422be4ec /rp/utils/scan_roas.py
parent01bf6e0fe2904a26261b55d725d2fe2599834982 (diff)
Switch all rp/utils/ programs to use the Python script versions
instead of the nasty old C versions. C code retained in source tree for the moment, but will go away soon. svn path=/trunk/; revision=5825
Diffstat (limited to 'rp/utils/scan_roas.py')
-rwxr-xr-xrp/utils/scan_roas.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/rp/utils/scan_roas.py b/rp/utils/scan_roas.py
deleted file mode 100755
index 1f5746b1..00000000
--- a/rp/utils/scan_roas.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-#
-# $Id$
-#
-# Copyright (C) 2014 Dragon Research Labs ("DRL")
-#
-# Permission to use, copy, modify, and/or distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND DRL DISCLAIMS ALL WARRANTIES WITH
-# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-# AND FITNESS. IN NO EVENT SHALL DRL BE LIABLE FOR ANY SPECIAL, DIRECT,
-# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THIS SOFTWARE.
-
-"""
-Search an authenticated result tree from an rcynic run for ROAs, and
-prints out the signing time, ASN, and prefixes for each ROA, one ROA
-per line.
-"""
-
-import os
-import argparse
-import rpki.POW
-
-def check_dir(d):
- if not os.path.isdir(d):
- raise argparse.ArgumentTypeError("%r is not a directory" % d)
- return d
-
-class ROA(rpki.POW.ROA):
-
- @classmethod
- def parse(cls, fn):
- self = cls.derReadFile(fn)
- self.extractWithoutVerifying()
- return self
-
- @property
- def prefixes(self):
- v4, v6 = self.getPrefixes()
- for prefix, length, maxlength in (v4 or ()) + (v6 or ()):
- if maxlength is None or length == maxlength:
- yield "%s/%d" % (prefix, length)
- else:
- yield "%s/%d-%d" % (prefix, length, maxlength)
-
- def __str__(self):
- return "%s %s %s" % (self.signingTime(), self.getASID(), " ".join(self.prefixes))
-
-parser = argparse.ArgumentParser(description = __doc__)
-parser.add_argument("rcynic_dir", nargs = "+", type = check_dir,
- help = "rcynic authenticated output directory")
-args = parser.parse_args()
-
-for rcynic_dir in args.rcynic_dir:
- for root, dirs, files in os.walk(rcynic_dir):
- for fn in files:
- if fn.endswith(".roa"):
- print ROA.parse(os.path.join(root, fn))