Commit Graph

160 Commits

Author SHA1 Message Date
Robin Gloster
d47857c3d9 Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-03-01 21:09:17 +00:00
Herwig Hochleitner
bd3ca11e0d virtualbox: 5.0.12 -> 5.0.14 2016-02-16 21:59:11 +01:00
Robin Gloster
859a150373 linuxPackages.virtualboxGuestAdditions: no pic hardening 2016-02-07 22:45:28 +00:00
Tobias Geerinckx-Rice
b01b11c657 virtualbox: 5.0.10 -> 5.0.12
This is a maintenance release.
Changes: https://www.virtualbox.org/wiki/Changelog.
2016-01-18 03:57:09 +01:00
Ambroz Bizjak
067141621e virtualboxGuestAdditions: Add missing library paths to patchelf, fixes #11509 2015-12-07 15:15:03 +01:00
Herwig Hochleitner
088c3fc9dd virtualbox: 5.0.6 -> 5.0.10, fixes #11115 2015-12-06 13:23:46 +01:00
Bjørn Forsman
5fee5c6d08 virtualbox: 5.0.4 -> 5.0.6
Tested on release-15.09 branch.
2015-10-07 15:12:51 +02:00
aszlig
89b6831ffd
virtualbox: Fix load of dbus library at runtime.
VirtualBox had support for DBUS even in version 4.x, but it appears that
nothing in our VM test triggered it to load, thus I didn't notice the
runtime error:

rtldrNativeLoad: dlopen('libdbus-1.so.3', RTLD_NOW | RTLD_LOCAL) failed:
                 libdbus-1.so.3: cannot open shared object file: No such
                 file or directory

The upstream commits I think are responsible for this to come to surface
are _probably_ (did I ever mention that I love SVN? *cough*) one of
these:

https://www.virtualbox.org/changeset/55664/vbox
https://www.virtualbox.org/changeset/55602/vbox

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-09-16 00:19:52 +02:00
Eelco Dolstra
972c0e5df4 virtualbox: Update to 5.0.4 2015-09-10 20:48:16 +02:00
aszlig
8be8193bd5
virtualbox: Fix revision/hash for guest additions.
Regression introduced in 7ffb1f3bdefe54737f158e83154789ed62f56a98.

Also added a small notice so that this hopefully won't happen with
future updates.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-09-10 17:03:36 +02:00
Eelco Dolstra
7ffb1f3bde virtualbox: Update to 5.0.2 2015-09-04 19:41:06 +02:00
aszlig
86b695a18e
vbox-guest: Remove all references to sbin/.
Using $storepath/sbin is deprecated according to commit 98cedb3, so
let's avoid putting anything in .../sbin for the guest additions.

This is a continuation of the initial commit done by @ctheune at
1fb1360, which unfortunately broke VM tests and only changed the path of
the mount.vboxsf helper.

With this commit, the VM test is fixed and I've also verified on my
machine that it is indeed working again.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-08-04 03:03:24 +02:00
Christian Theune
1fb1360ae2 virtualbox: place mount.vboxsf in bin/ instead of sbin/
The mount tools aren't looking in sbin/ any longer.
2015-07-31 06:38:28 +00:00
Vladimír Čunát
e998ecd351 virtualbox: hack-fix the build, issue #8962
For now, until a better resolution is found.
2015-07-24 14:35:38 +02:00
aszlig
13e83251a0
virtualbox: Fix load of libpulse.so at runtime.
Within fractions* of a second, the beautifully crafted history and
branching mechanisms of SVN found out the exact revision which caused
this to be visible in version 5.x but not in version 4.x:

https://www.virtualbox.org/changeset?old_path=%2Fvbox%2Ftrunk&old=30933&new_path=%2Fvbox%2Ftrunk&new=30934

Also note the very short URL and the informative changeset message which
shows you exactly what was the issue, I think.

Be warned however, it may contain traces of history amnesia, revision
epilepsy and other related diseases.

As for the issue itself: This was very much broken in 4.x as well, but
it didn't show an error message in the UI. The PulseAudio library is
loaded at runtime and it's not able to do that unless it's in
LD_LIBRARY_PATH.

Now, we're doing the same as with the ALSA libraries: We're hardcoding
the path to the shared object file in patchPhase.

Thanks to @devhell for reporting and testing.

*: Might be off several minutes or hours due to rounding errors in
   floating point arithmetic.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: devhell <"^"@regexmail.net>
Tested-by: devhell <"^"@regexmail.net>
2015-07-13 20:11:57 +02:00
aszlig
29993682a2
virtualbox+guest: Update to major version 5.0.0.
The official press release on major changes:

https://www.oracle.com/corporate/pressrelease/oracle-vm-virtualbox-5-070915.html

More details on the changes can be found here:

https://www.virtualbox.org/wiki/Changelog

Built and tested using the Virtualbox NixOS VM test successfully on my
machine but I haven't tested it outside of the NixOS VM test, so please
open an issue if I have fucked up this update.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-07-11 02:25:30 +02:00
William A. Kennington III
b07929b0a3 Use libpulseaudio instead of pulseaudio 2015-05-29 14:32:56 -07:00
aszlig
1e517dbd45
virtualbox+guest: Update to new version 4.3.28.
Contains quite a lot of fixes, so for information and details about
them, please have a look at https://www.virtualbox.org/wiki/Changelog.

We also needed to drop the hunk about NATNetworkServiceRunner.cpp in the
hardened.patch, because the file was unused and thus has been removed
from upstream in r54821:

https://www.virtualbox.org/changeset?reponame=vbox&new=54821

Tested successfully against nixos/tests/virtualbox.nix.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-15 02:28:15 +02:00
aszlig
b0e3d7c4b5
virtualbox: Update to version 4.3.26.
Upstream changelog:

 * GUI: in the snapshots pane, protect the age of snapshots against
        wrong host time
 * NAT Network: fixed a bug which prevented to propagate any DNS name
                server / domain / search string information to the NAT
                network (4.3.24 regression)
 * NAT Network: don't delay the shutdown of VBoxSVC on Windows hosts
 * Mouse support: the mouse could not be moved under rare conditions if
                  no Guest Additions are installed (4.3.24 regression)
 * Storage: if the guest ejects a virtual CD/DVD medium, make the change
            permanent
 * VGA: made saving secondary screen sizes possible in X11 guests
 * SDK: fixed the VirtualBox.tlb file (4.3.20 regression)
 * rdesktop-vrdp: make it work with USB devices again (4.3.14
                  regression)
 * USB: fixed a possible BSOD on Windows hosts under rare conditions
 * iPXE: enable the HTTP download protocol on non-Linux hosts
 * Mac OS X hosts: don't panic on hosts with activated SMAP (Broadwell
                   and later)
 * Linux hosts: don't crash Linux 4.0 hosts

The same with bug IDs can be found at:

https://www.virtualbox.org/wiki/Changelog

Tested on my machine using the virtualbox NixOS VM test.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-04 17:09:15 +02:00
aszlig
416545a57b
virtualbox: Remove group check on /nix/store.
This is espacially cruicial when it comes to Nix 1.9, where we even have
a more restrictive /nix/store. In any event, VirtualBox in hardenend
mode doesn't have to check the /nix/store path, because it's read-only
on NixOS systems. So this check would not introduce more security but
more hurdles, thus I'm removing it (of course _only_ for /nix/store).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-04 17:09:15 +02:00
aszlig
54a8e13f2a
virtualbox: Update to new upstream version 4.3.24.
New maintenance release, changes:

 * VMM: emulation fix for the ENTER instruction under certain
   conditions; fixes Solaris 10 guests (VT-x without unrestricted guest
   execution)
 * VMM: fix for handling NMIs on Linux hosts with X2APIC enabled
 * NAT/NAT Network: fix connection drops when the host's DHCP lease was
   renewed (4.3.22 regression; Windows hosts only)
 * NAT: don't crash on an empty domain list when switching the DNS host
   configuration (4.3.22 regression; Mac OS X hosts only)
 * PXE: re-enable it on Windows hosts (4.3.22 regression; Windows hosts
   only)
 * Shared Folders: fixed a problem with Windows guests (4.3.22
   regression)
 * Audio: improved record quality when using the DirectSound audio
   backend
 * VBoxManage: when executing the controlvm command take care that the
   corresponding VM runtime changes are saved permanently
 * Windows Installer: properly install the 32-bit version of VBoxRes.dll
   on 32-bit hosts
 * Linux hosts / guests: Linux 4.0 fixes
 * OS/2 Additions: fixed mouse integration (4.3.22 regression)
 * X11 Additions: fixed a sporadic failure to deactivate virtual screens

Full changelog with bug IDs can be found at:

https://www.virtualbox.org/wiki/Changelog

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-03-04 15:14:16 +01:00
Tobias Geerinckx-Rice
39ff896253 virtualbox 4.3.20 -> 4.3.22 2015-03-02 21:52:14 +01:00
Eric Seidel
f3c6827373 rename all occurrences of stdenv.cc.gcc to stdenv.cc.cc 2015-01-14 20:27:55 -08:00
John Wiegley
28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00
aszlig
ac603e208c
virtualbox: Fix runtime paths in hardening mode.
Because we have to rely on setuid wrappers on NixOS, we can't easily
hardcode the executable paths and set it 4755. So for all calls, we need
to change the runtime path executable directory to /var/setuid-wrappers/
and for verification we need to retain the executable directory.

Also note, that usually VBoxNetAdpCtl, VBoxNetDHCP, VBoxNetNAT, VBoxSDL
and VBoxVolInfo don't reside in directories that are commonly in PATH,
but in /usr/lib/virtualbox in most mainstream distros. But because the
names of these executables are distinctive enough to not cause
collisions with other setuid programs, I'll leave it like that and not
patch up setuid-wrappers.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:13 +01:00
aszlig
b69ac6c159
virtualbox: Allow to easily change the build type.
Not really changes anything in functionality, but makes it easier to
change the build type to "debug", for example.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
14ef3446e1
virtualbox: Fix hardcoded /sbin/ifconfig path.
Just accidentally found this while debugging and it's needed for
fetching a few interface details, not sure however whether because of
this anything has been broken so far.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
5a8c5d2768
virtualbox: Explicitly excempt src during install.
Instead of coping it to $out and later deleting it, we now exclude the
src directory during copy. Also, we no longer cd into the release
directory during installPhase, which should make sure that we are
constantly in $sourceRoot.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-18 14:06:12 +01:00
aszlig
eb561f0798
virtualbox: Fix extension pack without hardening.
We divert to the $out/share/virtualbox directory only if we have
hardening enabled, so let's put the extension pack into
$out/libexec/virtualbox instead if we're compiling without hardening.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-16 11:24:55 +01:00
Eelco Dolstra
d9ce3ae57f virtualbox: Get tid of runtime dependency on linux.dev 2014-12-15 17:54:06 +01:00
aszlig
a199eedfce
virtualbox package: Disable hardening by default.
Yes, this is only on the package level, so it's possible to use
VirtualBox for example installed by nix-env -i, which of course doesn't
have access to the functionality provided by the various VirtualBox
kernel modules.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-15 17:52:18 +01:00
aszlig
2b58a6ab0d
virtualbox: Fix extension pack installation.
With hardening, we need to go a bit further rather than just allowing
/nix/store being world-writable. We now use fakeroot to make sure the
VBoxExtPackHelperApp won't moan that the files are not owned by root.

They are, but only outside of the chrooted build process.

Another issue with using fakeroot is that it doesn't seem to cope well
with arguments that contain spaces. That's why I've piped the call into
${stdenv.shell}.

Now, the really gory and confusing part is the introduction of
VBOX_PATH_APP_PRIVATE_ARCH_TOP and the change of VBOX_PATH_APP_PRIVATE.

The VBOX_PATH_APP_PRIVATE_ARCH is *only* for modules and is checked by
the hardened implementation against whether things like VMMR0.r0 or
VBoxVMM.so reside in that directory. As a side note: I admit that the
whole libexec directory is quite polluted with stuff that shouldn't be
there, but for now we've broken enough things and will tear apart the
whole structure at some day in the future[TM].

For the confusing part we have VBOX_PATH_APP_PRIVATE_ARCH_TOP, which
_should_ be the same as VBOX_PATH_APP_PRIVATE_ARCH but unfortunately,
the hardened implementation is checking against this directory (in
IsValidBaseDir) for the extension pack(why!?).

Of course, we could put even that into the libexec directory, somewhat
similar as the official package, but after all, let's at least *try* to
separate things.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-01 03:32:55 +01:00
aszlig
318fbb34e7
virtualbox: Allow /nix/store being world-writable.
We are already checking whether /nix/store has the sticky bit set, so if
it is world-writable as well it doesn't mean that the actual store path
is writable. Let alone the fact that it is only writable during the
build process.

This should fix installing the extension pack when enableExtensionPack
is used.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-30 18:23:19 +01:00
aszlig
017e6b72c1
virtualbox: Update to upstream version 4.3.20.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-30 06:25:50 +01:00
aszlig
3e49487c1a
virtualbox: Enable hardening by default.
VirtualBox with hardening support requires the main binaries to be
setuid root. Using VBOX_WITH_RUNPATH, we ensure that the RPATHs are
pointing to the libexec directory and we also need to unset
VBOX_WITH_ORIGIN to make sure that the build system is actually setting
those RPATHs.

The hardened.patch implements two things:

 * Set the binary directory to the setuid-wrappers dir so that
   VboxSVC calls them instead of the binaries from the store path. The
   reason behind this is because nothing in the Nix store can have the
   setuid flag.
 * Excempt /nix/store from the group permission check, because while it
   is group-writeable indeed it also has the sticky bit set (and also
   the whole store is mounted read-only on most NixOS systems), so we're
   checking on that as well.

Right now, the hardened.patch uses /nix/store and /var/setuid-wrappers
directly, so someone would ever want to change those on a NixOS system,
please provide a patch to set those paths on build time. However, for
simplicity, it's best to do it when we _really_ need it.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-29 19:21:46 +01:00
aszlig
deec767efa
virtualbox: Disable depmod only where necessary.
Traversing the full source tree is unneccessary, because the calls are
only done within make files. Hence we only substitute make files now.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-11-29 19:21:46 +01:00
Jonathan Rudenberg
29d708176c virtualbox: 4.3.16 -> 4.3.18 2014-11-03 21:47:59 +01:00
Corey O'Connor
48dc0eacb8 add pulseaudio to virtualbox 2014-10-22 20:56:25 +02:00
ambrop7@gmail.com
f8738a6d09 Update VirtualBox to 4.3.16. 2014-09-18 23:43:11 +02:00
ambrop7@gmail.com
2f79a85767 VirtualBox: Fix ALSA audio.
Use a sed replacement to ensure that dynamic loading of libasound works.
2014-09-14 11:28:34 +02:00
Aristid Breitkreuz
a2eb68a6dc update virtualbox to 4.3.14 2014-08-28 21:27:08 +02:00
Benno Fünfstück
8b6300822b virtualbox: update 4.3.10 -> 4.3.12
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-05-18 08:33:25 -05:00
Austin Seipp
aae821493d Revert "virtualbox: update 4.3.10 -> 4.3.12"
This reverts commit a0ae412a10c5b7bbbcec6523f192b6b52c1222ce.

It snuck by me in #2677. I'll test it more first.
2014-05-17 16:45:58 -05:00
Benno Fünfstück
a0ae412a10 virtualbox: update 4.3.10 -> 4.3.12 2014-05-17 12:28:33 +02:00
Moritz Maxeiner
99d639d750 Update Virtualbox and Guest Additions to 4.3.10, Oracle Extensions to 93012 2014-03-29 13:44:50 +01:00
Moritz Maxeiner
53e743fa08 Update Virtualbox and Guest Additions to 4.3.8, Oracle Extensions to 92456 2014-02-28 17:19:48 +01:00
Moritz Maxeiner
ba0ca53615 Update VirtualBox (and implicitly VirtualBox Guest Additions) to 4.3.6 and Oracle VM VirtualBox Extension Pack to 91406 2014-01-31 00:34:04 +01:00
Shea Levy
a589bfae17 Update and fix kernel packages to new kernel build
In most cases, this just meant changing kernelDev (now removed from
linuxPackagesFor) to kernel.dev. Some packages needed more work (though
whether that was because of my changes or because they were already
broken, I'm not sure). Specifics:

* psmouse-alps builds on 3.4 but not 3.10, as noted in the comments that
  were already there
* blcr builds on 3.4 but not 3.10, as noted in comments that were
  already there
* open-iscsi, ati-drivers, wis-go7007, and openafsClient don't build on
  3.4 or 3.10 on this branch or on master, so they're marked broken
* A version-specific kernelHeaders package was added

The following packages were removed:

* atheros/madwifi is superceded by official ath*k modules
* aufs is no longer used by any of our kernels
* broadcom-sta v6 (which was already packaged) replaces broadcom-sta
* exmap has not been updated since 2011 and doesn't build
* iscis-target has not been updated since 2010 and doesn't build
* iwlwifi is part of mainline now and doesn't build
* nivida-x11-legacy-96 hasn't been updated since 2008 and doesn't build

Everything not specifically mentioned above builds successfully on 3.10.
I haven't yet tested on 3.4, but will before opening a pull request.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-04 21:17:04 -05:00
Eelco Dolstra
01fdb87a03 virtualbox: Update to 4.2.18 2013-09-17 17:44:28 +02:00
Bjørn Forsman
e242ae058d virtualbox: fix extension pack hash (must be base16) 2013-08-10 14:30:53 +02:00