aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2013-02-20 23:39:41 +0000
committerMichael Elkins <melkins@tislabs.com>2013-02-20 23:39:41 +0000
commit919df96a39a0250bfba160c3a36a29452d38fa0c (patch)
tree5e51d9de4edfa0063cc2356686d7d5a28e6f93dc
parentdde4e64efeb7c6cc930e49faa19502d5346bdaf6 (diff)
remove glue.str_to_resource_range() since resource_range_ip.parse_str() can now be used for both v4/v6
svn path=/trunk/; revision=5050
-rw-r--r--rpkid/rpki/gui/app/forms.py7
-rw-r--r--rpkid/rpki/gui/app/glue.py8
-rw-r--r--rpkid/rpki/gui/app/views.py18
3 files changed, 10 insertions, 23 deletions
diff --git a/rpkid/rpki/gui/app/forms.py b/rpkid/rpki/gui/app/forms.py
index 676116cb..355f9d2c 100644
--- a/rpkid/rpki/gui/app/forms.py
+++ b/rpkid/rpki/gui/app/forms.py
@@ -21,7 +21,6 @@ from django import forms
from rpki.resource_set import (resource_range_as, resource_range_ip)
from rpki.gui.app import models
from rpki.exceptions import BadIPResource
-from rpki.gui.app.glue import str_to_resource_range
from rpki.POW import IPAddress
@@ -210,7 +209,7 @@ class ROARequest(forms.Form):
try:
r = self._as_resource_range()
except:
- raise forms.ValidationError('invalid IP address')
+ raise forms.ValidationError('invalid prefix')
manager = models.ResourceRangeAddressV4 if r.version == 4 else models.ResourceRangeAddressV6
if not manager.objects.filter(cert__conf=self.conf,
@@ -259,14 +258,14 @@ class ROARequestConfirm(forms.Form):
def clean_prefix(self):
try:
- r = str_to_resource_range(self.cleaned_data.get('prefix'))
+ r = resource_range_ip.parse_str(self.cleaned_data.get('prefix'))
except BadIPResource:
raise forms.ValidationError('invalid prefix')
return str(r)
def clean(self):
try:
- r = str_to_resource_range(self.cleaned_data.get('prefix'))
+ r = resource_range_ip.parse_str(self.cleaned_data.get('prefix'))
if r.prefixlen() > self.cleaned_data.get('max_prefixlen'):
raise forms.ValidationError('max length is smaller than mask')
except BadIPResource:
diff --git a/rpkid/rpki/gui/app/glue.py b/rpkid/rpki/gui/app/glue.py
index cad48147..03225de7 100644
--- a/rpkid/rpki/gui/app/glue.py
+++ b/rpkid/rpki/gui/app/glue.py
@@ -110,14 +110,6 @@ def list_received_resources(log, conf):
print >>log, "error: unexpected pdu from rpkid type=%s" % type(pdu)
-def str_to_resource_range(prefix):
- try:
- r = resource_range_ipv4.parse_str(prefix)
- except BadIPResource:
- r = resource_range_ipv6.parse_str(prefix)
- return r
-
-
def get_email_list(conf):
"""Return a list of the contact emails for this user.
diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py
index c5e6ece1..08e43605 100644
--- a/rpkid/rpki/gui/app/views.py
+++ b/rpkid/rpki/gui/app/views.py
@@ -35,8 +35,8 @@ from django.views.generic import DetailView
from rpki.irdb import Zookeeper, ChildASN, ChildNet
from rpki.gui.app import models, forms, glue, range_list
-from rpki.resource_set import (resource_range_as, resource_range_ipv4,
- resource_range_ipv6, roa_prefix_ipv4)
+from rpki.resource_set import (resource_range_as, resource_range_ip,
+ roa_prefix_ipv4)
from rpki import sundial
import rpki.exceptions
@@ -331,12 +331,8 @@ def child_add_prefix(request, pk):
form = forms.AddNetForm(request.POST, child=child)
if form.is_valid():
address_range = form.cleaned_data.get('address_range')
- if ':' in address_range:
- r = resource_range_ipv6.parse_str(address_range)
- version = 'IPv6'
- else:
- r = resource_range_ipv4.parse_str(address_range)
- version = 'IPv4'
+ r = resource_range_ip.parse_str(address_range)
+ version = 'IPv%d' % r.version
child.address_ranges.create(start_ip=str(r.min), end_ip=str(r.max),
version=version)
Zookeeper(handle=conf.handle, logstream=logstream).run_rpkid_now()
@@ -529,12 +525,12 @@ def roa_create_confirm(request):
if form.is_valid():
asn = form.cleaned_data.get('asn')
prefix = form.cleaned_data.get('prefix')
- rng = glue.str_to_resource_range(prefix)
+ rng = resource_range_ip.parse_str(prefix)
max_prefixlen = form.cleaned_data.get('max_prefixlen')
# Always create ROA requests with a single prefix.
# https://trac.rpki.net/ticket/32
roa = models.ROARequest.objects.create(issuer=conf, asn=asn)
- v = 'IPv4' if isinstance(rng, resource_range_ipv4) else 'IPv6'
+ v = 'IPv%d' % rng.version
roa.prefixes.create(version=v, prefix=str(rng.min),
prefixlen=rng.prefixlen(),
max_prefixlen=max_prefixlen)
@@ -659,7 +655,7 @@ def refresh(request):
def roa_match(rng):
"""Return a list of tuples of matching routes and roas."""
- if isinstance(rng, resource_range_ipv6):
+ if rng.min.version == 6:
route_manager = models.RouteOriginV6.objects
pfx = 'prefixes_v6'
else: