X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fpuppetmaster%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fgen_tlsa_entry.rb;h=7b846b90c327ba98c59ae792b3c26ec17438b27e;hb=a97bb246b7122f4bb7686b9b48ee379e00bf4914;hp=7c07b7c9fcf5d5b978821ef7eb4ad7e373a6a27f;hpb=b41bbe0bcc0ca74548ff8e99c3014452a7dc64f2;p=dsa-puppet.git 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 7c07b7c9..7b846b90 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb @@ -4,13 +4,23 @@ module Puppet::Parser::Functions hostname = args.shift() port = args.shift() + res = [] 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| - return i.read - } + IO.popen(cmd, "r") {|i| res << i.read } else - return "; certfile #{certfile} 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 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] + new_entry = '' + IO.popen(cmd, "r") {|i| new_entry = i.read } + if not res.include?(new_entry) + res << new_entry + end + end + + return res.join("\n") end end