diff options
author | Michael Elkins <melkins@tislabs.com> | 2012-11-12 04:05:47 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2012-11-12 04:05:47 +0000 |
commit | 446299e9189331fc09fe6b838919bf8d0ff2a7e8 (patch) | |
tree | fcecc2e854e5b43bbdf4f96e3eb8436fd7eef0a3 /rpkid/rpki/gui/app/glue.py | |
parent | 7935cc245662541328446e98e4c315678a2254aa (diff) | |
parent | 53a89ee6c1d1bf3ada5b1ba55b533d4ff2e61543 (diff) |
merge with /trunk
svn path=/branches/tk274/; revision=4849
Diffstat (limited to 'rpkid/rpki/gui/app/glue.py')
-rw-r--r-- | rpkid/rpki/gui/app/glue.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/rpkid/rpki/gui/app/glue.py b/rpkid/rpki/gui/app/glue.py index 6d168b26..bf68170e 100644 --- a/rpkid/rpki/gui/app/glue.py +++ b/rpkid/rpki/gui/app/glue.py @@ -78,19 +78,23 @@ def list_received_resources(log, conf): z = Zookeeper(handle=conf.handle) pdus = z.call_rpkid(list_received_resources_elt.make_pdu(self_handle=conf.handle)) - models.ResourceCert.objects.filter(parent__issuer=conf).delete() + models.ResourceCert.objects.filter(conf=conf).delete() for pdu in pdus: if isinstance(pdu, list_received_resources_elt): - parent = models.Parent.objects.get(issuer=conf, - handle=pdu.parent_handle) + if pdu.parent_handle != conf.handle: + parent = models.Parent.objects.get(issuer=conf, + handle=pdu.parent_handle) + else: + # root cert, self-signed + parent = None not_before = datetime.strptime(pdu.notBefore, "%Y-%m-%dT%H:%M:%SZ") not_after = datetime.strptime(pdu.notAfter, "%Y-%m-%dT%H:%M:%SZ") - cert = models.ResourceCert.objects.create(parent=parent, - not_before=not_before, not_after=not_after, - uri=pdu.uri) + cert = models.ResourceCert.objects.create( + conf=conf, parent=parent, not_before=not_before, + not_after=not_after, uri=pdu.uri) for asn in resource_set_as(pdu.asn): cert.asn_ranges.create(min=asn.min, max=asn.max) |