From 999c161c8ec052272dc64c3d11dcda6fdaaa2585 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 13 Jun 2016 13:17:01 +0300 Subject: [PATCH 1/2] Story#120095555 - glue nameserver may have IPv4 or IPv6 --- app/models/domain.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/domain.rb b/app/models/domain.rb index 5959cbb90..76cb23ff0 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -478,9 +478,11 @@ class Domain < ActiveRecord::Base def validate_nameserver_ips nameservers.to_a.reject(&:marked_for_destruction?).each do |ns| next unless ns.hostname.end_with?(".#{name}") - next if ns.ipv4.present? + next if ns.ipv4.present? || ns.ipv6.present? + errors.add(:nameservers, :invalid) if errors[:nameservers].blank? ns.errors.add(:ipv4, :blank) + ns.errors.add(:ipv6, :blank) end end From 67e32f3a3648168ffb3451dd551bc3d73e1fe08e Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Wed, 15 Jun 2016 11:36:57 +0300 Subject: [PATCH 2/2] better error on validating glue IP address --- app/models/domain.rb | 1 - app/models/nameserver.rb | 2 +- config/locales/en.yml | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/models/domain.rb b/app/models/domain.rb index 76cb23ff0..3751da5b6 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -482,7 +482,6 @@ class Domain < ActiveRecord::Base errors.add(:nameservers, :invalid) if errors[:nameservers].blank? ns.errors.add(:ipv4, :blank) - ns.errors.add(:ipv6, :blank) end end diff --git a/app/models/nameserver.rb b/app/models/nameserver.rb index 9ca1bebf7..86cd7e002 100644 --- a/app/models/nameserver.rb +++ b/app/models/nameserver.rb @@ -32,7 +32,7 @@ class Nameserver < ActiveRecord::Base [:ipv4, :invalid, { value: { obj: 'hostAddr', val: ipv4 } }], [:ipv6, :invalid, { value: { obj: 'hostAddr', val: ipv6 } }] ], - '2306' => [ + '2003' => [ [:ipv4, :blank] ] } diff --git a/config/locales/en.yml b/config/locales/en.yml index 400985d16..f2f4d061f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -136,7 +136,7 @@ en: taken: 'Nameserver already exists on this domain' puny_to_long: 'Hostname puny label is too long (maximum is 63 characters)' ipv4: - blank: 'IPv4 is missing' + blank: 'IP is missing' invalid: 'IPv4 is invalid' ipv6: invalid: 'IPv6 is invalid'