diff --git a/app/models/nameserver.rb b/app/models/nameserver.rb index d9fdde406..4a0361397 100644 --- a/app/models/nameserver.rb +++ b/app/models/nameserver.rb @@ -81,7 +81,7 @@ class Nameserver < ActiveRecord::Base def glue_record_required? return unless hostname? && domain - hostname.end_with?(domain.name) + DomainName(hostname).domain == domain.name end def normalize_attributes diff --git a/test/models/nameserver/glue_record_test.rb b/test/models/nameserver/glue_record_test.rb index 599f04ec6..105138c8a 100644 --- a/test/models/nameserver/glue_record_test.rb +++ b/test/models/nameserver/glue_record_test.rb @@ -24,4 +24,12 @@ class NameserverGlueRecordTest < ActiveSupport::TestCase @nameserver.ipv4 = @nameserver.ipv6 = '' assert @nameserver.valid? end + + def test_valid_without_ip_when_glue_record_is_not_required + domain = Domain.new(name: 'le.test') + nameserver = Nameserver.new(domain: domain, hostname: 'ns1.example.test') + nameserver.ipv4 = nameserver.ipv6 = nil + + assert nameserver.valid? + end end