mirror of
https://github.com/internetee/registry.git
synced 2025-06-09 06:04:56 +02:00
added glue record support
This commit is contained in:
parent
e24301ad0c
commit
156633cd02
2 changed files with 23 additions and 7 deletions
|
@ -14,7 +14,7 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
domain.nameservers.each do |nameserver|
|
domain.nameservers.each do |nameserver|
|
||||||
next if nameserver.nameserver_failed_validation? || nameserver.validated?
|
next if nameserver.nameserver_failed_validation? || nameserver.validated?
|
||||||
|
|
||||||
result = NameserverValidator.run(domain_name: domain.name, hostname: nameserver.hostname)
|
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
||||||
|
|
||||||
if result[:result]
|
if result[:result]
|
||||||
add_nameserver_to_succesfully(nameserver)
|
add_nameserver_to_succesfully(nameserver)
|
||||||
|
@ -40,7 +40,7 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
domain.nameservers.each do |nameserver|
|
domain.nameservers.each do |nameserver|
|
||||||
next if nameserver.nameserver_failed_validation?
|
next if nameserver.nameserver_failed_validation?
|
||||||
|
|
||||||
result = NameserverValidator.run(domain_name: domain.name, hostname: nameserver.hostname)
|
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
||||||
|
|
||||||
if result[:result]
|
if result[:result]
|
||||||
add_nameserver_to_succesfully(nameserver)
|
add_nameserver_to_succesfully(nameserver)
|
||||||
|
@ -87,9 +87,9 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
when 'not found'
|
when 'not found'
|
||||||
text = "Seems nameserver hostname **#{nameserver.hostname}** doesn't exist"
|
text = "Seems nameserver hostname **#{nameserver.hostname}** doesn't exist"
|
||||||
when 'exception'
|
when 'exception'
|
||||||
text = "Something goes wrong, exception reason: **#{result[:error_info]}**"
|
text = "Something went wrong, exception reason: **#{result[:error_info]}**"
|
||||||
when 'domain'
|
when 'domain'
|
||||||
text = "#{domain} not found in zone"
|
text = "#{domain} zone is not in nameserver**#{nameserver.hostname}**"
|
||||||
end
|
end
|
||||||
|
|
||||||
logger.info text
|
logger.info text
|
||||||
|
|
|
@ -7,8 +7,23 @@ module NameserverValidator
|
||||||
VALIDATION_DOMAIN_PERIOD = 8.hours.freeze
|
VALIDATION_DOMAIN_PERIOD = 8.hours.freeze
|
||||||
VALID_NAMESERVER_COUNT_THRESHOLD = 3
|
VALID_NAMESERVER_COUNT_THRESHOLD = 3
|
||||||
|
|
||||||
def run(domain_name:, hostname:)
|
def run(domain_name:, nameserver:)
|
||||||
validate(domain_name: domain_name, hostname: hostname)
|
result_response = validate(domain_name: domain_name, hostname: nameserver.hostname)
|
||||||
|
|
||||||
|
unless result_response[:result] && result_response[:reason] == :exception
|
||||||
|
if result_response[:error_info].to_s.include? "Nameserver invalid!"
|
||||||
|
if nameserver.ipv4.present?
|
||||||
|
p "+++++++"
|
||||||
|
result_response = validate(domain_name: domain_name, hostname: nameserver.ipv4)
|
||||||
|
elsif nameserver.ipv6.present?
|
||||||
|
result_response = validate(domain_name: domain_name, hostname: nameserver.ipv6)
|
||||||
|
end
|
||||||
|
|
||||||
|
result_response
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
result_response
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -44,6 +59,7 @@ module NameserverValidator
|
||||||
|
|
||||||
def setup_resolver(hostname)
|
def setup_resolver(hostname)
|
||||||
resolver = Dnsruby::Resolver.new
|
resolver = Dnsruby::Resolver.new
|
||||||
|
resolver.query_timeout = 2
|
||||||
resolver.retry_times = 3
|
resolver.retry_times = 3
|
||||||
resolver.recurse = 0 # Send out non-recursive queries
|
resolver.recurse = 0 # Send out non-recursive queries
|
||||||
# disable caching otherwise SOA is cached from first nameserver queried
|
# disable caching otherwise SOA is cached from first nameserver queried
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue