mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 18:26:06 +02:00
Validate IPv4 on nameserver when in the same zone with domain
This commit is contained in:
parent
4f780e0c1a
commit
b85420a598
4 changed files with 28 additions and 0 deletions
|
@ -49,6 +49,7 @@ class Domain < ActiveRecord::Base
|
|||
validate :validate_tech_contacts_uniqueness
|
||||
validate :validate_admin_contacts_uniqueness
|
||||
validate :validate_domain_statuses_uniqueness
|
||||
validate :validate_nameserver_ips
|
||||
|
||||
attr_accessor :owner_contact_typeahead
|
||||
|
||||
|
@ -98,6 +99,15 @@ class Domain < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def validate_nameserver_ips
|
||||
nameservers.each do |ns|
|
||||
next if !ns.hostname.end_with?(name)
|
||||
next if ns.ipv4.present?
|
||||
errors.add(:nameservers, :invalid) if errors[:nameservers].blank?
|
||||
ns.errors.add(:ipv4, :blank)
|
||||
end
|
||||
end
|
||||
|
||||
def validate_tech_contacts_uniqueness
|
||||
contacts = domain_contacts.reject(&:marked_for_destruction?).select { |x| x.contact_type == DomainContact::TECH }
|
||||
validate_domain_contacts_uniqueness(contacts)
|
||||
|
|
|
@ -17,6 +17,9 @@ class Nameserver < ActiveRecord::Base
|
|||
[:hostname, :invalid, { value: { obj: 'hostObj', val: hostname } }],
|
||||
[:ipv4, :invalid, { value: { obj: 'hostAddr', val: ipv4 } }],
|
||||
[:ipv6, :invalid, { value: { obj: 'hostAddr', val: ipv6 } }]
|
||||
],
|
||||
'2306' => [
|
||||
[:ipv4, :blank]
|
||||
]
|
||||
}
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue