From 5d19747e6d11fe2a858a25eca511373b1655c88f Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 5 Nov 2015 19:54:43 +0100 Subject: [PATCH] support multiple ports in gen tlsa --- .../puppet/parser/functions/gen_tlsa_entry.rb | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) 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 7b846b90..fab4b92c 100644 --- a/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb +++ b/modules/puppetmaster/lib/puppet/parser/functions/gen_tlsa_entry.rb @@ -4,22 +4,30 @@ 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| res << i.read } + if port.kind_of?(Array) + ports = port else - res << "; certfile #{certfile} did not exist to create TLSA record for #{hostname}:#{port}." + ports = [ 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 + res = [] + ports.each{ |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 #{certfile} did not exist to create TLSA record for #{hostname}:#{port}." end - 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 -- 2.39.2