X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fgen_tlsa_entry.rb;h=1257ae81c9731d5889e9f698b64403bae39bdc5e;hp=53a4922bd23594bba28d9879b10e1c97703a2543;hb=cdf648b13dacc11edd25af11c93a67dbe7097743;hpb=4f61b8e70efe97667851c2db0034339a33ae1c06 diff --git a/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb b/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb index 53a4922b..1257ae81 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb @@ -7,29 +7,29 @@ module Puppet::Parser::Functions if port.kind_of?(Array) ports = port else - ports = [ port ] + ports = [port] end res = [] - res << "; cert #{certfile} for #{hostname}:#{port}." - ports.each{ |port| - cf = certfile - if File.exist?(cf) - cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', cf, '--port', port.to_s, hostname] + res << "; cert #{certfile} for #{hostname}:#{ports}." + ports.each do |port| + if File.exist?(certfile) + cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', certfile, '--port', port.to_s, hostname] IO.popen(cmd, "r") {|i| res << i.read } else - res << "; certfile #{cf} did not exist to create TLSA record for #{hostname}:#{port}." + res << "; certfile #{certfile} did not exist to create TLSA record for #{hostname}:#{port}." end - if cf.gsub!(/\.crt$/, '-new.crt') and File.exist?(cf) - cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', cf, '--port', port.to_s, hostname] + cfnew = certfile.gsub(/\.crt$/, '-new.crt') + if cfnew != certfile and File.exist?(cfnew) + cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', cfnew, '--port', port.to_s, hostname] new_entry = '' IO.popen(cmd, "r") {|i| new_entry = i.read } if not res.include?(new_entry) res << new_entry end end - } + end return res.join("\n") end