commit virtualbox for openSUSE:Factory
Hello community, here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2019-05-03 22:21:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virtualbox (Old) and /work/SRC/openSUSE:Factory/.virtualbox.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "virtualbox" Fri May 3 22:21:29 2019 rev:177 rq:699509 version:6.0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2019-04-28 19:59:26.534935343 +0200 +++ /work/SRC/openSUSE:Factory/.virtualbox.new.5148/virtualbox.changes 2019-05-03 22:21:33.768603419 +0200 @@ -11,0 +12,75 @@ +Fri Apr 19 15:45:46 UTC 2019 - Larry Finger <Larry.Finger@gmail.com> + +- Updated file "Fixes_for_Leap15.1.patch" to handle one addition problem due to backporting of kernel APIa. + Remove "BuildRequires: quilt" - that package is not needed. + + VirtualBox 6.0.6 fixes the following: CVE-2019-2656, CVE-2019-2680, CVE-2019-2696, CVE-2019-2703, CVE-2019-2721, + CVE-2019-2722, CVE-2019-2723, CVE-2019-2657, CVE-2019-2690, CVE-2019-2679, + CVE-2019-2678, and CVE-2019-2574 boo#1132827. + +------------------------------------------------------------------- +Thu Apr 18 15:40:18 UTC 2019 - Larry Finger <Larry.Finger@gmail.com> + +- Version bump to 6.0.6 (released April 17 2019 by Oracle) + +The following files in the openSUSE implemetation are removed: "fix_32_bit_builds.patch", "fixes_for_5.0.patch", and +"fixes_for_5.1.patch". These issues are fixed upstream. + +This is a maintenance release. The following items were fixed and/or added by Oracle: + +Virtualization core: nested AMD virtualization fixes +User interface: fixed copying directories in file manager +User interface: fixed operation progress in file manager when copying content +User interface: fixed operation progress when deleting snapshots +User interface: fixed unattended installation of recent Ubuntu guests +User interface: various additional improvements +Storage: fixed loading saved states for LsiLogic devices (6.0.0 regression; bug #18263) +Storage: fixed fixed reading certain QCOW2 images and support version 3 of the format readonly +Storage: Improved IDE PCI emulation to allow NetWare IDE drivers to use bus-mastering +Graphics: Improved VMSVGA support to work with old X servers which previously showed only a badly scrambled screen +Graphics: fixed invisible mouse cursor with VMSVGA emulation and without mouse integration (bug #18239) +Graphics: make EFI work with VMSVGA emulation (bug #18282) +Graphics: remember last guest screen size VMSVGA emulation +Graphics: fix RDP to guests using VMSVGA emulation +Graphics: various additional VMSVGA emulation fixes +Audio: implemented audio device enumeration for the DirectSound backend +Network: fixed unwanted padding bytes in Windows host adaptor network packets (bug #18202 and bug #18355) +Serial: fixed possible crash on Windows when using a host device (6.0.0 regression; bug #18319) +Serial: fixed loopback handling in the emulation causing garbage to be sent during boot with Linux guests (6.0.0 regression; bug #18319) +Shared folders: fixed duplicate folders after restoring a saved state (bug #18373 and other) +Drag and drop: fixed copying files from guest host (bug #18305) +Recording: fixed modifying settings via VBoxManage (bug #18494) +VBoxManage: crash fix (bug #18341) +Fixed hangs during failed virtual machine start-up +Linux host and guest: support Linux 5.0 and 5.1, thank you Valdis Kletnieks (see also bug #18515) +Linux host: support kernel 4.4.169 (bug #18315) +Linux host: fix logging when building Linux kernel modules (bug #18226) +Linux host: clarified building Linux host drivers with secure boot (bug #18312) +Installers: reduced size of packages +Web services: work with Java 11 +LibreSSL compilation fix, thank you Stefan Strogin +Windows guests: fixed running applications which use complex display topologies with WDDM driver, fixed Skype for Business hangs (bug #17092) +Windows guests: fixed an occasional guest crash with WDDM driver and VBoxSVGA adapter (bug #18369) +Windows guests: shared folder file creation detection issue (bug #9276) +Linux guests: shared folder performance and reliability improvements and missing features (bugs #17360, #819) +OS/2 guests: shared folder fixes (bug #18376 and bug #18379) + +------------------------------------------------------------------- +Wed Apr 17 12:42:15 UTC 2019 - Larry Finger <Larry.Finger@gmail.com> + +- The VirtualBox packages for both Tumbleweed and Leap 15.1 are now derived from the sources in Factory; + however, the underlying kernels are very different in that vboxvideo.ko is built-into the TW kernel, + thus the package did not try to build that module. The result is that Leap 15.1 guests have only 640x480 + resolution (boo#1132439). These changes conditionally turn building of the kernel module back on. As TW + does not need the module, it is only built for Leap 15.1. + +------------------------------------------------------------------- +Sun Apr 14 16:32:29 UTC 2019 - Larry Finger <Larry.Finger@gmail.com> + +- An instance of /usr/lib/virtualbox/VirtualBoxVM being installed without SUID privilege + has been reported as boo#1132379. Unfortunately, the error message thrown by VB in this + case is rather opaque. To help the user recover, the wrapper /usr/bin/VirtualBox has + been modified to check the permissions and pop up a warning describing the problem and + showing the command needed to fix the problem. File "vbox-suid-warning.diff" is added. + +------------------------------------------------------------------- Old: ---- VirtualBox-6.0.4-patched.tar.bz2 fix_32_bit_builds.patch fixes_for_5.0.patch fixes_for_5.1.patch New: ---- VirtualBox-6.0.6-patched.tar.bz2 vbox-suid-warning.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virtualbox.spec ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.212610409 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.212610409 +0200 @@ -42,7 +42,7 @@ %define _udevrulesdir /usr/lib/udev/rules.d Name: virtualbox # ********* If the VB version exceeds 6.0.x, notify the libvirt maintainer!! -Version: 6.0.4 +Version: 6.0.6 Release: 0 Summary: VirtualBox is an Emulator License: GPL-2.0-or-later @@ -110,6 +110,8 @@ Patch108: virtualbox-snpritnf-buffer-overflow.patch # Patch to add code to explain USB Passthru Patch109: vbox-usb-warning.diff +# Patch to ensure that VirtualBoxVM is SUID +Patch110: vbox-suid-warning.diff # Fix change in kernel API for ttm_bo_move_memcpy() Patch112: modify_for_4_8_bo_move.patch # Remove all mention of _smp_mflags @@ -126,17 +128,12 @@ Patch122: fixes_for_Qt5.11.patch # Switch to Python 3.4+ Patch123: switch_to_python3.4+.patch -Patch124: fix_32_bit_builds.patch # Use build parameters to control video driver problems Patch125: remove_vbox_video_build.patch -# Fix for API changes in late v5.0 -Patch126: fixes_for_5.0.patch # fix library search Patch128: fix_lib_search.patch # Fixes for modified kernel in Leap 15.1 Patch129: fixes_for_Leap15.1.patch -# Fixes for kernel 5.1 -Patch130: fixes_for_5.1.patch # Fixes for Qt5.13 Patch131: fixes_for_qt5.13.patch #endif @@ -183,7 +180,6 @@ BuildRequires: pam-devel BuildRequires: pulseaudio-devel BuildRequires: python3-devel -BuildRequires: quilt BuildRequires: sed BuildRequires: update-desktop-files BuildRequires: which @@ -429,6 +425,7 @@ %patch107 -p1 %patch108 -p1 %patch109 -p1 +%patch110 -p1 %patch112 -p1 %patch113 -p1 %patch115 -p1 @@ -437,12 +434,9 @@ %patch120 -p1 %patch122 -p1 %patch123 -p1 -%patch124 -p1 %patch125 -p1 -%patch126 -p1 %patch128 -p1 %patch129 -p1 -%patch130 -p1 %if %{qt5ver} >= 51300 %patch131 -p1 @@ -524,10 +518,15 @@ # # build kernel modules for guest and host (check novel-kmp package as example) # host modules : vboxdrv,vboxnetflt,vboxnetadp,vboxpci -# guest modules : vboxguest,vboxsf +# guest modules : vboxguest,vboxsf vboxvideo (for Leap 15.1) echo "build kernel modules" +%if 0%{?suse_version} == 1500 +for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \ + out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do +%else for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp,pci} \ out/linux.*/release/bin/additions/src/vbox{guest,sf}; do +%endif #get the module name from path module_name=$(basename "$vbox_module") @@ -593,7 +592,11 @@ export INITRD_IN_POSTTRANS=1 export KMP_NEEDS_MKINITRD=0 #to install modules we use here similar steps like in build phase, go through all the modules : +%if 0%{?suse_version} == 1500 +for module_name in vbox{drv,netflt,pci,netadp,guest,sf,video} +%else for module_name in vbox{drv,netflt,pci,netadp,guest,sf} +%endif do #and through the all flavors for flavor in %{flavors_to_build}; do @@ -659,6 +662,7 @@ install -m 755 VBoxExtPackHelperApp %{buildroot}%{_vbox_instdir} install -m 755 VBoxTestOGL %{buildroot}%{_vbox_instdir} install -m 755 VBoxPermissionMessage %{buildroot}%{_vbox_instdir} +install -m 755 VBoxSUIDMessage %{buildroot}%{_vbox_instdir} install -m 755 VBoxUSB_DevRules %{buildroot}%{_vbox_instdir} install -m 755 VBoxNetDHCP %{buildroot}%{_vbox_instdir} install -m 755 VBoxNetAdpCtl %{buildroot}%{_vbox_instdir} @@ -787,6 +791,9 @@ # Add groups for seamless mode and shared folders: getent group vboxguest >/dev/null || groupadd -r vboxguest getent group vboxsf >/dev/null || groupadd -r vboxsf +%if 0%{?suse_version} == 1500 +getent group vboxvideo >/dev/null || groupadd -r vboxvideo +%endif %service_add_pre vboxadd-service.service %pre websrv @@ -957,6 +964,7 @@ %files qt %defattr(-, root, root) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxPermissionMessage +%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxSUIDMessage %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxUSB_DevRules %attr(0755,root,vboxusers) %{_vbox_instdir}/VirtualBox6 %verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VirtualBoxVM ++++++ UserManual.pdf ++++++ (binary differes) ++++++ VirtualBox-6.0.4-patched.tar.bz2 -> VirtualBox-6.0.6-patched.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/virtualbox/VirtualBox-6.0.4-patched.tar.bz2 /work/SRC/openSUSE:Factory/.virtualbox.new.5148/VirtualBox-6.0.6-patched.tar.bz2 differ: char 11, line 1 ++++++ fixes_for_Leap15.1.patch ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.272610530 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.276610538 +0200 @@ -1,8 +1,8 @@ -Index: VirtualBox-5.2.24/src/VBox/Additions/linux/drm/vbox_drv.c +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== ---- VirtualBox-5.2.24.orig/src/VBox/Additions/linux/drm/vbox_drv.c -+++ VirtualBox-5.2.24/src/VBox/Additions/linux/drm/vbox_drv.c -@@ -264,12 +264,6 @@ static struct drm_driver driver = { +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.c ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +@@ -283,12 +283,6 @@ static struct drm_driver driver = { .lastclose = vbox_driver_lastclose, .master_set = vbox_master_set, .master_drop = vbox_master_drop, @@ -15,3 +15,154 @@ .fops = &vbox_fops, .irq_handler = vbox_irq_handler, .name = DRIVER_NAME, +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_mode.c +=================================================================== +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_mode.c ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_mode.c +@@ -498,7 +498,8 @@ static void vbox_set_edid(struct drm_con + for (i = 0; i < EDID_SIZE - 1; ++i) + sum += edid[i]; + edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF; +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || \ ++ defined(CONFIG_SUSE_VERSION) + drm_connector_update_edid_property(connector, (struct edid *)edid); + #else + drm_mode_connector_update_edid_property(connector, (struct edid *)edid); +@@ -669,7 +670,8 @@ static int vbox_connector_init(struct dr + drm_connector_register(connector); + #endif + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || \ ++ defined(CONFIG_SUSE_VERSION) + drm_connector_attach_encoder(connector, encoder); + #else + drm_mode_connector_attach_encoder(connector, encoder); +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c +=================================================================== +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -210,7 +210,8 @@ static struct ttm_backend_func vbox_tt_b + .destroy = &vbox_ttm_backend_destroy, + }; + +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev, + unsigned long size, + u32 page_flags, +@@ -227,7 +228,8 @@ static struct ttm_tt *vbox_ttm_tt_create + return NULL; + + tt->func = &vbox_tt_backend_func; +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { + #else + if (ttm_tt_init(tt, bo, page_flags)) { +@@ -240,7 +242,8 @@ static struct ttm_tt *vbox_ttm_tt_create + } + + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) +-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) ++# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + static int vbox_ttm_tt_populate(struct ttm_tt *ttm) + { + return ttm_pool_populate(ttm); +@@ -274,7 +277,8 @@ static struct ttm_bo_driver vbox_bo_driv + .io_mem_reserve = &vbox_ttm_io_mem_reserve, + .io_mem_free = &vbox_ttm_io_mem_free, + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL_75) +-# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) ++# if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + .io_mem_pfn = ttm_bo_default_io_mem_pfn, + # endif + #endif +@@ -420,7 +424,8 @@ int vbox_bo_create(struct drm_device *de + + ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size, + ttm_bo_type_device, &vboxbo->placement, +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + align >> PAGE_SHIFT, false, NULL, acc_size, + #else + align >> PAGE_SHIFT, false, acc_size, +@@ -449,7 +454,8 @@ static inline u64 vbox_bo_gpu_offset(str + + int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr) + { +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \ ++ defined(CONFIG_SUSE_VERSION) + struct ttm_operation_ctx ctx = { false, false }; + #endif + int i, ret; +@@ -467,7 +473,8 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 + for (i = 0; i < bo->placement.num_placement; i++) + PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; + +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); + #else + ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); +@@ -485,7 +492,8 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 + + int vbox_bo_unpin(struct vbox_bo *bo) + { +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \ ++ defined(CONFIG_SUSE_VERSION) + struct ttm_operation_ctx ctx = { false, false }; + #endif + int i, ret; +@@ -501,7 +509,8 @@ int vbox_bo_unpin(struct vbox_bo *bo) + for (i = 0; i < bo->placement.num_placement; i++) + PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT; + +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); + #else + ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); +@@ -519,7 +528,8 @@ int vbox_bo_unpin(struct vbox_bo *bo) + */ + int vbox_bo_push_sysram(struct vbox_bo *bo) + { +-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)) || defined(RHEL_76) || \ ++ defined(CONFIG_SUSE_VERSION) + struct ttm_operation_ctx ctx = { false, false }; + #endif + int i, ret; +@@ -540,7 +550,8 @@ int vbox_bo_push_sysram(struct vbox_bo * + for (i = 0; i < bo->placement.num_placement; i++) + PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; + +-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)) && !defined(RHEL_76) && \ ++ !defined(CONFIG_SUSE_VERSION) + ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); + #else + ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_main.c +=================================================================== +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/drm/vbox_main.c ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/drm/vbox_main.c +@@ -600,7 +600,7 @@ int vbox_dumb_destroy(struct drm_file *f + } + #endif + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(CONFIG_SUSE_VERSION) + static void ttm_bo_put(struct ttm_buffer_object *bo) + { + ttm_bo_unref(&bo); ++++++ security_fixes.patch ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.292610571 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.296610579 +0200 @@ -5,24 +5,29 @@ # # January 31, 2019 - Larry Finger # -Index: VirtualBox-6.0.4/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-6.0.4.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-6.0.4/src/VBox/Additions/linux/installer/vboxadd.sh -@@ -560,6 +560,9 @@ dmnstatus() +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh +@@ -489,9 +489,11 @@ dmnstatus() fi } +-for i; do +- case "$i" in quiet) QUIET=yes;; esac +-done +echo "This script has insecurities. It must never be used in openSUSE without consultine Security." +exit 1 + - case "$2" in quiet) - QUIET=yes;; - esac -Index: VirtualBox-6.0.4/src/VBox/Installer/linux/vboxdrv.sh ++case "$2" in quiet) ++ QUIET=yes;; + case "$1" in + # Does setup without clean-up first and marks all kernels currently found on the + # system so that we can see later if any were added. +Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxdrv.sh =================================================================== ---- VirtualBox-6.0.4.orig/src/VBox/Installer/linux/vboxdrv.sh -+++ VirtualBox-6.0.4/src/VBox/Installer/linux/vboxdrv.sh +--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxdrv.sh ++++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxdrv.sh @@ -37,6 +37,9 @@ DEVICE=/dev/vboxdrv MODPROBE=/sbin/modprobe SCRIPTNAME=vboxdrv.sh ++++++ vbox-suid-warning.diff ++++++ Index: VirtualBox-6.0.4/src/apps/Makefile.kmk =================================================================== --- VirtualBox-6.0.4.orig/src/apps/Makefile.kmk +++ VirtualBox-6.0.4/src/apps/Makefile.kmk @@ -33,5 +33,7 @@ include $(PATH_SUB_CURRENT)/VBoxPermissi include $(PATH_SUB_CURRENT)/VBoxUSB_DevRules/Makefile.kmk +include $(PATH_SUB_CURRENT)/VBoxSUIDMessage/Makefile.kmk + include $(FILE_KBUILD_SUB_FOOTER) Index: VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/Makefile.kmk =================================================================== --- /dev/null +++ VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/Makefile.kmk @@ -0,0 +1,33 @@ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +## @file +# +# VBoxSUIDMessage is wrapper for suse users +# +# +# Copyright (C) 2009 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. +# + + +SUB_DEPTH = ../../.. +include $(KBUILD_PATH)/subheader.kmk + +PROGRAMS += VBoxSUIDMessage + +VBoxSUIDMessage_TEMPLATE = VBOXQTGUIEXE +VBoxSUIDMessage_SOURCES = VBoxSUIDMessage.cpp +VBoxSUIDMessage_QT_MODULES = Core Gui +VBoxSUIDMessage_QT_MODULES += Widgets + +#INSTALLS += VBoxSUIDMessage + +include $(KBUILD_PATH)/subfooter.kmk + + Index: VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp =================================================================== --- /dev/null +++ VirtualBox-6.0.4/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp @@ -0,0 +1,15 @@ +#include <QtWidgets/QApplication> +#include <QtWidgets/QMessageBox> +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QMessageBox msgBox; + msgBox.setWindowTitle(QObject::tr("File Permissions problem !")); + msgBox.setText(QObject::tr("File VirtualBoxVM must be SUID, but the file permissions are wrong.\n\n" + "To fix this problem, please run\n" + "sudo chmod 4711 /usr/lib/virtualbox/VirtualBoxVM\n\n" + "Until this is done, Virtual Machines cannot run.")); + msgBox.exec(); + app.quit(); + return 0; +} ++++++ vbox-vboxadd-init-script.diff ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.324610636 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.324610636 +0200 @@ -1,7 +1,7 @@ -Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd.sh +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd.sh @@ -26,11 +26,14 @@ # Provides: vboxadd # Required-Start: @@ -18,7 +18,7 @@ ### END INIT INFO ## @todo This file duplicates a lot of script with vboxdrv.sh. When making -@@ -141,18 +144,9 @@ module_build_log() +@@ -121,20 +124,11 @@ module_build_log() dev=/dev/vboxguest userdev=/dev/vboxuser @@ -33,11 +33,13 @@ -fi -test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" || - fail "Configuration file $config not complete" + MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" + BUILDINTMP="$MODULE_SRC/build_in_tmp" - running_vboxguest() { lsmod | grep -q "vboxguest[^_-]" -@@ -195,12 +189,6 @@ do_vboxguest_non_udev() +@@ -177,12 +171,6 @@ do_vboxguest_non_udev() fail "Cannot create device $dev with major $maj and minor $min" } fi @@ -50,7 +52,7 @@ if [ ! -c $userdev ]; then maj=10 -@@ -211,12 +199,6 @@ do_vboxguest_non_udev() +@@ -193,12 +181,6 @@ do_vboxguest_non_udev() rmmod vboxguest 2>/dev/null fail "Cannot create device $userdev with major $maj and minor $min" } @@ -63,29 +65,16 @@ fi fi } -@@ -224,10 +206,9 @@ do_vboxguest_non_udev() - start() - { - begin "Starting." -- if test -z "${INSTALL_NO_MODULE_BUILDS}"; then -- setup --quick -+ setup --quick - test -d /sys && -- ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || -+ ps -A -o comm | grep -q '/*udevd$' 2>/dev/null || - no_udev=1 - running_vboxguest || { - rm -f $dev || { -@@ -236,7 +217,7 @@ start() - rm -f $userdev || { - fail "Cannot remove $userdev" - } -- $MODPROBE vboxguest >/dev/null 2>&1 || -+ $MODPROBE vboxguest >/dev/null 2>&1 || { - fail "modprobe vboxguest failed" - case "$no_udev" in 1) - sleep .5;; -@@ -434,9 +415,9 @@ create_udev_rule() +@@ -260,7 +242,7 @@ cleanup_modules() + done + if test -z "${keep}"; then + rm -rf /lib/modules/"${KERN_VER}" +- rm -f /boot/initrd.img-"${KERN_VER}" ++ rm -f /boot/initrd.img-"${KERN_VER}" + fi + done + for i in ${OLDMODULES}; do +@@ -356,9 +338,9 @@ create_udev_rule() echo "KERNEL=${udev_fix}\"vboxuser\", NAME=\"vboxuser\", OWNER=\"vboxadd\", MODE=\"0666\"" >> /etc/udev/rules.d/60-vboxadd.rules fi } @@ -98,54 +87,44 @@ # And a post-installation script for rebuilding modules when a new kernel # is installed. mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d -@@ -467,20 +448,13 @@ shared_folder_setup() - ## @todo It would be nicer if the kernel module just parsed parameters - # itself instead of needing a separate binary to do that. - ln -sf "${INSTALL_DIR}/other/mount.vboxsf" /sbin -- # SELinux security context for the mount helper. -- if test -e /etc/selinux/config; then -- # This is correct. semanage maps this to the real path, and it aborts -- # with an error, telling you what you should have typed, if you specify -- # the real path. The "chcon" is there as a back-up for old guests. -- command -v semanage > /dev/null && -- semanage fcontext -a -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf" -- chcon -t mount_exec_t "${INSTALL_DIR}/other/mount.vboxsf" -- fi -+ succ_msg - } - +@@ -403,47 +385,15 @@ shared_folder_setup() # setup_script setup() { -+<<<<<<< found - export BUILD_TYPE - export USERNAME - -@@ -517,16 +491,33 @@ setup() - shared_folder_setup - if running_vboxguest || running_vboxadd; then - info "Running kernel modules will not be replaced until the system is restarted" +- # chcon is needed on old Fedora/Redhat systems. No one remembers which. +- test ! -e /etc/selinux/config || +- chcon -t bin_t "$BUILDINTMP" 2>/dev/null +- +- if test -z "$INSTALL_NO_MODULE_BUILDS"; then +- info "Building the VirtualBox Guest Additions kernel modules. This may take a while." +- info "To build modules for other installed kernels, run" +- info " /sbin/rcvboxadd quicksetup <version>" +- info "or" +- info " /sbin/rcvboxadd quicksetup all" +- if test -d /lib/modules/"$TARGET_VER"/build; then +- setup_modules "$TARGET_VER" +- depmod +- else +- info "Kernel headers not found for target kernel $TARGET_VER. \ +-Please install them and execute +- /sbin/rcvboxadd setup" +- fi - fi +- create_vbox_user +- create_udev_rule +- test -n "${INSTALL_NO_MODULE_BUILDS}" || create_module_rebuild_script +- shared_folder_setup +- if running_vboxguest || running_vboxadd; then +- info "Running kernel modules will not be replaced until the system is restarted" +- fi +- +- # Put the X.Org driver in place. This is harmless if it is not needed. +- # Also set up the OpenGL library. +- myerr=`"${INSTALL_DIR}/init/vboxadd-x11" setup 2>&1` +- test -z "${myerr}" || log "${myerr}" +- - return 0 -+||||||| expected -+ export BUILD_TYPE -+ export USERNAME -+ -+ MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" -+ BUILDINTMP="$MODULE_SRC/build_in_tmp" -+ chcon -t bin_t "$BUILDINTMP" > /dev/null 2>&1 -+ -+ test -z "${INSTALL_NO_MODULE_BUILDS}" && setup_modules -+ create_vbox_user -+ create_udev_rule -+ test -z "${INSTALL_NO_MODULE_BUILDS}" && create_module_rebuild_script -+ test -n "${QUICKSETUP}" && return 0 -+ shared_folder_setup -+ if running_vboxguest || running_vboxadd; then -+ info "Running kernel modules will not be replaced until the system is restarted" -+======= + begin "Recompiling VirtualBox kernel module, NOT. It has been packaged." -+>>>>>>> replacement + succ_msg } @@ -160,7 +139,7 @@ depmod # Remove old module sources -@@ -536,12 +527,13 @@ cleanup() +@@ -453,12 +403,13 @@ cleanup() fi # Clean-up X11-related bits @@ -170,18 +149,27 @@ # Remove other files - if test -z "${INSTALL_NO_MODULE_BUILDS}"; then - rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd -- rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null +- rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null || true + rm /sbin/rcvboxadd 2>/dev/null + #rm /sbin/rcvboxadd-x11 2>/dev/null + rm -f /etc/kernel/postinst.d/vboxadd /etc/kernel/prerm.d/vboxadd -+ rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null ++ rmdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d 2>/dev/null || true fi - rm /sbin/mount.vboxsf 2>/dev/null - rm /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null -Index: VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd-service.sh + rm -f /sbin/mount.vboxsf 2>/dev/null + rm -f /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null +@@ -489,7 +440,7 @@ start() + rm -f $userdev || { + fail "Cannot remove $userdev" + } +- $MODPROBE vboxguest >/dev/null 2>&1 || ++ $MODPROBE vboxguest >/dev/null 2>&1 || { + fail "modprobe vboxguest failed" + case "$no_udev" in 1) + sleep .5;; +Index: VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh -+++ VirtualBox-6.0.0/src/VBox/Additions/linux/installer/vboxadd-service.sh +--- VirtualBox-6.0.6.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh ++++ VirtualBox-6.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh @@ -26,7 +26,7 @@ # Provides: vboxadd-service # Required-Start: vboxadd @@ -191,10 +179,10 @@ # Default-Stop: 0 1 6 # X-Conflicts-With: systemd-timesyncd.service # Description: VirtualBox Additions Service -Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxautostart-service.sh +Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxautostart-service.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/Installer/linux/vboxautostart-service.sh -+++ VirtualBox-6.0.0/src/VBox/Installer/linux/vboxautostart-service.sh +--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxautostart-service.sh ++++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxautostart-service.sh @@ -23,7 +23,7 @@ # Provides: vboxautostart-service # Required-Start: vboxdrv @@ -204,10 +192,10 @@ # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO -Index: VirtualBox-6.0.0/src/VBox/Installer/linux/vboxballoonctrl-service.sh +Index: VirtualBox-6.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh -+++ VirtualBox-6.0.0/src/VBox/Installer/linux/vboxballoonctrl-service.sh +--- VirtualBox-6.0.6.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh ++++ VirtualBox-6.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh @@ -23,7 +23,7 @@ # Provides: vboxballoonctrl-service # Required-Start: vboxdrv @@ -217,10 +205,10 @@ # Default-Stop: 0 1 6 # Description: VirtualBox watchdog daemon ### END INIT INFO -Index: VirtualBox-6.0.0/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +Index: VirtualBox-6.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh -+++ VirtualBox-6.0.0/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh ++++ VirtualBox-6.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh @@ -31,7 +31,7 @@ # Provides: testboxscript-service # Required-Start: $network @@ -230,10 +218,10 @@ # Default-Stop: 0 1 6 # Description: TestBoxScript service ### END INIT INFO -Index: VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +Index: VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh -+++ VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh ++++ VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network @@ -243,10 +231,10 @@ # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO -Index: VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +Index: VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh =================================================================== ---- VirtualBox-6.0.0.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh -+++ VirtualBox-6.0.0/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +--- VirtualBox-6.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh ++++ VirtualBox-6.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh @@ -31,7 +31,7 @@ # Provides: vboxtxs # Required-Start: $network ++++++ virtualbox-guest-kmp-files ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.412610814 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.412610814 +0200 @@ -3,3 +3,6 @@ %dir /lib/modules/%2-%1/extra /lib/modules/%2-%1/extra/vboxsf.ko /lib/modules/%2-%1/extra/vboxguest.ko +%if 0%{?suse_version} == 1500 +/lib/modules/%2-%1/extra/vboxvideo.ko +%endif ++++++ virtualbox-wrapper.sh ++++++ --- /var/tmp/diff_new_pack.qQfehJ/_old 2019-05-03 22:21:37.460610912 +0200 +++ /var/tmp/diff_new_pack.qQfehJ/_new 2019-05-03 22:21:37.460610912 +0200 @@ -54,5 +54,13 @@ fi fi fi +# Check that /usr/lib/virtualbox/VirtualBoxVM has SUID permissions +PERM=$(ls -l /usr/lib/virtualbox/VirtualBoxVM | grep rwsr) +if [ -z "$PERM" ] +then + logger -s "Wrong permissions for VirtualBoxVM - use 'sudo chmod 4711 /usr/lib/virtualbox/VirtualBoxVM' to fix" + /usr/lib/virtualbox/VBoxSUIDMessage + exit 1 +fi # Now run the VB GUI LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" /usr/lib/virtualbox/VirtualBox6 $@
participants (1)
-
root