aboutsummaryrefslogtreecommitdiff
path: root/potpourri/show-tracking-data.py
blob: 07e0a1447e223a884ca08a7209648727a0afe111 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# $Id$
# 
# Copyright (C) 2012  Internet Systems Consortium ("ISC")
# 
# Permission to use, copy, modify, and 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 ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC 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.

"""
Show tracking data for a bunch of objects retrieved by rcynic.

This script takes one required argument, which is the name of a
directory tree containing the validated outpt of an rcynic run.  If
you follow the default naming scheme this will be
/some/where/rcynic-data/authenticated.
"""

import os
import sys
import rpki.x509
import rpki.sundial

rcynic_dir = sys.argv[1]

for root, dirs, files in os.walk(rcynic_dir):
  for f in files:
    path = os.path.join(root, f)
    date = rpki.sundial.datetime.utcfromtimestamp(os.stat(path).st_mtime)
    uri = "rsync://" + path[len(rcynic_dir):].lstrip("/")
    obj = rpki.x509.uri_dispatch(uri)(DER_file = path)
    print date, obj.tracking_data(uri)