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)
|