diff --git a/src/storage.cr b/src/storage.cr index 9c6262e..809fe9c 100644 --- a/src/storage.cr +++ b/src/storage.cr @@ -460,9 +460,21 @@ class DNSManager::Storage # Wipes the zone from dnsmanager (zone db entry, generated zone file, tokens). wipe_zone user_id, domain_name + # Make sure both name servers are "absolute" domain names. + ns1 = if nameserver1.ends_with? '.' + nameserver1 + else + "#{nameserver1}." + end + ns2 = if nameserver2.ends_with? '.' + nameserver2 + else + "#{nameserver2}." + end + # Creates the new zone. zone = Zone.new domain_name - zone.delegation = Zone::Delegation.new nameserver1, nameserver2 + zone.delegation = Zone::Delegation.new ns1, ns2 zone.update_delegation @delegationdir # Once the new delegation file has been written, the script generating the (root) zone file must @@ -471,7 +483,7 @@ class DNSManager::Storage zones_by_domain.update_or_create zone - Response::DomainDelegated.new domain_name, nameserver1, nameserver2 + Response::DomainDelegated.new domain_name, ns1, ns2 end # Removes user data.