Mitchell Hashimoto
1a7937ed50
core: don't replace insecure key on base package [GH-5310]
2015-11-18 16:25:07 -08:00
Mitchell Hashimoto
85f1e05e2a
core: prune machine if non-existent CWD from index [GH-4742]
2015-11-18 15:48:59 -08:00
Mitchell Hashimoto
69d9bc0fe8
Environment can_install_provider and install_provider
2015-11-05 11:50:10 -08:00
Mitchell Hashimoto
32e981ce7c
core: machine-readable output should include standard UI output
...
As a "ui" type
2015-10-26 18:10:26 -07:00
Mitchell Hashimoto
cc8cdafdc3
test: test for IsEnvSet
2015-10-07 22:54:27 -04:00
Mitchell Hashimoto
ec0b0fb7f9
providers/virtualbox: IPv6 host only networks
2015-09-30 17:23:25 -07:00
Sam Phippen
eeb750cd33
Catch encoding problems with sources provided to Vagrant::Config::Loader#set
...
Here we implement a naive solution to #5605 which catches the case that
a provided source contains an object which cannot be inspected, because
an object contained within in has an #inspect string that returns a
string that is incompatible with the encoding in
`Encoding.default_external` or a string which cannot be downcast to
7-bit ascii.
The Ruby VM implementation of "#inspect" implements this checking on
these lines of code: http://git.io/vZYNS . A Ruby level override of
this method does not cause this problem. For example:
```ruby
class Foo
def inspect
"😍 ".encode("UTF-16LE")
end
```
will not cause the problem, because that's a Ruby implementation and the
VM's checks don't occur.
However, if we have an Object which **does** use the VM implementation
of inspect, that contains an object that has an inspect string which
returns non-ascii, we encounter the bug. For example:
```ruby
class Bar
def inspect
"😍 ".encode("UTF-16LE")
end
end
class Foo
def initialize
@bar = Bar.new
end
end
Foo.new.inspect
```
Will cause the issue.
The solution this patch provides basically catches the encoding error
and inserts a string which attempts to help the user work out which
object was provided without blowing up. Most likely, this was caused
by a user having a weird encoding coming out of one of the sources
passed in, but without a full repro case, it's not clear whether a patch
should be applied to a different object in the system.
Closes #5605 .
2015-09-08 17:30:50 +01:00
Sam Phippen
790fa9f8e2
Add a failing test for #5605
2015-09-08 17:15:51 +01:00
Mitchell Hashimoto
cea44847de
Merge branch 'filter_synced_folders' of https://github.com/maxlinc/vagrant into maxlinc-filter_synced_folders
2015-07-09 15:05:52 -06:00
Mitchell Hashimoto
1330244fef
core: save the UID that created a machine
2015-07-06 18:04:16 -06:00
Mitchell Hashimoto
6c06db776d
core: test for URI escaping
2015-07-06 16:26:06 -06:00
Mitchell Hashimoto
341534299d
core: ssh private_key_path overwrites insecure key [GH-5632]
2015-07-06 16:17:54 -06:00
Mitchell Hashimoto
e759df11a0
core: fix crash for missing options [GH-5550]
2015-07-06 10:36:41 -06:00
Seth Vargo
b92d4b21a1
Add UI::Interface#color?
2015-06-01 11:49:09 -04:00
Seth Vargo
294b0bca41
Merge pull request #5433 from marxarelli/feature/ui-custom-pipes
...
core: allow IO redirection of UI for testing
2015-05-30 12:49:09 -07:00
Jean-Francois Bibeau
45e14a8dc4
UNC paths should have backslashes, not front-slashes.
2015-04-16 11:02:58 -04:00
Jean-Francois Bibeau
415837c544
moved function to platform utils, added unit test as per @sethvargo
2015-04-06 16:51:55 -04:00
Dan Duvall
3b8bc2a433
core: allow IO redirection of UI for testing
...
Use of $stdin, $stdout, and $stderr globals makes testing difficult. By
exposing the IO objects as writable attributes, input/output can be more
easily simulated using StringIO or doubles.
2015-03-04 11:23:16 -08:00
Mitchell Hashimoto
a0be121f4f
Revert "Merge pull request #5274 from mitchellh/sethvargo/atlas_api"
...
This reverts commit 7f19284ef4
, reversing
changes made to f0284d000b
.
2015-02-03 06:39:28 +01:00
Seth Vargo
6fd685e96d
Fix failing tests
2015-02-02 19:24:50 -05:00
Simon Vetter
1bc364febc
add test for checksum options mapping
2015-01-21 21:40:25 +01:00
Max Lincoln
853042f2fa
Make sure allowed_synced_folder_types order overrides priority
2015-01-20 16:18:05 -05:00
Max Lincoln
d781dce8f8
Filter synced folders by allowed_synced_folder_types
2015-01-20 16:18:05 -05:00
Seth Vargo
39233e802f
Validate pushes in the global config
2015-01-07 15:51:20 -05:00
Seth Vargo
c4eb0261bb
Add tests for validating push configuration
2015-01-07 13:20:53 -05:00
Seth Vargo
d2874064f4
Use .key? instead of .has_key?
2015-01-05 18:29:01 -05:00
Mitchell Hashimoto
6aeae27889
core: just don't use ** to avoid symbol/strings mixup
...
/cc @sethvargo
2015-01-05 12:37:58 -08:00
Seth Vargo
2377247ba0
Test that the environment has string keys
2015-01-05 10:57:06 -05:00
Seth Vargo
111a43552e
Add tests for Environment#pushes and #Enviroment#push
2014-12-08 11:35:11 -08:00
Seth Vargo
f3c35855f0
Add a newline because #ocd
2014-12-08 11:35:11 -08:00
Seth Vargo
7f6a4fa3bd
Add tests for plugin manager push_configs
2014-12-08 11:35:11 -08:00
Seth Vargo
d79a0d52dd
Do not use Enumerable in Registry
...
Calling methods like #first in Registry is misleading because it returns
a different result than registry.get(registry.keys.first).
2014-12-08 11:35:10 -08:00
Seth Vargo
c0b107ff69
Add Registry#empty? to check if a registry has any items
2014-12-08 11:35:10 -08:00
Seth Vargo
2b03838fba
Make Registry enumerable
...
Registry already responds to #each, so including the Enumerable module
gives us nice methods like #select and #collect fo' free!
2014-12-08 11:35:10 -08:00
Seth Vargo
bc4bbb9fc0
Add #length and #size methods to Registry
2014-12-08 11:35:10 -08:00
Seth Vargo
60a8472891
Use a pushes registry instead of data hash
2014-12-08 11:35:09 -08:00
Mitchell Hashimoto
f8a2322459
core: only delete state if not created on initialize only
...
/cc @sethvargo
2014-11-10 16:29:19 -08:00
Matt Wrock
dc628cd722
fixes infinite loop in machine state call if provider calls machine.action
2014-11-06 08:51:47 -08:00
Mitchell Hashimoto
f4dec575ed
core: Vagrant::Util::Keypair for generating keypairs
2014-10-24 09:33:44 -07:00
Mitchell Hashimoto
13dc1832b6
test: fix test for default provider
2014-10-23 16:41:24 -07:00
Mitchell Hashimoto
b7478e09f3
core: clean up default logic
2014-10-23 15:59:27 -07:00
Mitchell Hashimoto
768d453739
core: Environment#default_provider can look into machines
2014-10-23 15:52:42 -07:00
Mitchell Hashimoto
ad758bf69a
core: prefer providers in the Vagrantfile [GH-3812]
2014-10-23 15:32:54 -07:00
Mitchell Hashimoto
f0a73c7c05
core: call #state in any #action call [GH-4513]
2014-10-23 12:20:16 -07:00
Mitchell Hashimoto
4827469dee
core: recognize more complex content types for json [GH-4525]
2014-10-23 11:26:56 -07:00
Mitchell Hashimoto
5036d16461
update CHANGELOG
2014-10-23 09:15:47 -07:00
Mitchell Hashimoto
381f1332c8
Merge pull request #4670 from gildegoma/dry-check-ssh-perms
...
Check SSH key permissions in machine.ssh_info
2014-10-23 09:14:31 -07:00
Mitchell Hashimoto
cff57c8d01
core: trigger machine_id_changed for reload [GH-3963]
2014-10-22 12:07:49 -07:00
Gilles Cornu
89a4a29d65
Memoize machine.ssh_info when ready for connection
2014-10-20 17:45:02 +02:00
Gilles Cornu
4e81be879c
Check SSH key permissions in machine.ssh_info
...
With this change, any caller of machine.ssh_info is assured that best
efforts will be done to fix possible wrong permissions on the private
key files.
Fix #4652
2014-10-20 17:33:06 +02:00