From 23660455f9116e849d5989ae7616e506de928fb4 Mon Sep 17 00:00:00 2001 From: Ernesto Thorp Date: Fri, 5 Jul 2019 12:33:28 -0300 Subject: [PATCH 1/2] Using ANY brought other issues. Going back to SOA, and treating CNAME individually --- lib/local_acme.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/local_acme.rb b/lib/local_acme.rb index f4fe7a7..338dd90 100644 --- a/lib/local_acme.rb +++ b/lib/local_acme.rb @@ -186,12 +186,15 @@ def get_challenge_fqdn(domain) def get_domain_root(domain) domain = domain.sub /^\*\./, '' - packet = @res.query("#{domain}", Net::DNS::ANY) + packet = @res.query("#{domain}", Net::DNS::SOA) if !packet.authority.first.nil? && packet.authority.first != '' - return packet.authority.first.name + packet.authority.first.name + elsif !packet.answer.first.nil? && !packet.answer.first.type.nil? && packet.answer.first.type.upcase.eql?("CNAME") + packet = @res.query("#{domain}", Net::DNS::CNAME) + packet.authority.first.name if !packet.authority.first.nil? && !packet.authority.first.name.empty? + else + raise "SOA AUTHORITY NOT FOUND (challenge_txt_fqdn #{domain})" end - - raise "SOA AUTHORITY NOT FOUND (challenge_txt_fqdn #{domain})" end def add_domain_with_records(domain) From 0d60014493bf1a21a7e1d678e8e79a0a0f48d15c Mon Sep 17 00:00:00 2001 From: Ernesto Thorp Date: Thu, 29 Aug 2019 20:37:47 -0300 Subject: [PATCH 2/2] TXT record name is straightforward --- lib/local_acme.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/local_acme.rb b/lib/local_acme.rb index 338dd90..ddc7473 100644 --- a/lib/local_acme.rb +++ b/lib/local_acme.rb @@ -179,8 +179,7 @@ def search_gdns(domain) end def get_challenge_fqdn(domain) - is_wildcard = domain.index '*' - domain = get_domain_root(domain) unless is_wildcard.nil? + domain = domain.sub /^\*\./, '' "_acme-challenge.#{domain.sub(/\.$/, '')}" end