Commit Graph

7911 Commits

Author SHA1 Message Date
Sam Phippen 53714abfa3 Handle encoding errors in shell provisioner newline normalization.
The problem demonstrated in #6065 is that a string has incorrectly been
encoded with US-ASCII even though it contains invalid US-ASCII byte
sequences (any byte with the most significant bit on is invalid in the
US-ASCII encoding).

The thing about doing newline normalization is that it is not actually
sensitive to the presence of US-ASCII byte sequenzes. Additionally, it
is very unlikely that a user will ever be using an encoding where \r\n
is not encoded the same as it would be in ASCII.

This patch first tries the existing method of normalizing the newlines
in the provided script file, if that fails for any reason it force
encodes the string to ASCII-8BIT (which allows the most significant bit
to be on in any individual byte) and then performs the substitution in
that byte space.
2015-09-12 14:36:54 +01:00
Sam Phippen 379dcfa568 Add a failing test for #6065 2015-09-12 14:31:49 +01:00
Mitchell Hashimoto 4967623417 Merge pull request #6249 from samphippen/samphippen/bugfix/5605
samphippen/bugfix/5605
2015-09-09 01:06:40 -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
Paul Hinze 1e84cc4d6a communicators/winrm: respect boot_timeout when fetching winrm_info
We gained a ton of improvemnts to WinRM error handling in
https://github.com/mitchellh/vagrant/pull/4943, but we also got one bug.

The new code raises an exception when `winrm_info` does not return right
away. This was preventing us from catching the retry/timout logic that's
meant to wait until boot_timeout for the WinRM communicator to be ready.

This restores the proper behavior by rescuing the WinRMNotReady
exception and continuing to retry until the surrounding timeout fires.
2015-09-02 16:36:23 -05:00
Seth Vargo 3b7117b689 Merge pull request #6212 from modernlegend/typo_fix
fix typo, adjust wording for clarity
2015-08-31 09:53:24 -04:00
modernlegend 75a7fabaea fix typo, adjust wording for clarity 2015-08-30 19:42:42 -04:00
Gilles Cornu f3b31c8c9c Update CHANGELOG
@mitchellh @sethvargo: I hope it is okay for you that I started this new
entry, and I let you set the upcoming version.
2015-08-29 14:11:20 +02:00
konomae ad9a7324c5 Fix invalid ini entry error when ansible_ssh_private_key_file contains spaces 2015-08-29 18:00:20 +09:00
Seth Vargo c84e05fd06 Merge pull request #6192 from mitchellh/sethvargo/vmware_up
Bump VMware information
2015-08-25 12:42:40 -04:00
Seth Vargo aaf679d92b Bump VMware information 2015-08-25 12:41:53 -04:00
Seth Vargo 788b84aa0e Merge pull request #6190 from gajdaw/destroy-documentation-link-fix
Fixed link in destroy command documentation
2015-08-25 10:51:50 -04:00
Włodzimierz Gajda 2f5b4f0958 Fixed link in destroy command documentation 2015-08-25 16:40:16 +02:00
Chris Bednarski e7ca6acbfe Revert heading change and add note about CHECKPOINT_DISABLE 2015-08-20 14:34:23 -07:00
Chris Bednarski d11ff32370 Change docs for checkpoint environment variable to reflect the not-vagrant-specific version CHECKPOINT_DISABLE 2015-08-19 11:21:43 -07:00
Seth Vargo 3fed57043d Merge pull request #6164 from issyl0/fix_typo
Fix typo
2015-08-19 09:59:02 -04:00
Seth Vargo ce08fc155d Merge pull request #6136 from StefanScherer/update-winrm-fs
Update winrm-fs to fix Windows 10 problems
2015-08-17 14:50:51 -04:00
Jack Pearkes cda90ba859 Merge pull request #6155 from justincampbell/docs-link-atlas-base-boxes
website/docs: Link to Atlas docs for base boxes
2015-08-17 09:58:42 -07:00
Justin Campbell 278d08fee4 website/docs: Link to Atlas docs for base boxes 2015-08-17 11:14:26 -04:00
issyl0 d7220ac0c4 Fix typo
- This was referring to the current project's Vagrantfile, so "projects"
  needed a possessive apostrophe.
2015-08-16 16:43:10 +00:00
Stefan Scherer 73a7b1d11e Update winrm-fs to fix Win10 problems 2015-08-13 07:57:28 +02:00
Seth Vargo cd25b820c4 Merge pull request #6135 from mitchellh/sethvargo/ssl
Ensure all assets are served over SSL
2015-08-12 19:35:53 -04:00
Seth Vargo d1043b41e3 Ensure all assets are served over SSL 2015-08-12 19:33:26 -04:00
Seth Vargo 2f782a95ba Merge pull request #6080 from driskell/patch-1
Fix broken masterless minion configuration
2015-08-12 10:53:14 -04:00
Manuel Pöter 2a2f0a4751 Use hash of machine name for lock file to avoid problems with invalid characters for file names. 2015-08-12 14:25:54 +02:00
Seth Vargo 186f3f25e3 Merge pull request #6105 from evverx/bash-completion
Update bash-completion
2015-08-07 10:28:06 -04:00
Evgeny Vereshchagin 06d4d23662 Update bash-completion
Add command: push
Add subcommands for box: outdated, update
2015-08-07 02:07:30 +03:00
Seth Vargo fd526ad3d9 Mention that only X.Y.Z is valid for versions in semver
Fixes #6052
2015-08-06 16:06:31 -04:00
Seth Vargo a4a77f279b Update docs to say Vagrant 1.5+ is required
Fixes #6084
2015-08-06 15:51:20 -04:00
Jason Woods ff941ef4e8 Fix broken masterless minion configuration 2015-08-03 12:11:32 +01:00
Seth Vargo 8045869891 Update CHANGELOG 2015-07-27 11:03:49 -04:00
Seth Vargo d64d229c0f Merge pull request #5928 from mitchellh/sethvargo/ssh_exec_run_command
Use the same ssh args for ssh with a command as ssh exec
2015-07-27 11:02:36 -04:00
Seth Vargo 1813d7addb Merge pull request #6007 from darkn3rd/master
Fix for Issue #6006 - cfengine will now install
2015-07-26 11:37:35 -04:00
Seth Vargo 06c1e1ee1b Merge pull request #6012 from mitchellh/sethvargo/user_agent
Use a properly-formatted custom User-Agent
2015-07-20 23:54:31 -04:00
Seth Vargo d88d126ad9 Use a properly-formatted custom User-Agent 2015-07-20 23:33:31 -04:00
지훈 287831dd2e Fix for Issue #6006 - cfengine will now install 2015-07-20 02:08:13 -07:00
Mitchell Hashimoto b18671839f Merge pull request #6004 from pogliamarci/www-https-scripts
[website] load external scripts without schema
2015-07-19 15:20:57 -07:00
Marcello Pogliani c806b55f78 [website] load external scripts without schema
Avoid loading external stylesheets and scripts over plain HTTP when
using HTTPS (the default in vagrantup.com).
This avoids browsers blocking the external resources due to mixed
content issues when HTTPS is used (e.g., "This page is trying to load
scripts from unauthenticated sources" warning shown in Chrome).
2015-07-20 00:06:53 +02:00
Seth Vargo e0a15edef5 Merge pull request #5992 from PatOShea/patch-1
Clarified windows guest machine support for salt provisioner in documentation.
2015-07-18 12:55:57 -04:00
Pat O'Shea d6cf70bf20 Clarified windows guest machine support.
Done at mitchellh's request.
2015-07-18 08:25:40 -06:00
Mitchell Hashimoto 8c2dc41223 website/www: bump 2015-07-17 13:44:57 -07:00
Mitchell Hashimoto 78ea5e4a78 v1.7.4 2015-07-17 12:38:51 -07:00
Mitchell Hashimoto 4b217e2128 Merge pull request #5980 from PatOShea/PatOShea-ConfigDir-Typo
Fixed salt minion configuration directory typo
2015-07-17 12:37:44 -07:00
Pat O'Shea a4eede0c42 fixed typo for config_dir
Only exposed when calling highstate with config_dir being set
2015-07-16 18:45:59 -06:00
Pat O'Shea 3f2d2edf2b Merge pull request #2 from PatOShea/PatOShea-Minion-Config-Path
Changed minion config path for windows
2015-07-16 18:40:51 -06:00
Pat O'Shea 956bbf011c Changed minion config path for windows
Copy of minion is wrong on windows. Moved to sub-dir, conf.
2015-07-16 18:37:36 -06:00
Manuel Pöter 772f276ee3 Port support for linked clones to VirtualBox 5.0 driver. 2015-07-16 13:27:24 +02:00
Manuel Pöter dbcb513075 Fix typo. 2015-07-16 13:23:57 +02:00
Mitchell Hashimoto bac5d039db providers/docker: pull setting, default false [GH-5932] 2015-07-15 11:08:01 -07:00