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 = []
- res << "; cert #{certfile} for #{hostname}:#{port}."
- 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)