Fixes #810: Suppress unique IP validation on invalid IP addresses and prefixes

This commit is contained in:
Jeremy Stretch 2017-01-18 09:55:57 -05:00
parent f8a4f1b24f
commit 769537fe98

View File

@ -303,8 +303,9 @@ class Prefix(CreatedUpdatedModel, CustomFieldModel):
def clean(self):
# Disallow host masks
if self.prefix:
# Disallow host masks
if self.prefix.version == 4 and self.prefix.prefixlen == 32:
raise ValidationError({
'prefix': "Cannot create host addresses (/32) as prefixes. Create an IPv4 address instead."
@ -314,7 +315,7 @@ class Prefix(CreatedUpdatedModel, CustomFieldModel):
'prefix': "Cannot create host addresses (/128) as prefixes. Create an IPv6 address instead."
})
# Enforce unique IP space if applicable
# Enforce unique IP space (if applicable)
if (self.vrf is None and settings.ENFORCE_GLOBAL_UNIQUE) or (self.vrf and self.vrf.enforce_unique):
duplicate_prefixes = self.get_duplicates()
if duplicate_prefixes:
@ -419,7 +420,9 @@ class IPAddress(CreatedUpdatedModel, CustomFieldModel):
def clean(self):
# Enforce unique IP space if applicable
if self.address:
# Enforce unique IP space (if applicable)
if (self.vrf is None and settings.ENFORCE_GLOBAL_UNIQUE) or (self.vrf and self.vrf.enforce_unique):
duplicate_ips = self.get_duplicates()
if duplicate_ips: