Commit Graph

190 Commits

Author SHA1 Message Date
Aron Griffis 7e83edd643 Rewrite linux/nfs_cleanup for security and multi-user, fixes #7938
Avoid using a temporary file, rather do the substitution in Ruby and
write /etc/exports directly.
2016-10-29 15:46:35 -07:00
Charlie Sharpsteen 4144b45122 Fix RDP connections on OS X
Changes introduced in 982af05 caused the RDP configuration file to be written
with all settings on one line instead of one setting per line. The Microsoft
Remote Desktop client for OS X rejects these configuration files as being
malformed. This patch restores the configuration to one line per setting and
adds tests to guard against regression.
2016-08-09 14:04:50 -07:00
Alexander Kurilo 73cc633b02
Detect NFS server by service name on Arch
Fixes #7629.
nfs-server.service seems to load kernel modules it needs itself, while nfsd appears in `/proc/filesystems` only after the kernel module has been loaded, so vagrant fails to detect NFS server until it's started first time after the system has booted. This checks if the NFS service actually exists and hopes that it'll figure the stuff out itself.

`list-unit-files` is utilized rather than `list-units` because systemd seems to not list units that are disabled: https://lists.fedoraproject.org/pipermail/devel/2011-November/159117.html
2016-07-23 13:09:23 +03:00
Bartłomiej Piotrowski 919f3ee4e4
Remove sysvinit else clauses in NFS for Arch Linux
Currently the code tries to detect if Arch uses systemd via checking
comm= of PID 1. As access to proc filesystem might be restricted due to
hideproc set and systemd is default for all Arch Linux installations
since October 2012, let's just ditch that check.
2016-06-06 19:34:45 -04:00
Seth Vargo 01e91882f0 Merge pull request #7270 from lpenz/nfspager
Do not let NFS systemctl status use a pager
2016-06-06 19:11:41 -04:00
Seth Vargo 982af05178
Add a note about why we will always leak RDP tmpfiles 2016-05-28 23:53:20 -04:00
Seth Vargo 3d2390fc94
Give a unique, prefixed name to all tempfiles
This commit basically grepped the code base for all uses of Dir.mktmpdir
and Tempfile.new/open and ensures the value is unique within the
code base and also prefixed with `vagrant-`.

Previously, most invocations of these commands simply used "vagrant",
thus making them indistinguishable when trying to identify leaks.
2016-05-28 23:22:34 -04:00
Seth Vargo fc8e97cd89
Style 2016-05-27 19:08:49 -04:00
Seth Vargo 01369342db Merge pull request #5670 from agdula/master
add RDP auto login with password
2016-05-27 19:08:10 -04:00
penz d29acc8982 Do not let NFS systemctl status use a pager
Call it with "--no-pager"
Without it, if the user has a pager (more/less/etc.) configured and
call vagrant up with NFS shares, systemctl would use the pager, and
that would probably require an unnecessary key press from the user.
2016-04-28 13:28:37 -03:00
Seth Vargo 6b713bbb41 Merge pull request #6602 from mitchellh/sethvargo/darwin_rdp_info
Add extra_args cap for darwin rdp
2016-02-03 10:08:18 -05:00
Seth Vargo 4b4f1fc24c Add extra_args cap for darwin rdp
This commit fixes GH-5523.
2016-02-03 10:03:57 -05:00
Matt Wrock 714e79d792 use SafeExec to capture history keys in powershell command 2015-12-27 13:06:45 -08:00
Mitchell Hashimoto 05c2d439ac hosts/*: fix virtualbox install exception [GH-6713] 2015-12-24 12:08:31 -08:00
Reed Loden 7d81728e45 Add checksum validation for the VirtualBox installs on Windows and OS X
Use Vagrant::Util::FileChecksum to validate the downloaded VirtualBox
installers.

SHA-256 checksums for VirtualBox files are available at
https://www.virtualbox.org/download/hashes/5.0.10/SHA256SUMS.

Fixes #6611.
2015-11-28 00:04:41 -08:00
Mitchell Hashimoto 7a1d17042d install VB 5.0.10 2015-11-23 22:54:31 -08:00
Mitchell Hashimoto 3c2fab9d0d providers/virtualbox: more robust lookup for VBoxManage on Win 2015-11-20 15:56:14 -08:00
Mitchell Hashimoto 9e1a119a4b Merge pull request #6475 from nikelmwann/linux-host-use-xfreerdp
Prefer xfreerdp for RDP connections on Linux hosts.
2015-11-18 15:12:47 -08:00
Mitchell Hashimoto fe36131549 Merge pull request #6367 from knixeur/fix-host-slackware
Fix Slackware Host detection and nfsd checks
2015-11-18 14:02:06 -08:00
Mitchell Hashimoto f8b243a810 Merge pull request #6254 from krig/suse-nfs-commands
Updated NFS commands for SUSE, add sudoers script for SUSE, fix sudoers scripts for Linux
2015-11-18 13:14:52 -08:00
Mitchell Hashimoto 8bbf6f56f4 Merge pull request #4400 from mwrock/ps-cmd
Add a ps command to vagrant that drops the user into a remote powershell shell
2015-11-18 10:41:36 -08:00
Mitchell Hashimoto abb1030f10 hosts/windows: install VirtualBox 2015-11-04 19:37:55 -08:00
Mitchell Hashimoto dad5962ebb hosts/darwin: support virtualbox install 2015-11-04 15:47:56 -08:00
Eric Winkelmann e687f81fce Re-word Linux RDP error to include `xfreerdp`.
Changed the name of the error LinuxRDesktopNotFound to
LinuxRDPClientNotFound and re-worded error text in
templates/locales/en.yml to include `xfreerdp` when listing supported
RDP clients.
2015-11-02 23:42:01 -08:00
Eric Winkelmann 879977832c Prefer xfreerdp for RDP connections on Linux hosts.
Rather than only using rdesktop (which does not work properly with newer
versions of RDP), use xfreerdp if available and fall back to rdesktop if
not.
2015-11-02 23:39:06 -08:00
Guillermo Bonvehí 07e38f1bb3 Fix Slackware Host detection and nfsd checks
Slackware's version file is /etc/slackware-version not
/etc/slackware-release.
pidof is not on PATH by default (not running as root) so call it using
full path
2015-10-07 01:17:07 -03:00
Kristoffer Grönlund 1911586832 Better NFS status check command for SUSE 2015-09-10 10:05:14 +02:00
Mitchell Hashimoto f26293bb06 hosts/linux: sudo to copy back to exports [GH-5957] 2015-07-15 11:04:05 -07:00
Seth Vargo bfbf96c385 Fallback to /tmp if $TMPDIR is not set 2015-07-13 10:40:28 -04:00
Mitchell Hashimoto 4d4d2a4eec Merge pull request #5731 from strzibny/rhel
Fix RHEL name and description
2015-07-06 15:31:26 -06:00
Matt Wrock cf6d4ef5a1 clean up command encoding 2015-06-05 05:07:13 -07:00
Matt Wrock c60a020096 adds a ps command to vagrant that drops the user into a remote powershell shell 2015-06-05 05:07:11 -07:00
William Durand 6ff15fbedb
Being able to edit a file does not mean you can write in its parent directory
Interactive `sed` needs write permission on the file itself. However, it
may create a backup file, which leads to the fact that the directory
where the file is located must be writable as well. That is a side
effect because this directory does not need to be writable.

This patch fixes this side effect by editing the file in `/tmp`, and
replaces it right after.
2015-06-01 10:02:13 +02:00
Josef Stribny c1a26a66d1 Fix RHEL name and description 2015-05-19 12:58:19 +02:00
agdula f035664b78 fixed cmdkey arguments
The arguments contained not needed TTERMSRV/
2015-05-02 18:01:52 +02:00
agdula aaebe97e8a add RDP auto login with password
The fix is implementation of suggestion from @majkinetor for the closed issue
https://github.com/mitchellh/vagrant/issues/4300

Works on windows 7 host.
2015-04-27 12:09:39 +02:00
Si Beaumont 3deed353ae Allow colon in NFS ID regex
Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
2015-01-20 14:11:42 +00:00
Mitchell Hashimoto 2a285d7655 hosts/bad: escape regexp properly [GH-4922] 2014-12-10 09:16:45 -08:00
Adam Spiers 6af715b0db silence warnings about unescaped '-' in re char class
Eliminate warnings like this:

vagrant/plugins/hosts/linux/cap/nfs.rb:74: warning: character class has '-' without escape: /^# VAGRANT-BEGIN:( 1000)? ([\.\/A-Za-z0-9-_]+?)$/
2014-10-25 15:38:13 +01:00
Mitchell Hashimoto ea983e32c8 hosts/*: NFS prune regexp matches file paths [GH-3815] 2014-10-24 12:16:53 -07:00
Mitchell Hashimoto cc01f01684 hosts/linux: don't use sudo to write NFS if writable [GH-2643] 2014-10-23 22:25:38 -07:00
Mitchell Hashimoto aa981cf4ec hosts/bsd: only use sudo if we can't write /etc/exports [GH-2643] 2014-10-23 17:43:58 -07:00
Mitchell Hashimoto 4b4255c6d1 Merge pull request #4492 from tboerger/feature/suse-fixes
SUSE naming and capability fixes
2014-10-23 10:11:28 -07:00
Thomas Boerger 95f39d52fa Added better check if nfs server is available on SUSE hosts 2014-10-06 16:32:00 +02:00
Matthias Günther 9b937db6c9 hosts/windows: Don't mount all drives into the RDP session
This setting mounts all available drives (C:\ and mapped network
drives) into the RDP session. This shouldn't be the default.
2014-09-21 15:11:00 +02:00
Thomas Boerger 2d4454dcb4 Added a nonsudo command for nfsd check 2014-09-11 17:44:28 +02:00
Thomas Boerger f1b62ae03a Fixed class naming and detection for suse hosts 2014-09-11 10:48:58 +02:00
Thomas Boerger 6fa0fe09ab Renamed host capabilities from opensuse to suse 2014-09-11 10:47:13 +02:00
Guillaume Poulin a2985832eb fix nfs on gentoo with systemd 2014-08-31 22:29:16 +08:00
Mitchell Hashimoto 864328e0b1 Merge pull request #4224 from kamazee/fix/master/nfs_archlinux_systemd
hosts/arch: Fix NFS server starting/stopping and status check
2014-08-05 17:46:40 -07:00
Alexander Kurilo d2b65a9efa Fix NFS server running and status check
According to https://wiki.archlinux.org/index.php/NFS#Starting_the_server
2014-07-22 16:47:12 +03:00
Steven Leung 1fc36d2d3a Redhat 7 to use systemd as well …
Change nfs plugin to detect distribution and version

Fixes issue #4227
2014-07-21 10:56:06 -07:00
StefanScherer 1b32cbade2 fixed writing rdp file 2014-06-03 06:57:14 +02:00
Mitchell Hashimoto 43f347a737 hosts/windows: RDP cap shouldn't remove tempfile [GH-3875] 2014-05-22 10:20:45 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto 01a8e50235 hosts/windows: use subprocess to execute mstsc [GH-3837] 2014-05-20 20:47:32 -07:00
Mitchell Hashimoto f369c13e25 hosts/linux: niceer error if rdesktop not found 2014-05-20 19:58:12 -07:00
Mitchell Hashimoto 2da21e3578 hosts/linux: rdp_client cap [GH-3845] 2014-05-20 19:55:36 -07:00
Mitchell Hashimoto e1815a13e8 commands/rdp: support extra args to RDP client [GH-3686] 2014-05-07 18:32:20 -07:00
Jon Topper 6ec9e3e279 Linux stuff now tested and working! 2014-05-06 12:24:35 +01:00
Jon Topper 4a4ca74dea Added missing 'sudo' call. 2014-05-06 10:05:53 +01:00
Jon Topper 0da334156b Fix up the Linux host too 2014-05-05 23:56:39 +01:00
Jon Topper e5490544d6 Use 'tee' to write to /etc/exports 2014-05-05 23:55:16 +01:00
Mitchell Hashimoto ec57a286cd hosts/darwin: use a temp dir since Tempfile is deleted right away 2014-04-21 13:56:43 -07:00
Mitchell Hashimoto b0b445fcac hosts/darwin: rdp client support by subprocessing `open` 2014-04-21 13:56:40 -07:00
Mitchell Hashimoto 7c8053cb2b hosts/windows: don't remove the rdp file, race condition 2014-04-21 13:54:21 -07:00
Mitchell Hashimoto 8698ebeff6 hosts/windows: use the port when connecting 2014-04-21 13:54:18 -07:00
Mitchell Hashimoto 76a7c63f8b guests/windows: detect the port for RDP 2014-04-21 13:54:15 -07:00
Mitchell Hashimoto 746b568176 hosts/windows: rdp_client cap 2014-04-21 13:54:10 -07:00
Kevin Carmody 17c171559f Update nfs.rb
Make call to exportfs just use the system path.
2014-03-22 21:07:45 +00:00
Russell Jackson a3c94ab910 Fix Linux NFS exports pruning due to bad `sed` expression
The mount id is a file path which will contain forward slashes. A
previous attempt (although notably missing in the Linux host plugin) at
fixing this used `String.gsub` to escape the forward slashes; however,
the solution that eventually made its way into the 1.5 release uses
`Regexp.escape` which doesn't escape forward slashes.

The Ruby `Regexp.escape` method does not escape forward slashes because
they are not RE meta-characters; their special meaning is specific to
sed expressions as delimiters. To avoid the issue entirely, we can use
an alternative delimiter by prefixing the address expression with a
backslash with the desired delimiter character following.

Use control character (ASCII code point `0x01`) as expression delimiter
so it is very unlikely an identifier will have a conflicting character
within it.
2014-03-12 12:25:53 -07:00
Mitchell Hashimoto d14f3e0a56 hosts/bsd: make directories unique when exporting 2014-02-26 08:04:21 -08:00
Mitchell Hashimoto 7abcea35b8 hosts/linux: escape regular expression for prune NFS exports [GH-2934] 2014-02-24 07:51:06 -08:00
Jon Topper 7b30e557cd hosts/bsd: sort NFS exports to avoid false validation errors [GH-2927]
With a synced folder configuration like so:

 synced_folder ".", "/vagrant", :nfs => true
 synced_folder "#{ENV['HOME']}/mirror", "/mirror", :nfs => true
 synced_folder ENV['HOME'], "/home/#{ENV['USER']}", :nfs => true

on OSX, vagrant writes two overlapping exports to /etc/exports
which then fail the export check.

Iterating through the list of folders lexically builds a correct, single
exports entry.

Signed-off-by: Teemu Matilainen <teemu.matilainen@iki.fi>
2014-02-21 23:43:11 -03:00
Mitchell Hashimoto b89a47c955 hosts/opensuse: start NFS server properly [GH-2923] 2014-02-03 12:18:09 +01:00
Mitchell Hashimoto 7e9ea7c1c6 hosts/redhat: recognize Korora [GH-2869] 2014-01-21 09:50:20 -08:00
Mitchell Hashimoto fbd8cfc628 hosts/gentoo: more robust check for systemctl path on Gentoo 2014-01-18 11:03:46 -08:00
Tim Gus f0ec355a33 hosts/gentoo: fix nonstandard path to systemctl command 2014-01-18 00:13:54 -05:00
BlackEagle b30eacf94f nfs_apply :: exportfs sometimes leaves exports behind
On my machine i had a case where /etc/exports was updated but the old
exports were still there. This was leading to
"exportfs: duplicated export entries" and eventually leading to nfs
being not available for the box.

changing the command exportfs -r to exportfs -ar seems to address this
issue.

Signed-off-by: BlackEagle <ike.devolder@gmail.com>
2014-01-17 10:54:17 +01:00
Gustavo Gama 262e2c0192 Fix typo 2014-01-15 09:40:41 -02:00
Mitchell Hashimoto 9b383740ba hosts/bsd: use Util::Which instead of system("which") 2014-01-12 22:37:39 -08:00
Mitchell Hashimoto b8601423c7 hosts/bsd: don't execute shell for sudo commands [GH-2808] 2014-01-12 22:34:45 -08:00
Mitchell Hashimoto e9f6c81ab7 hosts/*: proper detect API 2014-01-07 21:18:36 -08:00
Mitchell Hashimoto 26b564566b hosts/null: needs to accept env as param 2014-01-07 21:14:33 -08:00
Mitchell Hashimoto a72e7473d5 hosts/windows: convert 2014-01-07 21:13:21 -08:00
Mitchell Hashimoto 4d47dae5b9 many more hosts converted 2014-01-07 21:11:59 -08:00
Mitchell Hashimoto 4cec8b48d9 hosts/freebsd: convert 2014-01-07 21:01:03 -08:00
Mitchell Hashimoto a6c7cc481e convert more hosts: arch and linux 2014-01-07 20:53:39 -08:00
Mitchell Hashimoto bdb88da743 hosts/bsd: convert to new style 2014-01-07 20:39:24 -08:00
Mitchell Hashimoto 5e490e3746 Get tests to pass 2014-01-07 19:26:03 -08:00
Mitchell Hashimoto 2cf864e95b hosts/bsd: check exports only if exports file exists [GH-2714] 2013-12-28 13:48:13 -07:00
Mitchell Hashimoto 2bebf188d6 hosts/bsd: check for exports file issues prior to exporting NFS 2013-12-13 22:14:13 -08:00
Mitchell Hashimoto 05e9dc6e59 Update CHANGELOG 2013-11-23 11:36:20 -08:00
Mitchell Hashimoto 52c27cd498 Merge pull request #2448 from rimckenn/patch-1
hosts/bsd: don't set both maproot and mapall
2013-11-23 11:34:27 -08:00
Rudolf Leermakers aa749db079 Restart NFS on Gentoo host instead of starting
In the case that NFS is already started on a Gentoo host, /etc/init.d/nfs start will not reload exports, but fail. /etc/init.d/nfs reload is known to fail for some esoteric configurations of /etc/exports, restart should be safe for existing connections.
2013-11-11 12:30:40 +01:00
rimckenn 3047b81256 Update host.rb
mapall= and maproot= are mutually exclusive options. Currently, when trying to use maproot=, mapall= is getting automatically added, which prevents us from using the NFS mount. This change turns off the adding of mapall= if maproot= has been specified as an option.
2013-11-01 14:44:49 +00:00
Mitchell Hashimoto 673a06b54d hosts/gentoo: use subprocess machinery
/cc @timgus
2013-10-17 08:32:09 -10:00
Tim Gus 7bfc3ea16e hosts/gentoo: recognize systemd for nfsd startup and
replace "service" command with /etc/init.d/nfs
2013-10-17 11:11:59 -04:00
Matthew e9903422cc detect Red Hat Enterprise Linux 4 and Oracle Linux 2013-10-05 18:01:27 +01:00
Matthew b16d56c717 rename host plugin (fedora to redhat) 2013-10-05 17:40:23 +01:00