mirror of
https://github.com/internetee/registry.git
synced 2025-07-20 09:46:09 +02:00
updated nameserver letter
This commit is contained in:
parent
fff7bcb1cf
commit
f6b352a087
8 changed files with 21 additions and 21 deletions
|
@ -12,7 +12,7 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
|
|
||||||
domains.each do |domain|
|
domains.each do |domain|
|
||||||
domain.nameservers.each do |nameserver|
|
domain.nameservers.each do |nameserver|
|
||||||
next if nameserver.nameserver_failed_validation? || nameserver.validated?
|
next if nameserver.failed_validation? || nameserver.validated?
|
||||||
|
|
||||||
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
return logger.info 'Domain not has nameservers' if domain.nameservers.empty?
|
return logger.info 'Domain not has nameservers' if domain.nameservers.empty?
|
||||||
|
|
||||||
domain.nameservers.each do |nameserver|
|
domain.nameservers.each do |nameserver|
|
||||||
next if nameserver.nameserver_failed_validation?
|
next if nameserver.failed_validation?
|
||||||
|
|
||||||
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
result = NameserverValidator.run(domain_name: domain.name, nameserver: nameserver)
|
||||||
|
|
||||||
|
@ -73,6 +73,8 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
|
|
||||||
nameserver.failed_validation_reason = reason
|
nameserver.failed_validation_reason = reason
|
||||||
nameserver.save
|
nameserver.save
|
||||||
|
|
||||||
|
failed_log(text: reason, nameserver: nameserver, domain: nameserver.domain) if nameserver.failed_validation?
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_result(result, nameserver)
|
def parse_result(result, nameserver)
|
||||||
|
@ -95,25 +97,24 @@ class NameserverRecordValidationJob < ApplicationJob
|
||||||
end
|
end
|
||||||
|
|
||||||
logger.info text
|
logger.info text
|
||||||
failed_log(text: text, nameserver: nameserver, domain: domain)
|
|
||||||
add_nameserver_to_failed(nameserver: nameserver, reason: text)
|
add_nameserver_to_failed(nameserver: nameserver, reason: text)
|
||||||
|
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
def failed_log(text:, nameserver:, domain:)
|
def failed_log(text:, nameserver:, domain:)
|
||||||
inform_to_tech_contact(domain: domain, text: text)
|
inform_to_tech_contact(domain: domain, nameserver: nameserver, text: text)
|
||||||
inform_to_registrar(text: text, nameserver: nameserver)
|
inform_to_registrar(text: text, nameserver: nameserver)
|
||||||
|
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
def inform_to_tech_contact(domain:, text: nil)
|
def inform_to_tech_contact(domain:, nameserver:, text: nil)
|
||||||
ContactNotification.notify_tech_contact(domain: domain, reason: 'nameserver')
|
ContactNotification.notify_tech_contact(domain: domain, nameserver: nameserver, reason: 'nameserver')
|
||||||
end
|
end
|
||||||
|
|
||||||
def inform_to_registrar(nameserver:, text: nil)
|
def inform_to_registrar(nameserver:, text: nil)
|
||||||
text = "Host record #{nameserver.hostname} of a domain #{nameserver.domain} is invalid. Please fix or contact the registrant."
|
text = "Host record #{nameserver.hostname} of a domain #{nameserver.domain} is invalid.
|
||||||
|
Please fix or contact the registrant. Problem with nameserver #{nameserver} - #{nameserver.failed_validation_reason}"
|
||||||
logger.info text
|
logger.info text
|
||||||
ContactNotification.notify_registrar(domain: nameserver.domain, text: text)
|
ContactNotification.notify_registrar(domain: nameserver.domain, text: text)
|
||||||
end
|
end
|
||||||
|
|
|
@ -133,13 +133,6 @@ class ValidateDnssecJob < ApplicationJob
|
||||||
resolver
|
resolver
|
||||||
end
|
end
|
||||||
|
|
||||||
def log_templates
|
|
||||||
{
|
|
||||||
"true" => "validated successfully",
|
|
||||||
"false" => "validated fail"
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
def logger
|
def logger
|
||||||
@logger ||= Rails.logger
|
@logger ||= Rails.logger
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,9 +10,10 @@ class ContactInformMailer < ApplicationMailer
|
||||||
mail(to: contact.email, subject: subject)
|
mail(to: contact.email, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_nameserver(contact:, domain:)
|
def notify_nameserver(contact:, domain:, nameserver:)
|
||||||
@contact = contact
|
@contact = contact
|
||||||
@domain = domain
|
@domain = domain
|
||||||
|
@nameserver = nameserver
|
||||||
|
|
||||||
subject = "Domeeni #{@domain.name} nimeserveri kirjed ei ole korrektsed / The host records of the domain #{@domain.name} are invalid"
|
subject = "Domeeni #{@domain.name} nimeserveri kirjed ei ole korrektsed / The host records of the domain #{@domain.name} are invalid"
|
||||||
mail(to: contact.email, subject: subject)
|
mail(to: contact.email, subject: subject)
|
||||||
|
|
|
@ -55,7 +55,7 @@ class Nameserver < ApplicationRecord
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
def nameserver_failed_validation?
|
def failed_validation?
|
||||||
return false if validation_counter.nil?
|
return false if validation_counter.nil?
|
||||||
|
|
||||||
validation_counter >= NameserverValidator::VALID_NAMESERVER_COUNT_THRESHOLD
|
validation_counter >= NameserverValidator::VALID_NAMESERVER_COUNT_THRESHOLD
|
||||||
|
|
|
@ -5,7 +5,7 @@ module ContactNotification
|
||||||
domain.registrar.notifications.create(text: text)
|
domain.registrar.notifications.create(text: text)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_tech_contact(domain:, reason: nil)
|
def notify_tech_contact(domain:, nameserver: nil, reason: nil)
|
||||||
case reason
|
case reason
|
||||||
when 'dnssec'
|
when 'dnssec'
|
||||||
domain.tech_contacts.each do |tech|
|
domain.tech_contacts.each do |tech|
|
||||||
|
@ -17,7 +17,7 @@ module ContactNotification
|
||||||
domain.tech_contacts.each do |tech|
|
domain.tech_contacts.each do |tech|
|
||||||
contact = Contact.find(tech.id)
|
contact = Contact.find(tech.id)
|
||||||
|
|
||||||
ContactInformMailer.notify_nameserver(contact: contact, domain: domain).deliver_now
|
ContactInformMailer.notify_nameserver(contact: contact, domain: domain, nameserver: nameserver).deliver_now
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,6 +6,8 @@ Eesti Interneti Sihtasutusele (EIS) juhib tähelepanu, et domeeni <%= @domain.na
|
||||||
Andmete parandamiseks vaadake palun üle domeeni nimeserverite seaditused või pöörduge palun oma registripidaja <%= @domain.registrar.name%> või nimeserveri teenuse pakkuja poole.
|
Andmete parandamiseks vaadake palun üle domeeni nimeserverite seaditused või pöörduge palun oma registripidaja <%= @domain.registrar.name%> või nimeserveri teenuse pakkuja poole.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<b>Viga nimesereriga</b> <%= @nameserver %> - <%= @nameserver.failed_validation_reason %>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Lisaküsimuste korral võtke palun ühendust oma registripidajaga:
|
Lisaküsimuste korral võtke palun ühendust oma registripidajaga:
|
||||||
</p>
|
</p>
|
||||||
|
@ -30,6 +32,8 @@ Lugupidamisega<br />
|
||||||
Please check the name server settings of the domain or contact your registrar <%= @domain.registrar.name%> or your name server service provider to correct this information.
|
Please check the name server settings of the domain or contact your registrar <%= @domain.registrar.name%> or your name server service provider to correct this information.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<b>Problem with nameserver</b> <%= @nameserver %> - <%= @nameserver.failed_validation_reason %>"
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Should you have additional questions, please contact your registrar:
|
Should you have additional questions, please contact your registrar:
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -93,6 +93,6 @@ class NameserverRecordValidationJobTest < ActiveSupport::TestCase
|
||||||
assert @nameserver.validation_counter, 1
|
assert @nameserver.validation_counter, 1
|
||||||
assert @nameserver.failed_validation_reason.include? "Serial number for nameserver hostname **#{@nameserver.hostname}** doesn't present. SOA validation failed."
|
assert @nameserver.failed_validation_reason.include? "Serial number for nameserver hostname **#{@nameserver.hostname}** doesn't present. SOA validation failed."
|
||||||
|
|
||||||
assert @nameserver.nameserver_failed_validation?
|
assert @nameserver.failed_validation?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,6 +4,7 @@ class ContactNotificationTest < ActionMailer::TestCase
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
@domain = domains(:shop)
|
@domain = domains(:shop)
|
||||||
|
@nameserver = nameservers(:shop_ns1)
|
||||||
@text = 'text'
|
@text = 'text'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,7 +15,7 @@ class ContactNotificationTest < ActionMailer::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_notify_tech_contacts_that_nameserver_is_broken
|
def test_notify_tech_contacts_that_nameserver_is_broken
|
||||||
ContactNotification.notify_tech_contact(domain: @domain, reason: 'nameserver')
|
ContactNotification.notify_tech_contact(domain: @domain, reason: 'nameserver', nameserver: @nameserver)
|
||||||
assert_equal @domain.tech_contacts.count, 2
|
assert_equal @domain.tech_contacts.count, 2
|
||||||
assert_emails 2
|
assert_emails 2
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue