lib/vagrant/ssh.rb in vagrant-0.4.0 vs lib/vagrant/ssh.rb in vagrant-0.4.1
- old
+ new
@@ -130,11 +130,23 @@
# Check if port was specified in options hash
pnum = opts[:port]
return pnum if pnum
# Check if we have an SSH forwarded port
- pnum = env.vm.vm.forwarded_ports.detect do |fp|
- fp.name == env.config.ssh.forwarded_port_key
+ if VirtualBox.version =~ /^3\.1\./
+ pnum = env.vm.vm.forwarded_ports.detect do |fp|
+ fp.name == env.config.ssh.forwarded_port_key
+ end
+ else
+ # VirtualBox 3.2 specific
+ pnum = nil
+ env.vm.vm.network_adapters.each do |na|
+ pnum = na.nat_driver.forwarded_ports.detect do |fp|
+ fp.name == env.config.ssh.forwarded_port_key
+ end
+
+ break if pnum
+ end
end
return pnum.hostport if pnum
# Fall back to the default