Merge pull request #6589 from mitchellh/sethvargo/escape_identity_file
Escape identify file path
This commit is contained in:
commit
db6bd5e824
|
@ -6,11 +6,7 @@ Host <%= host_key %>
|
|||
StrictHostKeyChecking no
|
||||
PasswordAuthentication no
|
||||
<% private_key_path.each do |path| %>
|
||||
<% if path.include?(" ") -%>
|
||||
IdentityFile "<%= path %>"
|
||||
<% else -%>
|
||||
IdentityFile <%= path %>
|
||||
<% end -%>
|
||||
IdentityFile <%= path.inspect %>
|
||||
<% end -%>
|
||||
IdentitiesOnly yes
|
||||
LogLevel FATAL
|
||||
|
|
|
@ -92,8 +92,8 @@ Host #{machine.name}
|
|||
|
||||
subject.execute
|
||||
|
||||
expect(output).to include("IdentityFile foo")
|
||||
expect(output).to include("IdentityFile bar")
|
||||
expect(output).to include('IdentityFile "foo"')
|
||||
expect(output).to include('IdentityFile "bar"')
|
||||
end
|
||||
|
||||
it "puts quotes around an identityfile path if it has a space" do
|
||||
|
@ -107,5 +107,17 @@ Host #{machine.name}
|
|||
|
||||
expect(output).to include('IdentityFile "with a space"')
|
||||
end
|
||||
|
||||
it "escapes special characters" do
|
||||
allow(machine).to receive(:ssh_info) { ssh_info.merge(private_key_path: ['/private/tmp/test of "vagrant" plugin/']) }
|
||||
output = ""
|
||||
allow(subject).to receive(:safe_puts) do |data|
|
||||
output += data if data
|
||||
end
|
||||
|
||||
subject.execute
|
||||
|
||||
expect(output).to include('"/private/tmp/test of \"vagrant\" plugin/"')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue