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=2c826b9653b19d17f650036eec3357b128b7ec06;hp=fab4b92cfc9575b45822ba897d357c97f703c70f;hb=90461a264b17c567a0d673317d424897bea75571;hpb=5d19747e6d11fe2a858a25eca511373b1655c88f 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 fab4b92c..2c826b96 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb @@ -4,23 +4,25 @@ module Puppet::Parser::Functions hostname = args.shift() port = args.shift() - if port.kind_of?(Array) - ports = port + if port.kind_of?(String) + ports = port.split() else - ports = [ port ] + ports = port end res = [] - ports.each{ |port| - if File.exist?(certfile) - cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', certfile, '--port', port.to_s, hostname] + res << "; cert #{certfile} for #{hostname}:#{ports}." + 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] IO.popen(cmd, "r") {|i| res << i.read } else - res << "; certfile #{certfile} did not exist to create TLSA record for #{hostname}:#{port}." + res << "; certfile #{cf} did not exist to create TLSA record for #{hostname}:#{port}." end - if certfile.gsub!(/\.crt$/, '-new.crt') and File.exist?(certfile) - cmd = ['swede', 'create', '--usage=3', '--selector=1', '--mtype=1', '--certificate', certfile, '--port', port.to_s, hostname] + 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] new_entry = '' IO.popen(cmd, "r") {|i| new_entry = i.read } if not res.include?(new_entry)