class LeSSL::DNS
Public Class Methods
new(nameservers=['8.8.8.8', '8.8.4.4'])
click to toggle source
# File lib/le_ssl/dns.rb, line 3 def initialize(nameservers=['8.8.8.8', '8.8.4.4']) @dns = Resolv::DNS.new(nameserver: nameservers) end
Public Instance Methods
challenge_record_invalid?(domain, key)
click to toggle source
# File lib/le_ssl/dns.rb, line 14 def challenge_record_invalid?(domain, key) return !challenge_record_valid?(domain, key) end
challenge_record_valid?(domain, key)
click to toggle source
Checks if the TXT record for a domain is valid.
# File lib/le_ssl/dns.rb, line 9 def challenge_record_valid?(domain, key) record = challenge_record(domain) return record && record.data == key end
Private Instance Methods
challenge_record(domain)
click to toggle source
@return [Resolv::DNS::Resource::IN::TXT, nil]
The challenge record for a defined domain. If no challenge present nil is returned.
# File lib/le_ssl/dns.rb, line 23 def challenge_record(domain) @dns.getresource("_acme-challenge.#{domain}", Resolv::DNS::Resource::IN::TXT) rescue Resolv::ResolvError => e nil # Return silently end