diff options
author | Rob Austein <sra@hactrn.net> | 2014-11-05 18:36:55 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-11-05 18:36:55 +0000 |
commit | be7513a26ac17ebd036a3eeee7d0ee2e173143a4 (patch) | |
tree | 0164f0b0c043642ca26cade4cc8017e3f3e8c77c /rpki | |
parent | 6ff4e63a4950f04cff6936ae81a2c6e6f2dfc1c4 (diff) |
Missed an _elt in [6002]. Pull changes from trunk.
svn path=/branches/tk705/; revision=6004
Diffstat (limited to 'rpki')
-rw-r--r-- | rpki/gui/app/glue.py | 7 | ||||
-rw-r--r-- | rpki/gui/app/models.py | 26 |
2 files changed, 22 insertions, 11 deletions
diff --git a/rpki/gui/app/glue.py b/rpki/gui/app/glue.py index f4267edc..8bc24fbf 100644 --- a/rpki/gui/app/glue.py +++ b/rpki/gui/app/glue.py @@ -27,11 +27,11 @@ from datetime import datetime from rpki.resource_set import (resource_set_as, resource_set_ipv4, resource_set_ipv6, resource_range_ipv4, resource_range_ipv6) -from rpki.left_right import list_received_resources_elt, report_error_elt from rpki.irdb.zookeeper import Zookeeper from rpki.gui.app import models from rpki.exceptions import BadIPResource +from lxml.etree import Element, SubElement from django.contrib.auth.models import User from django.db.transaction import commit_on_success @@ -77,7 +77,10 @@ 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)) + req = Elements(rpki.left_right.tag_msg, nsmap=rpki.left_right.nsmap, + type="query", version=rpki.left_right.version) + SubElement(req, rpki.left_right.tag_list_received_resources, self_handle=conf.handle) + pdus = z.call_rpkid(req) # pdus is sometimes None (see https://trac.rpki.net/ticket/681) if pdus is None: print >>log, 'error: call_rpkid() returned None for handle %s when fetching received resources' % conf.handle diff --git a/rpki/gui/app/models.py b/rpki/gui/app/models.py index 9d453261..ed32e9d2 100644 --- a/rpki/gui/app/models.py +++ b/rpki/gui/app/models.py @@ -153,11 +153,15 @@ class Conf(rpki.irdb.models.ResourceHolderCA): # build a Q filter to select all RouteOrigin objects covered by # prefixes in the resource holder's certificates - q = models.Q() - for p in ResourceRangeAddressV4.objects.filter(cert__conf=self): - q |= models.Q(prefix_min__gte=p.prefix_min, + prefixes = ResourceRangeAddressV4.objects.filter(cert__conf=self) + if prefixes: + q = models.Q() + for p in prefixes: + q |= models.Q(prefix_min__gte=p.prefix_min, prefix_max__lte=p.prefix_max) - return RouteOrigin.objects.filter(q) + return RouteOrigin.objects.filter(q) + else: + return RouteOrigin.objects.none() @property def routes_v6(self): @@ -167,11 +171,15 @@ class Conf(rpki.irdb.models.ResourceHolderCA): # build a Q filter to select all RouteOrigin objects covered by # prefixes in the resource holder's certificates - q = models.Q() - for p in ResourceRangeAddressV6.objects.filter(cert__conf=self): - q |= models.Q(prefix_min__gte=p.prefix_min, - prefix_max__lte=p.prefix_max) - return RouteOriginV6.objects.filter(q) + prefixes = ResourceRangeAddressV6.objects.filter(cert__conf=self) + if prefixes: + q = models.Q() + for p in ResourceRangeAddressV6.objects.filter(cert__conf=self): + q |= models.Q(prefix_min__gte=p.prefix_min, + prefix_max__lte=p.prefix_max) + return RouteOriginV6.objects.filter(q) + else: + return RouteOriginV6.objects.none() def send_alert(self, subject, message, from_email, severity=Alert.INFO): """Store an alert for this resource holder.""" |