forked from pool/virtualbox
030c30350e
- VirtualBox 7.0.6 (released January 17 2023) This is a maintenance release. The following items were fixed and/or added: [1] - VMM: Fixed guru running the FreeBSD loader on older Intel CPUs without unrestricted guest support (bug #21332) - GUI: Fixed virtual machines grouping when VM was created or modified in command line (bugs #11500, #20933) - GUI: Introduced generic changes in settings dialogs - VirtioNet: Fixed broken network after loading saved state (bug #21172) - Storage: Added support for increasing the size of the following VMDK image variants: monolithicFlat, monolithicSparse, twoGbMaxExtentSparse, twoGbMaxExtentFlat - VBoxManage: Added missing --directory switch for guestcontrol mktemp command - Mouse Integration: Guest was provided with extended host mouse state (bug #21139) - DnD: Introduced generic improvements - Guest Control: Fixed handling creation mode for temporary directories (bug #21394) - Linux Host and Guest: Added initial support for building UEK7 kernel on Oracle Linux 8 - Linux Host and Guest: Added initial support for RHEL 9.1 kernel - Linux Guest Additions: Added initial support for kernel 6.2 for vboxvideo - Audio: The "--audio" option in VBoxManage is now marked as deprecated; please use "--audio-driver" and "--audio-enabled" instead. This will allow more flexibility when changing the driver and/or controlling the audio functionality Additionally, it fixes 6 CVE's: [2] CVE-2023-21886 Oracle VM VirtualBox Core Multiple Yes 8.1 Network High None None Un- changed High High High Prior to 6.1.42, prior to 7.0.6 CVE-2023-21898 Oracle VM VirtualBox Core None No 5.5 Local Low Low None Un- changed None None High Prior to 6.1.42, prior to 7.0.6 See Note 1 CVE-2023-21899 Oracle VM VirtualBox Core None No 5.5 Local Low Low None Un- changed None None High Prior to 6.1.42, prior to 7.0.6 See Note 1 CVE-2023-21884 Oracle VM VirtualBox Core None No 4.4 Local Low High None Un- changed None None High Prior to 6.1.42, prior to 7.0.6 CVE-2023-21885 Oracle VM VirtualBox Core None No 3.8 Local Low Low None Changed Low None None Prior to 6.1.42, prior to 7.0.6 See Note 2 CVE-2023-21889 Oracle VM VirtualBox Core None No 3.8 Local Low Low None Changed Low None None Prior to 6.1.42, prior to 7.0.6 Note 1: Applies to VirtualBox VMs running Windows 7 and later. Note 2: Applies to Windows only. Links: OBS-URL: https://build.opensuse.org/request/show/1060705 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=673
151 lines
6.3 KiB
Diff
151 lines
6.3 KiB
Diff
Index: VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
|
|
+++ VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
|
|
@@ -147,9 +147,9 @@
|
|
#include <linux/interrupt.h>
|
|
#include <linux/completion.h>
|
|
#include <linux/compiler.h>
|
|
-#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
|
|
+//#if RTLNX_VER_MIN(5,9,0) || RTLNX_SUSE_MAJ_PREREQ(15,3) /* linux/fs.h defined HAVE_UNLOCKED_IOCTL from 2.6.11 up to 5.9 (also 5.3.18-56 in SLES15-SP3), when it became an implicit assumption. */
|
|
# define HAVE_UNLOCKED_IOCTL 1 /* We use this in a couple of places, so for now just define it for 5.9+ too. */
|
|
-#endif
|
|
+//#endif
|
|
#if !defined(HAVE_UNLOCKED_IOCTL) && RTLNX_VER_MAX(2,6,38)
|
|
# include <linux/smp_lock.h>
|
|
#endif
|
|
Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
|
+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyXPCOM.h
|
|
@@ -191,7 +191,7 @@ extern "C" PyAPI_FUNC(const char *) PyUn
|
|
# endif
|
|
|
|
/* PyUnicode_AsUTF8 is just PyUnicode_AsUTF8AndSize without returning a size. */
|
|
-# define PyUnicode_AsUTF8(o) PyUnicode_AsUTF8AndSize(o, NULL)
|
|
+// # define PyUnicode_AsUTF8(o) (const char *)PyUnicode_AsUTF8AndSize(o, NULL)
|
|
|
|
DECLINLINE(int) PyRun_SimpleString(const char *pszCode)
|
|
{
|
|
Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|
+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
|
|
@@ -121,7 +121,7 @@ void DoLogMessage(const char *methodName
|
|
#if PY_MAJOR_VERSION <= 2
|
|
c += PyString_AsString(repr);
|
|
#else
|
|
- c += PyUnicode_AsUTF8(repr);
|
|
+ c += PyUnicode_AsUTF8AndSize(repr, NULL);
|
|
#endif
|
|
Py_DECREF(repr);
|
|
}
|
|
@@ -203,7 +203,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
|
|
#if PY_MAJOR_VERSION <= 2
|
|
streamout += PyString_AsString(temp);
|
|
#else
|
|
- streamout += PyUnicode_AsUTF8(temp);
|
|
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
|
|
#endif
|
|
Py_DECREF(temp);
|
|
} else
|
|
@@ -215,7 +215,7 @@ PRBool PyXPCOM_FormatGivenException(nsCS
|
|
#if PY_MAJOR_VERSION <= 2
|
|
streamout += PyString_AsString(temp);
|
|
#else
|
|
- streamout += PyUnicode_AsUTF8(temp);
|
|
+ streamout += PyUnicode_AsUTF8AndSize(temp, NULL);
|
|
#endif
|
|
Py_DECREF(temp);
|
|
} else
|
|
@@ -440,10 +440,11 @@ char *PyTraceback_AsString(PyObject *exc
|
|
#if PY_MAJOR_VERSION <= 2
|
|
char *tempResult = (char *)PyString_AsString(obResult);
|
|
#elif PY_MINOR_VERSION <= 6
|
|
- char *tempResult = (char *)PyUnicode_AsUTF8(obResult);
|
|
+ char *tempResult = (char *)PyBytes_AsString(obResult);
|
|
+#elif PY_MINOR_VERSION <= 6
|
|
+ const char *tempResult = PyUnicode_AsUTF8AndSize(obResult, NULL);
|
|
#else
|
|
- /* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
|
|
- const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
|
|
+ const char *tempResult = (const char *)PyUnicode_AsUTF8AndSize(obResult, NULL);
|
|
#endif
|
|
result = (char *)PyMem_Malloc(strlen(tempResult)+1);
|
|
if (result==NULL)
|
|
Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|
+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyGBase.cpp
|
|
@@ -117,7 +117,7 @@ PyG_Base::PyG_Base(PyObject *instance, c
|
|
#if PY_MAJOR_VERSION <= 2
|
|
szRepr = PyString_AsString(r);
|
|
#else
|
|
- szRepr = PyUnicode_AsUTF8(r);
|
|
+ szRepr = PyUnicode_AsUTF8AndSize(r, NULL);
|
|
#endif
|
|
if (szRepr==NULL) szRepr = "";
|
|
int reprOffset = *szRepr=='<' ? 1 : 0;
|
|
Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyIID.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyIID.cpp
|
|
+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyIID.cpp
|
|
@@ -137,7 +137,7 @@ Py_nsIID::IIDFromPyObject(PyObject *ob,
|
|
ok = iid.Parse(PyString_AsString(ob));
|
|
#else
|
|
if (PyUnicode_Check(ob)) {
|
|
- ok = iid.Parse(PyUnicode_AsUTF8(ob));
|
|
+ ok = iid.Parse(PyUnicode_AsUTF8AndSize(ob, NULL));
|
|
#endif
|
|
if (!ok) {
|
|
PyXPCOM_BuildPyException(NS_ERROR_ILLEGAL_VALUE);
|
|
Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/VariantUtils.cpp
|
|
===================================================================
|
|
--- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp
|
|
+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/VariantUtils.cpp
|
|
@@ -141,7 +141,7 @@ PyObject *PyObject_FromNSString( const n
|
|
#if PY_MAJOR_VERSION <= 2
|
|
char* dest = (char *)PyString_AS_STRING(ret);
|
|
#else
|
|
- char* dest = (char *)PyUnicode_AsUTF8(ret);
|
|
+ char* dest = (char *)PyUnicode_AsUTF8AndSize(ret, NULL);
|
|
#endif
|
|
copy_string(s.BeginReading(fromBegin), s.EndReading(fromEnd), dest);
|
|
}
|
|
@@ -393,7 +393,7 @@ PRBool FillSingleArray(void *array_ptr,
|
|
#if PY_MAJOR_VERSION <= 2
|
|
sequence_ob = PyObject_Str(sequence_ob);
|
|
#else
|
|
- sequence_ob = PyUnicode_AsUTF8String(sequence_ob);
|
|
+ sequence_ob = (PyObject *)PyUnicode_AsUTF8AndSize(sequence_ob, NULL);
|
|
#endif
|
|
} else
|
|
release_seq = PR_FALSE;
|
|
@@ -402,7 +402,7 @@ PRBool FillSingleArray(void *array_ptr,
|
|
#if PY_MAJOR_VERSION <= 2
|
|
memcpy(pthis, PyString_AS_STRING(sequence_ob), sequence_size);
|
|
#else
|
|
- memcpy(pthis, PyUnicode_AsUTF8(sequence_ob), sequence_size);
|
|
+ memcpy(pthis, PyUnicode_AsUTF8AndSize(sequence_ob, NULL), sequence_size);
|
|
#endif
|
|
if (release_seq)
|
|
{
|
|
@@ -477,7 +477,7 @@ PRBool FillSingleArray(void *array_ptr,
|
|
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
|
|
BREAK_FALSE;
|
|
}
|
|
- FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8(val) );
|
|
+ FILL_SIMPLE_POINTER( char, *PyUnicode_AsUTF8AndSize(val, NULL) );
|
|
#endif
|
|
break;
|
|
|
|
@@ -549,7 +549,7 @@ PRBool FillSingleArray(void *array_ptr,
|
|
PyErr_SetString(PyExc_TypeError, "This parameter must be a unicode object");
|
|
BREAK_FALSE;
|
|
}
|
|
- if ((val_use = PyUnicode_AsUTF8String(val))==NULL)
|
|
+ if ((val_use = (PyObject *)PyUnicode_AsUTF8AndSize(val, NULL))==NULL)
|
|
BREAK_FALSE;
|
|
|
|
const char *sz = PyBytes_AS_STRING(val_use);
|