مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2026-01-20 22:59:48 +00:00
style(rubocop): fix all safe auto correctable offenses
هذا الالتزام موجود في:
@@ -34,39 +34,39 @@
|
||||
# index_domains_on_uuid (uuid)
|
||||
#
|
||||
|
||||
require 'resolv'
|
||||
require "resolv"
|
||||
|
||||
class Domain < ApplicationRecord
|
||||
|
||||
include HasUUID
|
||||
|
||||
require_dependency 'domain/dns_checks'
|
||||
require_dependency 'domain/dns_verification'
|
||||
require_dependency "domain/dns_checks"
|
||||
require_dependency "domain/dns_verification"
|
||||
|
||||
VERIFICATION_EMAIL_ALIASES = ['webmaster', 'postmaster', 'admin', 'administrator', 'hostmaster']
|
||||
VERIFICATION_EMAIL_ALIASES = ["webmaster", "postmaster", "admin", "administrator", "hostmaster"]
|
||||
|
||||
belongs_to :server, :optional => true
|
||||
belongs_to :owner, :optional => true, :polymorphic => true
|
||||
has_many :routes, :dependent => :destroy
|
||||
has_many :track_domains, :dependent => :destroy
|
||||
belongs_to :server, optional: true
|
||||
belongs_to :owner, optional: true, polymorphic: true
|
||||
has_many :routes, dependent: :destroy
|
||||
has_many :track_domains, dependent: :destroy
|
||||
|
||||
VERIFICATION_METHODS = ['DNS', 'Email']
|
||||
VERIFICATION_METHODS = ["DNS", "Email"]
|
||||
|
||||
validates :name, :presence => true, :format => {:with => /\A[a-z0-9\-\.]*\z/}, :uniqueness => {:scope => [:owner_type, :owner_id], :message => "is already added"}
|
||||
validates :verification_method, :inclusion => {:in => VERIFICATION_METHODS}
|
||||
validates :name, presence: true, format: { with: /\A[a-z0-9\-.]*\z/ }, uniqueness: { scope: [:owner_type, :owner_id], message: "is already added" }
|
||||
validates :verification_method, inclusion: { in: VERIFICATION_METHODS }
|
||||
|
||||
random_string :dkim_identifier_string, :type => :chars, :length => 6, :unique => true, :upper_letters_only => true
|
||||
random_string :dkim_identifier_string, type: :chars, length: 6, unique: true, upper_letters_only: true
|
||||
|
||||
before_create :generate_dkim_key
|
||||
|
||||
scope :verified, -> { where.not(:verified_at => nil) }
|
||||
scope :verified, -> { where.not(verified_at: nil) }
|
||||
|
||||
when_attribute :verification_method, :changes_to => :anything do
|
||||
when_attribute :verification_method, changes_to: :anything do
|
||||
before_save do
|
||||
if self.verification_method == 'DNS'
|
||||
self.verification_token = Nifty::Utils::RandomString.generate(:length => 32)
|
||||
elsif self.verification_method == 'Email'
|
||||
self.verification_token = rand(999999).to_s.ljust(6, '0')
|
||||
if verification_method == "DNS"
|
||||
self.verification_token = Nifty::Utils::RandomString.generate(length: 32)
|
||||
elsif verification_method == "Email"
|
||||
self.verification_token = rand(999_999).to_s.ljust(6, "0")
|
||||
else
|
||||
self.verification_token = nil
|
||||
end
|
||||
@@ -79,13 +79,13 @@ class Domain < ApplicationRecord
|
||||
|
||||
def verify
|
||||
self.verified_at = Time.now
|
||||
self.save!
|
||||
save!
|
||||
end
|
||||
|
||||
def parent_domains
|
||||
parts = self.name.split('.')
|
||||
parts[0,parts.size-1].each_with_index.map do |p, i|
|
||||
parts[i..-1].join('.')
|
||||
parts = name.split(".")
|
||||
parts[0, parts.size - 1].each_with_index.map do |p, i|
|
||||
parts[i..-1].join(".")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -94,7 +94,7 @@ class Domain < ApplicationRecord
|
||||
end
|
||||
|
||||
def dkim_key
|
||||
@dkim_key ||= OpenSSL::PKey::RSA.new(self.dkim_private_key)
|
||||
@dkim_key ||= OpenSSL::PKey::RSA.new(dkim_private_key)
|
||||
end
|
||||
|
||||
def to_param
|
||||
@@ -114,12 +114,12 @@ class Domain < ApplicationRecord
|
||||
end
|
||||
|
||||
def dkim_record
|
||||
public_key = dkim_key.public_key.to_s.gsub(/\-+[A-Z ]+\-+\n/, '').gsub(/\n/, '')
|
||||
public_key = dkim_key.public_key.to_s.gsub(/-+[A-Z ]+-+\n/, "").gsub(/\n/, "")
|
||||
"v=DKIM1; t=s; h=sha256; p=#{public_key};"
|
||||
end
|
||||
|
||||
def dkim_identifier
|
||||
Postal.config.dns.dkim_identifier + "-#{self.dkim_identifier_string}"
|
||||
Postal.config.dns.dkim_identifier + "-#{dkim_identifier_string}"
|
||||
end
|
||||
|
||||
def dkim_record_name
|
||||
@@ -127,7 +127,7 @@ class Domain < ApplicationRecord
|
||||
end
|
||||
|
||||
def return_path_domain
|
||||
"#{Postal.config.dns.custom_return_path_prefix}.#{self.name}"
|
||||
"#{Postal.config.dns.custom_return_path_prefix}.#{name}"
|
||||
end
|
||||
|
||||
def nameservers
|
||||
@@ -135,7 +135,7 @@ class Domain < ApplicationRecord
|
||||
end
|
||||
|
||||
def resolver
|
||||
@resolver ||= Postal.config.general.use_local_ns_for_domains? ? Resolv::DNS.new : Resolv::DNS.new(:nameserver => nameservers)
|
||||
@resolver ||= Postal.config.general.use_local_ns_for_domains? ? Resolv::DNS.new : Resolv::DNS.new(nameserver: nameservers)
|
||||
end
|
||||
|
||||
private
|
||||
@@ -143,15 +143,17 @@ class Domain < ApplicationRecord
|
||||
def get_nameservers
|
||||
local_resolver = Resolv::DNS.new
|
||||
ns_records = []
|
||||
parts = name.split('.')
|
||||
parts = name.split(".")
|
||||
(parts.size - 1).times do |n|
|
||||
d = parts[n, parts.size - n + 1].join('.')
|
||||
d = parts[n, parts.size - n + 1].join(".")
|
||||
ns_records = local_resolver.getresources(d, Resolv::DNS::Resource::IN::NS).map { |s| s.name.to_s }
|
||||
break unless ns_records.blank?
|
||||
break if ns_records.present?
|
||||
end
|
||||
return [] if ns_records.blank?
|
||||
ns_records = ns_records.map{|r| local_resolver.getresources(r, Resolv::DNS::Resource::IN::A).map { |s| s.address.to_s} }.flatten
|
||||
|
||||
ns_records = ns_records.map { |r| local_resolver.getresources(r, Resolv::DNS::Resource::IN::A).map { |s| s.address.to_s } }.flatten
|
||||
return [] if ns_records.blank?
|
||||
|
||||
ns_records
|
||||
end
|
||||
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم