mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-18 04:56:29 -06:00
Fixes #810: Suppress unique IP validation on invalid IP addresses and prefixes
This commit is contained in:
parent
f8a4f1b24f
commit
769537fe98
@ -303,8 +303,9 @@ class Prefix(CreatedUpdatedModel, CustomFieldModel):
|
|||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
|
||||||
# Disallow host masks
|
|
||||||
if self.prefix:
|
if self.prefix:
|
||||||
|
|
||||||
|
# Disallow host masks
|
||||||
if self.prefix.version == 4 and self.prefix.prefixlen == 32:
|
if self.prefix.version == 4 and self.prefix.prefixlen == 32:
|
||||||
raise ValidationError({
|
raise ValidationError({
|
||||||
'prefix': "Cannot create host addresses (/32) as prefixes. Create an IPv4 address instead."
|
'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."
|
'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):
|
if (self.vrf is None and settings.ENFORCE_GLOBAL_UNIQUE) or (self.vrf and self.vrf.enforce_unique):
|
||||||
duplicate_prefixes = self.get_duplicates()
|
duplicate_prefixes = self.get_duplicates()
|
||||||
if duplicate_prefixes:
|
if duplicate_prefixes:
|
||||||
@ -419,7 +420,9 @@ class IPAddress(CreatedUpdatedModel, CustomFieldModel):
|
|||||||
|
|
||||||
def clean(self):
|
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):
|
if (self.vrf is None and settings.ENFORCE_GLOBAL_UNIQUE) or (self.vrf and self.vrf.enforce_unique):
|
||||||
duplicate_ips = self.get_duplicates()
|
duplicate_ips = self.get_duplicates()
|
||||||
if duplicate_ips:
|
if duplicate_ips:
|
||||||
|
Loading…
Reference in New Issue
Block a user