summaryrefslogtreecommitdiff
path: root/src/VBox/Additions
diff options
context:
space:
mode:
authorFelix Geyer <fgeyer@debian.org>2013-03-02 22:29:33 +0100
committerFelix Geyer <fgeyer@debian.org>2013-03-02 22:29:33 +0100
commitfb32dd2be67519662e93ffbbe520c79d95b1fbfb (patch)
treee445911bff35c842af26b5e5c0ee31573be49008 /src/VBox/Additions
parent490244144bf10ecd165f2f81f2c88b7781c91d85 (diff)
downloadvirtualbox-fb32dd2be67519662e93ffbbe520c79d95b1fbfb.tar.gz
Imported Upstream version 4.2.8-dfsgupstream/4.2.8-dfsg
Diffstat (limited to 'src/VBox/Additions')
-rw-r--r--src/VBox/Additions/common/VBoxControl/VBoxControl.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxControl/testcase/tstVBoxControl.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c10
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.def2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/VBoxGuestA-os2.asm2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/freebsd/Makefile2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/linux/Makefile4
-rwxr-xr-xsrc/VBox/Additions/common/VBoxGuest/linux/files_vboxguest2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/win/VBoxGuestInst.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuest/win/VBoxGuestMsg.mc2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/Init.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/SysHlp.h4
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h19
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.c96
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.h8
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3Lib.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibClipboard.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibCredentials.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibDaemonize.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGR.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibHostVersion.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibMouse.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSeamless.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibTime.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxGuestLib/VbglR0CanUsePhysPageList.cpp7
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxService-os2.def2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxService-win.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxService.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp94
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp16
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServicePropCache.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServicePropCache.h2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceResource-win.h2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceUtils.cpp30
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp296
-rw-r--r--src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp30
-rw-r--r--src/VBox/Additions/common/VBoxService/testcase/tstUserInfo.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp2
-rw-r--r--src/VBox/Additions/common/VBoxVideo/VBVABase.cpp2
-rwxr-xr-xsrc/VBox/Additions/common/crOpenGL/Linux_i386_glxapi_exports.py2
-rwxr-xr-xsrc/VBox/Additions/common/crOpenGL/SunOS_i386_exports.py2
-rwxr-xr-xsrc/VBox/Additions/common/crOpenGL/SunOS_i386_exports_dri.py2
-rwxr-xr-xsrc/VBox/Additions/common/crOpenGL/SunOS_i386_glxapi_exports.py2
-rw-r--r--src/VBox/Additions/common/crOpenGL/VBoxICDList.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/dri_drv.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/dri_drv.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/dri_glx.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/fakedri_drv.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/fakedri_drv.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/fakedri_glfuncsList.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/fakedri_glxfuncsList.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/glx_c_exports.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/glx_proto.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/icd_drv.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/icd_drv.h2
-rw-r--r--src/VBox/Additions/common/crOpenGL/load.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/pack/packspu_getshaders.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c2
-rw-r--r--src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c2
-rw-r--r--src/VBox/Additions/common/pam/pam_vbox.cpp2
-rw-r--r--src/VBox/Additions/common/testcase/tstPageFusion.cpp2
-rw-r--r--src/VBox/Additions/freebsd/Makefile2
-rw-r--r--src/VBox/Additions/freebsd/drm/Makefile2
-rw-r--r--src/VBox/Additions/freebsd/drm/vboxvideo_drm.c2
-rw-r--r--src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c2
-rw-r--r--src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c2
-rw-r--r--src/VBox/Additions/linux/Makefile2
-rw-r--r--src/VBox/Additions/linux/Makefile.kmk23
-rw-r--r--src/VBox/Additions/linux/drm/Makefile.module2
-rwxr-xr-xsrc/VBox/Additions/linux/drm/files_vboxvideo_drm2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo.h2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_crtc.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_dac.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_device.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_display.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_drm.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_drm.h2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_drv.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_drv.h2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_kms.c2
-rw-r--r--src/VBox/Additions/linux/drm/vboxvideo_vga.c2
-rwxr-xr-xsrc/VBox/Additions/linux/export_modules2
-rw-r--r--src/VBox/Additions/linux/installer/deffiles2
-rw-r--r--src/VBox/Additions/linux/installer/module-autologon.sh169
-rwxr-xr-xsrc/VBox/Additions/linux/installer/vboxadd-service.sh2
-rwxr-xr-xsrc/VBox/Additions/linux/installer/vboxadd-x11.sh4
-rwxr-xr-xsrc/VBox/Additions/linux/installer/vboxadd.sh4
-rw-r--r--src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c2
-rw-r--r--src/VBox/Additions/linux/sharedfolders/regops.c2
-rw-r--r--src/VBox/Additions/linux/sharedfolders/vfsmod.c2
-rw-r--r--src/VBox/Additions/linux/testcase/TimesyncBackdoor.c2
-rw-r--r--src/VBox/Additions/solaris/DRM/vboxvideo_drm.c2
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/makepackage.sh2
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/postinstall.sh2
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/preremove.sh2
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/vboxguest.sh2
-rw-r--r--src/VBox/Additions/solaris/Installer/vboxservice.xml2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_mount.c2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.h2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c2
-rw-r--r--src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.h2
-rw-r--r--src/VBox/Additions/solaris/Virtio/Virtio-solaris.c2
-rw-r--r--src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c2
-rw-r--r--src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c2
-rw-r--r--src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c2
-rwxr-xr-xsrc/VBox/Additions/x11/Installer/x11config.sh2
-rwxr-xr-xsrc/VBox/Additions/x11/Installer/x11config15sol.pl2
-rwxr-xr-xsrc/VBox/Additions/x11/Installer/x11restore.pl4
-rw-r--r--src/VBox/Additions/x11/Makefile.kmk6
-rw-r--r--src/VBox/Additions/x11/VBoxClient/VBoxClient.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/clipboard.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/display.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/hostversion.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/main.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-glue.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-guest.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-host.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-host.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless-x11.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/seamless.h2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/thread.cpp2
-rw-r--r--src/VBox/Additions/x11/VBoxClient/thread.h2
-rw-r--r--src/VBox/Additions/x11/vboxmouse/Makefile.kmk123
-rw-r--r--src/VBox/Additions/x11/vboxmouse/undefined29
-rw-r--r--src/VBox/Additions/x11/vboxmouse/undefined_extra18
-rw-r--r--src/VBox/Additions/x11/vboxmouse/vboxmouse.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/Makefile.kmk126
-rw-r--r--src/VBox/Additions/x11/vboxvideo/edid.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/pointer.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/setmode.c9
-rw-r--r--src/VBox/Additions/x11/vboxvideo/undefined55
-rw-r--r--src/VBox/Additions/x11/vboxvideo/undefined_extra19
-rw-r--r--src/VBox/Additions/x11/vboxvideo/vboxutils.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/vboxvideo.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/vboxvideo.h6
-rw-r--r--src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c2
-rw-r--r--src/VBox/Additions/x11/vboxvideo/vbva.c2
-rw-r--r--src/VBox/Additions/x11/x11stubs/libXcomposite-1.0.0/libXcomposite.c2
172 files changed, 938 insertions, 575 deletions
diff --git a/src/VBox/Additions/common/VBoxControl/VBoxControl.cpp b/src/VBox/Additions/common/VBoxControl/VBoxControl.cpp
index afa7b69cb..440c4b81d 100644
--- a/src/VBox/Additions/common/VBoxControl/VBoxControl.cpp
+++ b/src/VBox/Additions/common/VBoxControl/VBoxControl.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2008-2010 Oracle Corporation
+ * Copyright (C) 2008-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxControl/testcase/tstVBoxControl.cpp b/src/VBox/Additions/common/VBoxControl/testcase/tstVBoxControl.cpp
index 7536162bb..38c8d3e58 100644
--- a/src/VBox/Additions/common/VBoxControl/testcase/tstVBoxControl.cpp
+++ b/src/VBox/Additions/common/VBoxControl/testcase/tstVBoxControl.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
index 1720abb23..1552f7150 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
index b4270bae8..ab0942e12 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
@@ -1,4 +1,4 @@
-/* $Rev: 80789 $ */
+/* $Rev: 83687 $ */
/** @file
* VBoxGuest - Linux specifics.
*
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -196,7 +196,11 @@ static struct miscdevice g_MiscDeviceUser =
/** PCI hotplug structure. */
-static const struct pci_device_id __devinitdata g_VBoxGuestPciId[] =
+static const struct pci_device_id
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)
+__devinitdata
+#endif
+g_VBoxGuestPciId[] =
{
{
vendor: VMMDEV_VENDORID,
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp
index a74f55953..53fbbfbd6 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 knut st. osmundsen <bird-src-spam@anduin.net>
+ * Copyright (C) 2007-2012 knut st. osmundsen <bird-src-spam@anduin.net>
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.def b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.def
index 4728686eb..15c049149 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.def
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.def
@@ -4,7 +4,7 @@
;
;
-; Copyright (C) 2007 Oracle Corporation
+; Copyright (C) 2007-2010 Oracle Corporation
;
; This file is part of VirtualBox Open Source Edition (OSE), as
; available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf
index 6c23af13b..1e2c814fa 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.conf
@@ -1,7 +1,7 @@
#
# OpenSolaris Guest Driver Configuration
#
-# Copyright (C) 2007-2010 Oracle Corporation
+# Copyright (C) 2007-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp
index fb844b78e..79520a412 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp
@@ -2,7 +2,7 @@
*
* VBoxGuest-win-pnp - Windows Plug'n'Play specifics.
*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
index 47cdf0e18..a19a2aab6 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
@@ -2,7 +2,7 @@
*
* VBoxGuest - Windows specifics.
*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h
index a3b02659e..c8d6a2036 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.h
@@ -2,7 +2,7 @@
*
* VBoxGuest - Windows specifics.
*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp b/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
index 594e0921c..5c4dada0b 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007-2012 Oracle Corporation
+ * Copyright (C) 2007-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuestA-os2.asm b/src/VBox/Additions/common/VBoxGuest/VBoxGuestA-os2.asm
index bb8757f19..1d5d11d62 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuestA-os2.asm
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuestA-os2.asm
@@ -4,7 +4,7 @@
;
;
-; Copyright (C) 2007 knut st. osmundsen <bird-src-spam@anduin.net>
+; Copyright (C) 2007-2010 knut st. osmundsen <bird-src-spam@anduin.net>
;
; This file is part of VirtualBox Open Source Edition (OSE), as
; available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/freebsd/Makefile b/src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
index c0326547e..a25cc9f2c 100644
--- a/src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
+++ b/src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2009 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/linux/Makefile b/src/VBox/Additions/common/VBoxGuest/linux/Makefile
index 5b03a9a15..a3529d848 100644
--- a/src/VBox/Additions/common/VBoxGuest/linux/Makefile
+++ b/src/VBox/Additions/common/VBoxGuest/linux/Makefile
@@ -1,10 +1,10 @@
-# $Revision: 79403 $
+# $Revision: 83687 $
## @file
# VirtualBox Guest Additions Module Makefile.
#
#
-# Copyright (C) 2006-2011 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest b/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
index f733baa02..f9f8a9d77 100755
--- a/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
+++ b/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
@@ -5,7 +5,7 @@
#
#
-# Copyright (C) 2007-2010 Oracle Corporation
+# Copyright (C) 2007-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestInst.cpp b/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestInst.cpp
index eb9a7b690..238da6dcb 100644
--- a/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestInst.cpp
+++ b/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestInst.cpp
@@ -2,7 +2,7 @@
*
* Small tool to (un)install the VBoxGuest device driver
*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestMsg.mc b/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestMsg.mc
index 65a14b5f5..9cba3c3f2 100644
--- a/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestMsg.mc
+++ b/src/VBox/Additions/common/VBoxGuest/win/VBoxGuestMsg.mc
@@ -1,7 +1,7 @@
;
; VBoxGuest Device Driver Messages
;
-; Copyright (C) 2006-2007 Oracle Corporation
+; Copyright (C) 2006-2010 Oracle Corporation
;
; This file is part of VirtualBox Open Source Edition (OSE), as
; available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp b/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp
index ea1fe1873..ad336f9ae 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/GenericRequest.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 71271 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLibR0 - Generic VMMDev request management.
*/
/*
- * Copyright (C) 2006-2009 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp b/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp
index f6aa77b46..0a6d65aa9 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/HGCM.cpp
@@ -1,4 +1,4 @@
-/* $Revision: 76853 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLib - Host-Guest Communication Manager.
*
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp b/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
index fa2703aa2..7357398ec 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 77449 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLib - Host-Guest Communication Manager internal functions, implemented by VBoxGuest
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/Init.cpp b/src/VBox/Additions/common/VBoxGuestLib/Init.cpp
index c21ce6cdb..d6c667d37 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/Init.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/Init.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 79609 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLibR0 - Library initialization.
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp b/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp
index 51f1281d0..73e219a3d 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/PhysHeap.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 67140 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLibR0 - Physical memory heap.
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp b/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp
index 9d7959005..c7c379ee9 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/SysHlp.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 81725 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLibR0 - IDC with VBoxGuest and HGCM helpers.
*/
/*
- * Copyright (C) 2006-2009 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/SysHlp.h b/src/VBox/Additions/common/VBoxGuestLib/SysHlp.h
index 9e78e4041..b22ca1c9d 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/SysHlp.h
+++ b/src/VBox/Additions/common/VBoxGuestLib/SysHlp.h
@@ -1,10 +1,10 @@
-/* $Revision: 78884 $ */
+/* $Revision: 83687 $ */
/** @file
* VBoxGuestLibR0 - System dependent helpers internal header.
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h b/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h
index 98cf339c7..6fe015da2 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBGLInternal.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -138,20 +138,13 @@ extern VBGLDATA g_vbgldata;
*
* @param a_fLocked For the windows shared folders workarounds.
*
- * @remarks Disable the PageList feature for 64-bit Windows, because shared
- * folders do not work, if this is enabled. This should be reenabled
- * again when the problem is fixed.
- * @remarks Disabled the PageList feature for 32-bit Windows, see xTracker
- * ticket 6096 and public ticket 10290. Hopefully this is the same
- * issue as on Windows/AMD64.
+ * @remarks Disabled the PageList feature for locked memory on Windows,
+ * because a new MDL is created by VBGL to get the page addresses
+ * and the pages from the MDL are marked as dirty when they should not.
*/
#if defined(RT_OS_WINDOWS)
-# ifdef RT_ARCH_AMD64
-# define VBGLR0_CAN_USE_PHYS_PAGE_LIST(a_fLocked) ( 0 )
-# else
-# define VBGLR0_CAN_USE_PHYS_PAGE_LIST(a_fLocked) \
- ( !(a_fLocked) && (g_vbgldata.hostVersion.features & VMMDEV_HVF_HGCM_PHYS_PAGE_LIST) )
-# endif
+# define VBGLR0_CAN_USE_PHYS_PAGE_LIST(a_fLocked) \
+ ( !(a_fLocked) && (g_vbgldata.hostVersion.features & VMMDEV_HVF_HGCM_PHYS_PAGE_LIST) )
#else
# define VBGLR0_CAN_USE_PHYS_PAGE_LIST(a_fLocked) \
( !!(g_vbgldata.hostVersion.features & VMMDEV_HVF_HGCM_PHYS_PAGE_LIST) )
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h b/src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h
index a36e81291..463c13dc3 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBGLR3Internal.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h
index 0046f8ea3..fccd343ec 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestLog.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.c b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.c
index a792acafd..f05111309 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.c
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.c
@@ -1,10 +1,10 @@
-/* $Revision: 76380 $ */
+/* $Revision: 83629 $ */
/** @file
* VBoxGuestR0LibSharedFolders - Ring 0 Shared Folders calls.
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -442,6 +442,52 @@ DECLVBGL(int) vboxCallRead(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
return rc;
}
+DECLVBGL(int) VbglR0SharedFolderReadPageList(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
+ uint64_t offset, uint32_t *pcbBuffer,
+ uint16_t offFirstPage, uint16_t cPages, RTGCPHYS64 *paPages)
+{
+ uint32_t cbToRead = *pcbBuffer;
+ uint32_t cbData = sizeof(VBoxSFRead) + RT_UOFFSETOF(HGCMPageListInfo, aPages[cPages]);
+ VBoxSFRead *pData = (VBoxSFRead *)RTMemTmpAlloc(cbData);
+ HGCMPageListInfo *pPgLst = (HGCMPageListInfo *)(pData + 1);
+ uint16_t iPage;
+ int rc;
+
+ if (RT_UNLIKELY(!pData))
+ return VERR_NO_TMP_MEMORY;
+
+ VBOX_INIT_CALL(&pData->callInfo, READ, pClient);
+
+ pData->root.type = VMMDevHGCMParmType_32bit;
+ pData->root.u.value32 = pMap->root;
+
+ pData->handle.type = VMMDevHGCMParmType_64bit;
+ pData->handle.u.value64 = hFile;
+ pData->offset.type = VMMDevHGCMParmType_64bit;
+ pData->offset.u.value64 = offset;
+ pData->cb.type = VMMDevHGCMParmType_32bit;
+ pData->cb.u.value32 = cbToRead;
+ pData->buffer.type = VMMDevHGCMParmType_PageList;
+ pData->buffer.u.PageList.size = cbToRead;
+ pData->buffer.u.PageList.offset = sizeof(VBoxSFRead);
+
+ pPgLst->flags = VBOX_HGCM_F_PARM_DIRECTION_FROM_HOST;
+ pPgLst->offFirstPage = offFirstPage;
+ pPgLst->cPages = cPages;
+ for (iPage = 0; iPage < cPages; iPage++)
+ pPgLst->aPages[iPage] = paPages[iPage];
+
+ rc = VbglHGCMCall(pClient->handle, &pData->callInfo, cbData);
+ if (RT_SUCCESS (rc))
+ {
+ rc = pData->callInfo.result;
+ *pcbBuffer = pData->cb.u.value32;
+ }
+
+ RTMemTmpFree(pData);
+ return rc;
+}
+
DECLVBGL(int) vboxCallWrite(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
uint64_t offset, uint32_t *pcbBuffer, uint8_t *pBuffer, bool fLocked)
{
@@ -524,6 +570,52 @@ DECLVBGL(int) VbglR0SfWritePhysCont(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHAND
}
+DECLVBGL(int) VbglR0SharedFolderWritePageList(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
+ uint64_t offset, uint32_t *pcbBuffer,
+ uint16_t offFirstPage, uint16_t cPages, RTGCPHYS64 *paPages)
+{
+ uint32_t cbToWrite = *pcbBuffer;
+ uint32_t cbData = sizeof(VBoxSFWrite) + RT_UOFFSETOF(HGCMPageListInfo, aPages[cPages]);
+ VBoxSFWrite *pData = (VBoxSFWrite *)RTMemTmpAlloc(cbData);
+ HGCMPageListInfo *pPgLst = (HGCMPageListInfo *)(pData + 1);
+ uint16_t iPage;
+ int rc;
+
+ if (RT_UNLIKELY(!pData))
+ return VERR_NO_TMP_MEMORY;
+
+ VBOX_INIT_CALL(&pData->callInfo, WRITE, pClient);
+
+ pData->root.type = VMMDevHGCMParmType_32bit;
+ pData->root.u.value32 = pMap->root;
+
+ pData->handle.type = VMMDevHGCMParmType_64bit;
+ pData->handle.u.value64 = hFile;
+ pData->offset.type = VMMDevHGCMParmType_64bit;
+ pData->offset.u.value64 = offset;
+ pData->cb.type = VMMDevHGCMParmType_32bit;
+ pData->cb.u.value32 = cbToWrite;
+ pData->buffer.type = VMMDevHGCMParmType_PageList;
+ pData->buffer.u.PageList.size = cbToWrite;
+ pData->buffer.u.PageList.offset = sizeof(VBoxSFWrite);
+
+ pPgLst->flags = VBOX_HGCM_F_PARM_DIRECTION_TO_HOST;
+ pPgLst->offFirstPage = offFirstPage;
+ pPgLst->cPages = cPages;
+ for (iPage = 0; iPage < cPages; iPage++)
+ pPgLst->aPages[iPage] = paPages[iPage];
+
+ rc = VbglHGCMCall (pClient->handle, &pData->callInfo, cbData);
+ if (RT_SUCCESS (rc))
+ {
+ rc = pData->callInfo.result;
+ *pcbBuffer = pData->cb.u.value32;
+ }
+
+ RTMemTmpFree(pData);
+ return rc;
+}
+
DECLVBGL(int) vboxCallFlush(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile)
{
int rc = VINF_SUCCESS;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.h b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.h
index 3947a13da..5e5c95761 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.h
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR0LibSharedFolders.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -172,8 +172,14 @@ DECLVBGL(int) vboxCallRename (PVBSFCLIENT pClient, PVBSFMAP pMap, PSHFLSTRING pS
DECLVBGL(int) vboxCallFlush (PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile);
DECLVBGL(int) vboxCallRead (PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile, uint64_t offset, uint32_t *pcbBuffer, uint8_t *pBuffer, bool fLocked);
+DECLVBGL(int) VbglR0SharedFolderReadPageList(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
+ uint64_t offset, uint32_t *pcbBuffer,
+ uint16_t offFirstPage, uint16_t cPages, RTGCPHYS64 *paPages);
DECLVBGL(int) vboxCallWrite (PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile, uint64_t offset, uint32_t *pcbBuffer, uint8_t *pBuffer, bool fLocked);
DECLVBGL(int) VbglR0SfWritePhysCont(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile, uint64_t offset, uint32_t *pcbBuffer, RTCCPHYS PhysBuffer);
+DECLVBGL(int) VbglR0SharedFolderWritePageList(PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile,
+ uint64_t offset, uint32_t *pcbBuffer,
+ uint16_t offFirstPage, uint16_t cPages, RTGCPHYS64 *paPages);
DECLVBGL(int) vboxCallLock (PVBSFCLIENT pClient, PVBSFMAP pMap, SHFLHANDLE hFile, uint64_t offset, uint64_t cbSize, uint32_t fLock);
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3Lib.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3Lib.cpp
index 32ccf4c43..662d70b69 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3Lib.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3Lib.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibClipboard.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibClipboard.cpp
index 2c13b0aa1..045d46706 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibClipboard.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibClipboard.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibCredentials.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibCredentials.cpp
index a25515e19..7809a4200 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibCredentials.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibCredentials.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibDaemonize.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibDaemonize.cpp
index a314e522c..2687112fe 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibDaemonize.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibDaemonize.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007-2009 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGR.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGR.cpp
index b8a3fa7f2..a5e165015 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGR.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGR.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp
index 514d60c93..f28cafed6 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010-2011 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp
index 32c7d7968..4fb9bf59b 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestProp.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibHostVersion.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibHostVersion.cpp
index 03cfce8fd..e253838ba 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibHostVersion.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibHostVersion.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibMouse.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibMouse.cpp
index 25fc44ee6..52e39ab22 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibMouse.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibMouse.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSeamless.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSeamless.cpp
index aa146281b..60b47a08a 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSeamless.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSeamless.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp
index 3476f0320..1ebec9cd6 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibSharedFolders.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibTime.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibTime.cpp
index c03b2c222..13830afe7 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibTime.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibTime.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp
index 3298d85d8..d76104351 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibVideo.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007-2009 Oracle Corporation
+ * Copyright (C) 2007-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp b/src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp
index 007792376..beda4bb27 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VMMDev.cpp
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VbglR0CanUsePhysPageList.cpp b/src/VBox/Additions/common/VBoxGuestLib/VbglR0CanUsePhysPageList.cpp
index a87645569..04f69636c 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VbglR0CanUsePhysPageList.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VbglR0CanUsePhysPageList.cpp
@@ -1,10 +1,10 @@
-/* $Revision: 77449 $ */
+/* $Revision: 83629 $ */
/** @file
* VBoxGuestLibR0 - Physical memory heap.
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -34,6 +34,9 @@
*/
DECLR0VBGL(bool) VbglR0CanUsePhysPageList(void)
{
+ /* a_fLocked is false, because the actual capability of the host is requested.
+ * See VBGLR0_CAN_USE_PHYS_PAGE_LIST definition.
+ */
int rc = vbglR0Enter();
return RT_SUCCESS(rc)
&& VBGLR0_CAN_USE_PHYS_PAGE_LIST(/*a_fLocked =*/ false);
diff --git a/src/VBox/Additions/common/VBoxService/VBoxService-os2.def b/src/VBox/Additions/common/VBoxService/VBoxService-os2.def
index 2c14ceede..aed84c68a 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxService-os2.def
+++ b/src/VBox/Additions/common/VBoxService/VBoxService-os2.def
@@ -3,7 +3,7 @@
;
;
-; Copyright (C) 2007 Oracle Corporation
+; Copyright (C) 2007-2010 Oracle Corporation
;
; This file is part of VirtualBox Open Source Edition (OSE), as
; available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxService-win.cpp b/src/VBox/Additions/common/VBoxService/VBoxService-win.cpp
index 9a990e2a6..eb970fa8a 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxService-win.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxService-win.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxService.cpp b/src/VBox/Additions/common/VBoxService/VBoxService.cpp
index 639b97f78..3e442cddd 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxService.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxService.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007-2011 Oracle Corporation
+ * Copyright (C) 2007-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp
index 06d172e40..04e4d52de 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010-2011 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp
index ecfd743c3..3d5d0a867 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceBalloon.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
index 07778cd70..794c19bf6 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2012-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -41,6 +41,8 @@ using namespace guestControl;
static uint32_t g_uControlIntervalMS = 0;
/** The semaphore we're blocking our main control thread on. */
static RTSEMEVENTMULTI g_hControlEvent = NIL_RTSEMEVENTMULTI;
+/** The VM session ID. Changes whenever the VM is restored or reset. */
+static uint64_t g_idControlSession;
/** The guest control service client ID. */
static uint32_t g_uControlSvcClientID = 0;
/** How many started guest processes are kept into memory for supplying
@@ -69,17 +71,19 @@ static uint32_t g_uControlFileCount = 0;
* Internal Functions *
*******************************************************************************/
/** @todo Shorten "VBoxServiceControl" to "gstsvcCntl". */
-static int VBoxServiceControlReapThreads(void);
-static int VBoxServiceControlStartAllowed(bool *pbAllowed);
-static int VBoxServiceControlHandleCmdStartProc(uint32_t u32ClientId, uint32_t uNumParms);
-static int VBoxServiceControlHandleCmdSetInput(uint32_t u32ClientId, uint32_t uNumParms, void *pvScratchBuf, size_t cbScratchBuf);
-static int VBoxServiceControlHandleCmdGetOutput(uint32_t u32ClientId, uint32_t uNumParms);
-static int VBoxServiceControlHandleFileOpen(uint32_t idClient, uint32_t cParms);
-static int VBoxServiceControlHandleFileClose(uint32_t idClient, uint32_t cParms);
-static int VBoxServiceControlHandleFileRead(uint32_t idClient, uint32_t cParms);
-static int VBoxServiceControlHandleFileWrite(uint32_t idClient, uint32_t cParms, void *pvScratchBuf, size_t cbScratchBuf);
-static int VBoxServiceControlHandleFileSeek(uint32_t idClient, uint32_t cParms);
-static int VBoxServiceControlHandleFileTell(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlHandleCmdStartProc(uint32_t u32ClientId, uint32_t uNumParms);
+static int VBoxServiceControlHandleCmdSetInput(uint32_t u32ClientId, uint32_t uNumParms, void *pvScratchBuf, size_t cbScratchBuf);
+static int VBoxServiceControlHandleCmdGetOutput(uint32_t u32ClientId, uint32_t uNumParms);
+static int VBoxServiceControlHandleFileOpen(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlHandleFileClose(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlHandleFileRead(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlHandleFileWrite(uint32_t idClient, uint32_t cParms, void *pvScratchBuf, size_t cbScratchBuf);
+static int VBoxServiceControlHandleFileSeek(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlHandleFileTell(uint32_t idClient, uint32_t cParms);
+static int VBoxServiceControlReapThreads(void);
+static void VBoxServiceControlShutdown(void);
+static int vboxServiceControlSessionCloseAll(void);
+static int VBoxServiceControlStartAllowed(bool *pbAllowed);
#ifdef DEBUG
static int vboxServiceControlDump(const char *pszFileName, void *pvBuf, size_t cbBuf)
@@ -193,6 +197,9 @@ static DECLCALLBACK(int) VBoxServiceControlInit(void)
int rc = RTSemEventMultiCreate(&g_hControlEvent);
AssertRCReturn(rc, rc);
+ VbglR3GetSessionId(&g_idControlSession);
+ /* The status code is ignored as this information is not available with VBox < 3.2.10. */
+
rc = VbglR3GuestCtrlConnect(&g_uControlSvcClientID);
if (RT_SUCCESS(rc))
{
@@ -265,10 +272,25 @@ DECLCALLBACK(int) VBoxServiceControlWorker(bool volatile *pfShutdown)
if (RT_SUCCESS(rc))
{
VBoxServiceVerbose(3, "Msg=%u (%u parms) retrieved\n", uMsg, cParms);
+
+ uint64_t idNewSession = g_idControlSession;
+ int rc2 = VbglR3GetSessionId(&idNewSession);
+ if ( RT_SUCCESS(rc2)
+ && (idNewSession != g_idControlSession))
+ {
+ VBoxServiceVerbose(1, "The VM session ID changed\n");
+ g_idControlSession = idNewSession;
+
+ /* Close all opened guest sessions -- all context IDs, sessions etc.
+ * are now invalid. */
+ rc2 = vboxServiceControlSessionCloseAll();
+ AssertRC(rc2);
+ }
+
switch (uMsg)
{
case HOST_CANCEL_PENDING_WAITS:
- VBoxServiceVerbose(3, "Host asked us to quit ...\n");
+ VBoxServiceVerbose(1, "We were asked to quit ...\n");
break;
case HOST_EXEC_CMD:
@@ -320,7 +342,6 @@ DECLCALLBACK(int) VBoxServiceControlWorker(bool volatile *pfShutdown)
if ( *pfShutdown
|| (RT_SUCCESS(rc) && uMsg == HOST_CANCEL_PENDING_WAITS))
{
- rc = VINF_SUCCESS;
break;
}
@@ -328,6 +349,8 @@ DECLCALLBACK(int) VBoxServiceControlWorker(bool volatile *pfShutdown)
RTThreadYield();
}
+ VBoxServiceVerbose(0, "Guest control service stopped\n");
+
/* Delete scratch buffer. */
if (pvScratchBuf)
RTMemFree(pvScratchBuf);
@@ -1033,11 +1056,14 @@ static int VBoxServiceControlReapThreads(void)
/**
- * Destroys all guest process threads which are still active.
+ * Closes a formerly opened guest session.
+ *
+ * @return IPRT status code.
+ * @param uSessionID Guest session to close.
*/
-static void VBoxServiceControlShutdown(void)
+static int vboxServiceControlSessionClose(uint32_t uSessionID)
{
- VBoxServiceVerbose(2, "Shutting down ...\n");
+ /* Note: Sessions are not implemented yet, so just shutdown all started guest processes. */
/* Signal all threads in the active list that we want to shutdown. */
PVBOXSERVICECTRLTHREAD pThread;
@@ -1055,7 +1081,10 @@ static void VBoxServiceControlShutdown(void)
30 * 1000 /* Wait 30 seconds max. */,
NULL /* rc */);
if (RT_FAILURE(rc2))
+ {
VBoxServiceError("Guest process thread failed to stop; rc=%Rrc\n", rc2);
+ /* Keep going. */
+ }
if (fLast)
break;
@@ -1063,15 +1092,40 @@ static void VBoxServiceControlShutdown(void)
pThread = pNext;
}
- int rc2 = VBoxServiceControlReapThreads();
- if (RT_FAILURE(rc2))
- VBoxServiceError("Reaping inactive threads failed with rc=%Rrc\n", rc2);
+ int rc = VBoxServiceControlReapThreads();
+ if (RT_FAILURE(rc))
+ VBoxServiceError("Reaping inactive threads failed with rc=%Rrc\n", rc);
AssertMsg(RTListIsEmpty(&g_lstControlThreadsActive),
("Guest process active thread list still contains entries when it should not\n"));
AssertMsg(RTListIsEmpty(&g_lstControlThreadsInactive),
("Guest process inactive thread list still contains entries when it should not\n"));
+ return rc;
+}
+
+
+/**
+ * Closes (shuts down) all opened guest sessions.
+ *
+ * @return IPRT status code.
+ */
+static int vboxServiceControlSessionCloseAll(void)
+{
+ return vboxServiceControlSessionClose(0 /* Session ID, not used yet */);
+}
+
+
+/**
+ * Destroys all guest process threads which are still active.
+ */
+static void VBoxServiceControlShutdown(void)
+{
+ VBoxServiceVerbose(2, "Shutting down ...\n");
+
+ int rc2 = vboxServiceControlSessionCloseAll();
+ AssertRC(rc2);
+
/* Destroy critical section. */
RTCritSectDelete(&g_csControlThreads);
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp
index 78ec20a8b..503bcbaae 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceControlThread.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2012-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -1623,18 +1623,8 @@ static int VBoxServiceControlThreadProcessWorker(PVBOXSERVICECTRLTHREAD pThread)
rc2, rc);
}
- VBoxServiceVerbose(3, "[PID %u]: Cancelling pending host requests (client ID=%u)\n",
- pThread->uPID, pThread->uClientID);
- rc2 = VbglR3GuestCtrlCancelPendingWaits(pThread->uClientID);
- if (RT_FAILURE(rc2))
- {
- VBoxServiceError("[PID %u]: Cancelling pending host requests failed; rc=%Rrc\n",
- pThread->uPID, rc2);
- if (RT_SUCCESS(rc))
- rc = rc2;
- }
-
- /* Disconnect from guest control service. */
+ /* Disconnect this client from the guest control service. This also cancels all
+ * outstanding host requests. */
VBoxServiceVerbose(3, "[PID %u]: Disconnecting (client ID=%u) ...\n",
pThread->uPID, pThread->uClientID);
VbglR3GuestCtrlDisconnect(pThread->uClientID);
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp
index 53dc16759..9e80808ba 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceCpuHotPlug.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp b/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp
index 39c9912de..3e97d2bfa 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.cpp b/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.cpp
index 3e4b8b1cf..13a671964 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.h b/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.h
index 430f9a7df..eb3ac648e 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.h
+++ b/src/VBox/Additions/common/VBoxService/VBoxServicePropCache.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceResource-win.h b/src/VBox/Additions/common/VBoxService/VBoxServiceResource-win.h
index cf932cbe2..60296c55f 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceResource-win.h
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceResource-win.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp
index 112a296f8..db7e8a323 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp
index 3371cb2f8..3c84e28ad 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceUtils.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceUtils.cpp
index b09ef3e82..8bc61846c 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceUtils.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceUtils.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2012 Oracle Corporation
+ * Copyright (C) 2009-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -110,7 +110,8 @@ int VBoxServiceReadProp(uint32_t u32ClientId, const char *pszPropName,
break; /* done */
}
- RTMemFree(pvBuf);
+ if (pvBuf)
+ RTMemFree(pvBuf);
return rc;
}
@@ -167,8 +168,11 @@ int VBoxServiceReadPropUInt32(uint32_t u32ClientId, const char *pszPropName,
int VBoxServiceReadHostProp(uint32_t u32ClientId, const char *pszPropName, bool fReadOnly,
char **ppszValue, char **ppszFlags, uint64_t *puTimestamp)
{
- char *pszFlags;
- int rc = VBoxServiceReadProp(u32ClientId, pszPropName, ppszValue, &pszFlags, puTimestamp);
+ AssertPtrReturn(ppszValue, VERR_INVALID_PARAMETER);
+
+ char *pszValue = NULL;
+ char *pszFlags = NULL;
+ int rc = VBoxServiceReadProp(u32ClientId, pszPropName, &pszValue, &pszFlags, puTimestamp);
if (RT_SUCCESS(rc))
{
/* Check security bits. */
@@ -180,10 +184,22 @@ int VBoxServiceReadHostProp(uint32_t u32ClientId, const char *pszPropName, bool
rc = VERR_ACCESS_DENIED;
}
- if (ppszFlags)
- *ppszFlags = pszFlags;
+ if (RT_SUCCESS(rc))
+ {
+ *ppszValue = pszValue;
+
+ if (ppszFlags)
+ *ppszFlags = pszFlags;
+ else if (pszFlags)
+ RTStrFree(pszFlags);
+ }
else
- RTStrFree(pszFlags);
+ {
+ if (pszValue)
+ RTStrFree(pszValue);
+ if (pszFlags)
+ RTStrFree(pszFlags);
+ }
}
return rc;
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
index a23128a58..28a900620 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo-win.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -40,6 +40,8 @@
#include "VBoxServiceInternal.h"
#include "VBoxServiceUtils.h"
+static uint32_t s_uGuestPropClientID = 0;
+static uint32_t s_uIter = 0;
/*******************************************************************************
* Structures and Typedefs *
@@ -52,11 +54,11 @@ typedef struct
WCHAR wszLogonDomain[_MAX_PATH];
/** Number of assigned user processes. */
ULONG ulNumProcs;
- /** Last (highest) session number. This
+ /** Last (highest) session ID. This
* is needed for distinguishing old session
* process counts from new (current) session
* ones. */
- ULONG ulSession;
+ ULONG ulLastSession;
} VBOXSERVICEVMINFOUSER, *PVBOXSERVICEVMINFOUSER;
/** Structure for the file information lookup. */
@@ -71,6 +73,8 @@ typedef struct
{
/** The PID. */
DWORD id;
+ /** The SID. */
+ PSID pSid;
/** The LUID. */
LUID luid;
/** Interactive process. */
@@ -84,7 +88,7 @@ typedef struct
uint32_t VBoxServiceVMInfoWinSessionHasProcesses(PLUID pSession, PVBOXSERVICEVMINFOPROC const paProcs, DWORD cProcs);
bool VBoxServiceVMInfoWinIsLoggedIn(PVBOXSERVICEVMINFOUSER a_pUserInfo, PLUID a_pSession);
int VBoxServiceVMInfoWinProcessesEnumerate(PVBOXSERVICEVMINFOPROC *ppProc, DWORD *pdwCount);
-void VBoxServiceVMInfoWinProcessesFree(PVBOXSERVICEVMINFOPROC paProcs);
+void VBoxServiceVMInfoWinProcessesFree(DWORD cProcs, PVBOXSERVICEVMINFOPROC paProcs);
typedef BOOL WINAPI FNQUERYFULLPROCESSIMAGENAME(HANDLE, DWORD, LPTSTR, PDWORD);
typedef FNQUERYFULLPROCESSIMAGENAME *PFNQUERYFULLPROCESSIMAGENAME;
@@ -92,6 +96,28 @@ typedef FNQUERYFULLPROCESSIMAGENAME *PFNQUERYFULLPROCESSIMAGENAME;
#ifndef TARGET_NT4
+static bool vboxServiceVMInfoSession0Separation(void)
+{
+ /** @todo Only do this once. Later. */
+ OSVERSIONINFOEX OSInfoEx;
+ RT_ZERO(OSInfoEx);
+ OSInfoEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
+ if ( !GetVersionEx((LPOSVERSIONINFO) &OSInfoEx)
+ || OSInfoEx.dwPlatformId != VER_PLATFORM_WIN32_NT)
+ {
+ /* Platform other than NT (e.g. Win9x) not supported. */
+ return false;
+ }
+
+ if ( OSInfoEx.dwMajorVersion >= 6
+ && OSInfoEx.dwMinorVersion >= 0)
+ {
+ return true;
+ }
+
+ return false;
+}
+
/**
* Retrieves the module name of a given process.
*
@@ -211,10 +237,13 @@ static int VBoxServiceVMInfoWinProcessesGetTokenInfo(PVBOXSERVICEVMINFOPROC pPro
case TokenGroups:
dwTokenInfoSize = 0;
- /* Allocating will follow in a second step. */
+ /* Allocation will follow in a second step. */
break;
- /** @todo Implement more token classes here. */
+ case TokenUser:
+ dwTokenInfoSize = 0;
+ /* Allocation will follow in a second step. */
+ break;
default:
VBoxServiceError("Token class not implemented: %ld", tkClass);
@@ -242,6 +271,14 @@ static int VBoxServiceVMInfoWinProcessesGetTokenInfo(PVBOXSERVICEVMINFOPROC pPro
dwTokenInfoSize = dwRetLength;
break;
+ case TokenUser:
+ pvTokenInfo = (PTOKEN_USER)HeapAlloc(GetProcessHeap(),
+ HEAP_ZERO_MEMORY, dwRetLength);
+ if (!pvTokenInfo)
+ dwErr = GetLastError();
+ dwTokenInfoSize = dwRetLength;
+ break;
+
default:
AssertMsgFailed(("Re-allocating of token information for token class not implemented\n"));
break;
@@ -264,6 +301,7 @@ static int VBoxServiceVMInfoWinProcessesGetTokenInfo(PVBOXSERVICEVMINFOPROC pPro
case TokenStatistics:
{
PTOKEN_STATISTICS pStats = (PTOKEN_STATISTICS)pvTokenInfo;
+ AssertPtr(pStats);
memcpy(&pProc->luid, &pStats->AuthenticationId, sizeof(LUID));
/** @todo Add more information of TOKEN_STATISTICS as needed. */
break;
@@ -309,6 +347,34 @@ static int VBoxServiceVMInfoWinProcessesGetTokenInfo(PVBOXSERVICEVMINFOPROC pPro
break;
}
+ case TokenUser:
+ {
+ PTOKEN_USER pUser = (PTOKEN_USER)pvTokenInfo;
+ AssertPtr(pUser);
+
+ DWORD dwLength = GetLengthSid(pUser->User.Sid);
+ Assert(dwLength);
+ if (dwLength)
+ {
+ pProc->pSid = (PSID)RTMemAlloc(dwLength);
+ AssertPtr(pProc->pSid);
+ if (CopySid(dwLength, pProc->pSid, pUser->User.Sid))
+ {
+ if (!IsValidSid(pProc->pSid))
+ dwErr = ERROR_INVALID_NAME;
+ }
+ else
+ dwErr = GetLastError();
+ }
+ else
+ dwErr = ERROR_NO_DATA;
+
+ if (dwErr != ERROR_SUCCESS)
+ VBoxServiceError("Error retrieving SID of process PID=%ld: %ld\n",
+ pProc->id, dwErr);
+ break;
+ }
+
default:
AssertMsgFailed(("Unhandled token information class\n"));
break;
@@ -396,23 +462,22 @@ int VBoxServiceVMInfoWinProcessesEnumerate(PVBOXSERVICEVMINFOPROC *ppaProcs, PDW
for (DWORD i = 0; i < cProcesses; i++)
{
paProcs[i].id = paPID[i];
- rc = VBoxServiceVMInfoWinProcessesGetTokenInfo(&paProcs[i], TokenGroups);
- if (RT_FAILURE(rc))
- {
- /* Because some processes cannot be opened/parsed on
- Windows, we should not consider to be this an error here. */
- rc = VINF_SUCCESS;
- }
- else
- {
- rc = VBoxServiceVMInfoWinProcessesGetTokenInfo(&paProcs[i], TokenStatistics);
- if (RT_FAILURE(rc))
- {
- /* Because some processes cannot be opened/parsed on
- Windows, we should not consider to be this an error here. */
- rc = VINF_SUCCESS;
- }
- }
+ paProcs[i].pSid = NULL;
+
+ int rc2 = VBoxServiceVMInfoWinProcessesGetTokenInfo(&paProcs[i], TokenUser);
+ if (RT_FAILURE(rc2) && g_cVerbosity)
+ VBoxServiceError("Get token class \"user\" for process %ld failed, rc=%Rrc\n",
+ paProcs[i].id, rc2);
+
+ rc2 = VBoxServiceVMInfoWinProcessesGetTokenInfo(&paProcs[i], TokenGroups);
+ if (RT_FAILURE(rc2) && g_cVerbosity)
+ VBoxServiceError("Get token class \"groups\" for process %ld failed, rc=%Rrc\n",
+ paProcs[i].id, rc2);
+
+ rc2 = VBoxServiceVMInfoWinProcessesGetTokenInfo(&paProcs[i], TokenStatistics);
+ if (RT_FAILURE(rc2) && g_cVerbosity)
+ VBoxServiceError("Get token class \"statistics\" for process %ld failed, rc=%Rrc\n",
+ paProcs[i].id, rc2);
}
/* Save number of processes */
@@ -438,8 +503,13 @@ int VBoxServiceVMInfoWinProcessesEnumerate(PVBOXSERVICEVMINFOPROC *ppaProcs, PDW
*
* @param paProcs What
*/
-void VBoxServiceVMInfoWinProcessesFree(PVBOXSERVICEVMINFOPROC paProcs)
+void VBoxServiceVMInfoWinProcessesFree(DWORD cProcs, PVBOXSERVICEVMINFOPROC paProcs)
{
+ for (DWORD i = 0; i < cProcs; i++)
+ {
+ if (paProcs[i].pSid)
+ RTMemFree(paProcs[i].pSid);
+ }
RTMemFree(paProcs);
}
@@ -447,14 +517,14 @@ void VBoxServiceVMInfoWinProcessesFree(PVBOXSERVICEVMINFOPROC paProcs)
* Determines whether the specified session has processes on the system.
*
* @returns Number of processes found for a specified session.
- * @param pSession The session.
+ * @param pSession The current user's SID.
* @param paProcs The process snapshot.
* @param cProcs The number of processes in the snaphot.
* @param puSession Looked up session number. Optional.
*/
uint32_t VBoxServiceVMInfoWinSessionHasProcesses(PLUID pSession,
PVBOXSERVICEVMINFOPROC const paProcs, DWORD cProcs,
- PULONG puSession)
+ PULONG puTerminalSession)
{
if (!pSession)
{
@@ -466,10 +536,18 @@ uint32_t VBoxServiceVMInfoWinSessionHasProcesses(PLUID pSession,
NTSTATUS rcNt = LsaGetLogonSessionData(pSession, &pSessionData);
if (rcNt != STATUS_SUCCESS)
{
- VBoxServiceError("Could not get logon session data! rcNt=%#x", rcNt);
+ VBoxServiceError("Could not get logon session data! rcNt=%#x\n", rcNt);
return 0;
}
+ if (!IsValidSid(pSessionData->Sid))
+ {
+ VBoxServiceError("User SID=%p is not valid\n", pSessionData->Sid);
+ return 0;
+ }
+
+ int rc = VINF_SUCCESS;
+
/*
* Even if a user seems to be logged in, it could be a stale/orphaned logon
* session. So check if we have some processes bound to it by comparing the
@@ -478,40 +556,35 @@ uint32_t VBoxServiceVMInfoWinSessionHasProcesses(PLUID pSession,
uint32_t cNumProcs = 0;
for (DWORD i = 0; i < cProcs; i++)
{
- VBoxServiceVerbose(4, "PID=%ld: (Interactive: %RTbool) %ld:%ld <-> %ld:%ld\n",
- paProcs[i].id, paProcs[i].fInteractive,
- paProcs[i].luid.HighPart, paProcs[i].luid.LowPart,
- pSessionData->LogonId.HighPart, pSessionData->LogonId.LowPart);
if (g_cVerbosity)
{
TCHAR szModule[_1K];
- int rc2 = VBoxServiceVMInfoWinProcessesGetModuleName(&paProcs[i], szModule, sizeof(szModule));
- if (RT_SUCCESS(rc2))
+ rc = VBoxServiceVMInfoWinProcessesGetModuleName(&paProcs[i], szModule, sizeof(szModule));
+ if (RT_SUCCESS(rc))
VBoxServiceVerbose(4, "PID=%ld: %s\n",
paProcs[i].id, szModule);
}
- if ( paProcs[i].fInteractive
- && ( paProcs[i].luid.HighPart == pSessionData->LogonId.HighPart
- && paProcs[i].luid.LowPart == pSessionData->LogonId.LowPart))
+ PSID pProcSID = paProcs[i].pSid;
+ if ( RT_SUCCESS(rc)
+ && pProcSID
+ && IsValidSid(pProcSID))
{
- cNumProcs++;
- if (!g_cVerbosity) /* We want a bit more info on higher verbosity. */
- break;
+ if ( EqualSid(pSessionData->Sid, paProcs[i].pSid)
+ && paProcs[i].fInteractive)
+ {
+ cNumProcs++;
+ if (!g_cVerbosity) /* We want a bit more info on higher verbosity. */
+ break;
+ }
}
}
- if (g_cVerbosity)
- VBoxServiceVerbose(3, "Session %u has %u processes total\n",
- pSessionData->Session, cNumProcs);
- else
- VBoxServiceVerbose(3, "Session %u has at least one process\n",
- pSessionData->Session);
-
- if (puSession)
- *puSession = pSessionData->Session;
+ if (puTerminalSession)
+ *puTerminalSession = pSessionData->Session;
LsaFreeReturnBuffer(pSessionData);
+
return cNumProcs;
}
@@ -586,12 +659,25 @@ bool VBoxServiceVMInfoWinIsLoggedIn(PVBOXSERVICEVMINFOUSER pUserInfo, PLUID pSes
return false;
}
- VBoxServiceVerbose(3, "Session data: Name=%ls, Session=%u, LogonID=%ld,%ld, LogonType=%ld\n",
+ VBoxServiceVerbose(3, "Session data: Name=%ls, SessionID=%RU32, LogonID=%ld,%ld, LogonType=%ld\n",
pSessionData->UserName.Buffer,
pSessionData->Session,
pSessionData->LogonId.HighPart, pSessionData->LogonId.LowPart,
pSessionData->LogonType);
+ if (vboxServiceVMInfoSession0Separation())
+ {
+ /* Starting at Windows Vista user sessions begin with session 1, so
+ * ignore (stale) session 0 users. */
+ if ( pSessionData->Session == 0
+ /* Also check the logon time. */
+ || pSessionData->LogonTime.QuadPart == 0)
+ {
+ LsaFreeReturnBuffer(pSessionData);
+ return false;
+ }
+ }
+
/*
* Only handle users which can login interactively or logged in
* remotely over native RDP.
@@ -711,6 +797,9 @@ bool VBoxServiceVMInfoWinIsLoggedIn(PVBOXSERVICEVMINFOUSER pUserInfo, PLUID pSes
pUserInfo->wszUser, fFoundUser ? "is" : "is not");
}
+ if (fFoundUser)
+ pUserInfo->ulLastSession = pSessionData->Session;
+
LsaFreeReturnBuffer(pSessionData);
return fFoundUser;
}
@@ -727,9 +816,15 @@ bool VBoxServiceVMInfoWinIsLoggedIn(PVBOXSERVICEVMINFOUSER pUserInfo, PLUID pSes
*/
int VBoxServiceVMInfoWinWriteUsers(char **ppszUserList, uint32_t *pcUsersInList)
{
+ AssertPtrReturn(ppszUserList, VERR_INVALID_POINTER);
+ AssertPtrReturn(pcUsersInList, VERR_INVALID_POINTER);
+
PLUID paSessions = NULL;
ULONG cSessions = 0;
+ int rc2 = VbglR3GuestPropConnect(&s_uGuestPropClientID);
+ AssertRC(rc2);
+
/* This function can report stale or orphaned interactive logon sessions
of already logged off users (especially in Windows 2000). */
NTSTATUS rcNt = LsaEnumerateLogonSessions(&cSessions, &paSessions);
@@ -777,56 +872,73 @@ int VBoxServiceVMInfoWinWriteUsers(char **ppszUserList, uint32_t *pcUsersInList)
else
{
ULONG cUniqueUsers = 0;
+
+ /**
+ * Note: The cSessions loop variable does *not* correlate with
+ * the Windows session ID!
+ */
for (ULONG i = 0; i < cSessions; i++)
{
- VBoxServiceVerbose(3, "Handling session %u\n", i);
+ VBoxServiceVerbose(3, "Handling session %RU32 (of %RU32)\n", i + 1, cSessions);
- VBOXSERVICEVMINFOUSER UserInfo;
- if (VBoxServiceVMInfoWinIsLoggedIn(&UserInfo, &paSessions[i]))
+ VBOXSERVICEVMINFOUSER userSession;
+ if (VBoxServiceVMInfoWinIsLoggedIn(&userSession, &paSessions[i]))
{
- VBoxServiceVerbose(4, "Handling user=%ls, domain=%ls, package=%ls\n",
- UserInfo.wszUser, UserInfo.wszLogonDomain, UserInfo.wszAuthenticationPackage);
+ VBoxServiceVerbose(4, "Handling user=%ls, domain=%ls, package=%ls, session=%RU32\n",
+ userSession.wszUser, userSession.wszLogonDomain, userSession.wszAuthenticationPackage,
+ userSession.ulLastSession);
/* Retrieve assigned processes of current session. */
- ULONG ulSession;
- uint32_t cSessionProcs = VBoxServiceVMInfoWinSessionHasProcesses(&paSessions[i], paProcs, cProcs, &ulSession);
+ uint32_t cCurSessionProcs = VBoxServiceVMInfoWinSessionHasProcesses(&paSessions[i], paProcs, cProcs,
+ NULL /* Terminal session ID */);
/* Don't return here when current session does not have assigned processes
* anymore -- in that case we have to search through the unique users list below
* and see if got a stale user/session entry. */
+ if (g_cVerbosity > 3)
+ {
+ char szDebugSessionPath[255]; RTStrPrintf(szDebugSessionPath, sizeof(szDebugSessionPath), "/VirtualBox/GuestInfo/Debug/LSA/Session/%RU32",
+ userSession.ulLastSession);
+ VBoxServiceWritePropF(s_uGuestPropClientID, szDebugSessionPath,
+ "#%RU32: cSessionProcs=%RU32 (of %RU32 procs total)", s_uIter, cCurSessionProcs, cProcs);
+ }
+
bool fFoundUser = false;
- for (ULONG i = 0; i < cUniqueUsers; i++)
+ for (ULONG a = 0; a < cUniqueUsers; a++)
{
- if ( !wcscmp(UserInfo.wszUser, pUserInfo[i].wszUser)
- && !wcscmp(UserInfo.wszLogonDomain, pUserInfo[i].wszLogonDomain)
- && !wcscmp(UserInfo.wszAuthenticationPackage, pUserInfo[i].wszAuthenticationPackage)
- && cSessionProcs)
+ PVBOXSERVICEVMINFOUSER pCurUser = &pUserInfo[a];
+ AssertPtr(pCurUser);
+
+ if ( !wcscmp(userSession.wszUser, pCurUser->wszUser)
+ && !wcscmp(userSession.wszLogonDomain, pCurUser->wszLogonDomain)
+ && !wcscmp(userSession.wszAuthenticationPackage, pCurUser->wszAuthenticationPackage))
{
/*
* Only respect the highest session for the current user.
*/
- if (ulSession > pUserInfo[i].ulSession)
+ if (userSession.ulLastSession > pCurUser->ulLastSession)
{
- VBoxServiceVerbose(4, "Updating user=%ls to %u processes (last session: %u)\n",
- UserInfo.wszUser, cSessionProcs, ulSession);
+ VBoxServiceVerbose(4, "Updating user=%ls to %u processes (last used session: %RU32)\n",
+ pCurUser->wszUser, cCurSessionProcs, userSession.ulLastSession);
- pUserInfo[i].ulNumProcs = cSessionProcs;
- pUserInfo[i].ulSession = ulSession;
+ if (!cCurSessionProcs)
+ VBoxServiceVerbose(3, "Stale session for user=%ls detected! Processes: %RU32 -> %RU32, Session: %RU32 -> %RU32\n",
+ pCurUser->wszUser,
+ pCurUser->ulNumProcs, cCurSessionProcs,
+ pCurUser->ulLastSession, userSession.ulLastSession);
- if (!cSessionProcs)
- VBoxServiceVerbose(3, "Stale session for user=%ls detected! Old processes: %u, new: %u\n",
- pUserInfo[i].wszUser, pUserInfo[i].ulNumProcs, cSessionProcs);
+ pCurUser->ulNumProcs = cCurSessionProcs;
+ pCurUser->ulLastSession = userSession.ulLastSession;
}
/* There can be multiple session objects using the same session ID for the
* current user -- so when we got the same session again just add the found
* processes to it. */
- else if (pUserInfo[i].ulSession == ulSession)
+ else if (pCurUser->ulLastSession == userSession.ulLastSession)
{
- VBoxServiceVerbose(4, "Adding %u processes to user=%ls (session %u)\n",
- cSessionProcs, UserInfo.wszUser, ulSession);
+ VBoxServiceVerbose(4, "Updating processes for user=%ls (old procs=%RU32, new procs=%RU32, session=%RU32)\n",
+ pCurUser->wszUser, pCurUser->ulNumProcs, cCurSessionProcs, pCurUser->ulLastSession);
- pUserInfo[i].ulNumProcs += cSessionProcs;
- pUserInfo[i].ulSession = ulSession;
+ pCurUser->ulNumProcs = cCurSessionProcs;
}
fFoundUser = true;
@@ -836,28 +948,44 @@ int VBoxServiceVMInfoWinWriteUsers(char **ppszUserList, uint32_t *pcUsersInList)
if (!fFoundUser)
{
- VBoxServiceVerbose(4, "Adding new user=%ls (session %u) with %u processes\n",
- UserInfo.wszUser, ulSession, cSessionProcs);
+ VBoxServiceVerbose(4, "Adding new user=%ls (session=%RU32) with %RU32 processes\n",
+ userSession.wszUser, userSession.ulLastSession, cCurSessionProcs);
- memcpy(&pUserInfo[cUniqueUsers], &UserInfo, sizeof(VBOXSERVICEVMINFOUSER));
- pUserInfo[cUniqueUsers].ulNumProcs = cSessionProcs;
- pUserInfo[cUniqueUsers].ulSession = ulSession;
+ memcpy(&pUserInfo[cUniqueUsers], &userSession, sizeof(VBOXSERVICEVMINFOUSER));
+ pUserInfo[cUniqueUsers].ulNumProcs = cCurSessionProcs;
cUniqueUsers++;
Assert(cUniqueUsers <= cSessions);
}
}
}
+ if (g_cVerbosity > 3)
+ VBoxServiceWritePropF(s_uGuestPropClientID, "/VirtualBox/GuestInfo/Debug/LSA",
+ "#%RU32: cSessions=%RU32, cProcs=%RU32, cUniqueUsers=%RU32",
+ s_uIter, cSessions, cProcs, cUniqueUsers);
+
VBoxServiceVerbose(3, "Found %u unique logged-in user(s)\n",
cUniqueUsers);
*pcUsersInList = 0;
for (ULONG i = 0; i < cUniqueUsers; i++)
{
+ if (g_cVerbosity > 3)
+ {
+ char szDebugUserPath[255]; RTStrPrintf(szDebugUserPath, sizeof(szDebugUserPath), "/VirtualBox/GuestInfo/Debug/LSA/User/%RU32", i);
+ VBoxServiceWritePropF(s_uGuestPropClientID, szDebugUserPath,
+ "#%RU32: szName=%ls, sessionID=%RU32, cProcs=%RU32",
+ s_uIter, pUserInfo[i].wszUser, pUserInfo[i].ulLastSession, pUserInfo[i].ulNumProcs);
+ }
+
+ bool fAddUser = false;
if (pUserInfo[i].ulNumProcs)
+ fAddUser = true;
+
+ if (fAddUser)
{
- VBoxServiceVerbose(3, "User %ls has %ld processes (session %u)\n",
- pUserInfo[i].wszUser, pUserInfo[i].ulNumProcs, pUserInfo[i].ulSession);
+ VBoxServiceVerbose(3, "User \"%ls\" has %RU32 interactive processes (session=%RU32)\n",
+ pUserInfo[i].wszUser, pUserInfo[i].ulNumProcs, pUserInfo[i].ulLastSession);
if (*pcUsersInList > 0)
{
@@ -882,9 +1010,13 @@ int VBoxServiceVMInfoWinWriteUsers(char **ppszUserList, uint32_t *pcUsersInList)
RTMemFree(pUserInfo);
}
- VBoxServiceVMInfoWinProcessesFree(paProcs);
+ VBoxServiceVMInfoWinProcessesFree(cProcs, paProcs);
}
LsaFreeReturnBuffer(paSessions);
+
+ s_uIter++;
+ VbglR3GuestPropDisconnect(s_uGuestPropClientID);
+
return rc;
}
diff --git a/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp b/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
index c162cbd70..37cc591ef 100644
--- a/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
+++ b/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -308,13 +308,20 @@ static void vboxServiceFreeLAClientInfo(PVBOXSERVICELACLIENTINFO pClient)
if (pClient)
{
if (pClient->pszName)
+ {
RTStrFree(pClient->pszName);
+ pClient->pszName = NULL;
+ }
if (pClient->pszLocation)
+ {
RTStrFree(pClient->pszLocation);
+ pClient->pszLocation = NULL;
+ }
if (pClient->pszDomain)
+ {
RTStrFree(pClient->pszDomain);
-
- pClient = NULL;
+ pClient->pszDomain = NULL;
+ }
}
}
@@ -382,7 +389,7 @@ static void vboxserviceVMInfoWriteFixedProperties(void)
}
#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */
-/*
+/*
* Simple wrapper to work around compiler-specific va_list madness.
*/
static dbus_bool_t vboxService_dbus_message_get_args(DBusMessage *message,
@@ -504,8 +511,8 @@ static int vboxserviceVMInfoWriteUsers(void)
{
char **ppszSessions; int cSessions;
if ( (dbus_message_get_type(pMsgSessions) == DBUS_MESSAGE_TYPE_METHOD_CALL)
- && vboxService_dbus_message_get_args(pReplySessions, &dbErr, DBUS_TYPE_ARRAY,
- DBUS_TYPE_OBJECT_PATH, &ppszSessions, &cSessions,
+ && vboxService_dbus_message_get_args(pReplySessions, &dbErr, DBUS_TYPE_ARRAY,
+ DBUS_TYPE_OBJECT_PATH, &ppszSessions, &cSessions,
DBUS_TYPE_INVALID /* Termination */))
{
VBoxServiceVerbose(4, "ConsoleKit: retrieved %RU16 session(s)\n", cSessions);
@@ -587,7 +594,7 @@ static int vboxserviceVMInfoWriteUsers(void)
&& ppwEntry->pw_uid >= uid_min /* Only respect users, not daemons etc. */
&& ppwEntry->pw_name)
{
- VBoxServiceVerbose(4, "ConsoleKit: session '%s' -> %s (uid: %RU32)\n",
+ VBoxServiceVerbose(4, "ConsoleKit: session '%s' -> %s (uid: %RU32)\n",
*ppszCurSession, ppwEntry->pw_name, uid);
bool fFound = false;
@@ -629,7 +636,7 @@ static int vboxserviceVMInfoWriteUsers(void)
else
{
VBoxServiceError("ConsoleKit: unable to retrieve session parameters (msg type=%d): %s",
- dbus_message_get_type(pMsgSessions),
+ dbus_message_get_type(pMsgSessions),
dbus_error_is_set(&dbErr) ? dbErr.message : "No error information available\n");
}
dbus_message_unref(pReplySessions);
@@ -750,6 +757,8 @@ static int vboxserviceVMInfoWriteUsers(void)
}
if (pszUserList)
RTStrFree(pszUserList);
+
+ VBoxServiceVerbose(4, "Writing users returned with rc=%Rrc\n", rc);
return rc;
}
@@ -1185,11 +1194,12 @@ DECLCALLBACK(int) VBoxServiceVMInfoWorker(bool volatile *pfShutdown)
* works with VBox (latest) 4.1 and up. */
/* Check for new connection. */
- char *pszLAClientID;
+ char *pszLAClientID = NULL;
int rc2 = VBoxServiceReadHostProp(g_uVMInfoGuestPropSvcClientID, g_pszLAActiveClient, true /* Read only */,
&pszLAClientID, NULL /* Flags */, NULL /* Timestamp */);
if (RT_SUCCESS(rc2))
{
+ AssertPtr(pszLAClientID);
if (RTStrICmp(pszLAClientID, "0")) /* Is a client connected? */
{
uint32_t uLAClientID = RTStrToInt32(pszLAClientID);
@@ -1252,6 +1262,8 @@ DECLCALLBACK(int) VBoxServiceVMInfoWorker(bool volatile *pfShutdown)
VBoxServiceError("VRDP: Querying connected location awareness client failed with rc=%Rrc\n", rc2);
}
+ VBoxServiceVerbose(3, "VRDP: Handling location awareness done\n");
+
/*
* Flush all properties if we were restored.
*/
diff --git a/src/VBox/Additions/common/VBoxService/testcase/tstUserInfo.cpp b/src/VBox/Additions/common/VBoxService/testcase/tstUserInfo.cpp
index 84b18dfa4..29f2ff88f 100644
--- a/src/VBox/Additions/common/VBoxService/testcase/tstUserInfo.cpp
+++ b/src/VBox/Additions/common/VBoxService/testcase/tstUserInfo.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp b/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp
index 0e5fa467c..72b7ed1b7 100644
--- a/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp
+++ b/src/VBox/Additions/common/VBoxVideo/HGSMIBase.cpp
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp b/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp
index 5f481049c..f9b559c69 100644
--- a/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp
+++ b/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/Linux_i386_glxapi_exports.py b/src/VBox/Additions/common/crOpenGL/Linux_i386_glxapi_exports.py
index c47f990a3..65c4660d2 100755
--- a/src/VBox/Additions/common/crOpenGL/Linux_i386_glxapi_exports.py
+++ b/src/VBox/Additions/common/crOpenGL/Linux_i386_glxapi_exports.py
@@ -1,5 +1,5 @@
"""
-Copyright (C) 2009 Oracle Corporation
+Copyright (C) 2009-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports.py b/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports.py
index b7fe6b9f5..7fc6cddb9 100755
--- a/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports.py
+++ b/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports.py
@@ -1,5 +1,5 @@
"""
-Copyright (C) 2009 Oracle Corporation
+Copyright (C) 2009-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports_dri.py b/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports_dri.py
index 7d9378e65..26903439b 100755
--- a/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports_dri.py
+++ b/src/VBox/Additions/common/crOpenGL/SunOS_i386_exports_dri.py
@@ -1,5 +1,5 @@
"""
-Copyright (C) 2009 Oracle Corporation
+Copyright (C) 2009-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/SunOS_i386_glxapi_exports.py b/src/VBox/Additions/common/crOpenGL/SunOS_i386_glxapi_exports.py
index d395732db..e835ecb2c 100755
--- a/src/VBox/Additions/common/crOpenGL/SunOS_i386_glxapi_exports.py
+++ b/src/VBox/Additions/common/crOpenGL/SunOS_i386_glxapi_exports.py
@@ -1,5 +1,5 @@
"""
-Copyright (C) 2009 Oracle Corporation
+Copyright (C) 2009-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/VBoxICDList.h b/src/VBox/Additions/common/crOpenGL/VBoxICDList.h
index 54c7e4521..cc43c1c62 100644
--- a/src/VBox/Additions/common/crOpenGL/VBoxICDList.h
+++ b/src/VBox/Additions/common/crOpenGL/VBoxICDList.h
@@ -2,7 +2,7 @@
*
* VirtualBox Windows NT/2000/XP guest OpenGL ICD
*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/dri_drv.c b/src/VBox/Additions/common/crOpenGL/dri_drv.c
index d19b99b1c..37f501e93 100644
--- a/src/VBox/Additions/common/crOpenGL/dri_drv.c
+++ b/src/VBox/Additions/common/crOpenGL/dri_drv.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/dri_drv.h b/src/VBox/Additions/common/crOpenGL/dri_drv.h
index 9ee57766c..7c5807d29 100644
--- a/src/VBox/Additions/common/crOpenGL/dri_drv.h
+++ b/src/VBox/Additions/common/crOpenGL/dri_drv.h
@@ -6,7 +6,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/dri_glx.h b/src/VBox/Additions/common/crOpenGL/dri_glx.h
index a2a389701..5ff295610 100644
--- a/src/VBox/Additions/common/crOpenGL/dri_glx.h
+++ b/src/VBox/Additions/common/crOpenGL/dri_glx.h
@@ -6,7 +6,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
index 8e7b6ba57..0a5ef2370 100644
--- a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/fakedri_drv.h b/src/VBox/Additions/common/crOpenGL/fakedri_drv.h
index 0d94e1c3a..acbc71169 100644
--- a/src/VBox/Additions/common/crOpenGL/fakedri_drv.h
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_drv.h
@@ -6,7 +6,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/fakedri_glfuncsList.h b/src/VBox/Additions/common/crOpenGL/fakedri_glfuncsList.h
index ce5510f51..a8551de61 100644
--- a/src/VBox/Additions/common/crOpenGL/fakedri_glfuncsList.h
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_glfuncsList.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/fakedri_glxfuncsList.h b/src/VBox/Additions/common/crOpenGL/fakedri_glxfuncsList.h
index c1592cdf1..6c449f852 100644
--- a/src/VBox/Additions/common/crOpenGL/fakedri_glxfuncsList.h
+++ b/src/VBox/Additions/common/crOpenGL/fakedri_glxfuncsList.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c b/src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c
index 232a7c673..2dc757ae8 100644
--- a/src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c
+++ b/src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/glx_c_exports.c b/src/VBox/Additions/common/crOpenGL/glx_c_exports.c
index 4f94870ae..183c0219c 100644
--- a/src/VBox/Additions/common/crOpenGL/glx_c_exports.c
+++ b/src/VBox/Additions/common/crOpenGL/glx_c_exports.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2008 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/glx_proto.h b/src/VBox/Additions/common/crOpenGL/glx_proto.h
index 2ab6d05cb..610847494 100644
--- a/src/VBox/Additions/common/crOpenGL/glx_proto.h
+++ b/src/VBox/Additions/common/crOpenGL/glx_proto.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2008 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/icd_drv.c b/src/VBox/Additions/common/crOpenGL/icd_drv.c
index 22a9eadb1..cff7f9ac4 100644
--- a/src/VBox/Additions/common/crOpenGL/icd_drv.c
+++ b/src/VBox/Additions/common/crOpenGL/icd_drv.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2008 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/icd_drv.h b/src/VBox/Additions/common/crOpenGL/icd_drv.h
index e610de150..46c0b56c4 100644
--- a/src/VBox/Additions/common/crOpenGL/icd_drv.h
+++ b/src/VBox/Additions/common/crOpenGL/icd_drv.h
@@ -6,7 +6,7 @@
*/
/*
- * Copyright (C) 2006-2008 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/load.c b/src/VBox/Additions/common/crOpenGL/load.c
index dc245caab..9307125ed 100644
--- a/src/VBox/Additions/common/crOpenGL/load.c
+++ b/src/VBox/Additions/common/crOpenGL/load.c
@@ -1307,7 +1307,7 @@ raise(SIGINT);*/
{
int rc;
- RTR3InitDll(0);
+ RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE);
if (!disable_sync)
{
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c b/src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c
index cf445966f..240815b60 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu_getshaders.c b/src/VBox/Additions/common/crOpenGL/pack/packspu_getshaders.c
index d0cc9040c..7592b2e4c 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu_getshaders.c
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu_getshaders.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c b/src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c
index e19959a35..f52615ef1 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c b/src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c
index b5c60aec5..00fba8eba 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/pam/pam_vbox.cpp b/src/VBox/Additions/common/pam/pam_vbox.cpp
index b8d85fda8..4852f0335 100644
--- a/src/VBox/Additions/common/pam/pam_vbox.cpp
+++ b/src/VBox/Additions/common/pam/pam_vbox.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2008-2011 Oracle Corporation
+ * Copyright (C) 2008-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/common/testcase/tstPageFusion.cpp b/src/VBox/Additions/common/testcase/tstPageFusion.cpp
index 321d3bffd..74a010f2f 100644
--- a/src/VBox/Additions/common/testcase/tstPageFusion.cpp
+++ b/src/VBox/Additions/common/testcase/tstPageFusion.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/freebsd/Makefile b/src/VBox/Additions/freebsd/Makefile
index 85920e3f1..3a06b3061 100644
--- a/src/VBox/Additions/freebsd/Makefile
+++ b/src/VBox/Additions/freebsd/Makefile
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2009 Oracle Corporation
+# Copyright (C) 2009-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/freebsd/drm/Makefile b/src/VBox/Additions/freebsd/drm/Makefile
index 15a581a4d..5c8800378 100644
--- a/src/VBox/Additions/freebsd/drm/Makefile
+++ b/src/VBox/Additions/freebsd/drm/Makefile
@@ -5,7 +5,7 @@
#
#
-# Copyright (C) 2006-2007 Oracle Corporation
+# Copyright (C) 2006-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/freebsd/drm/vboxvideo_drm.c b/src/VBox/Additions/freebsd/drm/vboxvideo_drm.c
index 2e2a91d80..9d6a3db14 100644
--- a/src/VBox/Additions/freebsd/drm/vboxvideo_drm.c
+++ b/src/VBox/Additions/freebsd/drm/vboxvideo_drm.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c
index a9d9c14a3..6b367836f 100644
--- a/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c
+++ b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2008 Oracle Corporation
+ * Copyright (C) 2008-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c
index 575a55ed2..622cbc48b 100644
--- a/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c
+++ b/src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2008 Oracle Corporation
+ * Copyright (C) 2008-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/Makefile b/src/VBox/Additions/linux/Makefile
index c5beef410..2154b24f9 100644
--- a/src/VBox/Additions/linux/Makefile
+++ b/src/VBox/Additions/linux/Makefile
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2009-2010 Oracle Corporation
+# Copyright (C) 2009-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/Makefile.kmk b/src/VBox/Additions/linux/Makefile.kmk
index 28f77ffa6..a5d6edeb0 100644
--- a/src/VBox/Additions/linux/Makefile.kmk
+++ b/src/VBox/Additions/linux/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -23,6 +23,9 @@ include $(KBUILD_PATH)/subheader.kmk
#
include $(PATH_SUB_CURRENT)/sharedfolders/Makefile.kmk
include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
+ifdef VBOX_WITH_LIGHTDM_GREETER
+ include $(PATH_SUB_CURRENT)/lightdm-greeter/Makefile.kmk
+endif
#
# Globals
@@ -122,7 +125,8 @@ VBOX_ADD_BIN.linux += \
VBoxClient-all
VBOX_ADD_STRIP_SBIN += \
- VBoxService
+ VBoxService \
+ $(if $(VBOX_WITH_LIGHTDM_GREETER),vbox-greeter)
VBOX_ADD_STRIP_LIB += \
VBoxOGLarrayspu.so \
@@ -208,6 +212,11 @@ VBOX_LNX_ADD_DBG_FILES := \
$(addprefix $(VBOX_LNX_ADD_DBG_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)) \
$(addprefix $(VBOX_LNX_ADD_DBG_MOD_DIR),$(VBOX_LNX_ADD_STRIP_MOD))
+ifdef VBOX_WITH_LIGHTDM_GREETER_PACKING
+VBOX_LNX_ADD_INST_FILES += \
+ $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),vbox-greeter)
+endif
+
# Cleanup of the the installer directory files
OTHER_CLEAN += $(VBOX_LNX_ADD_INST_FILES) $(VBOX_LNX_ADD_DBG_FILES)
@@ -250,6 +259,13 @@ $(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),$(VBOX_LNX_ADD_STRIP_SBIN)): \
$(QUIET)$(INSTALL) -m 0755 $(if $(VBOX_DO_STRIP),-s,) $< $@
$(QUIET)objcopy --add-gnu-debuglink=$@ $@
+# pattern rule for stripping and copying vbox-greeter to the installation directory
+$(addprefix $(VBOX_LNX_ADD_INST_SBIN_DIR),vbox-greeter): \
+ $(VBOX_LNX_ADD_INST_SBIN_DIR)% : $(subst linux,linux2,$(PATH_STAGE_BIN))/additions/% \
+ | $$(dir $$@)
+ $(call MSG_INST_FILE,$<,$@)
+ $(QUIET)$(INSTALL) -m 0755 $< $@
+
# pattern rule for stripping and copying the VBOX_LNX_ADD_STRIP_LIB files to the installation directory
$(addprefix $(VBOX_LNX_ADD_INST_LIB_DIR),$(VBOX_LNX_ADD_STRIP_LIB)): \
$(VBOX_LNX_ADD_INST_LIB_DIR)% : $(PATH_STAGE_BIN)/additions/% \
@@ -320,7 +336,6 @@ $(addprefix $(VBOX_LNX_ADD_INST_MOD_DIR),$(VBOX_LNX_ADD_INIT)): \
$(QUIET)$(RM) -Rf $@
$(QUIET)$(CP) -RPf -- $< $@
-
INSTALLS += GuestDrivers-src
GuestDrivers-src_INST = $(INST_ADDITIONS)src/
GuestDrivers-src_MODE = a+r,u+w
@@ -341,6 +356,7 @@ lnx_add_inst-noexec_INSTTYPE = stage
lnx_add_inst-noexec_SOURCES = \
$(VBOX_REL_X11_ADD_INST)vboxclient.desktop \
$(VBOX_REL_X11_ADD_INST)vboxvideo.ids \
+ $(if $(VBOX_WITH_LIGHTDM_GREETER_PACKING),lightdm-greeter/vbox-greeter.desktop,) \
selinux-fedora/vbox_x11.pp \
selinux-fedora/vbox_accel.pp
@@ -363,6 +379,7 @@ LnxAdd-scripts_SOURCES = \
LnxAdd-scripts_EXEC_SOURCES = \
$(VBOX_REL_LNX_HOST_DRV)do_dkms \
$(VBOX_REL_LNX_INST_SRC)routines.sh \
+ $(VBOX_REL_LNX_ADD_INST)module-autologon.sh=>installer/module-autologon \
$(VBOX_REL_LNX_ADD_INST)vboxadd.sh=>vboxadd \
$(VBOX_REL_LNX_ADD_INST)vboxadd-service.sh=>vboxadd-service \
$(VBOX_REL_LNX_ADD_INST)vboxadd-x11.sh=>vboxadd-x11 \
diff --git a/src/VBox/Additions/linux/drm/Makefile.module b/src/VBox/Additions/linux/drm/Makefile.module
index c382be7bd..81b69a40b 100644
--- a/src/VBox/Additions/linux/drm/Makefile.module
+++ b/src/VBox/Additions/linux/drm/Makefile.module
@@ -3,7 +3,7 @@
#
# (For 2.6.x this file must be 'Makefile'!)
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2011 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/files_vboxvideo_drm b/src/VBox/Additions/linux/drm/files_vboxvideo_drm
index 9f18c86fa..2a652de4f 100755
--- a/src/VBox/Additions/linux/drm/files_vboxvideo_drm
+++ b/src/VBox/Additions/linux/drm/files_vboxvideo_drm
@@ -5,7 +5,7 @@
#
#
-# Copyright (C) 2007-2010 Oracle Corporation
+# Copyright (C) 2007-2011 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo.h b/src/VBox/Additions/linux/drm/vboxvideo.h
index 907b70e74..a02ae0aaa 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo.h
+++ b/src/VBox/Additions/linux/drm/vboxvideo.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_crtc.c b/src/VBox/Additions/linux/drm/vboxvideo_crtc.c
index aa4c2742e..e209eb406 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_crtc.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_crtc.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_dac.c b/src/VBox/Additions/linux/drm/vboxvideo_dac.c
index 94e1e7001..e8b459f33 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_dac.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_dac.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_device.c b/src/VBox/Additions/linux/drm/vboxvideo_device.c
index e23d4774f..ecc49eb4d 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_device.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_device.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_display.c b/src/VBox/Additions/linux/drm/vboxvideo_display.c
index 16294abaf..3aa8eb704 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_display.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_display.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_drm.c b/src/VBox/Additions/linux/drm/vboxvideo_drm.c
index 02c23183f..45cf015c6 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_drm.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_drm.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_drm.h b/src/VBox/Additions/linux/drm/vboxvideo_drm.h
index 0613a9d23..11407e945 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_drm.h
+++ b/src/VBox/Additions/linux/drm/vboxvideo_drm.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_drv.c b/src/VBox/Additions/linux/drm/vboxvideo_drv.c
index c5df61cef..c115aac6b 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_drv.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_drv.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_drv.h b/src/VBox/Additions/linux/drm/vboxvideo_drv.h
index 7cbd5f5a8..2e180816b 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_drv.h
+++ b/src/VBox/Additions/linux/drm/vboxvideo_drv.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_kms.c b/src/VBox/Additions/linux/drm/vboxvideo_kms.c
index 1fe68efef..0d12ac467 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_kms.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_kms.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/drm/vboxvideo_vga.c b/src/VBox/Additions/linux/drm/vboxvideo_vga.c
index a8717b2f4..676bca651 100644
--- a/src/VBox/Additions/linux/drm/vboxvideo_vga.c
+++ b/src/VBox/Additions/linux/drm/vboxvideo_vga.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/export_modules b/src/VBox/Additions/linux/export_modules
index a8c929ed2..9df93899e 100755
--- a/src/VBox/Additions/linux/export_modules
+++ b/src/VBox/Additions/linux/export_modules
@@ -4,7 +4,7 @@
# Create a tar archive containing the sources of the Linux guest kernel
# modules
#
-# Copyright (C) 2006-2007 Oracle Corporation
+# Copyright (C) 2006-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/installer/deffiles b/src/VBox/Additions/linux/installer/deffiles
index 074ab2241..02d54663b 100644
--- a/src/VBox/Additions/linux/installer/deffiles
+++ b/src/VBox/Additions/linux/installer/deffiles
@@ -25,6 +25,7 @@ DEFAULT_FILE_NAMES=" \
/usr/bin/vboxadd-xclient \
/usr/bin/VBoxClient \
/usr/bin/VBoxControl \
+ /usr/sbin/vbox-greeter \
/usr/sbin/vboxadd-timesync \
/usr/sbin/vboxadd-service \
/usr/sbin/VBoxService \
@@ -43,6 +44,7 @@ DEFAULT_FILE_NAMES=" \
/usr/lib64/VBoxOGLpassthroughspu.so \
/usr/lib/VBoxOGL.so \
/usr/lib64/VBoxOGL.so \
+ /usr/share/xgreeters/vbox-greeter.desktop \
/etc/X11/Xsession.d/98vboxadd-xclient \
/etc/X11/xinit.d/98vboxadd-xclient \
/etc/X11/xinit/xinitrc.d/98vboxadd-xclient.sh \
diff --git a/src/VBox/Additions/linux/installer/module-autologon.sh b/src/VBox/Additions/linux/installer/module-autologon.sh
new file mode 100644
index 000000000..47b287d9c
--- /dev/null
+++ b/src/VBox/Additions/linux/installer/module-autologon.sh
@@ -0,0 +1,169 @@
+# Oracle VM VirtualBox
+# VirtualBox Linux Guest Additions installer - autologon module
+#
+
+# Copyright (C) 2012-2013 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# @todo Document functions and their usage!
+
+MOD_AUTOLOGON_DEFAULT_LIGHTDM_CONFIG="/etc/lightdm/lightdm.conf"
+MOD_AUTOLOGON_DEFAULT_LIGHTDM_GREETER_DIR="/usr/share/xgreeters"
+
+mod_autologon_init()
+{
+ echo "Initializing auto-logon support ..."
+ return 0
+}
+
+mod_autologon_install_ex()
+{
+ info "Installing auto-logon support ..."
+
+ ## Parameters:
+ # Greeter directory. Defaults to /usr/share/xgreeters.
+ greeter_dir="$1"
+ # LightDM config. Defaults to /etc/lightdm/lightdm.conf.
+ lightdm_config="$2"
+ # Whether to force installation if non-compatible distribution
+ # is detected.
+ force="$3"
+
+ # Check for Ubuntu and derivates. @todo Debian?
+ distros="Ubuntu UbuntuStudio Edubuntu Kubuntu Lubuntu Mythbuntu Xubuntu"
+ ## @todo Map Linux Mint versions to Ubuntu ones.
+
+ ## @todo Move the distro check to a routine / globals as soon as
+ ## we have other distribution-dependent stuff.
+ which lsb_release &>/dev/null
+ if test "$?" -ne "0"; then
+ info "Error: lsb_release not found (path set?), skipping auto-logon installation"
+ return 1
+ fi
+ distro_name=$(lsb_release -si)
+ distro_ver=$(lsb_release -sr)
+
+ for distro_cur in ${distros}; do
+ if test "$distro_name" = "$distro_cur"; then
+ distro_found="true"
+ break
+ fi
+ done
+
+ if test -z "$distro_found"; then
+ if ! test "$force" = "force"; then
+ info "Error: Unsupported distribution \"$distro_name\" found, skipping auto-logon installation"
+ return 1
+ fi
+ info "Warning: Unsupported distribution \"$distro_name\" found"
+ else
+ # Do we have Ubuntu 11.10 or greater?
+ # Use AWK for comparison since we run on plan sh.
+ echo | awk 'END { exit ( !('"$distro_ver >= 11.10"') ); }'
+ if test "$?" -ne "0"; then
+ if ! test "$force" = "force"; then
+ info "Error: Version $distro_ver of \"$distro_name\" not supported, skipping auto-logon installation"
+ return 1
+ fi
+ info "Warning: Unsupported \"$distro_name\" version $distro_ver found"
+ fi
+ fi
+
+ # Install dependencies (lightdm and FLTK 1.3+) using apt-get.
+ which apt-get &>/dev/null
+ if test "$?" -ne "0"; then
+ info "Error: apt-get not found (path set?), skipping auto-logon installation"
+ return 1
+ fi
+ info "Checking and installing necessary dependencies ..."
+ apt-get -qqq -y install libfltk1.3 libfltk-images1.3 || return 1
+ apt-get -qqq -y install lightdm || return 1
+
+ # Check for LightDM config.
+ if ! test -f "$lightdm_config"; then
+ info "Error: LightDM config \"$lightdm_config\" not found (LightDM installed?), skipping auto-logon installation"
+ return 1
+ fi
+
+ # Check for /usr/share/xgreeters.
+ if ! test -d "$greeter_dir"; then
+ if ! test "$force" = "force"; then
+ info "Error: Directory \"$greeter_dir\" does not exist, skipping auto-logon installation"
+ return 1
+ fi
+ info "Warning: Directory \"$greeter_dir\" does not exist, creating it"
+ mkdir -p -m 755 "$greeter_dir" || return 1
+ fi
+
+ # Link to required greeter files into $greeter_dir.
+ add_symlink "$INSTALLATION_DIR/share/VBoxGuestAdditions/vbox-greeter.desktop" "$greeter_dir/vbox-greeter.desktop"
+
+ # Backup and activate greeter config.
+ if ! test -f "$lightdm_config.vbox-backup"; then
+ info "Backing up LightDM configuration file ..."
+ cp "$lightdm_config" "$lightdm_config.vbox-backup" || return 1
+ chmod 644 "$lightdm_config.vbox-backup" || return 1
+ fi
+ sed -i -e 's/^\s*greeter-session\s*=.*/greeter-session=vbox-greeter/g' "$lightdm_config" || return 1
+ chmod 644 "$lightdm_config" || return 1
+
+ info "Auto-logon installation successful"
+ return 0
+}
+
+mod_autologon_install()
+{
+ if [ -z "$MOD_AUTOLOGON_LIGHTDM_GREETER_DIR" ]; then
+ MOD_AUTOLOGON_LIGHTDM_GREETER_DIR=$MOD_AUTOLOGON_DEFAULT_LIGHTDM_GREETER_DIR
+ fi
+ if [ -z "$MOD_AUTOLOGON_LIGHTDM_CONFIG" ]; then
+ MOD_AUTOLOGON_LIGHTDM_CONFIG=$MOD_AUTOLOGON_DEFAULT_LIGHTDM_CONFIG
+ fi
+
+ mod_autologon_install_ex "$MOD_AUTOLOGON_LIGHTDM_GREETER_DIR" "$MOD_AUTOLOGON_LIGHTDM_CONFIG" "$MOD_AUTOLOGON_FORCE"
+ return $?
+}
+
+mod_autologon_pre_uninstall()
+{
+ echo "Preparing to uninstall auto-logon support ..."
+ return 0
+}
+
+mod_autologon_uninstall()
+{
+ if test -z "$MOD_AUTOLOGON_LIGHTDM_CONFIG"; then
+ return 0
+ fi
+ info "Un-installing auto-logon support ..."
+
+ # Switch back to original greeter.
+ if test -f "$MOD_AUTOLOGON_LIGHTDM_CONFIG.vbox-backup"; then
+ mv "$MOD_AUTOLOGON_LIGHTDM_CONFIG.vbox-backup" "$MOD_AUTOLOGON_LIGHTDM_CONFIG"
+ if test "$?" -ne "0"; then
+ info "Warning: Could not restore original LightDM config \"$MOD_AUTOLOGON_LIGHTDM_CONFIG\""
+ fi
+ fi
+
+ # Remove greeter directory (if not empty).
+ rm "$MOD_AUTOLOGON_LIGHTDM_GREETER_DIR" 2>/dev/null
+
+ info "Auto-logon uninstallation successful"
+ return 0
+}
+
+mod_autologon_config_save()
+{
+ echo "
+MOD_AUTOLOGON_LIGHTDM_CONFIG='$MOD_AUTOLOGON_LIGHTDM_CONFIG'
+MOD_AUTOLOGON_LIGHTDM_GREETER_DIR='$MOD_AUTOLOGON_LIGHTDM_GREETER_DIR'"
+}
+
diff --git a/src/VBox/Additions/linux/installer/vboxadd-service.sh b/src/VBox/Additions/linux/installer/vboxadd-service.sh
index caec21118..cf30b9e42 100755
--- a/src/VBox/Additions/linux/installer/vboxadd-service.sh
+++ b/src/VBox/Additions/linux/installer/vboxadd-service.sh
@@ -2,7 +2,7 @@
#
# Linux Additions Guest Additions service daemon init script.
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/installer/vboxadd-x11.sh b/src/VBox/Additions/linux/installer/vboxadd-x11.sh
index ffa1e16d4..4f94c8cf3 100755
--- a/src/VBox/Additions/linux/installer/vboxadd-x11.sh
+++ b/src/VBox/Additions/linux/installer/vboxadd-x11.sh
@@ -1,10 +1,10 @@
#! /bin/sh
#
-# Linux Additions X11 setup init script ($Revision: 80787 $)
+# Linux Additions X11 setup init script ($Revision: 83687 $)
#
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/installer/vboxadd.sh b/src/VBox/Additions/linux/installer/vboxadd.sh
index dddfb3a55..44dfc3790 100755
--- a/src/VBox/Additions/linux/installer/vboxadd.sh
+++ b/src/VBox/Additions/linux/installer/vboxadd.sh
@@ -1,10 +1,10 @@
#! /bin/sh
#
-# Linux Additions kernel module init script ($Revision: 81734 $)
+# Linux Additions kernel module init script ($Revision: 83687 $)
#
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c b/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c
index 2bce28493..fd3097a8e 100644
--- a/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c
+++ b/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/sharedfolders/regops.c b/src/VBox/Additions/linux/sharedfolders/regops.c
index 9cce17396..a3bbd6968 100644
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/sharedfolders/vfsmod.c b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
index 3c5513618..20f5a26e6 100644
--- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
@@ -10,7 +10,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/linux/testcase/TimesyncBackdoor.c b/src/VBox/Additions/linux/testcase/TimesyncBackdoor.c
index c35956f1e..e78dbb270 100644
--- a/src/VBox/Additions/linux/testcase/TimesyncBackdoor.c
+++ b/src/VBox/Additions/linux/testcase/TimesyncBackdoor.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c b/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
index 344c44bbc..9ec00b8af 100644
--- a/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
+++ b/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/makepackage.sh b/src/VBox/Additions/solaris/Installer/makepackage.sh
index 4080e644c..0fe9aeb0f 100755
--- a/src/VBox/Additions/solaris/Installer/makepackage.sh
+++ b/src/VBox/Additions/solaris/Installer/makepackage.sh
@@ -2,7 +2,7 @@
#
# VirtualBox Solaris Guest Additions package creation script.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/postinstall.sh b/src/VBox/Additions/solaris/Installer/postinstall.sh
index 850491753..02fa1c19f 100755
--- a/src/VBox/Additions/solaris/Installer/postinstall.sh
+++ b/src/VBox/Additions/solaris/Installer/postinstall.sh
@@ -2,7 +2,7 @@
#
# VirtualBox postinstall script for Solaris.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/preremove.sh b/src/VBox/Additions/solaris/Installer/preremove.sh
index 688df2662..4b0be8b7d 100755
--- a/src/VBox/Additions/solaris/Installer/preremove.sh
+++ b/src/VBox/Additions/solaris/Installer/preremove.sh
@@ -2,7 +2,7 @@
#
# VirtualBox pre-remove script for Solaris Guest Additions.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/vboxguest.sh b/src/VBox/Additions/solaris/Installer/vboxguest.sh
index bb0d0b9d6..8c8781f78 100755
--- a/src/VBox/Additions/solaris/Installer/vboxguest.sh
+++ b/src/VBox/Additions/solaris/Installer/vboxguest.sh
@@ -2,7 +2,7 @@
#
# VirtualBox Guest Additions kernel module control script for Solaris.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/vboxservice.xml b/src/VBox/Additions/solaris/Installer/vboxservice.xml
index 1a2ebef6f..61f896d5a 100644
--- a/src/VBox/Additions/solaris/Installer/vboxservice.xml
+++ b/src/VBox/Additions/solaris/Installer/vboxservice.xml
@@ -3,7 +3,7 @@
#
# Solaris SMF service manifest for VBoxService (timesync).
#
- Copyright (C) 2008-2010 Oracle Corporation
+ Copyright (C) 2008-2012 Oracle Corporation
This file is part of VirtualBox Open Source Edition (OSE), as
available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_mount.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_mount.c
index 1851ed6a1..3e5356eb6 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_mount.c
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_mount.c
@@ -6,7 +6,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c
index 766941ed2..2dd87f5be 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2008-2010 Oracle Corporation
+ * Copyright (C) 2008-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h b/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h
index 40ce7c064..5a348c44b 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c
index 6a06e5cdf..09ed0daed 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.h b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.h
index ab4d9cb48..8b6e6b0e7 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.h
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c
index 7acac0603..bba0b3868 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.h b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.h
index f76795fed..8196143f3 100644
--- a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.h
+++ b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2009-2010 Oracle Corporation
+ * Copyright (C) 2009-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c b/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
index 771706707..04863b08e 100644
--- a/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
index cd201abea..4511b49bb 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
index a34c951c1..7eab19e11 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
index 4a9f8acbd..51d9f6a81 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2010 Oracle Corporation
+ * Copyright (C) 2010-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/Installer/x11config.sh b/src/VBox/Additions/x11/Installer/x11config.sh
index 3bb981a01..01d5bc179 100755
--- a/src/VBox/Additions/x11/Installer/x11config.sh
+++ b/src/VBox/Additions/x11/Installer/x11config.sh
@@ -2,7 +2,7 @@
#
# Guest Additions X11 config update script
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/Installer/x11config15sol.pl b/src/VBox/Additions/x11/Installer/x11config15sol.pl
index 8b1a20542..c76e3506e 100755
--- a/src/VBox/Additions/x11/Installer/x11config15sol.pl
+++ b/src/VBox/Additions/x11/Installer/x11config15sol.pl
@@ -2,7 +2,7 @@
#
# Guest Additions X11 config update script
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2006-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/Installer/x11restore.pl b/src/VBox/Additions/x11/Installer/x11restore.pl
index cf17d2979..a4776c6a4 100755
--- a/src/VBox/Additions/x11/Installer/x11restore.pl
+++ b/src/VBox/Additions/x11/Installer/x11restore.pl
@@ -1,9 +1,9 @@
#!/usr/bin/perl -w
-# $Revision: 79612 $
+# $Revision: 83687 $
#
# Restore xorg.conf while removing Guest Additions.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2012 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk
index bb97addbe..4413783a0 100644
--- a/src/VBox/Additions/x11/Makefile.kmk
+++ b/src/VBox/Additions/x11/Makefile.kmk
@@ -3,7 +3,7 @@
# Sub-Makefile for the X11 Guest Additions.
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -24,7 +24,9 @@ if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
ifneq ($(KBUILD_TARGET), solaris)
include $(PATH_SUB_CURRENT)/vboxmouse/Makefile.kmk
endif
- include $(PATH_SUB_CURRENT)/x11stubs/Makefile.kmk
+ ifndef VBOX_USE_SYSTEM_XORG_HEADERS
+ include $(PATH_SUB_CURRENT)/x11stubs/Makefile.kmk
+ endif
endif
include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/VBox/Additions/x11/VBoxClient/VBoxClient.h b/src/VBox/Additions/x11/VBoxClient/VBoxClient.h
index d2405149b..63d5842a0 100644
--- a/src/VBox/Additions/x11/VBoxClient/VBoxClient.h
+++ b/src/VBox/Additions/x11/VBoxClient/VBoxClient.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/clipboard.cpp b/src/VBox/Additions/x11/VBoxClient/clipboard.cpp
index 4097d1746..24ba7e9d2 100644
--- a/src/VBox/Additions/x11/VBoxClient/clipboard.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/clipboard.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/display.cpp b/src/VBox/Additions/x11/VBoxClient/display.cpp
index d6889023e..ae3e02c67 100644
--- a/src/VBox/Additions/x11/VBoxClient/display.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/display.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/hostversion.cpp b/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
index 71ecbc868..5a5f50320 100644
--- a/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/main.cpp b/src/VBox/Additions/x11/VBoxClient/main.cpp
index d069b856e..604a67d70 100644
--- a/src/VBox/Additions/x11/VBoxClient/main.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/main.cpp
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-glue.h b/src/VBox/Additions/x11/VBoxClient/seamless-glue.h
index d8fa32e0f..6b617b4b7 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-glue.h
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-glue.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-guest.h b/src/VBox/Additions/x11/VBoxClient/seamless-guest.h
index 4a2d42205..e468531ae 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-guest.h
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-guest.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-host.cpp b/src/VBox/Additions/x11/VBoxClient/seamless-host.cpp
index ab04873bb..81467a3e4 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-host.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-host.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-host.h b/src/VBox/Additions/x11/VBoxClient/seamless-host.h
index d10523bc7..812eb8811 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-host.h
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-host.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp b/src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp
index 9e345d84a..7c7d8a342 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-x11.cpp
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2008 Oracle Corporation
+ * Copyright (C) 2008-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless-x11.h b/src/VBox/Additions/x11/VBoxClient/seamless-x11.h
index db2a6f125..68fcad1b5 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless-x11.h
+++ b/src/VBox/Additions/x11/VBoxClient/seamless-x11.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless.cpp b/src/VBox/Additions/x11/VBoxClient/seamless.cpp
index 214f87a73..84e8147c3 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/seamless.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/seamless.h b/src/VBox/Additions/x11/VBoxClient/seamless.h
index 46b45b6e9..c1ffc2791 100644
--- a/src/VBox/Additions/x11/VBoxClient/seamless.h
+++ b/src/VBox/Additions/x11/VBoxClient/seamless.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp b/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp
index 0c7c4fc61..d79080d25 100644
--- a/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11-auto.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp b/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp
index 44d3bc2a4..638f2cff7 100644
--- a/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/testcase/tstSeamlessX11.cpp
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2007 Oracle Corporation
+ * Copyright (C) 2007-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/thread.cpp b/src/VBox/Additions/x11/VBoxClient/thread.cpp
index 182070f39..4655cb7b1 100644
--- a/src/VBox/Additions/x11/VBoxClient/thread.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/thread.cpp
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/VBoxClient/thread.h b/src/VBox/Additions/x11/VBoxClient/thread.h
index 2c4321d41..8cd118ac5 100644
--- a/src/VBox/Additions/x11/VBoxClient/thread.h
+++ b/src/VBox/Additions/x11/VBoxClient/thread.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
index f7f2c8c96..5a4dbf452 100644
--- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
+++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -249,6 +249,7 @@ endif
# Check the undefined symbols in the X.Org modules against lists of allowed
# symbols. Not very elegant, but it will catch problems early.
+
ifdef VBOX_WITH_TESTCASES
# ifndef VBOX_ONLY_ADDITIONS
ifndef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -263,109 +264,29 @@ ifdef VBOX_WITH_TESTCASES
$$(vboxmouse_drv_0_OUTDIR)/tstvboxmouse68.run: $$(vboxmouse_drv_1_STAGE_TARGET)
$(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
$(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- "$(vboxmouse_drv_1_STAGE_TARGET)" "$(VBOXMOUSE_SRC_PATH)/undefined" --static
+ "$(vboxmouse_drv_1_STAGE_TARGET)" --static "$(VBOXMOUSE_SRC_PATH)/undefined"
$(QUIET)$(APPEND) -t "$@" "done"
endif
- TESTING += $(vboxmouse_drv_70_0_OUTDIR)/tstvboxmouse70.run
- OTHERS += $(vboxmouse_drv_70_0_OUTDIR)/tstvboxmouse70.run
-$$(vboxmouse_drv_70_0_OUTDIR)/tstvboxmouse70.run: $$(vboxmouse_drv_70_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_70_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_71_0_OUTDIR)/tstvboxmouse71.run
- OTHERS += $(vboxmouse_drv_71_0_OUTDIR)/tstvboxmouse71.run
-$$(vboxmouse_drv_71_0_OUTDIR)/tstvboxmouse71.run: $$(vboxmouse_drv_71_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_71_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_13_0_OUTDIR)/tstvboxmouse13.run
- OTHERS += $(vboxmouse_drv_13_0_OUTDIR)/tstvboxmouse13.run
-$$(vboxmouse_drv_13_0_OUTDIR)/tstvboxmouse13.run: $$(vboxmouse_drv_13_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_13_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_14_0_OUTDIR)/tstvboxmouse14.run
- OTHERS += $(vboxmouse_drv_14_0_OUTDIR)/tstvboxmouse14.run
-$$(vboxmouse_drv_14_0_OUTDIR)/tstvboxmouse14.run: $$(vboxmouse_drv_14_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_14_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_15_0_OUTDIR)/tstvboxmouse15.run
- OTHERS += $(vboxmouse_drv_15_0_OUTDIR)/tstvboxmouse15.run
-$$(vboxmouse_drv_15_0_OUTDIR)/tstvboxmouse15.run: $$(vboxmouse_drv_15_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_15_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_16_0_OUTDIR)/tstvboxmouse16.run
- OTHERS += $(vboxmouse_drv_16_0_OUTDIR)/tstvboxmouse16.run
-$$(vboxmouse_drv_16_0_OUTDIR)/tstvboxmouse16.run: $$(vboxmouse_drv_16_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_16_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
-ifneq ($(KBUILD_TARGET), linux)
-
- TESTING += $(vboxmouse_drv_17_0_OUTDIR)/tstvboxmouse17.run
- OTHERS += $(vboxmouse_drv_17_0_OUTDIR)/tstvboxmouse17.run
-$$(vboxmouse_drv_17_0_OUTDIR)/tstvboxmouse17.run: $$(vboxmouse_drv_17_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_17_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_18_0_OUTDIR)/tstvboxmouse18.run
- OTHERS += $(vboxmouse_drv_18_0_OUTDIR)/tstvboxmouse18.run
-$$(vboxmouse_drv_18_0_OUTDIR)/tstvboxmouse18.run: $$(vboxmouse_drv_18_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_18_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_19_0_OUTDIR)/tstvboxmouse19.run
- OTHERS += $(vboxmouse_drv_19_0_OUTDIR)/tstvboxmouse19.run
-$$(vboxmouse_drv_19_0_OUTDIR)/tstvboxmouse19.run: $$(vboxmouse_drv_19_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_19_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_110_0_OUTDIR)/tstvboxmouse110.run
- OTHERS += $(vboxmouse_drv_110_0_OUTDIR)/tstvboxmouse110.run
-$$(vboxmouse_drv_110_0_OUTDIR)/tstvboxmouse110.run: $$(vboxmouse_drv_110_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_110_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_111_0_OUTDIR)/tstvboxmouse111.run
- OTHERS += $(vboxmouse_drv_111_0_OUTDIR)/tstvboxmouse111.run
-$$(vboxmouse_drv_111_0_OUTDIR)/tstvboxmouse111.run: $$(vboxmouse_drv_111_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_111_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxmouse_drv_112_0_OUTDIR)/tstvboxmouse112.run
- OTHERS += $(vboxmouse_drv_112_0_OUTDIR)/tstvboxmouse112.run
-$$(vboxmouse_drv_112_0_OUTDIR)/tstvboxmouse112.run: $$(vboxmouse_drv_112_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxmouse_drv_112_1_STAGE_TARGET) $(VBOXMOUSE_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
-endif # neq ($(KBUILD_TARGET),linux)
+##
+# Using the extra expansion to replace $(ver) before eval, thus everything
+# else needs escaped dollars.
+ define def_vboxmouse_test
+ TESTING += $$(vboxmouse_drv$(ver)_0_OUTDIR)/tstvboxmouse$(ver).run
+ OTHERS += $$(vboxmouse_drv$(ver)_0_OUTDIR)/tstvboxmouse$(ver).run
+ $$$$(vboxmouse_drv$(ver)_0_OUTDIR)/tstvboxmouse$(ver).run: $$$$(vboxmouse_drv$(ver)_1_STAGE_TARGET)
+ $$(QUIET)$$(call MSG_L1,Checking for unresolved symbols in $$<)
+ $$(QUIET)$$(ASH) $$(PATH_ROOT)/src/bldprogs/checkUndefined.sh $$(KBUILD_HOST) \
+ $$(vboxmouse_drv$(ver)_1_STAGE_TARGET) $$(VBOXMOUSE_SRC_PATH)/undefined $$(VBOXMOUSE_SRC_PATH)/undefined_extra
+ $$(QUIET)$$(APPEND) -t "$$@" "done"
+ endef
+
+ $(foreach ver, _70 _71 _13 _14 _15 _16, $(eval $(def_vboxmouse_test)))
+
+ ifneq ($(KBUILD_TARGET), linux)
+ $(foreach ver, _17 _18 _19 _110 _111 _112 _113, $(eval $(def_vboxmouse_test)))
+
+ endif # neq ($(KBUILD_TARGET),linux)
endif # ! VBOX_ONLY_SDK
endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
diff --git a/src/VBox/Additions/x11/vboxmouse/undefined b/src/VBox/Additions/x11/vboxmouse/undefined
index 8f1dfdf32..14c32d988 100644
--- a/src/VBox/Additions/x11/vboxmouse/undefined
+++ b/src/VBox/Additions/x11/vboxmouse/undefined
@@ -7,29 +7,14 @@ InitPtrFeedbackClassDeviceStruct
InitValuatorClassDeviceStruct
VErrorF
Xalloc
-_ITM_registerTMCloneTable
-_ITM_deregisterTMCloneTable
-_Jv_RegisterClasses
-___errno
-__cxa_finalize
-__deregister_frame_info_bases
-__divdi3
-__errno_location
-__fxstat64
-__gmon_start__
-__iob
-__moddi3
-__register_frame_info_bases
-__stack_chk_fail
-__udivdi3
-__umoddi3
-__xstat64
+Xfree
calloc
chdir
chmod
chown
close
fchmod
+fchown
fcntl
fflush
flock
@@ -41,6 +26,7 @@ fsync
ftruncate
ftruncate64
futimes
+fwrite
getcwd
getenv
geteuid
@@ -53,7 +39,6 @@ lchown
lseek
lseek64
malloc
-nanosleep
memalign
memchr
memcmp
@@ -67,11 +52,14 @@ miPointerGetScreen
mmap64
mprotect
munmap
+nanosleep
nl_langinfo
open
open64
posix_memalign
+pthread_self
pthread_sigmask
+pthread_yield
putenv
read
realloc
@@ -95,6 +83,7 @@ tolower
unlink
unsetenv
utimes
+vfprintf
write
xf86AddEnabledDevice
xf86AddInputDriver
@@ -111,7 +100,11 @@ xf86RemoveEnabledDevice
xf86ScaleAxis
xf86SetIntOption
xf86SetStrOption
+xf86close
xf86errno
+xf86ioctl
xf86isspace
+xf86open
+xf86read
xf86strtoul
xf86vsnprintf
diff --git a/src/VBox/Additions/x11/vboxmouse/undefined_extra b/src/VBox/Additions/x11/vboxmouse/undefined_extra
new file mode 100644
index 000000000..72c99ca89
--- /dev/null
+++ b/src/VBox/Additions/x11/vboxmouse/undefined_extra
@@ -0,0 +1,18 @@
+_ITM_deregisterTMCloneTable
+_ITM_registerTMCloneTable
+_Jv_RegisterClasses
+___errno
+__cxa_finalize
+__deregister_frame_info_bases
+__divdi3
+__errno_location
+__fxstat64
+__gmon_start__
+__iob
+__lxstat64
+__moddi3
+__register_frame_info_bases
+__stack_chk_fail
+__udivdi3
+__umoddi3
+__xstat64
diff --git a/src/VBox/Additions/x11/vboxmouse/vboxmouse.c b/src/VBox/Additions/x11/vboxmouse/vboxmouse.c
index 85c9706f5..847ec94d7 100644
--- a/src/VBox/Additions/x11/vboxmouse/vboxmouse.c
+++ b/src/VBox/Additions/x11/vboxmouse/vboxmouse.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
index 59d9c9239..e1b6cd901 100644
--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
@@ -4,7 +4,7 @@
#
#
-# Copyright (C) 2006-2012 Oracle Corporation
+# Copyright (C) 2006-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -343,6 +343,7 @@ endif
# Check the undefined symbols in the X.Org modules against lists of allowed
# symbols. Not very elegant, but it will catch problems early.
+
ifdef VBOX_WITH_TESTCASES
# ifndef VBOX_ONLY_ADDITIONS
ifndef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -356,118 +357,29 @@ ifdef VBOX_WITH_TESTCASES
OTHERS += $(vboxvideo_drv_0_OUTDIR)/tstvboxvideo68.run
$$(vboxvideo_drv_0_OUTDIR)/tstvboxvideo68.run: $$(vboxvideo_drv_1_STAGE_TARGET)
$(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined --static
+ $(QUIET)$(ASH) $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
+ $(vboxvideo_drv_1_STAGE_TARGET) --static $(VBOXVIDEO_SRC_PATH)/undefined
$(QUIET)$(APPEND) -t "$@" "done"
endif
- TESTING += $(vboxvideo_drv_70_0_OUTDIR)/tstvboxvideo70.run
- OTHERS += $(vboxvideo_drv_70_0_OUTDIR)/tstvboxvideo70.run
-$$(vboxvideo_drv_70_0_OUTDIR)/tstvboxvideo70.run: $$(vboxvideo_drv_70_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_70_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_71_0_OUTDIR)/tstvboxvideo71.run
- OTHERS += $(vboxvideo_drv_71_0_OUTDIR)/tstvboxvideo71.run
-$$(vboxvideo_drv_71_0_OUTDIR)/tstvboxvideo71.run: $$(vboxvideo_drv_71_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_71_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_13_0_OUTDIR)/tstvboxvideo13.run
- OTHERS += $(vboxvideo_drv_13_0_OUTDIR)/tstvboxvideo13.run
-$$(vboxvideo_drv_13_0_OUTDIR)/tstvboxvideo13.run: $$(vboxvideo_drv_13_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_13_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_14_0_OUTDIR)/tstvboxvideo14.run
- OTHERS += $(vboxvideo_drv_14_0_OUTDIR)/tstvboxvideo14.run
-$$(vboxvideo_drv_14_0_OUTDIR)/tstvboxvideo14.run: $$(vboxvideo_drv_14_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_14_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_15_0_OUTDIR)/tstvboxvideo15.run
- OTHERS += $(vboxvideo_drv_15_0_OUTDIR)/tstvboxvideo15.run
-$$(vboxvideo_drv_15_0_OUTDIR)/tstvboxvideo15.run: $$(vboxvideo_drv_15_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_15_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_16_0_OUTDIR)/tstvboxvideo16.run
- OTHERS += $(vboxvideo_drv_16_0_OUTDIR)/tstvboxvideo16.run
-$$(vboxvideo_drv_16_0_OUTDIR)/tstvboxvideo16.run: $$(vboxvideo_drv_16_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_16_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_17_0_OUTDIR)/tstvboxvideo17.run
- OTHERS += $(vboxvideo_drv_17_0_OUTDIR)/tstvboxvideo17.run
-$$(vboxvideo_drv_17_0_OUTDIR)/tstvboxvideo17.run: $$(vboxvideo_drv_17_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_17_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_18_0_OUTDIR)/tstvboxvideo18.run
- OTHERS += $(vboxvideo_drv_18_0_OUTDIR)/tstvboxvideo18.run
-$$(vboxvideo_drv_18_0_OUTDIR)/tstvboxvideo18.run: $$(vboxvideo_drv_18_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_18_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_19_0_OUTDIR)/tstvboxvideo19.run
- OTHERS += $(vboxvideo_drv_19_0_OUTDIR)/tstvboxvideo19.run
-$$(vboxvideo_drv_19_0_OUTDIR)/tstvboxvideo19.run: $$(vboxvideo_drv_19_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_19_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_110_0_OUTDIR)/tstvboxvideo110.run
- OTHERS += $(vboxvideo_drv_110_0_OUTDIR)/tstvboxvideo110.run
-$$(vboxvideo_drv_110_0_OUTDIR)/tstvboxvideo110.run: $$(vboxvideo_drv_110_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_110_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_111_0_OUTDIR)/tstvboxvideo111.run
- OTHERS += $(vboxvideo_drv_111_0_OUTDIR)/tstvboxvideo111.run
-$$(vboxvideo_drv_111_0_OUTDIR)/tstvboxvideo111.run: $$(vboxvideo_drv_111_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_111_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_112_0_OUTDIR)/tstvboxvideo112.run
- OTHERS += $(vboxvideo_drv_112_0_OUTDIR)/tstvboxvideo112.run
-$$(vboxvideo_drv_112_0_OUTDIR)/tstvboxvideo112.run: $$(vboxvideo_drv_112_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_112_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
-
- TESTING += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
- OTHERS += $(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run
-$$(vboxvideo_drv_113_0_OUTDIR)/tstvboxvideo113.run: $$(vboxvideo_drv_113_1_STAGE_TARGET)
- $(QUIET)$(call MSG_L1,Checking for unresolved symbols in $<)
- $(QUIET)/bin/sh $(PATH_ROOT)/src/bldprogs/checkUndefined.sh $(KBUILD_HOST) \
- $(vboxvideo_drv_113_1_STAGE_TARGET) $(VBOXVIDEO_SRC_PATH)/undefined
- $(QUIET)$(APPEND) -t "$@" "done"
+##
+# Using the extra expansion to replace $(ver) before eval, thus everything
+# else needs escaped dollars.
+ define def_vboxvideo_test
+ TESTING += $$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run
+ OTHERS += $$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run
+ $$$$(vboxvideo_drv$(ver)_0_OUTDIR)/tstvboxvideo$(ver).run: $$$$(vboxvideo_drv$(ver)_1_STAGE_TARGET)
+ $$(QUIET)$$(call MSG_L1,Checking for unresolved symbols in $$<)
+ $$(QUIET)$$(ASH) $$(PATH_ROOT)/src/bldprogs/checkUndefined.sh $$(KBUILD_HOST) \
+ $$(vboxvideo_drv$(ver)_1_STAGE_TARGET) $$(VBOXVIDEO_SRC_PATH)/undefined $$(VBOXVIDEO_SRC_PATH)/undefined_extra
+ $$(QUIET)$$(APPEND) -t "$$@" "done"
+ endef
+
+ $(foreach ver, _70 _71 _13 _14 _15 _16 _17 _18 _19 _110 _111 _112 _113, $(eval $(def_vboxvideo_test)))
endif # ! VBOX_ONLY_SDK
endif # eq ($(KBUILD_HOST_ARCH),$(KBUILD_TARGET_ARCH))
- endif # eq ($(KBUILD_TARGET),linux)
+ endif # 1of ($(KBUILD_TARGET),linux solaris)
endif # ! VBOX_USE_SYSTEM_XORG_HEADERS
# endif # ! VBOX_ONLY_ADDITIONS
endif # VBOX_WITH_TESTCASES
diff --git a/src/VBox/Additions/x11/vboxvideo/edid.c b/src/VBox/Additions/x11/vboxvideo/edid.c
index 2628a3241..fd7aff4f3 100644
--- a/src/VBox/Additions/x11/vboxvideo/edid.c
+++ b/src/VBox/Additions/x11/vboxvideo/edid.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/pointer.c b/src/VBox/Additions/x11/vboxvideo/pointer.c
index 8ddada547..45fcecaf4 100644
--- a/src/VBox/Additions/x11/vboxvideo/pointer.c
+++ b/src/VBox/Additions/x11/vboxvideo/pointer.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/setmode.c b/src/VBox/Additions/x11/vboxvideo/setmode.c
index 72f1c041d..fcb9eb646 100644
--- a/src/VBox/Additions/x11/vboxvideo/setmode.c
+++ b/src/VBox/Additions/x11/vboxvideo/setmode.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -143,9 +143,12 @@ Bool VBOXAdjustScreenPixmap(ScrnInfoPtr pScrn, int width, int height)
PixmapPtr pPixmap = pScreen->GetScreenPixmap(pScreen);
VBOXPtr pVBox = VBOXGetRec(pScrn);
uint64_t cbLine = vboxLineLength(pScrn, width);
+ int displayWidth = vboxDisplayPitch(pScrn, cbLine);
TRACE_LOG("width=%d, height=%d\n", width, height);
- if (width == pScrn->virtualX && height == pScrn->virtualY)
+ if ( width == pScrn->virtualX
+ && height == pScrn->virtualY
+ && displayWidth == pScrn->displayWidth)
return TRUE;
if (!pPixmap) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
@@ -165,7 +168,7 @@ Bool VBOXAdjustScreenPixmap(ScrnInfoPtr pScrn, int width, int height)
vboxClearVRAM(pScrn, width, height);
pScrn->virtualX = width;
pScrn->virtualY = height;
- pScrn->displayWidth = vboxDisplayPitch(pScrn, cbLine);
+ pScrn->displayWidth = displayWidth;
pVBox->cbLine = cbLine;
#ifdef VBOX_DRI
if (pVBox->useDRI)
diff --git a/src/VBox/Additions/x11/vboxvideo/undefined b/src/VBox/Additions/x11/vboxvideo/undefined
index 8895a12c6..ce114dd61 100644
--- a/src/VBox/Additions/x11/vboxvideo/undefined
+++ b/src/VBox/Additions/x11/vboxvideo/undefined
@@ -15,27 +15,11 @@ MakeAtom
PixmapWidthPaddingInfo
RRChangeOutputProperty
ShadowFBInit2
+VErrorF
XNFcalloc
XNFstrdup
Xalloc
-_ITM_registerTMCloneTable
-_ITM_deregisterTMCloneTable
-_Jv_RegisterClasses
-___errno
-__cxa_finalize
-__deregister_frame_info_bases
-__divdi3
-__errno_location
-__fxstat64
-__gmon_start__
-__iob
-__isoc99_sscanf
-__moddi3
-__register_frame_info_bases
-__stack_chk_fail
-__udivdi3
-__umoddi3
-__xstat64
+Xfree
calloc
chdir
chmod
@@ -46,6 +30,7 @@ drmGetVersion
fbPictureInit
fbScreenInit
fchmod
+fchown
fcntl
fflush
flock
@@ -57,6 +42,7 @@ fsync
ftruncate
ftruncate64
futimes
+fwrite
getcwd
getenv
geteuid
@@ -68,8 +54,8 @@ ioctl
lchown
lseek
lseek64
+lstat
malloc
-nanosleep
memalign
memchr
memcmp
@@ -85,6 +71,7 @@ miSetVisualTypes
mmap64
mprotect
munmap
+nanosleep
nl_langinfo
open
open64
@@ -92,7 +79,9 @@ pciTag
pci_device_map_range
pci_device_unmap_range
posix_memalign
+pthread_self
pthread_sigmask
+pthread_yield
putenv
read
realloc
@@ -104,18 +93,17 @@ serverGeneration
setenv
sigdelset
sigfillset
-sprintf
snprintf
-sscanf
+sprintf
sscanf
stat
stderr
strchr
strcmp
strcpy
-strncpy
strlen
strncmp
+strncpy
strpbrk
strstr
symlink
@@ -123,19 +111,20 @@ tolower
unlink
unsetenv
utimes
+vfprintf
vgaHWFreeHWRec
vgaHWGetHWRec
-vgaHWGetIndex
vgaHWGetIOBase
+vgaHWGetIndex
vgaHWRestore
vgaHWSave
vgaHWSetStdFuncs
write
xf86AddDriver
xf86ConfigPciEntity
-xf86CrtcConfigPrivateIndex
xf86CreateCursorInfoRec
xf86CrtcConfigInit
+xf86CrtcConfigPrivateIndex
xf86CrtcCreate
xf86CrtcScreenInit
xf86CrtcSetSizeRange
@@ -160,13 +149,14 @@ xf86MatchPciInstances
xf86ModesAdd
xf86Msg
xf86OutputCreate
+xf86OutputSetEDID
xf86OutputUseScreenMonitor
xf86PrintChipsets
xf86PrintDepthBpp
xf86PrintModes
xf86SaveScreen
-xf86Screens
xf86ScreenToScrn
+xf86Screens
xf86ScrnToScreen
xf86SetBackingStore
xf86SetBlackWhitePixels
@@ -174,13 +164,26 @@ xf86SetDefaultVisual
xf86SetDepthBpp
xf86SetDesiredModes
xf86SetDpi
-xf86OutputSetEDID
xf86SetGamma
xf86SetModeDefaultName
xf86SetSingleMode
xf86SetWeight
xf86ShowUnusedOptions
xf86UnMapVidMem
+xf86calloc
+xf86close
xf86errno
+xf86free
+xf86ioctl
xf86isspace
+xf86memchr
+xf86memcpy
+xf86memset
+xf86open
+xf86sprintf
+xf86sscanf
+xf86strcmp
+xf86strcpy
+xf86strlen
xf86strtoul
+xf86vsnprintf
diff --git a/src/VBox/Additions/x11/vboxvideo/undefined_extra b/src/VBox/Additions/x11/vboxvideo/undefined_extra
new file mode 100644
index 000000000..7c54a2c1b
--- /dev/null
+++ b/src/VBox/Additions/x11/vboxvideo/undefined_extra
@@ -0,0 +1,19 @@
+_ITM_deregisterTMCloneTable
+_ITM_registerTMCloneTable
+_Jv_RegisterClasses
+___errno
+__cxa_finalize
+__deregister_frame_info_bases
+__divdi3
+__errno_location
+__fxstat64
+__gmon_start__
+__iob
+__isoc99_sscanf
+__lxstat64
+__moddi3
+__register_frame_info_bases
+__stack_chk_fail
+__udivdi3
+__umoddi3
+__xstat64
diff --git a/src/VBox/Additions/x11/vboxvideo/vboxutils.c b/src/VBox/Additions/x11/vboxvideo/vboxutils.c
index 75a0ccb36..c1df71d4c 100644
--- a/src/VBox/Additions/x11/vboxvideo/vboxutils.c
+++ b/src/VBox/Additions/x11/vboxvideo/vboxutils.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/vboxvideo.c b/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
index 608064261..e9952a15b 100644
--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/vboxvideo.h b/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
index 64a91f3e3..549ec4ba7 100644
--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2013 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
@@ -54,6 +54,7 @@
#include <VBox/VBoxVideoGuest.h>
#include <VBox/VBoxVideo.h>
+#include <iprt/asm-math.h>
#ifdef DEBUG
@@ -264,7 +265,8 @@ static inline int32_t vboxLineLength(ScrnInfoPtr pScrn, int32_t cDisplayWidth)
/** Calculate the display pitch from the scan line length */
static inline int32_t vboxDisplayPitch(ScrnInfoPtr pScrn, int32_t cbLine)
{
- return (int32_t)((uint64_t)cbLine * 8 / vboxBPP(pScrn));
+ /* take care to reference __udivdi3! */
+ return ASMDivU64ByU32RetU32((uint64_t)cbLine * 8, vboxBPP(pScrn));
}
extern void vboxClearVRAM(ScrnInfoPtr pScrn, int32_t cNewX, int32_t cNewY);
diff --git a/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c b/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c
index 46ded3524..465ff9b5f 100644
--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c
+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/vboxvideo/vbva.c b/src/VBox/Additions/x11/vboxvideo/vbva.c
index 9f5bac94c..67b0adc94 100644
--- a/src/VBox/Additions/x11/vboxvideo/vbva.c
+++ b/src/VBox/Additions/x11/vboxvideo/vbva.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2006-2007 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/x11/x11stubs/libXcomposite-1.0.0/libXcomposite.c b/src/VBox/Additions/x11/x11stubs/libXcomposite-1.0.0/libXcomposite.c
index 401eec1d7..84ac0ba9f 100644
--- a/src/VBox/Additions/x11/x11stubs/libXcomposite-1.0.0/libXcomposite.c
+++ b/src/VBox/Additions/x11/x11stubs/libXcomposite-1.0.0/libXcomposite.c
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (C) 2009 Oracle Corporation
+ * Copyright (C) 2009-2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;