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