From 767f147469f116e0241bd1f769c423b7a27e0b75 Mon Sep 17 00:00:00 2001 From: Teemu Matilainen Date: Sun, 26 Jan 2014 00:17:12 -0300 Subject: [PATCH 1/2] guests/openbsd: OpenBSD is not a Linux derivative --- plugins/guests/openbsd/plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/guests/openbsd/plugin.rb b/plugins/guests/openbsd/plugin.rb index 28f44985b..b9ec24dd4 100644 --- a/plugins/guests/openbsd/plugin.rb +++ b/plugins/guests/openbsd/plugin.rb @@ -6,7 +6,7 @@ module VagrantPlugins name "OpenBSD guest" description "OpenBSD guest support." - guest("openbsd", "linux") do + guest("openbsd") do require File.expand_path("../guest", __FILE__) Guest end From c11820c848f89dc7433cd7fe7d39070cfa76eb40 Mon Sep 17 00:00:00 2001 From: Teemu Matilainen Date: Tue, 28 Jan 2014 18:44:59 -0300 Subject: [PATCH 2/2] guests/openbsd: Add back `insert_public_key` cap Copied from linux guest. --- .../guests/openbsd/cap/insert_public_key.rb | 21 +++++++++++++++++++ plugins/guests/openbsd/plugin.rb | 5 +++++ 2 files changed, 26 insertions(+) create mode 100644 plugins/guests/openbsd/cap/insert_public_key.rb diff --git a/plugins/guests/openbsd/cap/insert_public_key.rb b/plugins/guests/openbsd/cap/insert_public_key.rb new file mode 100644 index 000000000..ca837e23e --- /dev/null +++ b/plugins/guests/openbsd/cap/insert_public_key.rb @@ -0,0 +1,21 @@ +require "vagrant/util/shell_quote" + +module VagrantPlugins + module GuestOpenBSD + module Cap + class InsertPublicKey + def self.insert_public_key(machine, contents) + contents = Vagrant::Util::ShellQuote.escape(contents, "'") + contents = contents.gsub("\n", "\\n") + + machine.communicate.tap do |comm| + comm.execute("mkdir -p ~/.ssh") + comm.execute("chmod 0700 ~/.ssh") + comm.execute("printf '#{contents}' >> ~/.ssh/authorized_keys") + comm.execute("chmod 0600 ~/.ssh/authorized_keys") + end + end + end + end + end +end diff --git a/plugins/guests/openbsd/plugin.rb b/plugins/guests/openbsd/plugin.rb index b9ec24dd4..e47c9f65c 100644 --- a/plugins/guests/openbsd/plugin.rb +++ b/plugins/guests/openbsd/plugin.rb @@ -26,6 +26,11 @@ module VagrantPlugins Cap::Halt end + guest_capability("openbsd", "insert_public_key") do + require_relative "cap/insert_public_key" + Cap::InsertPublicKey + end + guest_capability("openbsd", "mount_nfs_folder") do require_relative "cap/mount_nfs_folder" Cap::MountNFSFolder