openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2020
- 1 participants
- 2706 discussions
Hello community,
here is the log from the commit of package editorconfig-core-c for openSUSE:Factory checked in at 2020-09-01 20:03:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/editorconfig-core-c (Old)
and /work/SRC/openSUSE:Factory/.editorconfig-core-c.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "editorconfig-core-c"
Tue Sep 1 20:03:56 2020 rev:7 rq:830690 version:0.12.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/editorconfig-core-c/editorconfig-core-c.changes 2018-12-10 12:27:10.546596661 +0100
+++ /work/SRC/openSUSE:Factory/.editorconfig-core-c.new.3399/editorconfig-core-c.changes 2020-09-01 20:05:02.868527298 +0200
@@ -1,0 +2,6 @@
+Fri Aug 28 05:48:06 UTC 2020 - Fabian Vogt <fvogt(a)suse.com>
+
+- Add patch to fix crash when parsing certain files (boo#1175824):
+ * 0001-fix-prevent-buffer-overflow-74.patch
+
+-------------------------------------------------------------------
New:
----
0001-fix-prevent-buffer-overflow-74.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ editorconfig-core-c.spec ++++++
--- /var/tmp/diff_new_pack.LSNcm8/_old 2020-09-01 20:05:05.268528421 +0200
+++ /var/tmp/diff_new_pack.LSNcm8/_new 2020-09-01 20:05:05.272528422 +0200
@@ -27,6 +27,8 @@
Source99: baselibs.conf
Patch0: editorconfig-core-c-0.12.1-install_paths.patch
Patch1: editorconfig-core-c-0.12.1-no_timestamp.patch
+# PATCH-FIX-UPSTREAM
+Patch2: 0001-fix-prevent-buffer-overflow-74.patch
BuildRequires: cmake >= 2.8.12
BuildRequires: doxygen
BuildRequires: pkgconfig
@@ -82,9 +84,7 @@
This package contains files for developing and building with %{name}
%prep
-%setup -q
-%patch0 -p1
-%patch1 -p1
+%autosetup -p1
%build
%cmake \
++++++ 0001-fix-prevent-buffer-overflow-74.patch ++++++
>From 4b8fbeb9296b3d2eb14d6c3789bd02a7ff963be7 Mon Sep 17 00:00:00 2001
From: Yoan Blanc <yoan(a)dosimple.ch>
Date: Thu, 27 Aug 2020 19:37:25 +0200
Subject: [PATCH] fix: prevent buffer overflow (#74)
Closes #73
Signed-off-by: Yoan Blanc <yoan(a)dosimple.ch>
---
src/lib/editorconfig.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lib/editorconfig.c b/src/lib/editorconfig.c
index 977819f..e5262ca 100644
--- a/src/lib/editorconfig.c
+++ b/src/lib/editorconfig.c
@@ -138,7 +138,7 @@ static int array_editorconfig_name_value_add(
int name_value_pos;
/* always use name_lwr but not name, since property names are case
* insensitive */
- char name_lwr[MAX_PROPERTY_NAME];
+ char name_lwr[MAX_PROPERTY_NAME+1] = {0};
/* For the first time we came here, aenv->name_values is NULL */
if (aenv->name_values == NULL) {
aenv->name_values = (editorconfig_name_value*)malloc(
@@ -153,7 +153,7 @@ static int array_editorconfig_name_value_add(
/* name_lwr is the lowercase property name */
- strlwr(strcpy(name_lwr, name));
+ strlwr(strncpy(name_lwr, name, MAX_PROPERTY_NAME));
name_value_pos = find_name_value_from_name(
aenv->name_values, aenv->current_value_count, name_lwr);
--
2.25.1
1
0
Hello community,
here is the log from the commit of package perl-DateTime-Locale for openSUSE:Factory checked in at 2020-09-01 20:03:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DateTime-Locale (Old)
and /work/SRC/openSUSE:Factory/.perl-DateTime-Locale.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-DateTime-Locale"
Tue Sep 1 20:03:44 2020 rev:36 rq:830673 version:1.280000
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-DateTime-Locale/perl-DateTime-Locale.changes 2020-07-15 11:23:09.477485996 +0200
+++ /work/SRC/openSUSE:Factory/.perl-DateTime-Locale.new.3399/perl-DateTime-Locale.changes 2020-09-01 20:04:50.696521606 +0200
@@ -1,0 +2,21 @@
+Sat Aug 29 03:10:10 UTC 2020 - Tina Müller <timueller+perl(a)suse.de>
+
+- updated to 1.28
+ see /usr/share/doc/packages/perl-DateTime-Locale/Changes
+
+ 1.28 2020-08-28
+ - Move a test that was added in 1.27 to xt. This test is a sensitive to small
+ variations in error message text, and testing it locally and in CI is
+ sufficient. Reported by Kent Fredric. GH #27.
+ 1.27 2020-08-28
+ - The $locale->locale_data method now returns a deep clone of the locale's
+ data. This allows you to safely modify any elements of the returned hash
+ without breaking the original locale. Implemented by Alexander Pankoff. GH
+ #26.
+ - We now support loading locale data from relative directories in
+ @INC. Implemented by Alexander Pankoff. GH #25.
+ - When loading locale data, we now check $! for read errors, as well as
+ checking for an error eval'ing the file's contents in $@. Fixed by Alexander
+ Pankoff. GH #24.
+
+-------------------------------------------------------------------
Old:
----
DateTime-Locale-1.26.tar.gz
New:
----
DateTime-Locale-1.28.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-DateTime-Locale.spec ++++++
--- /var/tmp/diff_new_pack.giqocJ/_old 2020-09-01 20:04:53.180522767 +0200
+++ /var/tmp/diff_new_pack.giqocJ/_new 2020-09-01 20:04:53.184522769 +0200
@@ -17,10 +17,10 @@
Name: perl-DateTime-Locale
-Version: 1.260000
+Version: 1.280000
Release: 0
-%define cpan_version 1.26
-Provides: perl(DateTime::Locale) = 1.260000
+%define cpan_version 1.28
+Provides: perl(DateTime::Locale) = 1.280000
%define cpan_name DateTime-Locale
Summary: Localization support for DateTime.pm
License: Artistic-1.0 OR GPL-1.0-or-later
@@ -40,13 +40,15 @@
BuildRequires: perl(IPC::System::Simple)
BuildRequires: perl(List::Util) >= 1.45
BuildRequires: perl(Params::ValidationCompiler) >= 0.13
+BuildRequires: perl(Path::Tiny)
BuildRequires: perl(Specio::Declare)
BuildRequires: perl(Specio::Library::String)
-BuildRequires: perl(Test::Fatal)
+BuildRequires: perl(Test2::Plugin::NoWarnings)
+BuildRequires: perl(Test2::Plugin::UTF8)
+BuildRequires: perl(Test2::Require::Module)
+BuildRequires: perl(Test2::V0)
BuildRequires: perl(Test::File::ShareDir::Dist)
-BuildRequires: perl(Test::More) >= 0.96
-BuildRequires: perl(Test::Requires)
-BuildRequires: perl(Test::Warnings)
+BuildRequires: perl(Test::More) >= 1.302015
BuildRequires: perl(namespace::autoclean) >= 0.19
Requires: perl(Dist::CheckConflicts) >= 0.02
Requires: perl(File::ShareDir)
++++++ DateTime-Locale-1.26.tar.gz -> DateTime-Locale-1.28.tar.gz ++++++
++++ 3203 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package yast2-trans for openSUSE:Factory checked in at 2020-09-01 20:03:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-trans (Old)
and /work/SRC/openSUSE:Factory/.yast2-trans.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-trans"
Tue Sep 1 20:03:33 2020 rev:185 rq:830625 version:84.87.20200829.ec23685593
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-trans/yast2-trans.changes 2020-08-20 22:24:19.451854910 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-trans.new.3399/yast2-trans.changes 2020-09-01 20:04:44.832518863 +0200
@@ -1,0 +2,78 @@
+Mon Aug 31 05:13:21 UTC 2020 - git(a)opensuse.org
+
+- Update to version 84.87.20200829.ec23685593:
+ * New POT for text domain 'cluster'.
+ * New POT for text domain 'vpn'.
+ * New POT for text domain 'users'.
+ * New POT for text domain 'update'.
+ * New POT for text domain 'tune'.
+ * New POT for text domain 'tftp-server'.
+ * New POT for text domain 'sysconfig'.
+ * New POT for text domain 'support'.
+ * New POT for text domain 'sudo'.
+ * New POT for text domain 'storage'.
+ * New POT for text domain 'squid'.
+ * New POT for text domain 'sound'.
+ * New POT for text domain 'snapper'.
+ * New POT for text domain 'slp-server'.
+ * New POT for text domain 'services-manager'.
+ * New POT for text domain 'security'.
+ * New POT for text domain 'scanner'.
+ * New POT for text domain 'samba-server'.
+ * New POT for text domain 'samba-client'.
+ * New POT for text domain 's390'.
+ * New POT for text domain 'rmt'.
+ * New POT for text domain 'registration'.
+ * New POT for text domain 'rear'.
+ * New POT for text domain 'proxy'.
+ * New POT for text domain 'printer'.
+ * New POT for text domain 'pam'.
+ * New POT for text domain 'packager'.
+ * New POT for text domain 'online-update-configuration'.
+ * New POT for text domain 'online-update'.
+ * New POT for text domain 'oneclickinstall'.
+ * New POT for text domain 'ntp-client'.
+ * New POT for text domain 'nis_server'.
+ * New POT for text domain 'nis'.
+ * New POT for text domain 'nfs_server'.
+ * New POT for text domain 'nfs'.
+ * New POT for text domain 'network'.
+ * New POT for text domain 'migration'.
+ * New POT for text domain 'mail'.
+ * New POT for text domain 'ldap-client'.
+ * New POT for text domain 'ldap'.
+ * New POT for text domain 'kdump'.
+ * New POT for text domain 'journalctl'.
+ * New POT for text domain 'journal'.
+ * New POT for text domain 'isns'.
+ * New POT for text domain 'iscsi-lio-server'.
+ * New POT for text domain 'iscsi-client'.
+ * New POT for text domain 'instserver'.
+ * New POT for text domain 'installation'.
+ * New POT for text domain 'http-server'.
+ * New POT for text domain 'ftp-server'.
+ * New POT for text domain 'firewall'.
+ * New POT for text domain 'fcoe-client'.
+ * New POT for text domain 'drbd'.
+ * New POT for text domain 'docker'.
+ * New POT for text domain 'dns-server'.
+ * New POT for text domain 'dhcp-server'.
+ * New POT for text domain 'crowbar'.
+ * New POT for text domain 'country'.
+ * New POT for text domain 'configuration_management'.
+ * New POT for text domain 'cluster'.
+ * New POT for text domain 'cio'.
+ * New POT for text domain 'caasp'.
+ * New POT for text domain 'bootloader'.
+ * New POT for text domain 'base'.
+ * New POT for text domain 'autoinst'.
+ * New POT for text domain 'authserver'.
+ * New POT for text domain 'auth-client'.
+ * New POT for text domain 'audit-laf'.
+ * New POT for text domain 'apparmor'.
+ * New POT for text domain 'add-on'.
+ * New POT for text domain 'pkg-bindings'.
+ * New POT for text domain 'autoinst'.
+ * New POT for text domain 'autoinst'.
+
+-------------------------------------------------------------------
Old:
----
yast2-trans-84.87.20200814.909b1a4158.tar.xz
New:
----
yast2-trans-84.87.20200829.ec23685593.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-trans.spec ++++++
--- /var/tmp/diff_new_pack.QNYnGr/_old 2020-09-01 20:04:46.724519748 +0200
+++ /var/tmp/diff_new_pack.QNYnGr/_new 2020-09-01 20:04:46.724519748 +0200
@@ -1,7 +1,7 @@
#
# spec file for package yast2-trans
#
-# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: yast2-trans
-Version: 84.87.20200814.909b1a4158
+Version: 84.87.20200829.ec23685593
Release: 0
Summary: YaST2 - Translation Container Package
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.QNYnGr/_old 2020-09-01 20:04:46.788519778 +0200
+++ /var/tmp/diff_new_pack.QNYnGr/_new 2020-09-01 20:04:46.788519778 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/yast/yast-translations.git</param>
- <param name="changesrevision">909b1a41586530a1b964f201f3789ef765307e47</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">ec23685593837f103010e00edd85c53107e7d561</param></service></servicedata>
\ No newline at end of file
++++++ yast2-trans-84.87.20200814.909b1a4158.tar.xz -> yast2-trans-84.87.20200829.ec23685593.tar.xz ++++++
/work/SRC/openSUSE:Factory/yast2-trans/yast2-trans-84.87.20200814.909b1a4158.tar.xz /work/SRC/openSUSE:Factory/.yast2-trans.new.3399/yast2-trans-84.87.20200829.ec23685593.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2020-09-01 20:03:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
and /work/SRC/openSUSE:Factory/.virtualbox.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Tue Sep 1 20:03:12 2020 rev:203 rq:830509 version:6.1.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2020-07-17 20:47:52.604733382 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new.3399/virtualbox.changes 2020-09-01 20:04:34.940514237 +0200
@@ -1,0 +2,34 @@
+Fri Aug 28 20:56:29 UTC 2020 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Pseudo version bump to 6.1.13, which is NOT an Oracle release.
+
+ Update VB sources to run under kernel 5.8.0+ with no modifications to the
+ kernel. These sources are derived from r85883 of the Oracle svn repository.
+ For operations with USB{2,3}, the extension pack for revision 140056 must
+ be installed. Once Oracle releases 6.1.14, then the extension pack and
+ VB itself will have the same revision number.
+
+ File "fixes_for_5.8.patch" is removed as that part was fixed upstream.
+ Fixes boo#1175201.
+
+-------------------------------------------------------------------
+Thu Aug 20 16:40:59 UTC 2020 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Modify fixes_for_5.9.patch.
+
+-------------------------------------------------------------------
+Thu Aug 20 05:09:36 UTC 2020 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Fix build for kernel 5.9. File "fixes_for_5.9.patch" is added.
+
+-------------------------------------------------------------------
+Sat Aug 8 01:14:12 UTC 2020 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Delete temporary USBpassthru test patch.
+
+-------------------------------------------------------------------
+Fri Aug 7 22:19:20 UTC 2020 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Apply Oracle changes for kernel 5.8.
+
+-------------------------------------------------------------------
Old:
----
VirtualBox-6.1.12-patched.tar.bz2
fixes_for_5.8.patch
New:
----
VirtualBox-6.1.13-patched.tar.bz2
fixes_for_5.9.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.252515318 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.256515320 +0200
@@ -66,7 +66,7 @@
# ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!!
Name: virtualbox%{?dash}%{?name_suffix}
-Version: 6.1.12
+Version: 6.1.13
Release: 0
Summary: %{package_summary}
License: GPL-2.0-or-later
@@ -179,8 +179,8 @@
Patch136: fixes_for_gcc10.patch
# Fix for changes in GSOAP 2.8.103
Patch137: handle_gsoap_208103.patch
-# Fixes for kernel 5.8
-Patch138: fixes_for_5.8.patch
+# Fixes for kernel 5.9
+Patch138: fixes_for_5.9.patch
Patch999: virtualbox-fix-ui-background-color.patch
#
@@ -282,7 +282,8 @@
#rename from ose version:
Provides: %{name}-ose = %{version}
Obsoletes: %{name}-ose < %{version}
-%endif # main_package
+# end of main_package
+%endif
### Requirements for virtualbox-kmp ###
%if %{kmp_package}
@@ -291,7 +292,8 @@
%kernel_module_package -t %{_builddir}/virtualbox-kmp-template -p %{SOURCE7} -n virtualbox -f %{SOURCE5} -x kdump um xen pae xenpae pv
Obsoletes: virtualbox-guest-kmp
Obsoletes: virtualbox-host-kmp
-%endif # kmp_package
+# end of kmp_package
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64
@@ -446,13 +448,15 @@
protocol (RFB) to remotely control another computer. When this optional feature is desired, it is installed
as an "extpack" for VirtualBox. The implementation is licensed under GPL.
###########################################
-%endif # main_package
+# main_package
+%endif
### Description of virtualbox-kmp ###
%if %{kmp_package}
%description
This package contains the kernel-modules that VirtualBox uses to create or run virtual machines.
-%endif # kmp_package
+# kmp_package
+%endif
%prep
%setup -q -n VirtualBox-%{version}
@@ -514,7 +518,8 @@
cp %{SOURCE10} LocalConfig.kmk
#copy autostart doc
cp %{SOURCE20} README.autostart
-%endif # main_package
+# main_package
+%endif
#
##########################
@@ -675,7 +680,6 @@
install -m 755 VBoxSysInfo.sh %{buildroot}%{_vbox_instdir}
install -m 644 *.so %{buildroot}%{_vbox_instdir}
install -m 644 *.r0 %{buildroot}%{_vbox_instdir}
-rm components/VBoxREM.so
install -m 644 components/* %{buildroot}%{_vbox_instdir}/components/
# install languages
install -m 644 nls/* %{buildroot}%{_datadir}/virtualbox/nls/
@@ -1084,7 +1088,8 @@
%dir %{_datadir}/licenses
%{_datadir}/licenses/LICENSE.vnc
-%endif # main_package
+# main_package
+%endif
### %build and %install sections of virtualbox-kmp ###
%if %{kmp_package}
@@ -1218,6 +1223,7 @@
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD/modules_build_dir/$flavor/$module_name
done
done
-%endif # kmp_package
+# kmp_package
+%endif
%changelog
++++++ VirtualBox-6.1.12-patched.tar.bz2 -> VirtualBox-6.1.13-patched.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/virtualbox/VirtualBox-6.1.12-patched.tar.bz2 /work/SRC/openSUSE:Factory/.virtualbox.new.3399/VirtualBox-6.1.13-patched.tar.bz2 differ: char 11, line 1
++++++ fixes_for_5.8.patch -> fixes_for_5.9.patch ++++++
--- /work/SRC/openSUSE:Factory/virtualbox/fixes_for_5.8.patch 2020-07-14 07:45:01.219020698 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new.3399/fixes_for_5.9.patch 2020-09-01 20:04:10.472502793 +0200
@@ -1,249 +1,179 @@
-Fixes needed to build vboxdrv with kernel 5.8. The changes handle the following kernel API changes:
-
-1. In struct mm_struct, member mmap_sem was renamed to mmap_lock.
-2. The information in cpu_tlbstate is no longer exported.
-3. The routines __get_vm_area() and map_vm_area() no longer exist and their
- replacements are not exported. Two fixes have been attempted:
- a. The missing routines were not available until kernel 2.6.23, thus the code was
- changed to revert back to the "old" method. Unfortunately, this did not work, and
- likely it will require Oracle to make the changes.
- b. The replacements for __get_vm_area() and map_vm_area() are implemented. The resulting
- code builds but gets missing globals on loading. For testing, the kernel is modified.
- This change cannot be permanent, but it can be temporary.
-
-Index: VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-+++ VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-@@ -222,9 +222,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
- ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
- #else
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- down_write(&pTask->mm->mmap_sem);
-+#else
-+ down_write(&pTask->mm->mmap_lock);
-+#endif
- ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- up_write(&pTask->mm->mmap_sem);
-+#else
-+ up_write(&pTask->mm->mmap_lock);
+Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
++++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
+@@ -137,7 +137,10 @@
+ #include <linux/interrupt.h>
+ #include <linux/completion.h>
+ #include <linux/compiler.h>
+-#ifndef HAVE_UNLOCKED_IOCTL /* linux/fs.h defines this */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
++#define HAVE_UNLOCKED_IOCTL 1 /* defined in linux/fs.h for kernels before 5.9 */
+#endif
++#ifndef HAVE_UNLOCKED_IOCTL
+ # include <linux/smp_lock.h>
#endif
+ /* For the shared folders module */
+Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -1102,8 +1102,10 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
+ */
+ else
+ rc = get_user_pages_remote(
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ pTask, /* Task for fault accounting. */
+- pTask->mm, /* Whose pages. */
++#endif
++ pTask->mm, /* Whose pages. */
+ R3Ptr, /* Where from. */
+ cPages, /* How many pages. */
+ # if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
+Index: VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
++++ VirtualBox-6.1.12/src/VBox/Runtime/r0drv/linux/thread2-r0drv-linux.c
+@@ -92,8 +92,12 @@ DECLHIDDEN(int) rtThreadNativeSetPriorit
+ return VERR_INVALID_PARAMETER;
}
- else
-@@ -232,9 +240,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3P
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
- ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ sched_setscheduler(current, iSchedClass, &Param);
#else
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- down_write(&pTask->mm->mmap_sem);
-+#else
-+ down_write(&pTask->mm->mmap_lock);
++ sched_set_fifo_low(current);
+#endif
- ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- up_write(&pTask->mm->mmap_sem);
+#else
-+ up_write(&pTask->mm->mmap_lock);
-+#endif
+ RT_NOREF_PV(enmType);
#endif
- if ( !(ulAddr & ~PAGE_MASK)
- && (ulAddr & (uAlignment - 1)))
-@@ -269,13 +285,29 @@ static void rtR0MemObjLinuxDoMunmap(void
- Assert(pTask == current); RT_NOREF_PV(pTask);
- vm_munmap((unsigned long)pv, cb);
- #elif defined(USE_RHEL4_MUNMAP)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- down_write(&pTask->mm->mmap_sem);
-+#else
-+ down_write(&pTask->mm->mmap_lock);
-+#endif
- do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- up_write(&pTask->mm->mmap_sem);
- #else
-+ up_write(&pTask->mm->mmap_lock);
-+#endif
-+#else
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- down_write(&pTask->mm->mmap_sem);
-+#else
-+ down_write(&pTask->mm->mmap_lock);
-+#endif
- do_munmap(pTask->mm, (unsigned long)pv, cb);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- up_write(&pTask->mm->mmap_sem);
+ RT_NOREF_PV(pThread);
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_drv.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_drv.c
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_drv.c
+@@ -263,8 +263,13 @@ static const struct file_operations vbox
+ .read = drm_read,
+ };
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ static int vbox_master_set(struct drm_device *dev,
+ struct drm_file *file_priv, bool from_open)
+#else
-+ up_write(&pTask->mm->mmap_lock);
++static void vbox_master_set(struct drm_device *dev,
++ struct drm_file *file_priv, bool from_open)
+#endif
- #endif
- }
+ {
+ struct vbox_private *vbox = dev->dev_private;
-@@ -593,7 +625,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
- size_t iPage;
- Assert(pTask);
- if (pTask && pTask->mm)
-- down_read(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ down_read(&pTask->mm->mmap_sem);
-+#else
-+ down_read(&pTask->mm->mmap_lock);
-+#endif
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_fb.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_fb.c
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_fb.c
+@@ -405,7 +405,11 @@ void vbox_fbdev_fini(struct drm_device *
+ vbox_bo_unpin(bo);
+ vbox_bo_unreserve(bo);
+ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
++ drm_gem_object_put(afb->obj);
++#else
+ drm_gem_object_put_unlocked(afb->obj);
++#endif
+ afb->obj = NULL;
+ }
+ drm_fb_helper_fini(&fbdev->helper);
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_main.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_main.c
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_main.c
+@@ -40,14 +40,19 @@
+ #include <VBoxVideoVBE.h>
+
+ #include "hgsmi_channels.h"
++#include <linux/version.h>
++
- iPage = pMemLnx->cPages;
- while (iPage-- > 0)
-@@ -608,7 +644,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
- }
+ static void vbox_user_framebuffer_destroy(struct drm_framebuffer *fb)
+ {
+ struct vbox_framebuffer *vbox_fb = to_vbox_framebuffer(fb);
- if (pTask && pTask->mm)
-- up_read(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ up_read(&pTask->mm->mmap_sem);
+ if (vbox_fb->obj)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ drm_gem_object_put_unlocked(vbox_fb->obj);
+-
+#else
-+ up_read(&pTask->mm->mmap_lock);
++ drm_gem_object_put(vbox_fb->obj);
+#endif
- }
- /* else: kernel memory - nothing to do here. */
- break;
-@@ -1076,7 +1116,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
- papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages);
- if (papVMAs)
- {
-- down_read(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ down_read(&pTask->mm->mmap_sem);
+ drm_framebuffer_cleanup(fb);
+ kfree(fb);
+ }
+@@ -221,7 +226,11 @@ static struct drm_framebuffer *vbox_user
+ err_free_vbox_fb:
+ kfree(vbox_fb);
+ err_unref_obj:
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ drm_gem_object_put_unlocked(obj);
+#else
-+ down_read(&pTask->mm->mmap_lock);
++ drm_gem_object_put(obj);
+#endif
+ return ERR_PTR(ret);
+ }
- /*
- * Get user pages.
-@@ -1162,7 +1206,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
- papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
- }
+@@ -588,7 +597,11 @@ int vbox_dumb_create(struct drm_file *fi
+ return ret;
-- up_read(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ up_read(&pTask->mm->mmap_sem);
+ ret = drm_gem_handle_create(file, gobj, &handle);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ drm_gem_object_put_unlocked(gobj);
+#else
-+ up_read(&pTask->mm->mmap_lock);
++ drm_gem_object_put(gobj);
+#endif
+ if (ret)
+ return ret;
- RTMemFree(papVMAs);
-
-@@ -1189,7 +1237,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_drv.h
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_drv.h
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_drv.h
+@@ -364,6 +364,9 @@ struct vbox_bo {
+ #else
+ struct ttm_place placements[3];
#endif
- }
-
-- up_read(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ up_read(&pTask->mm->mmap_sem);
-+#else
-+ up_read(&pTask->mm->mmap_lock);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
++ uint64_t offset;
+#endif
+ int pin_count;
+ };
- RTMemFree(papVMAs);
- rc = VERR_LOCK_FAILED;
-@@ -1604,7 +1656,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
- const size_t cPages = (offSub + cbSub) >> PAGE_SHIFT;
- size_t iPage;
-
-- down_write(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ down_write(&pTask->mm->mmap_sem);
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_mode.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_mode.c
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_mode.c
+@@ -887,8 +887,11 @@ out_unmap_bo:
+ out_unreserve_bo:
+ vbox_bo_unreserve(bo);
+ out_unref_obj:
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ drm_gem_object_put_unlocked(obj);
+-
+#else
-+ down_write(&pTask->mm->mmap_lock);
++ drm_gem_object_put(obj);
+#endif
+ return ret;
+ }
- rc = VINF_SUCCESS;
- if (pMemLnxToMap->cPages)
-@@ -1721,7 +1777,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
- }
- #endif /* CONFIG_NUMA_BALANCING */
+Index: VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_ttm.c
+===================================================================
+--- VirtualBox-6.1.12.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
++++ VirtualBox-6.1.12/src/VBox/Additions/linux/drm/vbox_ttm.c
+@@ -453,7 +453,11 @@ err_free_vboxbo:
-- up_write(&pTask->mm->mmap_sem);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
-+ up_write(&pTask->mm->mmap_sem);
+ static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)
+ return bo->bo.offset;
+#else
-+ up_write(&pTask->mm->mmap_lock);
++ return bo->offset;
+#endif
+ }
- if (RT_SUCCESS(rc))
- {
-Index: VirtualBox-6.1.10/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-+++ VirtualBox-6.1.10/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
-@@ -757,12 +757,19 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC);
- RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
-+#else
-+ RTCCUINTREG uOld = __read_cr4();
-+#endif
- RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask;
- if (uNew != uOld)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
- this_cpu_write(cpu_tlbstate.cr4, uNew);
- __write_cr4(uNew);
-+#endif
-+ ASMSetCR4(uNew);
- }
- #else
- RTCCUINTREG uOld = ASMGetCR4();
-Index: VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
-+++ VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
-@@ -168,7 +168,12 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(
- struct vm_struct *pVmArea;
- size_t iPage;
-
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
-+// pVmArea = __get_vm_area_caller(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END,
-+// __builtin_return_address(0));
-+#else
- pVmArea = __get_vm_area(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END);
-+#endif
- if (!pVmArea)
- return NULL;
- pVmArea->nr_pages = 0; /* paranoia? */
-@@ -201,6 +206,12 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(
- # endif
- pVmArea->nr_pages = cPages;
- pVmArea->pages = papPages;
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
-+ unsigned long start = (unsigned long)pVmArea->addr;
-+// unsigned long size = get_vm_area_size(pVmArea);
-+
-+// if (!map_kernel_range(start, size, PAGE_KERNEL_EXEC, papPages))
-+#else
- if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC,
- # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
- &papPagesIterator
-@@ -208,6 +219,7 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(
- papPages
- # endif
- ))
-+#endif
- {
- PRTMEMLNXHDREX pHdrEx = (PRTMEMLNXHDREX)pVmArea->addr;
- pHdrEx->pVmArea = pVmArea;
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/sharedfolders/vfsmod.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/sharedfolders/vfsmod.c
-@@ -53,7 +53,7 @@
- #include <linux/seq_file.h>
- #include <linux/vfs.h>
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62)
--# include <linux/vermagic.h>
-+//# include <linux/vermagic.h>
- #endif
- #include <VBox/err.h>
- #include <iprt/path.h>
+ int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
++++++ fixes_for_Leap42.3.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.424515399 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.424515399 +0200
@@ -1,13 +1,13 @@
-Index: b/src/VBox/Additions/linux/sharedfolders/regops.c
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
---- a/src/VBox/Additions/linux/sharedfolders/regops.c
-+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
-@@ -1436,7 +1436,7 @@ DECLINLINE(int) vbsf_lock_user_pages(uin
- # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/sharedfolders/regops.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/sharedfolders/regops.c
+@@ -1432,7 +1432,7 @@ DECLINLINE(int) vbsf_lock_user_pages(uin
+ # elif RTLNX_VER_MIN(4,6,0)
ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
- # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 168) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
+ # elif RTLNX_VER_RANGE(4,4,168, 4,5,0)
- ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, papPages,
+ ssize_t cPagesLocked = get_user_pages_unlocked(uPtrFrom, cPages, papPages,
fWrite ? FOLL_WRITE | FOLL_FORCE : FOLL_FORCE);
- # elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
+ # elif RTLNX_VER_MIN(4,0,0)
ssize_t cPagesLocked = get_user_pages_unlocked(current, current->mm, uPtrFrom, cPages, fWrite, 1 /*force*/, papPages);
++++++ fixes_for_Qt5.11.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.436515404 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.440515406 +0200
@@ -1,8 +1,8 @@
-Index: VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
===================================================================
---- VirtualBox-6.0.2.orig/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
-+++ VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
-@@ -83,6 +83,7 @@
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/precomp_vcc.h
+@@ -85,6 +85,7 @@
#include <QtWidgets/qgraphicsitem.h>
#include <QtWidgets/qgraphicslayoutitem.h>
#include <QtWidgets/qgraphicswidget.h>
@@ -10,15 +10,15 @@
#include <QtCore/QMetaType>
#include <QtGui/qevent.h>
#include <QtGui/qtouchdevice.h>
-Index: VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
===================================================================
---- VirtualBox-6.0.2.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
-+++ VirtualBox-6.0.2/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
-@@ -18,6 +18,7 @@
- /* Qt includes: */
- #include <QButtonGroup>
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
+@@ -21,6 +21,7 @@
+ #include <QLabel>
+ #include <QRadioButton>
#include <QRegExpValidator>
+#include <QButtonGroup>
/* GUI includes: */
- #include "QIWidgetValidator.h"
+ #include "QILineEdit.h"
++++++ fixes_for_gcc10.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.448515410 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.452515411 +0200
@@ -1,13 +1,12 @@
-Index: VirtualBox-6.1.10/Config.kmk
+Index: VirtualBox-6.1.13/Config.kmk
===================================================================
---- VirtualBox-6.1.10.orig/Config.kmk
-+++ VirtualBox-6.1.10/Config.kmk
-@@ -2684,8 +2684,16 @@ else
+--- VirtualBox-6.1.13.orig/Config.kmk
++++ VirtualBox-6.1.13/Config.kmk
+@@ -2721,8 +2721,16 @@ else
# The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
# Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`.
# gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`!
- VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion) | \
-- $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
+ #
+ # Check to make sure that the compiler has either -dumpfullversion or -dumpversion. gcc-10 has neither
+ RC = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion 2>/dev/null) ; echo $$?)
@@ -16,15 +15,15 @@
+ VBOX_GCC_VERSION = 100001
+ else
+ VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion 2>/dev/null) | \
-+ $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
+ $(SED_EXT) 's|\([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|' )
+ endif
- endif
-
- # YASM macros
-Index: VirtualBox-6.1.10/src/VBox/Debugger/DBGCDumpImage.cpp
+ ifeq ($(KBUILD_TARGET), darwin)
+ VBOX_CLANG_VERSION = $(shell $(1) --version | \
+ $(SED_EXT) -n 's|.*version \([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|p' )
+Index: VirtualBox-6.1.13/src/VBox/Debugger/DBGCDumpImage.cpp
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Debugger/DBGCDumpImage.cpp
-+++ VirtualBox-6.1.10/src/VBox/Debugger/DBGCDumpImage.cpp
+--- VirtualBox-6.1.13.orig/src/VBox/Debugger/DBGCDumpImage.cpp
++++ VirtualBox-6.1.13/src/VBox/Debugger/DBGCDumpImage.cpp
@@ -468,7 +468,7 @@ static const char *dbgcMachoCpuType(int3
{
switch (iType)
++++++ fixes_for_leap15.2.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.464515417 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.464515417 +0200
@@ -1,7 +1,7 @@
-Index: VirtualBox-6.1.0_RC1/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+Index: VirtualBox-6.1.13/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
---- VirtualBox-6.1.0_RC1.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
-+++ VirtualBox-6.1.0_RC1/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+--- VirtualBox-6.1.13.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
++++ VirtualBox-6.1.13/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -73,6 +73,10 @@
#define VBOXNETFLT_OS_SPECFIC 1
#include "../VBoxNetFltInternal.h"
@@ -13,85 +13,51 @@
typedef struct VBOXNETFLTNOTIFIER {
struct notifier_block Notifier;
PVBOXNETFLTINS pThis;
-@@ -924,13 +928,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
- for (i = 0; i < skb_shinfo(pBuf)->nr_frags; i++)
- {
- skb_frag_t *pFrag = &skb_shinfo(pBuf)->frags[i];
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || defined(OPENSUSE_152)
- pSG->aSegs[iSeg].cb = pFrag->bv_len;
- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
--# else /* < KERNEL_VERSION(5, 4, 0) */
-+# else /* < KERNEL_VERSION(5, 4, 0) */
- pSG->aSegs[iSeg].cb = pFrag->size;
- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
--# endif /* >= KERNEL_VERSION(5, 4, 0) */
-+# endif /* >= KERNEL_VERSION(5, 4, 0) */
- Log6((" %p", pSG->aSegs[iSeg].pv));
- pSG->aSegs[iSeg++].Phys = NIL_RTHCPHYS;
- Assert(iSeg <= pSG->cSegsAlloc);
-@@ -945,13 +949,13 @@ static void vboxNetFltLinuxSkBufToSG(PVB
- for (i = 0; i < skb_shinfo(pFragBuf)->nr_frags; i++)
- {
- skb_frag_t *pFrag = &skb_shinfo(pFragBuf)->frags[i];
--# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
-+# if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)) || defined(OPENSUSE_152)
- pSG->aSegs[iSeg].cb = pFrag->bv_len;
- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->bv_offset;
--# else /* < KERNEL_VERSION(5, 4, 0) */
-+# else /* < KERNEL_VERSION(5, 4, 0) */
- pSG->aSegs[iSeg].cb = pFrag->size;
- pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
--# endif /* >= KERNEL_VERSION(5, 4, 0) */
-+# endif /* >= KERNEL_VERSION(5, 4, 0) */
- Log6((" %p", pSG->aSegs[iSeg].pv));
- pSG->aSegs[iSeg++].Phys = NIL_RTHCPHYS;
- Assert(iSeg <= pSG->cSegsAlloc);
-Index: VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_drv.c
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
---- VirtualBox-6.1.0_RC1.orig/src/VBox/Additions/linux/drm/vbox_drv.c
-+++ VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_drv.c
-@@ -307,11 +307,13 @@ static void vbox_master_drop(struct drm_
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
+@@ -305,11 +305,13 @@ static void vbox_master_drop(struct drm_
static struct drm_driver driver = {
- #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ #if RTLNX_VER_MAX(5,4,0)
.driver_features =
- DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ |
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ DRIVER_PRIME |
+#endif
- # if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) && !defined(RHEL_81)
+ # if RTLNX_VER_MAX(5,1,0) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
DRIVER_IRQ_SHARED |
- # endif /* < KERNEL_VERSION(5, 1, 0) && !defined(RHEL_81) */
+ # endif
- DRIVER_PRIME,
+ DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
- #else /* >= KERNEL_VERSION(5, 4, 0) */
+ #else /* >= 5.4.0 */
.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ,
- #endif /* < KERNEL_VERSION(5, 4, 0) */
-Index: VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_main.c
+ #endif /* < 5.4.0 */
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
---- VirtualBox-6.1.0_RC1.orig/src/VBox/Additions/linux/drm/vbox_main.c
-+++ VirtualBox-6.1.0_RC1/src/VBox/Additions/linux/drm/vbox_main.c
-@@ -626,8 +626,12 @@ static inline u64 vbox_bo_mmap_offset(st
- #elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_70)
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_main.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
+@@ -628,8 +628,12 @@ static inline u64 vbox_bo_mmap_offset(st
+ #elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0)
return bo->bo.addr_space_offset;
#else
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 0)
+ return drm_vma_node_offset_addr(&bo->bo.base.vma_node);
+#else
return drm_vma_node_offset_addr(&bo->bo.vma_node);
- #endif /* >= KERNEL_VERSION(5, 4, 0) */
+ #endif /* >= 5.4.0 */
+#endif
}
int
-Index: VirtualBox-6.1.0_RC1/include/iprt/cdefs.h
+Index: VirtualBox-6.1.13/include/iprt/cdefs.h
===================================================================
---- VirtualBox-6.1.0_RC1.orig/include/iprt/cdefs.h
-+++ VirtualBox-6.1.0_RC1/include/iprt/cdefs.h
-@@ -1173,14 +1173,15 @@
- * Tell the compiler that we're falling through to the next case in a switch.
- * @sa RT_FALL_THRU */
- #if RT_GNUC_PREREQ(7, 0)
+--- VirtualBox-6.1.13.orig/include/iprt/cdefs.h
++++ VirtualBox-6.1.13/include/iprt/cdefs.h
+@@ -1240,14 +1240,15 @@
+ #if RT_CLANG_PREREQ(4, 0) && RT_CPLUSPLUS_PREREQ(201100)
+ # define RT_FALL_THROUGH() [[clang::fallthrough]]
+ #elif RT_GNUC_PREREQ(7, 0)
-# define RT_FALL_THROUGH() __attribute__((__fallthrough__))
+# define FALL_THROUGH __attribute__((__fallthrough__))
#else
++++++ fixes_for_makefile.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.472515421 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.476515423 +0200
@@ -1,18 +1,8 @@
-Index: VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
+Index: VirtualBox-6.1.13/src/VBox/HostDrivers/linux/Makefile
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/HostDrivers/linux/Makefile
-+++ VirtualBox-6.1.10/src/VBox/HostDrivers/linux/Makefile
-@@ -35,9 +35,6 @@ endif
- ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),)
- obj-m += vboxnetadp/
- endif
--ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),)
-- obj-m += vboxpci/
--endif
-
- else # ! KERNELRELEASE
-
-@@ -45,10 +42,11 @@ else # ! KERNELRELEASE
+--- VirtualBox-6.1.13.orig/src/VBox/HostDrivers/linux/Makefile
++++ VirtualBox-6.1.13/src/VBox/HostDrivers/linux/Makefile
+@@ -42,8 +41,9 @@ else # ! KERNELRELEASE
KBUILD_VERBOSE ?=
KERN_VER ?= $(shell uname -r)
@@ -22,15 +12,12 @@
+
+.PHONY: all install clean check unload load vboxdrv vboxnetflt vboxnetadp
--all: vboxdrv vboxnetflt vboxnetadp vboxpci
-+all: vboxdrv vboxnetflt vboxnetadp
+ all: vboxdrv vboxnetflt vboxnetadp
- # We want to build on Linux 2.6.18 and later kernels.
- ifneq ($(filter-out 1.% 2.0.% 2.1.% 2.2.% 2.3.% 2.4.% 2.5.%,$(KERN_VER)),)
-@@ -61,55 +59,38 @@ vboxdrv:
+@@ -58,22 +58,18 @@ vboxdrv:
vboxnetflt: vboxdrv
- @if [ -d vboxnetflt ]; then \
+ +@if [ -d vboxnetflt ]; then \
- if [ -f vboxdrv/Module.symvers ]; then \
- cp vboxdrv/Module.symvers vboxnetflt; \
- fi; \
@@ -43,7 +30,7 @@
fi
vboxnetadp: vboxdrv
- @if [ -d vboxnetadp ]; then \
+ +@if [ -d vboxnetadp ]; then \
- if [ -f vboxdrv/Module.symvers ]; then \
- cp vboxdrv/Module.symvers vboxnetadp; \
- fi; \
@@ -54,73 +41,22 @@
cp vboxnetadp/vboxnetadp.ko .; \
echo; \
fi
-
--vboxpci: vboxdrv
-- @if [ -d vboxpci ]; then \
-- if [ -f vboxdrv/Module.symvers ]; then \
-- cp vboxdrv/Module.symvers vboxpci; \
-- fi; \
-- echo "=== Building 'vboxpci' module ==="; \
-- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxpci/Module.symvers) -C vboxpci || exit 1; \
-- cp vboxpci/vboxpci.ko .; \
-- echo; \
-- fi
--
+@@ -81,9 +77,11 @@ vboxnetadp: vboxdrv
install:
- @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
- @if [ -d vboxnetflt ]; then \
+ +@$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
+ +@if [ -d vboxnetflt ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxdrv/Module.symvers; \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
fi
- @if [ -d vboxnetadp ]; then \
+ +@if [ -d vboxnetadp ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxdrv/Module.symvers; \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp install; \
fi
-- @if [ -d vboxpci ]; then \
-- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci install; \
-- fi
-
- else
-
- vboxdrv:
- vboxnetflt:
- vboxnetadp:
--vboxpci:
- install:
- endif
-@@ -122,16 +103,13 @@ clean:
- @if [ -d vboxnetadp ]; then \
- $(MAKE) -C vboxnetadp clean; \
- fi
-- @if [ -d vboxpci ]; then \
-- $(MAKE) -C vboxpci clean; \
-- fi
-- rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko vboxpci.ko
-+ rm -f vboxdrv.ko vboxnetflt.ko vboxnetadp.ko
-
- check:
- @$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv check
-
- unload:
-- @for module in vboxpci vboxnetadp vboxnetflt vboxdrv; do \
-+ @for module in vboxnetadp vboxnetflt vboxdrv; do \
- if grep "^$$module " /proc/modules >/dev/null; then \
- echo "Removing previously installed $$module module"; \
- /sbin/rmmod $$module; \
-@@ -139,7 +117,7 @@ unload:
- done
-
- load: unload
-- @for module in vboxdrv vboxnetflt vboxnetadp vboxpci; do \
-+ @for module in vboxdrv vboxnetflt vboxnetadp; do \
- if test -f $$module.ko; then \
- echo "Installing $$module module"; \
- /sbin/insmod $$module.ko; \
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/Makefile
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/Makefile
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/Makefile
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/Makefile
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/Makefile
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/Makefile
@@ -24,6 +24,7 @@ obj-m = vboxguest/ vboxsf/ vboxvideo/
else # ! KERNELRELEASE
@@ -147,21 +83,21 @@
if [ -f vboxvideo/vboxvideo.ko ]; then \
@@ -77,9 +80,11 @@ vboxvideo:
install:
- $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install
- $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \
+ + $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install
+ + $(VBOX_QUIET_SH)if [ -d vboxsf ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxsf/Module.symvers; \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf install; \
fi
- $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \
+ + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \
+ export KBUILD_EXTRA_SYMBOLS=${PWD}/vboxvideo/Module.symvers; \
$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \
fi
-Index: VirtualBox-6.1.10/include/iprt/x86.h
+Index: VirtualBox-6.1.13/include/iprt/x86.h
===================================================================
---- VirtualBox-6.1.10.orig/include/iprt/x86.h
-+++ VirtualBox-6.1.10/include/iprt/x86.h
-@@ -840,37 +840,59 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
+--- VirtualBox-6.1.13.orig/include/iprt/x86.h
++++ VirtualBox-6.1.13/include/iprt/x86.h
+@@ -858,37 +858,59 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
* reserved flags.
* @{ */
/** Bit 0 - PE - Protection Enabled */
@@ -221,7 +157,7 @@
#define X86_CR0_PAGING RT_BIT_32(31)
#define X86_CR0_BIT_PG 31 /**< Bit number of X86_CR0_PG */
/** @} */
-@@ -879,9 +901,13 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
+@@ -897,9 +919,13 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
/** @name CR3
* @{ */
/** Bit 3 - PWT - Page-level Writes Transparent. */
@@ -235,7 +171,7 @@
/** Bits 12-31 - - Page directory page number. */
#define X86_CR3_PAGE_MASK (0xfffff000)
/** Bits 5-31 - - PAE Page directory page number. */
-@@ -894,46 +920,84 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
+@@ -912,46 +938,84 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI
/** @name CR4
* @{ */
/** Bit 0 - VME - Virtual-8086 Mode Extensions. */
@@ -320,7 +256,7 @@
/** Bit 23 - CET - Control-flow Enhancement Technology enabled. */
#define X86_CR4_CET RT_BIT_32(23)
/** @} */
-@@ -1147,12 +1211,16 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1165,12 +1229,16 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** Machine check type register (P5). */
#define MSR_P5_MC_TYPE UINT32_C(0x00000001)
/** Time Stamp Counter. */
@@ -337,7 +273,7 @@
#ifndef MSR_IA32_APICBASE /* qemu cpu.h kludge */
# define MSR_IA32_APICBASE 0x1b
-@@ -1178,7 +1246,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1196,7 +1264,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_CORE_THREAD_COUNT 0x35
/** CPU Feature control. */
@@ -347,7 +283,7 @@
/** Feature control - Lock MSR from writes (R/W0). */
#define MSR_IA32_FEATURE_CONTROL_LOCK RT_BIT_64(0)
/** Feature control - Enable VMX inside SMX operation (R/WL). */
-@@ -1203,11 +1273,15 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1221,11 +1291,15 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_FEATURE_CONTROL_LMCE RT_BIT_64(20)
/** Per-processor TSC adjust MSR. */
@@ -363,7 +299,7 @@
/** IBRS - Indirect branch restricted speculation. */
#define MSR_IA32_SPEC_CTRL_F_IBRS RT_BIT_32(0)
/** STIBP - Single thread indirect branch predictors. */
-@@ -1215,7 +1289,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1235,7 +1309,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** Prediction command register.
* Write only, logical processor scope, no state since write only. */
@@ -373,7 +309,7 @@
/** IBPB - Indirect branch prediction barrie when written as 1. */
#define MSR_IA32_PRED_CMD_F_IBPB RT_BIT_32(0)
-@@ -1226,7 +1302,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1246,7 +1322,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_BIOS_SIGN_ID 0x8B
/** SMM monitor control. */
@@ -383,7 +319,7 @@
/** SMM control - Valid. */
#define MSR_IA32_SMM_MONITOR_VALID RT_BIT_64(0)
/** SMM control - VMXOFF unblocks SMI. */
-@@ -1235,10 +1313,14 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1255,10 +1333,14 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_SMM_MONITOR_MSGEG_PHYSADDR(a) (((a) >> 12) & UINT64_C(0xfffff))
/** SMBASE - Base address of SMRANGE image (Read-only, SMM only). */
@@ -398,7 +334,7 @@
/** General performance counter no. 1. */
#define MSR_IA32_PMC1 0xC2
/** General performance counter no. 2. */
-@@ -1261,18 +1343,26 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1281,18 +1363,26 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_FSB_CLOCK_STS 0xCD
/** C-State configuration control. Intel specific: Nehalem, Sandy Bridge. */
@@ -425,7 +361,7 @@
/** CPU is no subject to meltdown problems. */
#define MSR_IA32_ARCH_CAP_F_RDCL_NO RT_BIT_32(0)
/** CPU has better IBRS and you can leave it on all the time. */
-@@ -1286,7 +1376,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1306,7 +1396,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_ARCH_CAP_F_MDS_NO RT_BIT_32(4)
/** Flush command register. */
@@ -435,7 +371,7 @@
/** Flush the level 1 data cache when this bit is written. */
#define MSR_IA32_FLUSH_CMD_F_L1D RT_BIT_32(0)
-@@ -1307,14 +1399,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1327,14 +1419,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#endif
/** Machine Check Global Capabilities Register. */
@@ -456,7 +392,7 @@
/** Default PAT MSR value on processor powerup / reset (see Intel spec. 11.12.4
* "Programming the PAT", AMD spec. 7.8.2 "PAT Indexing") */
#define MSR_IA32_CR_PAT_INIT_VAL UINT64_C(0x0007040600070406)
-@@ -1333,36 +1431,58 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1353,36 +1451,58 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_FLEX_RATIO 0x194
/** Performance state value and starting with Intel core more.
* Apple uses the >=core features to determine TSC granularity on older CPUs. */
@@ -515,7 +451,7 @@
/** Trace/Profile Resource Control (R/W) */
#define MSR_IA32_DEBUGCTL UINT32_C(0x000001d9)
-@@ -1500,7 +1620,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1520,7 +1640,9 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** @} */
/** Intel TSX (Transactional Synchronization Extensions) control MSR. */
@@ -525,7 +461,7 @@
/** Variable range MTRRs.
* @{ */
-@@ -1550,89 +1672,167 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1570,89 +1692,167 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_IA32_PERF_GLOBAL_OVF_CTRL 0x390
/** Precise Event Based sampling (Intel only). */
@@ -693,7 +629,7 @@
/** X2APIC MSR range start. */
#define MSR_IA32_X2APIC_START 0x800
-@@ -1767,23 +1967,47 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1787,23 +1987,47 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
/** The mask which give the SYSCALL EIP. */
#define MSR_K6_STAR_SYSCALL_EIP_MASK UINT32_C(0xffffffff)
/** K6 WHCR - Write Handling Control Register. */
@@ -741,7 +677,7 @@
/** K8 LSTAR - Long mode SYSCALL target (RIP). */
#define MSR_K8_LSTAR UINT32_C(0xc0000082)
-@@ -1799,14 +2023,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
+@@ -1819,14 +2043,20 @@ AssertCompile(X86_DR7_ANY_RW_IO(UINT32_C
#define MSR_K8_KERNEL_GS_BASE UINT32_C(0xc0000102)
/** K8 TSC_AUX - Used with RDTSCP. */
#define MSR_K8_TSC_AUX UINT32_C(0xc0000103)
@@ -759,13 +695,13 @@
+#ifndef MSR_K8_TOP_MEM2
#define MSR_K8_TOP_MEM2 UINT32_C(0xc001001d)
+#endif
- /** North bridge config? See BIOS & Kernel dev guides for
- * details. */
- #define MSR_K8_NB_CFG UINT32_C(0xc001001f)
-Index: VirtualBox-6.1.10/include/VBox/vmm/hm_vmx.h
+
+ /** SMM MSRs. */
+ #define MSR_K7_SMBASE UINT32_C(0xc0010111)
+Index: VirtualBox-6.1.13/include/VBox/vmm/hm_vmx.h
===================================================================
---- VirtualBox-6.1.10.orig/include/VBox/vmm/hm_vmx.h
-+++ VirtualBox-6.1.10/include/VBox/vmm/hm_vmx.h
+--- VirtualBox-6.1.13.orig/include/VBox/vmm/hm_vmx.h
++++ VirtualBox-6.1.13/include/VBox/vmm/hm_vmx.h
@@ -1473,7 +1473,9 @@ AssertCompileSize(VMXABORT, 4);
/** VMCS (and related regions) memory type - Uncacheable. */
#define VMX_BASIC_MEM_TYPE_UC 0
@@ -776,20 +712,20 @@
/** Width of physical addresses used for VMCS and associated memory regions
* (1=32-bit, 0=processor's physical address width). */
#define VMX_BASIC_PHYSADDR_WIDTH_32BIT RT_BIT_64(48)
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
-@@ -86,10 +86,8 @@
- # endif
- #endif
-
--#if defined(CONFIG_SUSE_VERSION)
--# if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
--# define OPENSUSE_151
--# endif
-+#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
-+# define OPENSUSE_151
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.h
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
+@@ -87,6 +87,12 @@
+ #else
+ # define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
#endif
++
++#if defined(CONFIG_SUSE_VERSION)
++# if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1
++# define OPENSUSE_151
++# endif
++#endif
#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4
# define SUSE_SLE12
+ #endif
++++++ fixes_for_python.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.488515428 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.488515428 +0200
@@ -6,14 +6,13 @@
Larry Finger
-Index: VirtualBox-5.1.30/src/VBox/Frontends/VBoxShell/vboxshell.py
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VBoxShell/vboxshell.py
===================================================================
---- VirtualBox-5.1.30.orig/src/VBox/Frontends/VBoxShell/vboxshell.py
-+++ VirtualBox-5.1.30/src/VBox/Frontends/VBoxShell/vboxshell.py
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VBoxShell/vboxshell.py
++++ VirtualBox-6.1.13/src/VBox/Frontends/VBoxShell/vboxshell.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
- # $Id: vboxshell.py $
+ # $Id: vboxshell.py 82968 2020-02-04 10:35:17Z vboxsync $
-
++++++ fixes_for_sle12.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.500515434 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.500515434 +0200
@@ -1,38 +1,25 @@
-Index: VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
-+++ VirtualBox-6.1.10/src/VBox/Runtime/r0drv/linux/waitqueue-r0drv-linux.h
-@@ -49,7 +49,7 @@ typedef struct RTR0SEMLNXWAIT
- {
- /** The wait queue entry. */
- #if LINUX_VERSION_CODE > KERNEL_VERSION(4, 13, 0) \
-- || defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL == 4 \
-+ || defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4 \
- || defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15
- wait_queue_entry_t WaitQE;
- #else
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.c
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.c
-@@ -327,7 +327,9 @@ static struct drm_driver driver = {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_72)
- # if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0) && !defined(RHEL_75) \
- && !defined(OPENSUSE_151)
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.c
+@@ -325,7 +325,9 @@ static struct drm_driver driver = {
+ .master_drop = vbox_master_drop,
+ #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
+ # if RTLNX_VER_MAX(4,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if !(defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4)
.set_busid = drm_pci_set_busid,
+#endif
# endif
#endif
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_main.c
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_main.c
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_main.c
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_main.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_main.c
@@ -606,11 +606,13 @@ int vbox_dumb_destroy(struct drm_file *f
#endif
- #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && !defined(OPENSUSE_151) && !defined(RHEL_77) && !defined(RHEL_81)
+ #if RTLNX_VER_MAX(4,19,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+#if !(defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4)
static void ttm_bo_put(struct ttm_buffer_object *bo)
{
@@ -43,143 +30,143 @@
void vbox_gem_free_object(struct drm_gem_object *obj)
{
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
-@@ -211,7 +211,7 @@ static struct ttm_backend_func vbox_tt_b
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_ttm.c
+@@ -210,7 +210,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev,
unsigned long size,
u32 page_flags,
-@@ -229,7 +229,7 @@ static struct ttm_tt *vbox_ttm_tt_create
+@@ -227,7 +227,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) {
#else
if (ttm_tt_init(tt, bo, page_flags)) {
-@@ -243,7 +243,7 @@ static struct ttm_tt *vbox_ttm_tt_create
+@@ -240,7 +240,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+ #if RTLNX_VER_MAX(4,17,0)
+-# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
static int vbox_ttm_tt_populate(struct ttm_tt *ttm)
{
return ttm_pool_populate(ttm);
-@@ -278,7 +278,7 @@ static struct ttm_bo_driver vbox_bo_driv
+@@ -274,7 +274,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+ #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
+-# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++# if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
# endif
#endif
-@@ -429,7 +429,7 @@ int vbox_bo_create(struct drm_device *de
+@@ -421,7 +421,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
align >> PAGE_SHIFT, false, NULL, acc_size,
#else
align >> PAGE_SHIFT, false, acc_size,
-@@ -459,7 +459,7 @@ static inline u64 vbox_bo_gpu_offset(str
+@@ -450,7 +450,7 @@ 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) \
-- || defined(OPENSUSE_151)
-+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
+-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
-@@ -478,7 +478,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
+@@ -468,7 +468,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
-@@ -497,7 +497,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32
+@@ -486,7 +486,7 @@ 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) \
-- || defined(OPENSUSE_151)
-+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
+-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
-@@ -514,7 +514,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
+@@ -502,7 +502,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
-@@ -533,7 +533,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
+@@ -520,7 +520,7 @@ 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) \
-- || defined(OPENSUSE_151)
-+ || defined(OPENSUSE_151) || defined(SUSE_SLE12)
+-#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MIN(4,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) || defined(SUSE_SLE12)
struct ttm_operation_ctx ctx = { false, false };
#endif
int i, ret;
-@@ -555,7 +555,7 @@ int vbox_bo_push_sysram(struct vbox_bo *
+@@ -541,7 +541,7 @@ 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) \
-- && !defined(OPENSUSE_151)
-+ && !defined(OPENSUSE_151) && !defined(SUSE_SLE12)
+-#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MAX(4,16,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) && !defined(SUSE_SLE12)
ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
#else
ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_drv.h
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_drv.h
-@@ -91,6 +91,9 @@
- # define OPENSUSE_151
- # endif
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_drv.h
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_drv.h
+@@ -87,6 +87,9 @@
+ #else
+ # define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0)
#endif
+#if defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 12 && CONFIG_SUSE_PATCHLEVEL >= 4
+# define SUSE_SLE12
+#endif
- #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) || defined(RHEL_71)
- #define U8_MAX ((u8)~0U)
-Index: VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_mode.c
-===================================================================
---- VirtualBox-6.1.10.orig/src/VBox/Additions/linux/drm/vbox_mode.c
-+++ VirtualBox-6.1.10/src/VBox/Additions/linux/drm/vbox_mode.c
-@@ -547,7 +547,8 @@ static void vbox_set_edid(struct drm_con
+ /** @def RTLNX_RHEL_RANGE
+ * Check that it's a RedHat kernel in the given version range.
+Index: VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_mode.c
+===================================================================
+--- VirtualBox-6.1.13.orig/src/VBox/Additions/linux/drm/vbox_mode.c
++++ VirtualBox-6.1.13/src/VBox/Additions/linux/drm/vbox_mode.c
+@@ -544,7 +544,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) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || \
-+ defined(SUSE_SLE12) || defined(RHEL_77) || defined(RHEL_81)
+-#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || \
++ defined(SUSE_SLE12) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
drm_connector_update_edid_property(connector, (struct edid *)edid);
#else
drm_mode_connector_update_edid_property(connector, (struct edid *)edid);
-@@ -722,7 +723,7 @@ static int vbox_connector_init(struct dr
+@@ -719,7 +720,7 @@ static int vbox_connector_init(struct dr
drm_connector_register(connector);
#endif
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(RHEL_77) || defined(RHEL_81)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) || defined(OPENSUSE_151) || defined(SUSE_SLE12) || defined(RHEL_77) || defined(RHEL_81)
+-#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
++#if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,7) || defined(SUSE_SLE12) || RTLNX_RHEL_MAJ_PREREQ(8,1) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5)
drm_connector_attach_encoder(connector, encoder);
#else
drm_mode_connector_attach_encoder(connector, encoder);
++++++ modify_for_4_8_bo_move.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.520515443 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.524515445 +0200
@@ -1,7 +1,7 @@
-Index: VirtualBox-6.0.2/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+Index: VirtualBox-6.1.13/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
===================================================================
---- VirtualBox-6.0.2.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
-+++ VirtualBox-6.0.2/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+--- VirtualBox-6.1.13.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
++++ VirtualBox-6.1.13/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
@@ -35,7 +35,7 @@
#include <iprt/assert.h>
#include <iprt/errcore.h>
@@ -10,8 +10,8 @@
+#include <linux/kmemleak.h>
#if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP)
- # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
-@@ -294,6 +294,7 @@ DECLHIDDEN(int) rtR0MemAllocEx(size_t cb
+ # if RTLNX_VER_MIN(2,6,23) && RTLNX_VER_MAX(5,8,0)
+@@ -296,6 +296,7 @@ DECLHIDDEN(int) rtR0MemAllocEx(size_t cb
fFlags &= ~RTMEMHDR_FLAG_KMALLOC;
pHdr = vmalloc(cb + sizeof(*pHdr));
}
++++++ switch_to_python3.4+.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.540515452 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.544515454 +0200
@@ -1,7 +1,7 @@
-Index: VirtualBox-6.1.0/src/bldprogs/scm.cpp
+Index: VirtualBox-6.1.13/src/bldprogs/scm.cpp
===================================================================
---- VirtualBox-6.1.0.orig/src/bldprogs/scm.cpp
-+++ VirtualBox-6.1.0/src/bldprogs/scm.cpp
+--- VirtualBox-6.1.13.orig/src/bldprogs/scm.cpp
++++ VirtualBox-6.1.13/src/bldprogs/scm.cpp
@@ -2206,7 +2206,7 @@ static int scmProcessFileInner(PSCMRWSTA
pszTreatAs = "shell";
else if ( (cchFirst >= 15 && strncmp(pchFirst, "/usr/bin/python", 15) == 0)
@@ -11,10 +11,10 @@
else if ( (cchFirst >= 13 && strncmp(pchFirst, "/usr/bin/perl", 13) == 0)
|| (cchFirst >= 17 && strncmp(pchFirst, "/usr/bin/env perl", 17) == 0) )
pszTreatAs = "perl";
-Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/configure
+Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/configure
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/configure
-+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/configure
+--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/configure
++++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/configure
@@ -15153,10 +15153,10 @@ PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
@@ -39,11 +39,11 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
-Index: VirtualBox-6.1.0/src/VBox/ValidationKit/testboxscript/setup.sh
+Index: VirtualBox-6.1.13/src/VBox/ValidationKit/testboxscript/setup.sh
===================================================================
---- VirtualBox-6.1.0.orig/src/VBox/ValidationKit/testboxscript/setup.sh
-+++ VirtualBox-6.1.0/src/VBox/ValidationKit/testboxscript/setup.sh
-@@ -652,7 +652,7 @@ import sys;\
+--- VirtualBox-6.1.13.orig/src/VBox/ValidationKit/testboxscript/setup.sh
++++ VirtualBox-6.1.13/src/VBox/ValidationKit/testboxscript/setup.sh
+@@ -659,7 +659,7 @@ import sys;\
x = sys.version_info[0] == 2 and (sys.version_info[1] >= 6 or (sys.version_info[1] == 5 and sys.version_info[2] >= 1));\
sys.exit(not x);\
";
@@ -52,12 +52,12 @@
do
python=`which ${python} 2> /dev/null`
if [ -n "${python}" -a -x "${python}" ]; then
-Index: VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+Index: VirtualBox-6.1.13/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
===================================================================
---- VirtualBox-6.1.0.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
-+++ VirtualBox-6.1.0/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
-@@ -20,7 +20,7 @@
- %define %PYTHON% 1
+--- VirtualBox-6.1.13.orig/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
++++ VirtualBox-6.1.13/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
+@@ -21,7 +21,7 @@
+ %define %CHM% 1
%define VBOXDOCDIR %{_defaultdocdir}/%NAME%
%global __requires_exclude_from ^/usr/lib/virtualbox/VBoxPython.*$
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
@@ -65,7 +65,7 @@
Summary: Oracle VM VirtualBox
Name: %NAME%
-@@ -100,7 +100,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
+@@ -101,7 +101,7 @@ install -m 755 -d $RPM_BUILD_ROOT/usr/sh
%if %{?with_python:1}%{!?with_python:0}
(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
cd ./sdk/installer && \
@@ -74,10 +74,10 @@
%endif
rm -rf sdk/installer
mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
-Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml.spec.in
+Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml.spec.in
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/libxml.spec.in
-+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml.spec.in
+--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/libxml.spec.in
++++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml.spec.in
@@ -101,11 +101,11 @@ rm -fr %{buildroot}
make install DESTDIR=%{buildroot}
@@ -93,10 +93,10 @@
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
-Index: VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml2.spec
+Index: VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml2.spec
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/libxml2-2.9.4/libxml2.spec
-+++ VirtualBox-6.1.0/src/libs/libxml2-2.9.4/libxml2.spec
+--- VirtualBox-6.1.13.orig/src/libs/libxml2-2.9.4/libxml2.spec
++++ VirtualBox-6.1.13/src/libs/libxml2-2.9.4/libxml2.spec
@@ -103,7 +103,7 @@ make install DESTDIR=%{buildroot}
%if 0%{?with_python3}
@@ -106,10 +106,10 @@
make install DESTDIR=%{buildroot}
%endif # with_python3
-Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
-+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
+--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
++++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/ErrorUtils.cpp
@@ -439,6 +439,8 @@ char *PyTraceback_AsString(PyObject *exc
{ // a temp scope so I can use temp locals.
#if PY_MAJOR_VERSION <= 2
@@ -119,10 +119,10 @@
#else
/* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */
const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult);
-Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/PyGBase.cpp
+Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/PyGBase.cpp
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
-+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/src/PyGBase.cpp
+--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp
++++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/src/PyGBase.cpp
@@ -183,7 +183,11 @@ PyG_Base::~PyG_Base()
// Get the correct interface pointer for this object given the IID.
void *PyG_Base::ThisAsIID( const nsIID &iid )
@@ -136,11 +136,11 @@
if (iid.Equals(NS_GET_IID(nsISupports)))
return (nsISupports *)(nsIInternalPython *)this;
if (iid.Equals(NS_GET_IID(nsISupportsWeakReference)))
-Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/Makefile.kmk
+Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/Makefile.kmk
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/Makefile.kmk
-+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/Makefile.kmk
-@@ -533,6 +533,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
+--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/Makefile.kmk
++++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/Makefile.kmk
+@@ -554,6 +554,52 @@ VBoxPython3_8m_x86_LIBS = $(VBOX_P
endif
endif
@@ -193,10 +193,10 @@
ifdef VBOX_PYTHONDEF_INC
#
# Python without versioning
-Index: VirtualBox-6.1.0/src/libs/xpcom18a4/python/gen_python_deps.py
+Index: VirtualBox-6.1.13/src/libs/xpcom18a4/python/gen_python_deps.py
===================================================================
---- VirtualBox-6.1.0.orig/src/libs/xpcom18a4/python/gen_python_deps.py
-+++ VirtualBox-6.1.0/src/libs/xpcom18a4/python/gen_python_deps.py
+--- VirtualBox-6.1.13.orig/src/libs/xpcom18a4/python/gen_python_deps.py
++++ VirtualBox-6.1.13/src/libs/xpcom18a4/python/gen_python_deps.py
@@ -16,7 +16,7 @@ from __future__ import print_function
import os,sys
from distutils.version import StrictVersion
++++++ virtualbox-fix-ui-background-color.patch ++++++
--- /var/tmp/diff_new_pack.DIhDuN/_old 2020-09-01 20:04:37.728515541 +0200
+++ /var/tmp/diff_new_pack.DIhDuN/_new 2020-09-01 20:04:37.732515543 +0200
@@ -1,8 +1,8 @@
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
-@@ -114,10 +114,6 @@ void UITools::preparePalette()
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
+@@ -124,10 +124,6 @@ void UITools::preparePalette()
{
/* Setup palette: */
setAutoFillBackground(true);
@@ -13,11 +13,11 @@
}
void UITools::prepareLayout()
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
-@@ -1328,7 +1328,7 @@ void UIVirtualBoxManager::prepareMenuBar
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+@@ -2033,7 +2033,7 @@ void UIVirtualBoxManager::prepareMenuBar
/* Make sure menu-bar fills own solid background: */
menuBar()->setAutoFillBackground(true);
QPalette pal = menuBar()->palette();
@@ -26,13 +26,13 @@
pal.setColor(QPalette::Active, QPalette::Button, color);
menuBar()->setPalette(pal);
}
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
-@@ -121,10 +121,6 @@ void UIChooser::preparePalette()
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
+@@ -193,10 +193,6 @@ void UIChooser::prepare()
+ void UIChooser::preparePalette()
{
- /* Setup palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
- QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
@@ -40,12 +40,12 @@
- setPalette(pal);
}
- void UIChooser::prepareLayout()
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
+ void UIChooser::prepareModel()
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
-@@ -902,7 +902,7 @@ void UIChooserItemMachine::paintBackgrou
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
+@@ -960,7 +960,7 @@ void UIChooserItemMachine::paintBackgrou
else
{
/* Prepare color: */
@@ -54,7 +54,7 @@
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
-@@ -931,7 +931,7 @@ void UIChooserItemMachine::paintBackgrou
+@@ -989,7 +989,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
@@ -63,7 +63,7 @@
color1 = backgroundColor.lighter(m_iDefaultLightnessMax);
color2 = backgroundColor.lighter(m_iDefaultLightnessMax - 70);
}
-@@ -952,7 +952,7 @@ void UIChooserItemMachine::paintBackgrou
+@@ -1010,7 +1010,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
@@ -72,7 +72,7 @@
color1 = backgroundColor.lighter(m_iDefaultLightnessMin);
color2 = backgroundColor.lighter(m_iDefaultLightnessMin - 40);
}
-@@ -987,7 +987,7 @@ void UIChooserItemMachine::paintFrame(QP
+@@ -1045,7 +1045,7 @@ void UIChooserItemMachine::paintFrame(QP
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@@ -81,11 +81,11 @@
/* Create/assign pen: */
QPen pen(strokeColor);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
-@@ -710,7 +710,7 @@ void UIToolsItem::paintBackground(QPaint
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
+@@ -716,7 +716,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
@@ -94,7 +94,7 @@
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHighlightLightnessMax));
-@@ -749,7 +749,7 @@ void UIToolsItem::paintBackground(QPaint
+@@ -755,7 +755,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
@@ -103,7 +103,7 @@
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHoverLightnessMax));
-@@ -787,8 +787,8 @@ void UIToolsItem::paintBackground(QPaint
+@@ -793,8 +793,8 @@ void UIToolsItem::paintBackground(QPaint
{
/* Prepare color: */
const QColor backgroundColor = isEnabled()
@@ -114,7 +114,7 @@
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
-@@ -821,7 +821,7 @@ void UIToolsItem::paintFrame(QPainter *p
+@@ -827,7 +827,7 @@ void UIToolsItem::paintFrame(QPainter *p
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@@ -123,13 +123,13 @@
/* Create/assign pen: */
QPen pen(strokeColor);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
-@@ -314,14 +314,6 @@ void UIVirtualBoxManagerWidget::prepare(
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
+@@ -493,14 +493,6 @@ void UIVirtualBoxManagerWidget::prepare(
+ void UIVirtualBoxManagerWidget::preparePalette()
{
- /* Configure palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
-#ifdef VBOX_WS_MAC
@@ -139,10 +139,10 @@
-#endif
- pal.setColor(QPalette::Window, color);
- setPalette(pal);
+ }
- /* Prepare: */
- prepareWidgets();
-@@ -449,7 +441,7 @@ void UIVirtualBoxManagerWidget::prepareW
+ void UIVirtualBoxManagerWidget::prepareWidgets()
+@@ -621,7 +613,7 @@ void UIVirtualBoxManagerWidget::prepareW
}
/* Adjust splitter colors according to main widgets it splits: */
@@ -151,11 +151,11 @@
/* Set the initial distribution. The right site is bigger. */
m_pSplitter->setStretchFactor(0, 2);
m_pSplitter->setStretchFactor(1, 3);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
-@@ -643,7 +643,7 @@ void UIChooserItem::paintFlatButton(QPai
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
+@@ -647,7 +647,7 @@ void UIChooserItem::paintFlatButton(QPai
/* Prepare colors: */
const QPalette pal = QApplication::palette();
@@ -164,25 +164,25 @@
/* Prepare pen: */
QPen pen;
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
-@@ -245,10 +245,6 @@ void UIChooserView::prepare()
- void UIChooserView::preparePalette()
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
+@@ -246,10 +246,6 @@ void UIChooserView::prepare()
+ void UIChooserView::prepareThis()
{
- /* Setup palette: */
+ /* Prepare palette: */
- QPalette pal = qApp->palette();
- const QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Base, bodyColor);
- setPalette(pal);
- }
- void UIChooserView::resizeEvent(QResizeEvent *pEvent)
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
+ /* Prepare frame: */
+ setFrameShape(QFrame::NoFrame);
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
@@ -182,10 +182,6 @@ void UIToolsView::prepare()
void UIToolsView::preparePalette()
{
@@ -194,11 +194,11 @@
}
void UIToolsView::resizeEvent(QResizeEvent *pEvent)
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
-@@ -1183,7 +1183,7 @@ void UIDetailsElement::paintBackground(Q
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
+@@ -1302,7 +1302,7 @@ void UIDetailsElement::paintBackground(Q
const QPalette pal = palette();
/* Paint default background: */
@@ -207,7 +207,7 @@
const QColor dcTone1 = defaultColor.lighter(m_iDefaultToneFinal);
const QColor dcTone2 = defaultColor.lighter(m_iDefaultToneStart);
QLinearGradient gradientDefault(fullRect.topLeft(), fullRect.bottomLeft());
-@@ -1224,7 +1224,7 @@ void UIDetailsElement::paintFrame(QPaint
+@@ -1343,7 +1343,7 @@ void UIDetailsElement::paintFrame(QPaint
: optionRect;
/* Paint frame: */
@@ -216,10 +216,10 @@
QPen pen(strokeColor);
pen.setWidth(0);
pPainter->setPen(pen);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
@@ -110,7 +110,7 @@ void UIToolBar::paintEvent(QPaintEvent *
const QRect rectangle = pEvent->rect();
@@ -229,11 +229,11 @@
QLinearGradient gradient(rectangle.topLeft(), rectangle.bottomLeft());
gradient.setColorAt(0, backgroundColor.lighter(130));
gradient.setColorAt(1, backgroundColor.lighter(125));
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
-@@ -700,7 +700,7 @@ void UIDetailsSet::paintBackground(QPain
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
+@@ -764,7 +764,7 @@ void UIDetailsSet::paintBackground(QPain
const QRect optionRect = pOptions->rect;
/* Paint default background: */
@@ -242,11 +242,11 @@
pPainter->fillRect(optionRect, defaultColor);
/* Restore painter: */
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
-@@ -639,7 +639,7 @@ void UIChooserItemGlobal::paintBackgroun
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
+@@ -644,7 +644,7 @@ void UIChooserItemGlobal::paintBackgroun
pPainter->fillRect(rectangle, bgGrad);
#else
/* Prepare color: */
@@ -255,7 +255,7 @@
/* Draw gradient: */
pPainter->fillRect(rectangle, backgroundColor);
#endif
-@@ -670,7 +670,7 @@ void UIChooserItemGlobal::paintFrame(QPa
+@@ -675,7 +675,7 @@ void UIChooserItemGlobal::paintFrame(QPa
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
@@ -264,11 +264,11 @@
/* Create/assign pen: */
QPen pen(strokeColor);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
-@@ -277,7 +277,7 @@ void UIDetailsGroup::paintBackground(QPa
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
+@@ -286,7 +286,7 @@ void UIDetailsGroup::paintBackground(QPa
#ifdef VBOX_WS_MAC
const QColor defaultColor = palette().color(QPalette::Active, QPalette::Mid).lighter(145);
#else
@@ -277,11 +277,11 @@
#endif
pPainter->fillRect(optionRect, defaultColor);
-Index: VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
+Index: VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
===================================================================
---- VirtualBox-6.1.0_BETA1.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
-+++ VirtualBox-6.1.0_BETA1/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
-@@ -1499,7 +1499,7 @@ void UIChooserItemGroup::paintBackground
+--- VirtualBox-6.1.13.orig/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
++++ VirtualBox-6.1.13/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
+@@ -1579,7 +1579,7 @@ void UIChooserItemGroup::paintBackground
const QPalette pal = palette();
const QColor headerColor = pal.color(QPalette::Active,
model()->selectedItems().contains(this) ?
@@ -290,7 +290,7 @@
/* Root-item: */
if (isRoot())
-@@ -1596,7 +1596,7 @@ void UIChooserItemGroup::paintFrame(QPai
+@@ -1676,7 +1676,7 @@ void UIChooserItemGroup::paintFrame(QPai
const QPalette pal = palette();
const QColor strokeColor = pal.color(QPalette::Active,
model()->selectedItems().contains(this) ?
1
0
Hello community,
here is the log from the commit of package openldap2 for openSUSE:Factory checked in at 2020-09-01 20:03:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openldap2 (Old)
and /work/SRC/openSUSE:Factory/.openldap2.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openldap2"
Tue Sep 1 20:03:00 2020 rev:156 rq:830372 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/openldap2/openldap2.changes 2020-08-19 18:43:58.975437737 +0200
+++ /work/SRC/openSUSE:Factory/.openldap2.new.3399/openldap2.changes 2020-09-01 20:03:45.176490963 +0200
@@ -1,0 +2,22 @@
+Fri Aug 28 22:06:57 UTC 2020 - Michael Ströder <michael(a)stroeder.com>
+
+- updated to 2.4.52
+
+OpenLDAP 2.4.52 (2020/08/28)
+ Added libldap LDAP_OPT_X_TLS_REQUIRE_SAN option (ITS#9318)
+ Added libldap OpenSSL support for multiple EECDH curves (ITS#9054)
+ Added slapd OpenSSL support for multiple EECDH curves (ITS#9054)
+ Fixed librewrite malloc/free corruption (ITS#9249)
+ Fixed libldap hang when using UDP and server down (ITS#9328)
+ Fixed slapd syncrepl rare deadlock due to network issues (ITS#9324)
+ Fixed slapd syncrepl regression that could trigger an assert (ITS#9329)
+ Fixed slapd-mdb index error with collapsed range (ITS#9135)
+
+-------------------------------------------------------------------
+Thu Aug 20 16:39:54 UTC 2020 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Switch from shadow to sysusers to generate ldap account
+- Remove if's for code older than SLE12 (Even SLE12 builds no longer)
+- Remove 12 years old sasl2 migration code
+
+-------------------------------------------------------------------
Old:
----
openldap-2.4.51.tgz
New:
----
ldap-user.conf
openldap-2.4.52.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openldap2.spec ++++++
--- /var/tmp/diff_new_pack.QHhtJj/_old 2020-09-01 20:03:52.196494246 +0200
+++ /var/tmp/diff_new_pack.QHhtJj/_new 2020-09-01 20:03:52.204494250 +0200
@@ -22,17 +22,11 @@
%endif
%define run_test_suite 0
-%define version_main 2.4.51
-
-%if %{suse_version} >= 1310 && %{suse_version} != 1315
-%define _rundir /run/slapd
-%else
-%define _rundir /var/run/slapd
-%endif
-
+%define version_main 2.4.52
%define name_ppolicy_check_module ppolicy-check-password
%define version_ppolicy_check_module 1.2
%define ppolicy_docdir %{_docdir}/openldap-%{name_ppolicy_check_module}-%{version_ppolicy_check_module}
+%define slapdrundir %{_rundir}/slapd
Name: openldap2
Summary: An open source implementation of the Lightweight Directory Access Protocol
@@ -55,6 +49,7 @@
Source16: sysconfig.openldap
Source17: openldap_update_modules_path.sh
Source18: openldap2.conf
+Source19: ldap-user.conf
Patch1: 0001-ITS-8866-slapo-unique-to-return-filter-used-in-diagn.patch
Patch3: 0003-LDAPI-socket-location.dif
Patch5: 0005-pie-compile.dif
@@ -77,19 +72,19 @@
BuildRequires: libsodium-devel
BuildRequires: libtool
BuildRequires: openslp-devel
+BuildRequires: sysuser-tools
BuildRequires: unixODBC-devel
-%if %{suse_version} >= 1310 && %{suse_version} != 1315
# avoid cycle with krb5
BuildRequires: pkgconfig(krb5)
BuildRequires: pkgconfig(systemd)
%if %{suse_version} < 1500
%{?systemd_requires}
%endif
-%endif
Requires: libldap-2_4-2 = %{version_main}
Recommends: cyrus-sasl
Conflicts: openldap
-PreReq: %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd /usr/bin/grep
+PreReq: %fillup_prereq
+%sysusers_requires
%description
OpenLDAP is a client and server reference implementation of the
@@ -142,9 +137,7 @@
%package -n libldap-data
Summary: Configuration file for system-wide defaults for all uses of libldap
Group: Productivity/Networking/LDAP/Clients
-%if 0%{?suse_version} != 1110
BuildArch: noarch
-%endif
%description -n libldap-data
The subpackage contains a configuration file used to set system-wide defaults
@@ -175,9 +168,7 @@
Summary: OpenLDAP Documentation
Group: Documentation/Other
Provides: openldap2:/usr/share/doc/packages/openldap2/drafts/README
-%if 0%{?suse_version} > 1110
BuildArch: noarch
-%endif
%description doc
The OpenLDAP Admin Guide plus a set of OpenLDAP related IETF internet drafts.
@@ -274,7 +265,7 @@
--sysconfdir=%{_sysconfdir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
- --localstatedir=%{_rundir} \
+ --localstatedir=%{slapdrundir} \
--enable-wrappers=no \
--enable-spasswd \
--enable-modules \
@@ -315,6 +306,8 @@
# Build ppolicy-check-password module
make -C contrib/slapd-modules/%{name_ppolicy_check_module} %{?_smp_mflags} "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libdir}"
+# Create ldap user
+%sysusers_generate_pre %{SOURCE19} ldap
%check
%if %run_test_suite
@@ -368,6 +361,8 @@
install -m 755 %{SOURCE17} %{buildroot}%{_sbindir}
mkdir -p %{buildroot}%{_tmpfilesdir}/
install -m 644 %{SOURCE18} %{buildroot}%{_tmpfilesdir}/
+mkdir -p %{buildroot}%{_sysusersdir}
+install -m 644 %{SOURCE19} %{buildroot}%{_sysusersdir}/
# Install ppolicy check module
make -C contrib/slapd-modules/ppolicy-check-password STRIP="" DESTDIR="%{buildroot}" "sysconfdir=%{_sysconfdir}/openldap" "libdir=%{_libdir}" "libexecdir=%{_libexecdir}" install
@@ -412,7 +407,7 @@
rm -f %{buildroot}/etc/openldap/DB_CONFIG.example
rm -f %{buildroot}/etc/openldap/schema/README
rm -f %{buildroot}/etc/openldap/slapd.ldif*
-rm -f %{buildroot}%{_rundir}/openldap-data/DB_CONFIG.example
+rm -f %{buildroot}%{slapdrundir}/openldap-data/DB_CONFIG.example
mv servers/slapd/back-sql/rdbms_depend servers/slapd/back-sql/examples
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcslapd
@@ -434,17 +429,10 @@
gcc -shared -o "%{buildroot}%{_libdir}/libldap-2.4.so.2" -Wl,--no-as-needed \
-Wl,-soname -Wl,libldap-2.4.so.2 -L "%{buildroot}%{_libdir}" -lldap_r
-%pre
-getent group ldap >/dev/null || /usr/sbin/groupadd -g 70 -o -r ldap
-getent passwd ldap >/dev/null || /usr/sbin/useradd -r -o -g ldap -u 76 -s /bin/false -c "User for OpenLDAP" -d /var/lib/ldap ldap
+%pre -f ldap.pre
%service_add_pre slapd.service
%post
-if [ ${1:-0} -gt 1 ] && [ -f %{_libdir}/sasl2/slapd.conf ] ; then
- cp /etc/sasl2/slapd.conf /etc/sasl2/slapd.conf.rpmnew
- cp %{_libdir}/sasl2/slapd.conf /etc/sasl2/slapd.conf
-fi
-
if [ ${1:-0} -gt 1 ] && [ ! -f /var/adm/openldap_modules_path_updated ] ; then
/usr/sbin/openldap_update_modules_path.sh
fi
@@ -512,8 +500,9 @@
/usr/lib/openldap/start
%{_unitdir}/slapd.service
%{_tmpfilesdir}/%{name}.conf
+%{_sysusersdir}/ldap-user.conf
%dir %attr(0750, ldap, ldap) %{_sharedstatedir}/ldap
-%ghost %attr(0750, ldap, ldap) %{_rundir}
+%ghost %attr(0750, ldap, ldap) %{slapdrundir}
%doc %{_mandir}/man8/sl*
%doc %{_mandir}/man5/slapd.*
%doc %{_mandir}/man5/slapd-bdb.*
++++++ ldap-user.conf ++++++
# Type Name ID GECOS [HOME]
u ldap - "User for OpenLDAP" /var/lib/ldap
++++++ openldap-2.4.51.tgz -> openldap-2.4.52.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/CHANGES new/openldap-2.4.52/CHANGES
--- old/openldap-2.4.51/CHANGES 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/CHANGES 2020-08-28 18:10:00.000000000 +0200
@@ -1,5 +1,15 @@
OpenLDAP 2.4 Change Log
+OpenLDAP 2.4.52 (2020/08/28)
+ Added libldap LDAP_OPT_X_TLS_REQUIRE_SAN option (ITS#9318)
+ Added libldap OpenSSL support for multiple EECDH curves (ITS#9054)
+ Added slapd OpenSSL support for multiple EECDH curves (ITS#9054)
+ Fixed librewrite malloc/free corruption (ITS#9249)
+ Fixed libldap hang when using UDP and server down (ITS#9328)
+ Fixed slapd syncrepl rare deadlock due to network issues (ITS#9324)
+ Fixed slapd syncrepl regression that could trigger an assert (ITS#9329)
+ Fixed slapd-mdb index error with collapsed range (ITS#9135)
+
OpenLDAP 2.4.51 Release (2020/08/11)
Added slapo-ppolicy implement Netscape password policy controls (ITS#9279)
Fixed libldap retry loop in ldap_int_tls_connect (ITS#8650)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/build/version.var new/openldap-2.4.52/build/version.var
--- old/openldap-2.4.51/build/version.var 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/build/version.var 2020-08-28 18:10:00.000000000 +0200
@@ -15,9 +15,9 @@
ol_package=OpenLDAP
ol_major=2
ol_minor=4
-ol_patch=51
-ol_api_inc=20451
-ol_api_current=12
-ol_api_revision=14
-ol_api_age=10
-ol_release_date="2020/08/11"
+ol_patch=52
+ol_api_inc=20452
+ol_api_current=13
+ol_api_revision=0
+ol_api_age=11
+ol_release_date="2020/08/28"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/guide/admin/guide.html new/openldap-2.4.52/doc/guide/admin/guide.html
--- old/openldap-2.4.51/doc/guide/admin/guide.html 2020-08-12 02:27:49.000000000 +0200
+++ new/openldap-2.4.52/doc/guide/admin/guide.html 2020-08-28 19:32:17.000000000 +0200
@@ -23,7 +23,7 @@
<DIV CLASS="title">
<H1 CLASS="doc-title">OpenLDAP Software 2.4 Administrator's Guide</H1>
<ADDRESS CLASS="doc-author">The OpenLDAP Project <<A HREF="http://www.openldap.org/">http://www.openldap.org/</A>></ADDRESS>
-<ADDRESS CLASS="doc-modified">11 August 2020</ADDRESS>
+<ADDRESS CLASS="doc-modified">28 August 2020</ADDRESS>
<BR CLEAR="All">
</DIV>
<DIV CLASS="contents">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man3/ldap_get_option.3 new/openldap-2.4.52/doc/man/man3/ldap_get_option.3
--- old/openldap-2.4.51/doc/man/man3/ldap_get_option.3 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man3/ldap_get_option.3 2020-08-28 18:10:00.000000000 +0200
@@ -710,6 +710,20 @@
.BR ldap_memfree (3).
Ignored by GnuTLS and Mozilla NSS.
.TP
+.B LDAP_OPT_X_TLS_ECNAME
+Gets/sets the name of the curve(s) used for
+elliptic curve key exchanges.
+.BR invalue
+must be
+.BR "const char *" ;
+.BR outvalue
+must be
+.BR "char **" ,
+and its contents need to be freed by the caller using
+.BR ldap_memfree (3).
+Ignored by GnuTLS and Mozilla NSS. In GnuTLS a curve may be selected
+in the cipher suite specification.
+.TP
.B LDAP_OPT_X_TLS_KEYFILE
Sets/gets the full-path of the certificate key file.
.BR invalue
@@ -760,6 +774,15 @@
one of
.BR LDAP_OPT_X_TLS_NEVER ,
.BR LDAP_OPT_X_TLS_HARD ,
+.BR LDAP_OPT_X_TLS_DEMAND ,
+.BR LDAP_OPT_X_TLS_ALLOW ,
+.BR LDAP_OPT_X_TLS_TRY .
+.TP
+.B LDAP_OPT_X_TLS_REQUIRE_SAN
+Sets/gets the peer certificate subjectAlternativeName checking strategy,
+one of
+.BR LDAP_OPT_X_TLS_NEVER ,
+.BR LDAP_OPT_X_TLS_HARD ,
.BR LDAP_OPT_X_TLS_DEMAND ,
.BR LDAP_OPT_X_TLS_ALLOW ,
.BR LDAP_OPT_X_TLS_TRY .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man5/ldap.conf.5 new/openldap-2.4.52/doc/man/man5/ldap.conf.5
--- old/openldap-2.4.51/doc/man/man5/ldap.conf.5 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man5/ldap.conf.5 2020-08-28 18:10:00.000000000 +0200
@@ -345,6 +345,12 @@
certutil \-d /path/to/certdbdir \-L
.fi
.TP
+.B TLS_ECNAME <name>
+Specify the name of the curve(s) to use for Elliptic curve Diffie-Hellman
+ephemeral key exchange. This option is only used for OpenSSL.
+This option is not used with GnuTLS; the curves may be
+chosen in the GnuTLS ciphersuite specification.
+.TP
.B TLS_KEY <filename>
Specifies the file that contains the private key that matches the certificate
stored in the
@@ -458,6 +464,37 @@
is immediately terminated. This is the default setting.
.RE
.TP
+.B TLS_REQSAN <level>
+Specifies what checks to perform on the subjectAlternativeName
+(SAN) extensions in a server certificate when validating the certificate
+name against the specified hostname of the server. The
+.B <level>
+can be specified as one of the following keywords:
+.RS
+.TP
+.B never
+The client will not check any SAN in the certificate.
+.TP
+.B allow
+The SAN is checked against the specified hostname. If a SAN is
+present but none match the specified hostname, the SANs are ignored
+and the usual check against the certificate DN is used.
+This is the default setting.
+.TP
+.B try
+The SAN is checked against the specified hostname. If no SAN is present
+in the server certificate, the usual check against the certificate DN
+is used. If a SAN is present but doesn't match the specified hostname,
+the session is immediately terminated. This setting may be preferred
+when a mix of certs with and without SANs are in use.
+.TP
+.B demand | hard
+These keywords are equivalent. The SAN is checked against the specified
+hostname. If no SAN is present in the server certificate, or no SANs
+match, the session is immediately terminated. This setting should be
+used when only certificates with SANs are in use.
+.RE
+.TP
.B TLS_CRLCHECK <level>
Specifies if the Certificate Revocation List (CRL) of the CA should be
used to verify if the server certificates have not been revoked. This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man5/slapd-config.5 new/openldap-2.4.52/doc/man/man5/slapd-config.5
--- old/openldap-2.4.51/doc/man/man5/slapd-config.5 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man5/slapd-config.5 2020-08-28 18:10:00.000000000 +0200
@@ -923,9 +923,9 @@
so this directive is ignored.
.TP
.B olcTLSECName: <name>
-Specify the name of a curve to use for Elliptic curve Diffie-Hellman
-ephemeral key exchange. This is required to enable ECDHE algorithms in
-OpenSSL. This option is not used with GnuTLS; the curves may be
+Specify the name of the curve(s) to use for Elliptic curve Diffie-Hellman
+ephemeral key exchange. This option is only used for OpenSSL.
+This option is not used with GnuTLS; the curves may be
chosen in the GnuTLS ciphersuite specification. This option is also
ignored for Mozilla NSS.
.TP
@@ -1785,7 +1785,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<names>]
.B [tls_crlcheck=none|peer|all]
.B [tls_protocol_min=<major>[.<minor>]]
.B [suffixmassage=<real DN>]
@@ -1951,7 +1953,9 @@
argument is supplied, the session will be aborted if the StartTLS request
fails. Otherwise the syncrepl session continues without TLS. The
.B tls_reqcert
-setting defaults to "demand" and the other TLS settings default to the same
+setting defaults to "demand", the
+.B tls_reqsan
+setting defaults to "allow", and the other TLS settings default to the same
as the main slapd TLS settings.
The
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man5/slapd-ldap.5 new/openldap-2.4.52/doc/man/man5/slapd-ldap.5
--- old/openldap-2.4.51/doc/man/man5/slapd-ldap.5 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man5/slapd-ldap.5 2020-08-28 18:10:00.000000000 +0200
@@ -113,7 +113,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<names>]
.B [tls_protocol_min=<major>[.<minor>]]
.B [tls_crlcheck=none|peer|all]
.RS
@@ -152,7 +154,9 @@
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
-which defaults to "demand".
+which defaults to "demand", and
+.B tls_reqsan
+which defaults to "allow".
.RE
.TP
@@ -227,7 +231,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<names>]
.B [tls_protocol_min=<version>]
.B [tls_crlcheck=none|peer|all]
.RS
@@ -378,7 +384,9 @@
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
-which defaults to "demand".
+which defaults to "demand", and
+.B tls_reqsan
+which defaults to "allow".
The identity associated to this directive is also used for privileged
operations whenever \fBidassert\-bind\fP is defined and \fBacl\-bind\fP
@@ -584,7 +592,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<names>]
.B [tls_crlcheck=none|peer|all]
.RS
Specify TLS settings for regular connections.
@@ -600,7 +610,9 @@
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
-which defaults to "demand" and
+which defaults to "demand",
+.B tls_reqsan
+which defaults to "allow", and
.B starttls
which is overshadowed by the first keyword and thus ignored.
.RE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man5/slapd-meta.5 new/openldap-2.4.52/doc/man/man5/slapd-meta.5
--- old/openldap-2.4.51/doc/man/man5/slapd-meta.5 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man5/slapd-meta.5 2020-08-28 18:10:00.000000000 +0200
@@ -361,7 +361,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<ciphers>]
.B [tls_protocol_min=<major>[.<minor>]]
.B [tls_crlcheck=none|peer|all]
.RS
@@ -511,7 +513,9 @@
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
-which defaults to "demand".
+which defaults to "demand", and
+.B tls_reqsan
+which defaults to "allow"..
The identity associated to this directive is also used for privileged
operations whenever \fBidassert\-bind\fP is defined and \fBacl\-bind\fP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/doc/man/man5/slapd.conf.5 new/openldap-2.4.52/doc/man/man5/slapd.conf.5
--- old/openldap-2.4.51/doc/man/man5/slapd.conf.5 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/doc/man/man5/slapd.conf.5 2020-08-28 18:10:00.000000000 +0200
@@ -1154,9 +1154,9 @@
so this directive is ignored.
.TP
.B TLSECName <name>
-Specify the name of a curve to use for Elliptic curve Diffie-Hellman
-ephemeral key exchange. This is required to enable ECDHE algorithms in
-OpenSSL. This option is not used with GnuTLS; the curves may be
+Specify the name of the curve(s) to use for Elliptic curve Diffie-Hellman
+ephemeral key exchange. This option is only used for OpenSSL.
+This option is not used with GnuTLS; the curves may be
chosen in the GnuTLS ciphersuite specification. This option is also
ignored for Mozilla NSS.
.TP
@@ -1765,7 +1765,9 @@
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
+.B [tls_reqsan=never|allow|try|demand]
.B [tls_cipher_suite=<ciphers>]
+.B [tls_ecname=<names>]
.B [tls_crlcheck=none|peer|all]
.B [tls_protocol_min=<major>[.<minor>]]
.B [suffixmassage=<real DN>]
@@ -1963,7 +1965,9 @@
argument is supplied, the session will be aborted if the StartTLS request
fails. Otherwise the syncrepl session continues without TLS. The
.B tls_reqcert
-setting defaults to "demand" and the other TLS settings
+setting defaults to "demand", the
+.B tls_reqsan
+seting defaults to "allow", and the other TLS settings
default to the same as the main slapd TLS settings.
The
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/include/ldap.h new/openldap-2.4.52/include/ldap.h
--- old/openldap-2.4.51/include/ldap.h 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/include/ldap.h 2020-08-28 18:10:00.000000000 +0200
@@ -159,6 +159,7 @@
#define LDAP_OPT_X_TLS_CRLFILE 0x6010 /* GNUtls only */
#define LDAP_OPT_X_TLS_PACKAGE 0x6011
#define LDAP_OPT_X_TLS_ECNAME 0x6012
+#define LDAP_OPT_X_TLS_REQUIRE_SAN 0x601a
#define LDAP_OPT_X_TLS_NEVER 0
#define LDAP_OPT_X_TLS_HARD 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/init.c new/openldap-2.4.52/libraries/libldap/init.c
--- old/openldap-2.4.51/libraries/libldap/init.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/init.c 2020-08-28 18:10:00.000000000 +0200
@@ -127,9 +127,11 @@
{0, ATTR_TLS, "TLS_CACERT", NULL, LDAP_OPT_X_TLS_CACERTFILE},
{0, ATTR_TLS, "TLS_CACERTDIR", NULL, LDAP_OPT_X_TLS_CACERTDIR},
{0, ATTR_TLS, "TLS_REQCERT", NULL, LDAP_OPT_X_TLS_REQUIRE_CERT},
+ {0, ATTR_TLS, "TLS_REQSAN", NULL, LDAP_OPT_X_TLS_REQUIRE_SAN},
{0, ATTR_TLS, "TLS_RANDFILE", NULL, LDAP_OPT_X_TLS_RANDOM_FILE},
{0, ATTR_TLS, "TLS_CIPHER_SUITE", NULL, LDAP_OPT_X_TLS_CIPHER_SUITE},
{0, ATTR_TLS, "TLS_PROTOCOL_MIN", NULL, LDAP_OPT_X_TLS_PROTOCOL_MIN},
+ {0, ATTR_TLS, "TLS_ECNAME", NULL, LDAP_OPT_X_TLS_ECNAME},
#ifdef HAVE_OPENSSL_CRL
{0, ATTR_TLS, "TLS_CRLCHECK", NULL, LDAP_OPT_X_TLS_CRLCHECK},
@@ -573,6 +575,7 @@
gopts->ldo_tls_connect_cb = NULL;
gopts->ldo_tls_connect_arg = NULL;
gopts->ldo_tls_require_cert = LDAP_OPT_X_TLS_DEMAND;
+ gopts->ldo_tls_require_san = LDAP_OPT_X_TLS_ALLOW;
#endif
gopts->ldo_keepalive_probes = 0;
gopts->ldo_keepalive_interval = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/ldap-int.h new/openldap-2.4.52/libraries/libldap/ldap-int.h
--- old/openldap-2.4.51/libraries/libldap/ldap-int.h 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/ldap-int.h 2020-08-28 18:10:00.000000000 +0200
@@ -262,6 +262,7 @@
int ldo_tls_require_cert;
int ldo_tls_impl;
int ldo_tls_crlcheck;
+ int ldo_tls_require_san;
#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0
#else
#define LDAP_LDO_TLS_NULLARG
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/result.c new/openldap-2.4.52/libraries/libldap/result.c
--- old/openldap-2.4.51/libraries/libldap/result.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/result.c 2020-08-28 18:10:00.000000000 +0200
@@ -486,7 +486,8 @@
#ifdef LDAP_CONNECTIONLESS
if ( LDAP_IS_UDP(ld) ) {
struct sockaddr_storage from;
- ber_int_sb_read( lc->lconn_sb, &from, sizeof(struct sockaddr_storage) );
+ if ( ber_int_sb_read( lc->lconn_sb, &from, sizeof(struct sockaddr_storage) ) < 0 )
+ goto fail;
if ( ld->ld_options.ldo_version == LDAP_VERSION2 ) isv2 = 1;
}
nextresp3:
@@ -502,10 +503,11 @@
break;
case LBER_DEFAULT:
+fail:
err = sock_errno();
#ifdef LDAP_DEBUG
Debug( LDAP_DEBUG_CONNS,
- "ber_get_next failed.\n", 0, 0, 0 );
+ "ber_get_next failed, errno=%d.\n", err, 0, 0 );
#endif
if ( err == EWOULDBLOCK ) return LDAP_MSG_X_KEEP_LOOKING;
if ( err == EAGAIN ) return LDAP_MSG_X_KEEP_LOOKING;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/tls2.c new/openldap-2.4.52/libraries/libldap/tls2.c
--- old/openldap-2.4.51/libraries/libldap/tls2.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/tls2.c 2020-08-28 18:10:00.000000000 +0200
@@ -532,10 +532,12 @@
case LDAP_OPT_X_TLS_RANDOM_FILE:
case LDAP_OPT_X_TLS_CIPHER_SUITE:
case LDAP_OPT_X_TLS_DHFILE:
+ case LDAP_OPT_X_TLS_ECNAME:
case LDAP_OPT_X_TLS_CRLFILE: /* GnuTLS only */
return ldap_pvt_tls_set_option( ld, option, (void *) arg );
case LDAP_OPT_X_TLS_REQUIRE_CERT:
+ case LDAP_OPT_X_TLS_REQUIRE_SAN:
case LDAP_OPT_X_TLS:
i = -1;
if ( strcasecmp( arg, "never" ) == 0 ) {
@@ -666,6 +668,9 @@
case LDAP_OPT_X_TLS_REQUIRE_CERT:
*(int *)arg = lo->ldo_tls_require_cert;
break;
+ case LDAP_OPT_X_TLS_REQUIRE_SAN:
+ *(int *)arg = lo->ldo_tls_require_san;
+ break;
#ifdef HAVE_OPENSSL_CRL
case LDAP_OPT_X_TLS_CRLCHECK: /* OpenSSL only */
*(int *)arg = lo->ldo_tls_crlcheck;
@@ -798,6 +803,18 @@
return 0;
}
return -1;
+ case LDAP_OPT_X_TLS_REQUIRE_SAN:
+ if ( !arg ) return -1;
+ switch( *(int *) arg ) {
+ case LDAP_OPT_X_TLS_NEVER:
+ case LDAP_OPT_X_TLS_DEMAND:
+ case LDAP_OPT_X_TLS_ALLOW:
+ case LDAP_OPT_X_TLS_TRY:
+ case LDAP_OPT_X_TLS_HARD:
+ lo->ldo_tls_require_san = * (int *) arg;
+ return 0;
+ }
+ return -1;
#ifdef HAVE_OPENSSL_CRL
case LDAP_OPT_X_TLS_CRLCHECK: /* OpenSSL only */
if ( !arg ) return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/tls_g.c new/openldap-2.4.52/libraries/libldap/tls_g.c
--- old/openldap-2.4.51/libraries/libldap/tls_g.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/tls_g.c 2020-08-28 18:10:00.000000000 +0200
@@ -453,6 +453,7 @@
{
tlsg_session *s = (tlsg_session *)session;
int i, ret;
+ int chkSAN = ld->ld_options.ldo_tls_require_san, gotSAN = 0;
const gnutls_datum_t *peer_cert_list;
unsigned int list_size;
char altname[NI_MAXHOST];
@@ -515,12 +516,14 @@
}
}
+ if (chkSAN) {
for ( i=0, ret=0; ret >= 0; i++ ) {
altnamesize = sizeof(altname);
ret = gnutls_x509_crt_get_subject_alt_name( cert, i,
altname, &altnamesize, NULL );
if ( ret < 0 ) break;
+ gotSAN = 1;
/* ignore empty */
if ( altnamesize == 0 ) continue;
@@ -556,7 +559,44 @@
}
if ( ret >= 0 ) {
ret = LDAP_SUCCESS;
- } else {
+ }
+ }
+ if (ret != LDAP_SUCCESS && chkSAN) {
+ switch(chkSAN) {
+ case LDAP_OPT_X_TLS_DEMAND:
+ case LDAP_OPT_X_TLS_HARD:
+ if (!gotSAN) {
+ Debug( LDAP_DEBUG_ANY,
+ "TLS: unable to get subjectAltName from peer certificate.\n", 0, 0, 0 );
+ ret = LDAP_CONNECT_ERROR;
+ if ( ld->ld_error ) {
+ LDAP_FREE( ld->ld_error );
+ }
+ ld->ld_error = LDAP_STRDUP(
+ _("TLS: unable to get subjectAltName from peer certificate"));
+ goto done;
+ }
+ /* FALLTHRU */
+ case LDAP_OPT_X_TLS_TRY:
+ if (gotSAN) {
+ Debug( LDAP_DEBUG_ANY, "TLS: hostname (%s) does not match "
+ "subjectAltName in certificate.\n",
+ name, 0, 0 );
+ ret = LDAP_CONNECT_ERROR;
+ if ( ld->ld_error ) {
+ LDAP_FREE( ld->ld_error );
+ }
+ ld->ld_error = LDAP_STRDUP(
+ _("TLS: hostname does not match subjectAltName in peer certificate"));
+ goto done;
+ }
+ break;
+ case LDAP_OPT_X_TLS_ALLOW:
+ break;
+ }
+ }
+
+ if ( ret != LDAP_SUCCESS ){
/* find the last CN */
i=0;
do {
@@ -611,9 +651,10 @@
LDAP_FREE( ld->ld_error );
}
ld->ld_error = LDAP_STRDUP(
- _("TLS: hostname does not match CN in peer certificate"));
+ _("TLS: hostname does not match name in peer certificate"));
}
}
+done:
gnutls_x509_crt_deinit( cert );
return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/libldap/tls_o.c new/openldap-2.4.52/libraries/libldap/tls_o.c
--- old/openldap-2.4.51/libraries/libldap/tls_o.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/libldap/tls_o.c 2020-08-28 18:10:00.000000000 +0200
@@ -407,34 +407,30 @@
DH_free( dh );
}
- if ( is_server && lo->ldo_tls_ecname ) {
+ if ( lo->ldo_tls_ecname ) {
#ifdef OPENSSL_NO_EC
Debug( LDAP_DEBUG_ANY,
"TLS: Elliptic Curves not supported.\n", 0,0,0 );
return -1;
#else
- EC_KEY *ecdh;
-
- int nid = OBJ_sn2nid( lt->lt_ecname );
- if ( nid == NID_undef ) {
+ if ( !SSL_CTX_set1_curves_list( ctx, lt->lt_ecname )) {
Debug( LDAP_DEBUG_ANY,
- "TLS: could not use EC name `%s'.\n",
+ "TLS: could not set EC name `%s'.\n",
lo->ldo_tls_ecname,0,0);
tlso_report_error();
return -1;
}
- ecdh = EC_KEY_new_by_curve_name( nid );
- if ( ecdh == NULL ) {
+ /*
+ * This is a NOP in OpenSSL 1.1.0 and later, where curves are always
+ * auto-negotiated.
+ */
+#if OPENSSL_VERSION_NUMBER < 0x10100000UL
+ if ( SSL_CTX_set_ecdh_auto( ctx, 1 ) <= 0 ) {
Debug( LDAP_DEBUG_ANY,
- "TLS: could not generate key for EC name `%s'.\n",
- lo->ldo_tls_ecname,0,0);
- tlso_report_error();
- return -1;
+ "TLS: could not enable automatic EC negotiation.\n", 0, 0, 0 );
}
- SSL_CTX_set_tmp_ecdh( ctx, ecdh );
- SSL_CTX_set_options( ctx, SSL_OP_SINGLE_ECDH_USE );
- EC_KEY_free( ecdh );
#endif
+#endif /* OPENSSL_NO_EC */
}
if ( tlso_opt_trace ) {
@@ -624,6 +620,7 @@
{
tlso_session *s = (tlso_session *)sess;
int i, ret = LDAP_LOCAL_ERROR;
+ int chkSAN = ld->ld_options.ldo_tls_require_san, gotSAN = 0;
X509 *x;
const char *name;
char *ptr;
@@ -662,7 +659,8 @@
if ((ptr = strrchr(name, '.')) && isdigit((unsigned char)ptr[1])) {
if (inet_aton(name, (struct in_addr *)&addr)) ntype = IS_IP4;
}
-
+
+ if (chkSAN) {
i = X509_get_ext_by_NID(x, NID_subject_alt_name, -1);
if (i >= 0) {
X509_EXTENSION *ex;
@@ -675,6 +673,7 @@
char *domain = NULL;
GENERAL_NAME *gn;
+ gotSAN = 1;
if (ntype == IS_DNS) {
domain = strchr(name, '.');
if (domain) {
@@ -733,6 +732,41 @@
}
}
}
+ }
+ if (ret != LDAP_SUCCESS && chkSAN) {
+ switch(chkSAN) {
+ case LDAP_OPT_X_TLS_DEMAND:
+ case LDAP_OPT_X_TLS_HARD:
+ if (!gotSAN) {
+ Debug( LDAP_DEBUG_ANY,
+ "TLS: unable to get subjectAltName from peer certificate.\n", 0, 0, 0 );
+ ret = LDAP_CONNECT_ERROR;
+ if ( ld->ld_error ) {
+ LDAP_FREE( ld->ld_error );
+ }
+ ld->ld_error = LDAP_STRDUP(
+ _("TLS: unable to get subjectAltName from peer certificate"));
+ goto done;
+ }
+ /* FALLTHRU */
+ case LDAP_OPT_X_TLS_TRY:
+ if (gotSAN) {
+ Debug( LDAP_DEBUG_ANY, "TLS: hostname (%s) does not match "
+ "subjectAltName in certificate.\n",
+ name, 0, 0 );
+ ret = LDAP_CONNECT_ERROR;
+ if ( ld->ld_error ) {
+ LDAP_FREE( ld->ld_error );
+ }
+ ld->ld_error = LDAP_STRDUP(
+ _("TLS: hostname does not match subjectAltName in peer certificate"));
+ goto done;
+ }
+ break;
+ case LDAP_OPT_X_TLS_ALLOW:
+ break;
+ }
+ }
if (ret != LDAP_SUCCESS) {
X509_NAME *xn;
@@ -796,9 +830,10 @@
LDAP_FREE( ld->ld_error );
}
ld->ld_error = LDAP_STRDUP(
- _("TLS: hostname does not match CN in peer certificate"));
+ _("TLS: hostname does not match name in peer certificate"));
}
}
+done:
X509_free(x);
return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/libraries/librewrite/subst.c new/openldap-2.4.52/libraries/librewrite/subst.c
--- old/openldap-2.4.51/libraries/librewrite/subst.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/libraries/librewrite/subst.c 2020-08-28 18:10:00.000000000 +0200
@@ -32,7 +32,7 @@
{
size_t subs_len;
struct berval *subs = NULL, *tmps;
- struct rewrite_submatch *submatch = NULL;
+ struct rewrite_submatch *submatch = NULL, *tmpsm;
struct rewrite_subst *s = NULL;
@@ -71,7 +71,16 @@
goto cleanup;
}
subs = tmps;
-
+ subs[ nsub ].bv_val = NULL;
+
+ tmpsm = ( struct rewrite_submatch * )realloc( submatch,
+ sizeof( struct rewrite_submatch )*( nsub + 1 ) );
+ if ( tmpsm == NULL ) {
+ goto cleanup;
+ }
+ submatch = tmpsm;
+ submatch[ nsub ].ls_map = NULL;
+
/*
* I think an `if l > 0' at runtime is better outside than
* inside a function call ...
@@ -95,19 +104,12 @@
* Substitution pattern
*/
if ( isdigit( (unsigned char) p[ 1 ] ) ) {
- struct rewrite_submatch *tmpsm;
int d = p[ 1 ] - '0';
/*
* Add a new value substitution scheme
*/
- tmpsm = ( struct rewrite_submatch * )realloc( submatch,
- sizeof( struct rewrite_submatch )*( nsub + 1 ) );
- if ( tmpsm == NULL ) {
- goto cleanup;
- }
- submatch = tmpsm;
submatch[ nsub ].ls_submatch = d;
/*
@@ -140,7 +142,6 @@
*/
} else if ( p[ 1 ] == '{' ) {
struct rewrite_map *map;
- struct rewrite_submatch *tmpsm;
map = rewrite_map_parse( info, p + 2,
(const char **)&begin );
@@ -152,13 +153,6 @@
/*
* Add a new value substitution scheme
*/
- tmpsm = ( struct rewrite_submatch * )realloc( submatch,
- sizeof( struct rewrite_submatch )*( nsub + 1 ) );
- if ( tmpsm == NULL ) {
- rewrite_map_destroy( &map );
- goto cleanup;
- }
- submatch = tmpsm;
submatch[ nsub ].ls_type =
REWRITE_SUBMATCH_MAP_W_ARG;
submatch[ nsub ].ls_map = map;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/servers/slapd/back-mdb/idl.c new/openldap-2.4.52/servers/slapd/back-mdb/idl.c
--- old/openldap-2.4.51/servers/slapd/back-mdb/idl.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/servers/slapd/back-mdb/idl.c 2020-08-28 18:10:00.000000000 +0200
@@ -625,9 +625,30 @@
}
if ( lo2 >= hi2 ) {
/* The range has collapsed... */
- rc = mdb_cursor_del( cursor, MDB_NODUPDATA );
+ /* delete the range marker */
+ rc = mdb_cursor_del( cursor, 0 );
if ( rc != 0 ) {
- err = "c_del dup";
+ err = "c_del dup1";
+ goto fail;
+ }
+ /* skip past deleted marker */
+ rc = mdb_cursor_get( cursor, &key, &data, MDB_NEXT_DUP );
+ if ( rc != 0 ) {
+ err = "c_get dup1";
+ goto fail;
+ }
+ /* delete the requested id */
+ if ( id == hi ) {
+ /* skip lo */
+ rc = mdb_cursor_get( cursor, &key, &data, MDB_NEXT_DUP );
+ if ( rc != 0 ) {
+ err = "c_get dup2";
+ goto fail;
+ }
+ }
+ rc = mdb_cursor_del( cursor, 0 );
+ if ( rc != 0 ) {
+ err = "c_del dup2";
goto fail;
}
} else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/servers/slapd/config.c new/openldap-2.4.52/servers/slapd/config.c
--- old/openldap-2.4.51/servers/slapd/config.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/servers/slapd/config.c 2020-08-28 18:10:00.000000000 +0200
@@ -1428,8 +1428,10 @@
{ BER_BVC("tls_cacert="), offsetof(slap_bindconf, sb_tls_cacert), 's', 1, NULL },
{ BER_BVC("tls_cacertdir="), offsetof(slap_bindconf, sb_tls_cacertdir), 's', 1, NULL },
{ BER_BVC("tls_reqcert="), offsetof(slap_bindconf, sb_tls_reqcert), 's', 0, NULL },
+ { BER_BVC("tls_reqsan="), offsetof(slap_bindconf, sb_tls_reqsan), 's', 0, NULL },
{ BER_BVC("tls_cipher_suite="), offsetof(slap_bindconf, sb_tls_cipher_suite), 's', 0, NULL },
{ BER_BVC("tls_protocol_min="), offsetof(slap_bindconf, sb_tls_protocol_min), 's', 0, NULL },
+ { BER_BVC("tls_ecname="), offsetof(slap_bindconf, sb_tls_ecname), 's', 0, NULL },
#ifdef HAVE_OPENSSL_CRL
{ BER_BVC("tls_crlcheck="), offsetof(slap_bindconf, sb_tls_crlcheck), 's', 0, NULL },
#endif
@@ -1795,6 +1797,10 @@
ch_free( bc->sb_tls_reqcert );
bc->sb_tls_reqcert = NULL;
}
+ if ( bc->sb_tls_reqsan ) {
+ ch_free( bc->sb_tls_reqsan );
+ bc->sb_tls_reqsan = NULL;
+ }
if ( bc->sb_tls_cipher_suite ) {
ch_free( bc->sb_tls_cipher_suite );
bc->sb_tls_cipher_suite = NULL;
@@ -1803,6 +1809,10 @@
ch_free( bc->sb_tls_protocol_min );
bc->sb_tls_protocol_min = NULL;
}
+ if ( bc->sb_tls_ecname ) {
+ ch_free( bc->sb_tls_ecname );
+ bc->sb_tls_ecname = NULL;
+ }
#ifdef HAVE_OPENSSL_CRL
if ( bc->sb_tls_crlcheck ) {
ch_free( bc->sb_tls_crlcheck );
@@ -1838,6 +1848,11 @@
&bc->sb_tls_cipher_suite );
if ( !bc->sb_tls_reqcert )
bc->sb_tls_reqcert = ch_strdup("demand");
+ if ( !bc->sb_tls_reqsan )
+ bc->sb_tls_reqsan = ch_strdup("allow");
+ if ( !bc->sb_tls_ecname )
+ slap_tls_get_config( slap_tls_ld, LDAP_OPT_X_TLS_ECNAME,
+ &bc->sb_tls_ecname );
#ifdef HAVE_OPENSSL_CRL
if ( !bc->sb_tls_crlcheck )
slap_tls_get_config( slap_tls_ld, LDAP_OPT_X_TLS_CRLCHECK,
@@ -1858,7 +1873,7 @@
{ "tls_cacert", offsetof(slap_bindconf, sb_tls_cacert), LDAP_OPT_X_TLS_CACERTFILE },
{ "tls_cacertdir", offsetof(slap_bindconf, sb_tls_cacertdir), LDAP_OPT_X_TLS_CACERTDIR },
{ "tls_cipher_suite", offsetof(slap_bindconf, sb_tls_cipher_suite), LDAP_OPT_X_TLS_CIPHER_SUITE },
- { "tls_protocol_min", offsetof(slap_bindconf, sb_tls_protocol_min), LDAP_OPT_X_TLS_PROTOCOL_MIN },
+ { "tls_ecname", offsetof(slap_bindconf, sb_tls_ecname), LDAP_OPT_X_TLS_ECNAME },
{0, 0}
};
@@ -1893,6 +1908,16 @@
} else
newctx = 1;
}
+ if ( bc->sb_tls_reqsan ) {
+ rc = ldap_int_tls_config( ld, LDAP_OPT_X_TLS_REQUIRE_SAN,
+ bc->sb_tls_reqsan );
+ if ( rc ) {
+ Debug( LDAP_DEBUG_ANY,
+ "bindconf_tls_set: failed to set tls_reqsan to %s\n",
+ bc->sb_tls_reqsan, 0, 0 );
+ res = -1;
+ }
+ }
if ( bc->sb_tls_protocol_min ) {
rc = ldap_int_tls_config( ld, LDAP_OPT_X_TLS_PROTOCOL_MIN,
bc->sb_tls_protocol_min );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/servers/slapd/slap.h new/openldap-2.4.52/servers/slapd/slap.h
--- old/openldap-2.4.51/servers/slapd/slap.h 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/servers/slapd/slap.h 2020-08-28 18:10:00.000000000 +0200
@@ -1639,8 +1639,10 @@
char *sb_tls_cacert;
char *sb_tls_cacertdir;
char *sb_tls_reqcert;
+ char *sb_tls_reqsan;
char *sb_tls_cipher_suite;
char *sb_tls_protocol_min;
+ char *sb_tls_ecname;
#ifdef HAVE_OPENSSL_CRL
char *sb_tls_crlcheck;
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/servers/slapd/syncrepl.c new/openldap-2.4.52/servers/slapd/syncrepl.c
--- old/openldap-2.4.51/servers/slapd/syncrepl.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/servers/slapd/syncrepl.c 2020-08-28 18:10:00.000000000 +0200
@@ -501,103 +501,132 @@
return rc;
}
+/* #define DEBUG_MERGE_STATE 1 */
+
static int
-merge_state( syncinfo_t *si )
+merge_state( syncinfo_t *si, struct sync_cookie *sc1, struct sync_cookie *sc2 )
{
- int i, j = 0, k, numcsns = 0, alloc = 0, changed = 0;
- BerVarray new_ctxcsn = si->si_syncCookie.ctxcsn;
- int *new_sids = NULL;
-
- /* Count and set up sids */
- for ( i=0; i < si->si_cookieState->cs_num; i++ ) {
- if ( si->si_cookieState->cs_sids[i] == -1 ) {
- continue;
- }
-
- for ( ; j < si->si_syncCookie.numcsns &&
- si->si_syncCookie.sids[j] == -1;
- j++ )
- alloc = 1; /* Just skip over them */
-
- for ( ; j < si->si_syncCookie.numcsns &&
- si->si_syncCookie.sids[j] < si->si_cookieState->cs_sids[i];
- j++ ) {
- if ( si->si_syncCookie.sids[j] != -1 ) {
- new_sids = ch_realloc( new_sids, (numcsns+1)*sizeof(int) );
- new_sids[numcsns++] = si->si_syncCookie.sids[j];
+ int i, j, k, changed = 0;
+ int ei, ej;
+ int *newsids;
+ struct berval *newcsns;
+
+ ei = sc1->numcsns;
+ ej = sc2->numcsns;
+#ifdef DEBUG_MERGE_STATE
+ for ( i=0; i<ei; i++ ) {
+ fprintf(stderr, "merge_state: %s si_syncCookie [%d] %d %s\n",
+ si->si_ridtxt, i, sc1->sids[i], sc1->ctxcsn[i].bv_val );
+ }
+ for ( i=0; i<ej; i++ ) {
+ fprintf(stderr, "merge_state: %s si_cookieState [%d] %d %s\n",
+ si->si_ridtxt, i, sc2->sids[i], sc2->ctxcsn[i].bv_val );
+ }
+#endif
+ /* see if they cover the same SIDs */
+ if ( ei == ej ) {
+ for ( i = 0; i < ei; i++ ) {
+ if ( sc1->sids[i] != sc2->sids[i] ) {
+ changed = 1;
+ break;
}
}
-
- if ( j < si->si_syncCookie.numcsns &&
- si->si_syncCookie.sids[j] == si->si_cookieState->cs_sids[i] ) j++;
-
- new_sids = ch_realloc( new_sids, (numcsns+1)*sizeof(int) );
- new_sids[numcsns++] = si->si_cookieState->cs_sids[i];
- }
-
- for ( ; j < si->si_syncCookie.numcsns; j++ ) {
- if ( si->si_syncCookie.sids[j] != -1 ) {
- new_sids = ch_realloc( new_sids, (numcsns+1)*sizeof(int) );
- new_sids[numcsns++] = si->si_syncCookie.sids[j];
+ /* SIDs are the same, take fast path */
+ if ( !changed ) {
+ for ( i = 0; i > ei; i++ ) {
+ if ( !bvmatch( &sc1->ctxcsn[i], &sc2->ctxcsn[i] )) {
+ ber_bvreplace( &sc1->ctxcsn[i], &sc2->ctxcsn[i] );
+ changed = 1;
+ }
+ }
+ return changed;
}
+ changed = 0;
}
- if ( alloc || numcsns != si->si_syncCookie.numcsns ) {
- /* Short circuit allocations if we don't need to start over */
- alloc = 1;
- new_ctxcsn = ch_calloc( numcsns + 1, sizeof( BerValue ) );
- }
+ i = ei + ej;
+ newsids = ch_malloc( sizeof(int) * i );
+ newcsns = ch_malloc( sizeof(struct berval) * ( i + 1 ));
- i = j = 0;
- for ( k=0; k < numcsns; k++ ) {
- while ( i < si->si_cookieState->cs_num &&
- si->si_cookieState->cs_sids[i] < new_sids[k] )
+ for ( i=0, j=0, k=0; i < ei || j < ej ; ) {
+ if ( sc1->sids[i] == -1 ) {
i++;
-
- while ( j < si->si_syncCookie.numcsns &&
- si->si_syncCookie.sids[j] < new_sids[k] )
- j++;
-
- if ( j < si->si_syncCookie.numcsns &&
- si->si_cookieState->cs_sids[i] == si->si_syncCookie.sids[j] ) {
- assert( si->si_cookieState->cs_sids[i] == new_sids[k] );
- if ( !bvmatch( &si->si_syncCookie.ctxcsn[j],
- &si->si_cookieState->cs_vals[i] )) {
- ber_bvreplace( &new_ctxcsn[k], &si->si_cookieState->cs_vals[i] );
+ continue;
+ }
+ if ( j >= ej || (i < ei && sc1->sids[i] < sc2->sids[j] )) {
+ newsids[k] = sc1->sids[i];
+ ber_dupbv( &newcsns[k], &sc1->ctxcsn[i] );
+ i++; k++;
+ continue;
+ }
+ if ( i < ei && sc1->sids[i] == sc2->sids[j] ) {
+ newsids[k] = sc1->sids[i];
+ ber_dupbv( &newcsns[k], &sc2->ctxcsn[j] );
+ if ( !bvmatch( &sc1->ctxcsn[i], &sc2->ctxcsn[j] ))
changed = 1;
- } else if ( alloc ) {
- ber_dupbv( &new_ctxcsn[k], &si->si_syncCookie.ctxcsn[j] );
+ i++; j++; k++;
+ continue;
+ }
+ if ( j < ej ) {
+ if ( sc2->sids[j] == -1 ) {
+ j++;
+ continue;
}
- i++;
- j++;
- } else if ( si->si_cookieState->cs_sids[i] == new_sids[k] ) {
+ newsids[k] = sc2->sids[j];
+ ber_dupbv( &newcsns[k], &sc2->ctxcsn[j] );
changed = 1;
- ber_bvreplace( &new_ctxcsn[k], &si->si_cookieState->cs_vals[i] );
- i++;
- } else {
- if ( alloc ) {
- ber_dupbv( &new_ctxcsn[k], &si->si_syncCookie.ctxcsn[j] );
- }
- j++;
+ j++; k++;
}
}
- assert( i == si->si_cookieState->cs_num );
- assert( j == si->si_syncCookie.numcsns );
- si->si_syncCookie.numcsns = numcsns;
- if ( alloc ) {
- changed = 1;
- ch_free( si->si_syncCookie.sids );
- si->si_syncCookie.sids = new_sids;
-
- ber_bvarray_free( si->si_syncCookie.ctxcsn );
- si->si_syncCookie.ctxcsn = new_ctxcsn;
- } else {
- ch_free( new_sids );
+ ber_bvarray_free( sc1->ctxcsn );
+ ch_free( sc1->sids );
+ sc1->numcsns = k;
+ sc1->sids = ch_realloc( newsids, sizeof(int) * k );
+ sc1->ctxcsn = ch_realloc( newcsns, sizeof(struct berval) * (k+1) );
+ BER_BVZERO( &sc1->ctxcsn[k] );
+#ifdef DEBUG_MERGE_STATE
+ for ( i=0; i<sc1->numcsns; i++ ) {
+ fprintf(stderr, "merge_state: %s si_syncCookie2 [%d] %d %s\n",
+ si->si_ridtxt, i, sc1->sids[i], sc1->ctxcsn[i].bv_val );
}
+#endif
+
return changed;
}
+#ifdef DEBUG_MERGE_STATE
+static void
+merge_test( syncinfo_t *si ) {
+ struct sync_cookie sc1, sc2;
+ int ret;
+
+ sc1.numcsns = 1;
+ sc1.sids = malloc( sizeof(int));
+ sc1.ctxcsn = malloc( sizeof( struct berval ) * 2);
+ sc1.sids[0] = 1;
+ { struct berval bv = BER_BVC("20200826182258.100566Z#000000#001#000000");
+ ber_dupbv( &sc1.ctxcsn[0], &bv ); }
+ BER_BVZERO( &sc1.ctxcsn[1] );
+
+ sc2.numcsns = 3;
+ sc2.sids = malloc( sizeof(int) * 3);
+ sc2.ctxcsn = malloc( sizeof(struct berval) * 4);
+ sc2.sids[0] = 1;
+ sc2.sids[1] = 2;
+ sc2.sids[2] = 3;
+ { struct berval bv = BER_BVC("20200826182258.100567Z#000000#001#000000");
+ ber_dupbv( &sc2.ctxcsn[0], &bv ); }
+ { struct berval bv = BER_BVC("20200826182259.141950Z#000000#002#000000");
+ ber_dupbv( &sc2.ctxcsn[1], &bv ); }
+ { struct berval bv = BER_BVC("20200826182300.171795Z#000000#003#000000");
+ ber_dupbv( &sc2.ctxcsn[2], &bv ); }
+ BER_BVZERO( &sc2.ctxcsn[3] );
+
+ ret = merge_state( si, &sc1, &sc2 );
+}
+#endif
+
static int
check_syncprov(
Operation *op,
@@ -668,8 +697,9 @@
ber_bvarray_dup_x( &si->si_syncCookie.ctxcsn,
si->si_cookieState->cs_vals, NULL );
changed = 1;
- } else if ( merge_state( si ) ) {
- changed = 1;
+ } else {
+ changed = merge_state( si, &si->si_syncCookie,
+ (struct sync_cookie *)&si->si_cookieState->cs_vals );
}
}
if ( changed ) {
@@ -874,7 +904,11 @@
return match;
}
-#define SYNC_PAUSED -3
+#define SYNC_TIMEOUT 0
+#define SYNC_SHUTDOWN -100
+#define SYNC_ERROR -101
+#define SYNC_REPOLL -102
+#define SYNC_PAUSED -103
static int
do_syncrep2(
@@ -896,14 +930,13 @@
int m;
- struct timeval *tout_p = NULL;
struct timeval tout = { 0, 0 };
int refreshDeletes = 0;
char empty[6] = "empty";
if ( slapd_shutdown ) {
- rc = -2;
+ rc = SYNC_SHUTDOWN;
goto done;
}
@@ -914,14 +947,8 @@
slap_dup_sync_cookie( &syncCookie_req, &si->si_syncCookie );
- if ( abs(si->si_type) == LDAP_SYNC_REFRESH_AND_PERSIST && si->si_refreshDone ) {
- tout_p = &tout;
- } else {
- tout_p = NULL;
- }
-
while ( ( rc = ldap_result( si->si_ld, si->si_msgid, LDAP_MSG_ONE,
- tout_p, &msg ) ) > 0 )
+ &tout, &msg ) ) > 0 )
{
int match, punlock, syncstate;
struct berval *retdata, syncUUID[2], cookie = BER_BVNULL;
@@ -934,7 +961,7 @@
struct berval bdn;
if ( slapd_shutdown ) {
- rc = -2;
+ rc = SYNC_SHUTDOWN;
goto done;
}
switch( ldap_msgtype( msg ) ) {
@@ -1044,7 +1071,7 @@
/* check pending CSNs too */
while ( ldap_pvt_thread_mutex_trylock( &si->si_cookieState->cs_pmutex )) {
if ( slapd_shutdown ) {
- rc = -2;
+ rc = SYNC_SHUTDOWN;
goto done;
}
if ( !ldap_pvt_thread_pool_pausecheck( &connection_pool ))
@@ -1206,7 +1233,7 @@
"got search result with multiple "
"Sync State control\n", si->si_ridtxt, 0, 0 );
ldap_controls_free( rctrls );
- rc = -1;
+ rc = SYNC_ERROR;
goto done;
}
}
@@ -1277,7 +1304,11 @@
rc = LDAP_SYNC_REFRESH_REQUIRED;
slap_resume_listeners();
} else {
- rc = -2;
+ /* for persist, we shouldn't get a SearchResult so this is an error */
+ if ( si->si_type == LDAP_SYNC_REFRESH_AND_PERSIST )
+ rc = SYNC_ERROR;
+ else
+ rc = SYNC_REPOLL;
}
goto done;
@@ -1353,9 +1384,6 @@
si->si_refreshDone = 1;
}
ber_scanf( ber, /*"{"*/ "}" );
- if ( abs(si->si_type) == LDAP_SYNC_REFRESH_AND_PERSIST &&
- si->si_refreshDone )
- tout_p = &tout;
break;
case LDAP_TAG_SYNC_ID_SET:
Debug( LDAP_DEBUG_SYNC,
@@ -1485,7 +1513,7 @@
}
}
- if ( rc == -1 ) {
+ if ( rc == SYNC_ERROR ) {
rc = LDAP_OTHER;
ldap_get_option( si->si_ld, LDAP_OPT_ERROR_NUMBER, &rc );
err = rc;
@@ -1528,7 +1556,7 @@
int rc = LDAP_SUCCESS;
int dostop = 0;
ber_socket_t s;
- int i, defer = 1, fail = 0, freeinfo = 0;
+ int i, fail = 0, freeinfo = 0;
Backend *be;
if ( si == NULL )
@@ -1661,25 +1689,19 @@
}
if ( si->si_conn )
dostop = 1;
- rc = -1;
+ rc = SYNC_SHUTDOWN;
}
if ( rc != SYNC_PAUSED ) {
- if ( abs(si->si_type) == LDAP_SYNC_REFRESH_AND_PERSIST ) {
- /* If we succeeded, enable the connection for further listening.
- * If we failed, tear down the connection and reschedule.
- */
- if ( rc == LDAP_SUCCESS ) {
- if ( si->si_conn ) {
- connection_client_enable( si->si_conn );
- } else {
- si->si_conn = connection_client_setup( s, do_syncrepl, arg );
- }
- } else if ( si->si_conn ) {
- dostop = 1;
+ if ( rc == SYNC_TIMEOUT ) {
+ /* there was nothing to read, try to listen for more */
+ if ( si->si_conn ) {
+ connection_client_enable( si->si_conn );
+ } else {
+ si->si_conn = connection_client_setup( s, do_syncrepl, arg );
}
- } else {
- if ( rc == -2 ) rc = 0;
+ } else if ( si->si_conn ) {
+ dostop = 1;
}
}
}
@@ -1688,8 +1710,8 @@
* 1) for any hard failure, give up and remove this task
* 2) for ServerDown, reschedule this task to run later
* 3) for threadpool pause, reschedule to run immediately
- * 4) for Refresh and Success, reschedule to run
- * 5) for Persist and Success, reschedule to defer
+ * 4) for SYNC_REPOLL, reschedule to run later
+ * 5) for SYNC_TIMEOUT, reschedule to defer
*/
ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
@@ -1707,25 +1729,26 @@
ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 );
rtask->interval.tv_sec = si->si_interval;
rc = 0;
- } else if ( rc == LDAP_SUCCESS ) {
- if ( si->si_type == LDAP_SYNC_REFRESH_ONLY ) {
- defer = 0;
- }
+ } else if ( rc == SYNC_TIMEOUT ) {
+ ldap_pvt_runqueue_resched( &slapd_rq, rtask, 1 );
+ } else if ( rc == SYNC_REPOLL ) {
rtask->interval.tv_sec = si->si_interval;
- ldap_pvt_runqueue_resched( &slapd_rq, rtask, defer );
+ ldap_pvt_runqueue_resched( &slapd_rq, rtask, 0 );
if ( si->si_retrynum ) {
for ( i = 0; si->si_retrynum_init[i] != RETRYNUM_TAIL; i++ ) {
si->si_retrynum[i] = si->si_retrynum_init[i];
}
si->si_retrynum[i] = RETRYNUM_TAIL;
}
+ slap_wake_listener();
+ rc = 0;
} else {
for ( i = 0; si->si_retrynum && si->si_retrynum[i] <= 0; i++ ) {
if ( si->si_retrynum[i] == RETRYNUM_FOREVER || si->si_retrynum[i] == RETRYNUM_TAIL )
break;
}
- if ( si->si_ctype < 1
+ if ( si->si_ctype < 1 || rc == SYNC_SHUTDOWN
|| !si->si_retrynum || si->si_retrynum[i] == RETRYNUM_TAIL ) {
if ( si->si_re ) {
ldap_pvt_runqueue_remove( &slapd_rq, rtask );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/tests/data/regressions/its9282/config.ldif new/openldap-2.4.52/tests/data/regressions/its9282/config.ldif
--- old/openldap-2.4.51/tests/data/regressions/its9282/config.ldif 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/tests/data/regressions/its9282/config.ldif 2020-08-28 18:10:00.000000000 +0200
@@ -62,7 +62,7 @@
dn="cn=manager,dc=example,dc=com" credentials=secret timeout=1
olcMirrorMode: TRUE
-dn: olcOverlay={0}syncprov,olcDatabase={1}mdb,cn=config
+dn: olcOverlay={0}syncprov,olcDatabase={1}@BACKEND@,cn=config
objectClass: olcSyncProvConfig
olcOverlay: {0}syncprov
olcSpCheckpoint: 100 10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openldap-2.4.51/tests/progs/slapd-mtread.c new/openldap-2.4.52/tests/progs/slapd-mtread.c
--- old/openldap-2.4.51/tests/progs/slapd-mtread.c 2020-08-11 20:33:20.000000000 +0200
+++ new/openldap-2.4.52/tests/progs/slapd-mtread.c 2020-08-28 18:10:00.000000000 +0200
@@ -185,7 +185,7 @@
/* by default, tolerate referrals and no such object */
tester_ignore_str2errlist( "REFERRAL,NO_SUCH_OBJECT" );
- while ( (i = getopt( argc, argv, "ACc:D:e:Ff:H:h:i:L:l:M:m:p:r:t:T:w:v" )) != EOF ) {
+ while ( (i = getopt( argc, argv, "ACc:D:e:Ff:H:h:i:L:l:M:m:Np:r:t:T:w:v" )) != EOF ) {
switch ( i ) {
case 'A':
noattrs++;
++++++ start ++++++
--- /var/tmp/diff_new_pack.QHhtJj/_old 2020-09-01 20:03:53.284494755 +0200
+++ /var/tmp/diff_new_pack.QHhtJj/_new 2020-09-01 20:03:53.288494757 +0200
@@ -7,10 +7,6 @@
# Ralf Haferkamp
#
-# Determine the base and follow a runlevel link name.
-base=${0##*/}
-link=${base#*[SK][0-9][0-9]}
-
test -f /etc/sysconfig/openldap && . /etc/sysconfig/openldap
SLAPD_BIN=/usr/sbin/slapd
1
0
Hello community,
here is the log from the commit of package emacs for openSUSE:Factory checked in at 2020-09-01 20:02:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/emacs (Old)
and /work/SRC/openSUSE:Factory/.emacs.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "emacs"
Tue Sep 1 20:02:48 2020 rev:150 rq:830281 version:27.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/emacs/emacs.changes 2020-08-20 22:24:52.171870214 +0200
+++ /work/SRC/openSUSE:Factory/.emacs.new.3399/emacs.changes 2020-09-01 20:03:30.420484062 +0200
@@ -1,0 +2,32 @@
+Fri Aug 28 13:38:54 UTC 2020 - Dr. Werner Fink <werner(a)suse.de>
+
+- Be sure that /usr/share/emacs/site-lisp/site-start.d/ is in
+ the load path as otherwise we might catch some not seen errors
+
+-------------------------------------------------------------------
+Mon Aug 24 11:14:22 UTC 2020 - Dr. Werner Fink <werner(a)suse.de>
+
+- Correct paths for emacs manual page on the fly
+
+-------------------------------------------------------------------
+Fri Aug 21 10:27:50 UTC 2020 - Dr. Werner Fink <werner(a)suse.de>
+
+- Add patch pdump.patch from Andreas Schwab as it allows to
+ rename the executable name in emacs.sh
+
+-------------------------------------------------------------------
+Fri Aug 21 08:54:57 UTC 2020 - Dr. Werner Fink <werner(a)suse.de>
+
+- Correct manual page of emacs, that is remove ``local/``
+- Make sure that the emacs spawned by the emacs script does use
+ its default pdumper image file
+- Avoid warning about permissions on /var/lib/games
+
+-------------------------------------------------------------------
+Thu Aug 20 09:08:33 UTC 2020 - Dr. Werner Fink <werner(a)suse.de>
+
+- Disable patch emacs-24.4-glibc.patch to see if this fix boo#1175487
+- Require git at build time as used by rebuilding byte compiled lisp files
+- Load pcase and easy-mmode at dump time from emacs-lisp path
+
+-------------------------------------------------------------------
New:
----
pdump.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ emacs.spec ++++++
--- /var/tmp/diff_new_pack.WY8N9L/_old 2020-09-01 20:03:35.328486357 +0200
+++ /var/tmp/diff_new_pack.WY8N9L/_new 2020-09-01 20:03:35.340486363 +0200
@@ -39,6 +39,7 @@
BuildRequires: fonts-config
BuildRequires: freetype2-devel
BuildRequires: giflib-devel
+BuildRequires: git
BuildRequires: gpm-devel
BuildRequires: gtk3-devel
# Used for installtion of info pages as well as to
@@ -158,7 +159,7 @@
Source7: %{name}.keyring
Source8: emacs-%{version}-pdf.tar.xz
Patch: emacs-27.1.dif
-# PATCH-FIX-UPSTREAM Adjust to GnuPG 2.1 key listing change
+# Currently disabled
Patch2: emacs-24.4-glibc.patch
Patch4: emacs-24.3-asian-print.patch
Patch5: emacs-24.4-ps-bdf.patch
@@ -168,6 +169,7 @@
Patch12: emacs-24.3-x11r7.patch
Patch15: emacs-24.3-iconic.patch
Patch16: emacs-24.4-flyspell.patch
+Patch22: pdump.patch
Patch23: emacs-25.1-custom-fonts.patch
# this patch works with both ImageMagick-6 and ImageMagick-7 for us,
# but that is because we ship /usr/include/ImageMagick-7/wand compat
@@ -276,7 +278,7 @@
%prep
%setup -q -b 2
-%patch2 -p0 -b .glibc
+#%patch2 -p0 -b .glibc
%patch4 -p0 -b .print
%patch5 -p0 -b .psbdf
%patch7 -p0 -b .psmu
@@ -285,6 +287,7 @@
%patch12 -p0 -b .x11r7
%patch15 -p0 -b .iconic
%patch16 -p0 -b .flyspell
+%patch22 -p0 -b .pd
%patch23 -p0 -b .custfnt
%patch24 -p1 -b .imag
%patch25 -p0 -b .xft
@@ -444,6 +447,7 @@
--without-xft \
--without-libotf \
--without-m17n-flt \
+ --without-harfbuzz \
"
COMP="--disable-build-details \
%if %{with mailutils}
@@ -474,24 +478,24 @@
ac_cv_lib_gif_EGifPutExtensionLast=yes
export ac_cv_lib_gif_EGifPutExtensionLast
-CFLAGS="$CFLAGS $SMALL" ./configure ${COMP} ${PREFIX} ${NOX11} ${SYS} --with-dumping=pdumper
-make bootstrap
-make -C lisp/ updates compile
-for i in `find site-lisp/ -name '*.el'`; do
- src/emacs -batch -q --no-site -f batch-byte-compile $i; \
+CFLAGS="$CFLAGS $SMALL -DPDMP_BASE='\"emacs-nox\"'" ./configure ${COMP} ${PREFIX} ${NOX11} ${SYS} --with-dumping=pdumper
+make bootstrap V=1
+make -C lisp/ updates compile V=1
+for i in $(find site-lisp/ -name '*.el'); do
+ EMACSLOADPATH='' src/emacs -batch -q --no-site -f batch-byte-compile $i
done
cp src/emacs emacs-nox
cp src/emacs.pdmp emacs-nox.pdmp
make distclean
#
-CFLAGS="$CFLAGS $LARGE" ./configure ${COMP} ${PREFIX} ${GTK} ${SYS} --with-dumping=pdumper
-make
+CFLAGS="$CFLAGS $LARGE -DPDMP_BASE='\"emacs-gtk\"'" ./configure ${COMP} ${PREFIX} ${GTK} ${SYS} --with-dumping=pdumper
+make %{?_smp_mflags}
cp src/emacs emacs-gtk
cp src/emacs.pdmp emacs-gtk.pdmp
make distclean
#
-CFLAGS="$CFLAGS $LARGE" ./configure ${COMP} ${PREFIX} ${X11} ${SYS} --with-dumping=pdumper
-make
+CFLAGS="$CFLAGS $LARGE -DPDMP_BASE='\"emacs-x11\"'" ./configure ${COMP} ${PREFIX} ${X11} ${SYS} --with-dumping=pdumper
+make %{?_smp_mflags}
cp src/emacs emacs-x11
cp src/emacs.pdmp emacs-x11.pdmp
@@ -502,7 +506,7 @@
#
pushd ../site-lisp/
-../emacs-%{version}/src/emacs -batch -q --no-site -f batch-byte-compile *.el
+EMACSLOADPATH='' ../emacs-%{version}/src/emacs -batch -q --no-site -f batch-byte-compile *.el
rm -vf site-start.elc
rm -vf site-start.el.orig
popd
@@ -513,6 +517,7 @@
##
VERSION=%{version}
eval $(sed -rn "/^configuration=/p" config.log)
+sed -ri 's@/usr/lib/X11/fonts@/usr/share/fonts@g;s@(/usr/)local/(info|share|lib)@\1\2@;s@\$VERSION@%{version}@g;s@\$ARCH@'${configuration}'@g' doc/man/emacs.1
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_prefix}/lib/emacs/%{version}/${configuration}
install -m 0755 emacs-nox %{buildroot}%{_bindir}
@@ -3258,7 +3263,7 @@
%dir %{_datadir}/emacs/site-lisp/site-start.d/
%{_mandir}/man1/*.1%{ext_man}
%exclude %{_mandir}/man1/*tags.1%{ext_man}
-%dir %attr(770,games,games) %{_localstatedir}/games/emacs
+%dir %attr(775,games,games) %{_localstatedir}/games/emacs
%attr(660,games,games) %{_localstatedir}/games/emacs/snake-scores
%attr(660,games,games) %{_localstatedir}/games/emacs/tetris-scores
++++++ emacs-27.1.dif ++++++
--- /var/tmp/diff_new_pack.WY8N9L/_old 2020-09-01 20:03:35.456486417 +0200
+++ /var/tmp/diff_new_pack.WY8N9L/_new 2020-09-01 20:03:35.456486417 +0200
@@ -9,7 +9,7 @@
lisp/cmuscheme.el | 3 -
lisp/international/mule-cmds.el | 1
lisp/net/ange-ftp.el | 8 +--
- lisp/site-load.el | 41 ++++++++++++++++
+ lisp/site-load.el | 45 ++++++++++++++++++
lisp/speedbar.el | 1
lisp/textmodes/ispell.el | 82 ++++++++++++++++++++++++++++++++-
site-lisp/term/func-keys.el | 33 +++++++++++++
@@ -17,7 +17,7 @@
site-lisp/term/kvt.el | 97 ++++++++++++++++++++++++++++++++++++++++
site-lisp/term/linux.el | 79 ++++++++++++++++++++++++++++++++
site-lisp/term/locale.el | 13 +++++
- 18 files changed, 471 insertions(+), 32 deletions(-)
+ 18 files changed, 475 insertions(+), 32 deletions(-)
--- Makefile.in
+++ Makefile.in 2020-08-11 10:21:15.194072175 +0000
@@ -278,9 +278,9 @@
(defun ange-ftp-add-cms-host (host)
--- lisp/site-load.el
+++ lisp/site-load.el 2020-08-11 10:17:21.106266385 +0000
-@@ -0,0 +1,41 @@
+@@ -0,0 +1,45 @@
+;;;;
-+;;; emacs20.xx/lisp/site-load.el
++;;; emacs-27.1/lisp/site-load.el
+;;; Copyright (c) 1995,96,98,99 SuSE Gmbh Nuernberg, Germany. All rights reserved.
+;;;
+;;; Autor: Werner Fink <werner(a)suse.de>, No warranty of any kind
@@ -306,6 +306,10 @@
+;;;;
+(garbage-collect)
+
++(load "emacs-lisp/pcase")
++(load "emacs-lisp/easy-mmode")
++(garbage-collect)
++
+(load "lpr")
+(setq lpr-headers-switches (list "-h"))
+(setq lpr-add-switches t)
++++++ pdump.patch ++++++
From: Andreas Schwab
Index: src/emacs.c
===================================================================
--- src/emacs.c.orig
+++ src/emacs.c
@@ -860,7 +860,11 @@ load_pdump (int argc, char **argv)
/* Look for "emacs.pdmp" in PATH_EXEC. We hardcode "emacs" in
"emacs.pdmp" so that the Emacs binary still works if the user
copies and renames it. */
+#ifdef PDMP_BASE
+ const char *argv0_base = PDMP_BASE;
+#else
const char *argv0_base = "emacs";
+#endif
ptrdiff_t needed = (strlen (path_exec)
+ 1
+ strlen (argv0_base)
++++++ site-lisp.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/site-lisp/ger-keys.el new/site-lisp/ger-keys.el
--- old/site-lisp/ger-keys.el 2002-10-17 11:54:05.000000000 +0200
+++ new/site-lisp/ger-keys.el 2020-08-24 13:01:32.740320982 +0200
@@ -87,10 +87,10 @@
;;
;; Lokale Hook's vor und nach dem Sichern des Buffers
;;
-(defvar local-write-file-hooks nil)
- (make-variable-buffer-local 'local-write-file-hooks)
- (put 'local-write-file-hooks 'permanent-local
- (get 'local-write-file-hooks 'permanent-local))
+(defvar write-file-functions nil)
+ (make-variable-buffer-local 'write-file-functions)
+ (put 'write-file-functions 'permanent-local
+ (get 'write-file-functions 'permanent-local))
(defvar after-save-hooks nil)
(make-variable-buffer-local 'after-save-hooks)
@@ -160,7 +160,7 @@
(local-unset-key [?\374])
(remove-hook 'after-save-hooks 'TeX-german-original)
(remove-hook 'after-save-hook 'TeX-german-original)
- (remove-hook 'local-write-file-hooks 'TeX-german-style)
+ (remove-hook 'write-file-functions 'TeX-german-style)
(setq german-mode nil))
;;
(defun german-mode-Init ()
@@ -181,7 +181,7 @@
"Zusammenfassung der Setzung des german-mode TeX-Standards"
(add-hook 'after-save-hooks 'TeX-german-original)
(add-hook 'after-save-hook 'TeX-german-original)
- (add-hook 'local-write-file-hooks 'TeX-german-style)
+ (add-hook 'write-file-functions 'TeX-german-style)
(local-set-key [?\304] 'self-insert-command)
(local-set-key [?\326] 'self-insert-command)
(local-set-key [?\334] 'self-insert-command)
@@ -202,7 +202,7 @@
"Zusammenfassung der Setzung des german-mode Latin-Standards"
(remove-hook 'after-save-hooks 'TeX-german-original)
(remove-hook 'after-save-hook 'TeX-german-original)
- (remove-hook 'local-write-file-hooks 'TeX-german-style)
+ (remove-hook 'write-file-functions 'TeX-german-style)
(local-unset-key [?\304])
(local-unset-key [?\326])
(local-unset-key [?\334])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/site-lisp/site-start.el new/site-lisp/site-start.el
--- old/site-lisp/site-start.el 2018-10-23 08:35:02.530700872 +0200
+++ new/site-lisp/site-start.el 2020-08-28 15:33:33.252810693 +0200
@@ -23,14 +23,8 @@
;; that means: mkdir ~/lib/site-lisp
(if (file-accessible-directory-p "~/lib/site-lisp/")
(setq load-path (append (list "~/lib/site-lisp/") load-path)))
-;;
-;; RMAIL: repair a bug in rmail of emacs 19.29
-;; -------------------------------------------
-(if (and (eq emacs-major-version 19) (eq emacs-minor-version 29))
- (progn
- (put 'rmail-disable-menu 'menu-enable ''t)
- (add-hook 'rmail-summary-mode-hook
- '(lambda () (rmail-summary-construct-io-menu)))))
+(if (file-accessible-directory-p "/usr/share/emacs/site-lisp/site-start.d/")
+ (setq load-path (append (list "/usr/share/emacs/site-lisp/site-start.d/") load-path)))
;;
;; GNUS
;; ----
@@ -141,8 +135,8 @@
;;
;; XX-mode commands loads "XX-mode" or "XX"
;; ----------------------------------------
-;;(autoload 'bibtex-mode "bibtex" "Modus f\"ur BibTeX" t)
-(autoload 'maple-mode "maple" "Modus f\"ur Maple" t)
+;;(autoload 'bibtex-mode "bibtex" "Modus for BibTeX" t)
+(autoload 'maple-mode "maple" "Modus for Maple" t)
;;(autoload 'web-mode "web-mode" "Major mode for editing WEB-based documents" t)
;;(autoload 'cweb-mode "cweb" "Major mode for editing CWEB-based documents" t)
;;(autoload 'c++-mode "cc-mode" "C++ Editing Mode" t)
1
0
Hello community,
here is the log from the commit of package boost-defaults for openSUSE:Factory checked in at 2020-09-01 20:02:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/boost-defaults (Old)
and /work/SRC/openSUSE:Factory/.boost-defaults.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boost-defaults"
Tue Sep 1 20:02:40 2020 rev:4 rq:829939 version:1.74.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/boost-defaults/boost-defaults.changes 2020-04-19 21:50:05.832156298 +0200
+++ /work/SRC/openSUSE:Factory/.boost-defaults.new.3399/boost-defaults.changes 2020-09-01 20:03:11.996475445 +0200
@@ -1,0 +2,11 @@
+Thu Aug 27 09:20:07 UTC 2020 - Dirk Mueller <dmueller(a)suse.com>
+
+- remove python2 variants, no longer available
+- fix dependency on libboost_mpi_python
+
+-------------------------------------------------------------------
+Fri Aug 21 20:03:10 UTC 2020 - Dirk Mueller <dmueller(a)suse.com>
+
+- update for Boost 1.74.0
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ boost-defaults.spec ++++++
--- /var/tmp/diff_new_pack.X3DIiJ/_old 2020-09-01 20:03:14.708476714 +0200
+++ /var/tmp/diff_new_pack.X3DIiJ/_new 2020-09-01 20:03:14.712476716 +0200
@@ -16,11 +16,11 @@
#
-%bcond_without python2
Name: boost-defaults
-Version: 1.71.0
+Version: 1.74.0
Release: 0
-%define boost_version 1_71_0
+%define python3X python38
+%define boost_version 1_74_0
Summary: Default Boost C++ Libraries
License: MIT
Group: Development/Libraries/C and C++
@@ -234,31 +234,10 @@
This package installs the default Boost version of the library.
-%package -n libboost_mpi_python-devel
-Summary: Development library for Boost.MPI Python 2.7 serialization
-Group: Development/Libraries/C and C++
-Requires: libboost_mpi_python-py2_7-%{boost_version}-devel
-
-%description -n libboost_mpi_python-devel
-This package contains the Boost.MPI development library for Python 2.7
-serialization interface.
-
-This package installs the default Boost version of the library.
-
-%package -n python-boost_parallel_mpi
-Summary: Python 2.7 bindings for Boost.Parallel.MPI library
-Group: Development/Languages/Python
-Requires: python2-boost_parallel_mpi%{boost_version}
-
-%description -n python-boost_parallel_mpi
-This package contains the Boost.Parallel.MPI bindings for Python 2.7
-
-This package installs the default Boost version of the library.
-
%package -n libboost_mpi_python3-devel
Summary: Development library for Boost.MPI Python 3.x serialization
Group: Development/Libraries/C and C++
-Requires: libboost_mpi_python-py3-%{boost_version}-devel
+Requires: libboost_mpi_%{python3X}-py3-%{boost_version}-devel
%description -n libboost_mpi_python3-devel
This package contains the Boost.MPI development library for Python 3.x
@@ -299,28 +278,6 @@
This package installs the default Boost version of the library.
-%package -n libboost_python-devel
-Summary: Development headers for Boost.Python library
-Group: Development/Libraries/C and C++
-Requires: libboost_python-py2_7-%{boost_version}-devel
-
-%description -n libboost_python-devel
-Development headers for Boost::Python library for the default version of
-python.
-
-This package installs the default Boost version of the library.
-
-%package -n libboost_numpy-devel
-Summary: Development headers for Boost.Python.NumPy library
-Group: Development/Libraries/C and C++
-Requires: libboost_numpy-py2_7-%{boost_version}-devel
-
-%description -n libboost_numpy-devel
-Development headers for Boost::Python::NumPy library for the default version of
-python.
-
-This package installs the default Boost version of the library.
-
%package -n libboost_python3-devel
Summary: Development headers for Boost.Python library
Group: Development/Libraries/C and C++
@@ -514,16 +471,6 @@
%files -n libboost_graph_parallel-devel
%doc README
-%if %{with python2}
-%files -n libboost_mpi_python-devel
-%doc README
-%endif
-
-%if %{with python2}
-%files -n python-boost_parallel_mpi
-%doc README
-%endif
-
%files -n libboost_mpi_python3-devel
%doc README
@@ -536,16 +483,6 @@
%files -n libboost_program_options-devel
%doc README
-%if %{with python2}
-%files -n libboost_python-devel
-%doc README
-%endif
-
-%if %{with python2}
-%files -n libboost_numpy-devel
-%doc README
-%endif
-
%files -n libboost_python3-devel
%doc README
1
0
Hello community,
here is the log from the commit of package boost for openSUSE:Factory checked in at 2020-09-01 20:02:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/boost (Old)
and /work/SRC/openSUSE:Factory/.boost.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boost"
Tue Sep 1 20:02:16 2020 rev:138 rq:829938 version:1.74.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/boost/boost.changes 2020-03-17 13:06:32.785633160 +0100
+++ /work/SRC/openSUSE:Factory/.boost.new.3399/boost.changes 2020-09-01 20:02:49.580464962 +0200
@@ -1,0 +2,24 @@
+Thu Aug 27 09:15:59 UTC 2020 - Dirk Mueller <dmueller(a)suse.com>
+
+- fix nothing provides libboost_mpi_python-py3-1_74_0
+
+-------------------------------------------------------------------
+Fri Aug 21 20:06:18 UTC 2020 - Dirk Mueller <dmueller(a)suse.com>
+
+- provide/obsolete boost-nowide 10.0.2
+
+-------------------------------------------------------------------
+Mon Aug 17 17:23:18 UTC 2020 - Dirk Mueller <dmueller(a)suse.com>
+
+- update to 1.74.0:
+ * adds Boost.NoWide
+ * see https://www.boost.org/users/history/version_1_72_0.html
+ * see https://www.boost.org/users/history/version_1_73_0.html
+ * see https://www.boost.org/users/history/version_1_74_0.html
+- remove riscv-support.patch, 3ecbf83f.patch (upstream)
+- remove boost-visibility.patch,
+ boost-no_segfault_in_Regex_filter.patch (obsolete, will never go upstream)
+- add boost-remove-cmakedir.patch (remove buildroot embedding in cmake files)
+- remove python 2.7, it is 2020 after all
+
+-------------------------------------------------------------------
Old:
----
3ecbf83f.patch
boost-no_segfault_in_Regex_filter.patch
boost-visibility.patch
boost_1_71_0.tar.bz2
riscv-support.patch
New:
----
boost-remove-cmakedir.patch
boost_1_74_0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ boost.spec ++++++
++++ 912 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/boost/boost.spec
++++ and /work/SRC/openSUSE:Factory/.boost.new.3399/boost.spec
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.412471431 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.416471433 +0200
@@ -1,25 +1,25 @@
-libboost_atomic1_71_0
-libboost_container1_71_0
-libboost_context1_71_0
-libboost_coroutine1_71_0
-libboost_date_time1_71_0
-libboost_fiber1_71_0
-libboost_filesystem1_71_0
-libboost_graph1_71_0
-libboost_graph_parallel1_71_0
-libboost_iostreams1_71_0
-libboost_locale1_71_0
-libboost_math1_71_0
-libboost_mpi1_71_0
-libboost_test1_71_0
-libboost_program_options1_71_0
-libboost_python-py2_7-1_71_0
-libboost_python-py3-1_71_0
-libboost_random1_71_0
-libboost_serialization1_71_0
-libboost_stacktrace1_71_0
-libboost_system1_71_0
-libboost_thread1_71_0
-libboost_type_erasure1_71_0
-libboost_wave1_71_0
-libboost_regex1_71_0
+libboost_atomic1_74_0
+libboost_container1_74_0
+libboost_context1_74_0
+libboost_coroutine1_74_0
+libboost_date_time1_74_0
+libboost_fiber1_74_0
+libboost_filesystem1_74_0
+libboost_graph1_74_0
+libboost_graph_parallel1_74_0
+libboost_iostreams1_74_0
+libboost_locale1_74_0
+libboost_math1_74_0
+libboost_mpi1_74_0
+libboost_nowide1_74_0
+libboost_test1_74_0
+libboost_program_options1_74_0
+libboost_python-py3-1_74_0
+libboost_random1_74_0
+libboost_serialization1_74_0
+libboost_stacktrace1_74_0
+libboost_system1_74_0
+libboost_thread1_74_0
+libboost_type_erasure1_74_0
+libboost_wave1_74_0
+libboost_regex1_74_0
++++++ boost-1.57.0-python-abi_letters.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.432471440 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.436471442 +0200
@@ -1,8 +1,8 @@
-Index: boost_1_71_0/tools/build/src/tools/python.jam
+Index: boost_1_74_0/tools/build/src/tools/python.jam
===================================================================
---- boost_1_71_0.orig/tools/build/src/tools/python.jam
-+++ boost_1_71_0/tools/build/src/tools/python.jam
-@@ -99,7 +99,7 @@ py3-version = ;
+--- boost_1_74_0.orig/tools/build/src/tools/python.jam
++++ boost_1_74_0/tools/build/src/tools/python.jam
+@@ -102,7 +102,7 @@ py3-version = ;
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
@@ -11,7 +11,7 @@
{
project.push-current $(.project) ;
-@@ -112,7 +112,7 @@ rule init ( version ? : cmd-or-prefix ?
+@@ -115,7 +115,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
@@ -20,7 +20,7 @@
project.pop-current ;
}
-@@ -507,7 +507,7 @@ local rule probe ( python-cmd )
+@@ -510,7 +510,7 @@ local rule probe ( python-cmd )
# have a value based on the information given.
#
local rule compute-default-paths ( target-os : version ? : prefix ? :
@@ -29,7 +29,7 @@
{
exec-prefix ?= $(prefix) ;
-@@ -668,7 +668,7 @@ rule version-suffix ( version )
+@@ -671,7 +671,7 @@ rule version-suffix ( version )
# Declare a target to represent Python's library.
#
@@ -38,7 +38,7 @@
{
# Compute the representation of Python version in the name of Python's
# library file.
-@@ -692,13 +692,13 @@ local rule declare-libpython-target ( ve
+@@ -695,13 +695,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
@@ -54,7 +54,7 @@
{
local prefix ;
local exec-prefix ;
-@@ -714,6 +714,7 @@ local rule configure ( version ? : cmd-o
+@@ -717,6 +717,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
@@ -62,7 +62,7 @@
local cmds-to-try ;
-@@ -789,7 +790,7 @@ local rule configure ( version ? : cmd-o
+@@ -792,7 +793,7 @@ local rule configure ( version ? : cmd-o
exec-prefix = $(sys.exec_prefix) ;
compute-default-paths $(target-os) : $(sys.version) :
@@ -71,7 +71,7 @@
version = $(sys.version) ;
interpreter-cmd ?= $(cmd) ;
-@@ -970,7 +971,7 @@ local rule configure ( version ? : cmd-o
+@@ -973,7 +974,7 @@ local rule configure ( version ? : cmd-o
}
else
{
++++++ boost-aarch64-flags.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.448471448 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.448471448 +0200
@@ -1,8 +1,8 @@
-Index: boost_1_67_0/tools/build/src/tools/gcc.jam
+Index: boost_1_74_0/tools/build/src/tools/gcc.jam
===================================================================
---- boost_1_67_0.orig/tools/build/src/tools/gcc.jam
-+++ boost_1_67_0/tools/build/src/tools/gcc.jam
-@@ -360,7 +360,6 @@ local rule compile-link-flags ( * )
+--- boost_1_74_0.orig/tools/build/src/tools/gcc.jam
++++ boost_1_74_0/tools/build/src/tools/gcc.jam
+@@ -442,7 +442,6 @@ local rule compile-link-flags ( * )
local generic-os = [ set.difference $(all-os) : aix hpux ] ;
local arch = power sparc x86 ;
compile-link-flags <target-os>$(generic-os)/<architecture>$(arch)/<address-model>32 : -m32 ;
++++++ boost-remove-cmakedir.patch ++++++
Index: boost_1_74_0/tools/boost_install/boost-install.jam
===================================================================
--- boost_1_74_0.orig/tools/boost_install/boost-install.jam
+++ boost_1_74_0/tools/boost_install/boost-install.jam
@@ -652,25 +652,6 @@ rule generate-cmake-config- ( target : s
"get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" REALPATH)"
: true ;
- if [ path.is-rooted $(cmakedir) ]
- {
- local cmakedir-native = [ path-native-fwd $(cmakedir) ] ;
-
- print.text
-
- ""
- "# If the computed and the original directories are symlink-equivalent, use original"
- "if(EXISTS \"$(cmakedir-native)\")"
- " get_filename_component(_BOOST_CMAKEDIR_ORIGINAL \"$(cmakedir-native)\" REALPATH)"
- " if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)"
- " set(_BOOST_CMAKEDIR \"$(cmakedir-native)\")"
- " endif()"
- " unset(_BOOST_CMAKEDIR_ORIGINAL)"
- "endif()"
- ""
- : true ;
- }
-
get-dir "_BOOST_INCLUDEDIR" : $(includedir) ;
if $(library-type) = INTERFACE
++++++ boost-rpmoptflags-only.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.528471485 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.532471487 +0200
@@ -2,39 +2,20 @@
===================================================================
--- tools/build/src/tools/gcc.jam.orig
+++ tools/build/src/tools/gcc.jam
-@@ -569,7 +569,7 @@ rule compile.fortran ( targets * : sourc
-
- actions compile.c++ bind PCH_FILE
- {
-- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
-+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
- }
-
- actions compile.c bind PCH_FILE
-@@ -579,7 +579,7 @@ actions compile.c bind PCH_FILE
-
- actions compile.c++.preprocess bind PCH_FILE
- {
-- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
-+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
- }
-
- actions compile.c.preprocess bind PCH_FILE
-@@ -702,15 +702,15 @@ actions compile.c.pch
+@@ -704,15 +704,15 @@ actions compile.c.pch
###
# Declare flags and action for compilation.
-toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
-toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
--
--toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
--toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
--toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
-+
+
+-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
+-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
+-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
++++++ boost-strict_aliasing.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.548471494 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.548471494 +0200
@@ -2,7 +2,7 @@
===================================================================
--- libs/python/build/Jamfile.orig
+++ libs/python/build/Jamfile
-@@ -94,6 +94,7 @@ lib boost_python
+@@ -96,6 +96,7 @@ lib boost_python
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
<tag>@$(__name__).python-tag
++++++ boost-use_std_xml_catalog.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.572471506 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.572471506 +0200
@@ -1,8 +1,8 @@
-Index: boost_1_56_0/tools/build/src/tools/boostbook.jam
+Index: boost_1_74_0/tools/build/src/tools/boostbook.jam
===================================================================
---- boost_1_56_0.orig/tools/build/src/tools/boostbook.jam
-+++ boost_1_56_0/tools/build/src/tools/boostbook.jam
-@@ -548,40 +548,7 @@ rule generate-xml-catalog ( target : sou
+--- boost_1_74_0.orig/tools/build/src/tools/boostbook.jam
++++ boost_1_74_0/tools/build/src/tools/boostbook.jam
+@@ -546,40 +546,7 @@ rule generate-xml-catalog ( target : sou
" <rewriteURI uriStartString=\"http://www.boost.org/tools/boostbook/dtd/\" rewritePrefix=\"file://$(boostbook-dtd-dir)/\"/>"
: true ;
++++++ boost_1_71_0.tar.bz2 -> boost_1_74_0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/boost/boost_1_71_0.tar.bz2 /work/SRC/openSUSE:Factory/.boost.new.3399/boost_1_74_0.tar.bz2 differ: char 11, line 1
++++++ dynamic_linking.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.636471535 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.640471537 +0200
@@ -1,7 +1,7 @@
-Index: boost_1_70_0/libs/test/build/Jamfile.v2
+Index: boost_1_74_0/libs/test/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/test/build/Jamfile.v2
-+++ boost_1_70_0/libs/test/build/Jamfile.v2
+--- boost_1_74_0.orig/libs/test/build/Jamfile.v2
++++ boost_1_74_0/libs/test/build/Jamfile.v2
@@ -95,7 +95,7 @@ lib boost_test_exec_monitor
: # sources
$(TEST_EXEC_MON_SOURCES).cpp
@@ -11,10 +11,10 @@
: # default build
: # usage-requirements
<link>shared:<define>BOOST_TEST_DYN_LINK=1
-Index: boost_1_70_0/libs/exception/build/Jamfile.v2
+Index: boost_1_74_0/libs/exception/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/exception/build/Jamfile.v2
-+++ boost_1_70_0/libs/exception/build/Jamfile.v2
+--- boost_1_74_0.orig/libs/exception/build/Jamfile.v2
++++ boost_1_74_0/libs/exception/build/Jamfile.v2
@@ -7,7 +7,7 @@
project boost/exception
@@ -24,10 +24,10 @@
;
lib boost_exception : clone_current_exception_non_intrusive.cpp ;
-Index: boost_1_70_0/libs/chrono/build/Jamfile.v2
+Index: boost_1_74_0/libs/chrono/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/chrono/build/Jamfile.v2
-+++ boost_1_70_0/libs/chrono/build/Jamfile.v2
+--- boost_1_74_0.orig/libs/chrono/build/Jamfile.v2
++++ boost_1_74_0/libs/chrono/build/Jamfile.v2
@@ -93,7 +93,7 @@ project boost/chrono
<toolset>sun:<define>__typeof__=__typeof__
@@ -46,10 +46,10 @@
;
boost-install boost_chrono ;
-Index: boost_1_70_0/libs/system/build/Jamfile.v2
+Index: boost_1_74_0/libs/system/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/system/build/Jamfile.v2
-+++ boost_1_70_0/libs/system/build/Jamfile.v2
+--- boost_1_74_0.orig/libs/system/build/Jamfile.v2
++++ boost_1_74_0/libs/system/build/Jamfile.v2
@@ -11,7 +11,7 @@ project boost/system
: source-location ../src
: usage-requirements # pass these requirement to dependents (i.e. users)
@@ -68,10 +68,10 @@
;
boost-install boost_system ;
-Index: boost_1_70_0/libs/timer/build/Jamfile.v2
+Index: boost_1_74_0/libs/timer/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/timer/build/Jamfile.v2
-+++ boost_1_70_0/libs/timer/build/Jamfile.v2
+--- boost_1_74_0.orig/libs/timer/build/Jamfile.v2
++++ boost_1_74_0/libs/timer/build/Jamfile.v2
@@ -13,7 +13,7 @@ project boost/timer
<library>/boost/chrono//boost_chrono
: usage-requirements # pass these requirement to dependants (i.e. users)
@@ -90,11 +90,11 @@
;
boost-install boost_timer ;
-Index: boost_1_70_0/libs/filesystem/build/Jamfile.v2
+Index: boost_1_74_0/libs/filesystem/build/Jamfile.v2
===================================================================
---- boost_1_70_0.orig/libs/filesystem/build/Jamfile.v2
-+++ boost_1_70_0/libs/filesystem/build/Jamfile.v2
-@@ -11,7 +11,7 @@ project boost/filesystem
+--- boost_1_74_0.orig/libs/filesystem/build/Jamfile.v2
++++ boost_1_74_0/libs/filesystem/build/Jamfile.v2
+@@ -54,7 +54,7 @@ project boost/filesystem
: source-location ../src
: usage-requirements # pass these requirement to dependents (i.e. users)
<link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
@@ -103,10 +103,10 @@
;
SOURCES =
-@@ -28,7 +28,7 @@ SOURCES =
- lib boost_filesystem
- : $(SOURCES).cpp
- : <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
+@@ -75,7 +75,7 @@ lib boost_filesystem
+ : <define>BOOST_FILESYSTEM_SOURCE
+ <include>../src
+ <link>shared:<define>BOOST_FILESYSTEM_DYN_LINK=1
- <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
+# <link>static:<define>BOOST_FILESYSTEM_STATIC_LINK=1
:
++++++ python_library_name.patch ++++++
--- /var/tmp/diff_new_pack.BoC5aw/_old 2020-09-01 20:03:03.700471565 +0200
+++ /var/tmp/diff_new_pack.BoC5aw/_new 2020-09-01 20:03:03.704471567 +0200
@@ -27,10 +27,10 @@
~ <library>boost_mpi_python
~ <library>boost_mpi
~ <library>/mpi//mpi [ mpi.extra-requirements ]
-Index: boost_1_69_0/libs/python/Jamfile
+Index: boost_1_74_0/libs/python/Jamfile
===================================================================
---- boost_1_69_0.orig/libs/python/Jamfile
-+++ boost_1_69_0/libs/python/Jamfile
+--- boost_1_74_0.orig/libs/python/Jamfile
++++ boost_1_74_0/libs/python/Jamfile
@@ -36,9 +36,10 @@ local rule split-version ( version )
# For example, Boost.Python built for Python 2.7 uses the suffix "27"
rule version-suffix ( version )
@@ -45,21 +45,15 @@
}
-Index: boost_1_69_0/libs/mpi/build/Jamfile.v2
+Index: boost_1_74_0/tools/build/src/tools/python.jam
===================================================================
---- boost_1_69_0.orig/libs/mpi/build/Jamfile.v2
-+++ boost_1_69_0/libs/mpi/build/Jamfile.v2
-@@ -42,9 +42,10 @@ local rule split-version ( version )
+--- boost_1_74_0.orig/tools/build/src/tools/python.jam
++++ boost_1_74_0/tools/build/src/tools/python.jam
+@@ -664,6 +664,7 @@ local rule system-library-dependencies (
# For example, Boost.Python built for Python 2.7 uses the suffix "27"
rule version-suffix ( version )
{
-- local major-minor = [ split-version $(version) ] ;
-- local suffix = $(major-minor:J="") ;
-- return $(suffix) ;
-+ #local major-minor = [ split-version $(version) ] ;
-+ #local suffix = $(major-minor:J="") ;
-+ #return $(suffix) ;
+ return "" ;
- }
-
-
+ local major-minor = [ split-version $(version) ] ;
+ local suffix = $(major-minor:J="") ;
+ return $(suffix) ;
1
0
Hello community,
here is the log from the commit of package inkscape for openSUSE:Factory checked in at 2020-09-01 20:02:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inkscape (Old)
and /work/SRC/openSUSE:Factory/.inkscape.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "inkscape"
Tue Sep 1 20:02:09 2020 rev:108 rq:829000 version:1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/inkscape/inkscape.changes 2020-06-14 18:16:06.078981120 +0200
+++ /work/SRC/openSUSE:Factory/.inkscape.new.3399/inkscape.changes 2020-09-01 20:02:32.368456912 +0200
@@ -1,0 +2,12 @@
+Mon Aug 24 09:46:20 UTC 2020 - Martin Liška <mliska(a)suse.cz>
+
+- Enable again LTO. It should work now.
+
+-------------------------------------------------------------------
+Mon Aug 24 08:45:25 UTC 2020 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Add inkscape-include-atomic.patch: Fix build with Boost 1.74,
+ where we can no longer rely on boost bringing the atomic header
+ into the game.
+
+-------------------------------------------------------------------
New:
----
inkscape-include-atomic.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ inkscape.spec ++++++
--- /var/tmp/diff_new_pack.imtfK0/_old 2020-09-01 20:02:34.744458023 +0200
+++ /var/tmp/diff_new_pack.imtfK0/_new 2020-09-01 20:02:34.748458025 +0200
@@ -27,6 +27,8 @@
# openSUSE palette file
Source1: openSUSE.gpl
Source2: inkscape-split-extensions-extra.py
+# PATCH-FIX-UPSTREAM inkscape-include-atomic.patch https://gitlab.com/inkscape/inkscape/-/issues/1798 -- Fix build with Boost 1.74
+Patch0: inkscape-include-atomic.patch
BuildRequires: cmake
BuildRequires: double-conversion-devel
BuildRequires: fdupes
@@ -118,9 +120,9 @@
%prep
%setup -q -n %{name}-%{_version}
+%patch0 -p1
%build
-%define _lto_cflags %{nil}
%ifarch %{arm}
export LDFLAGS+="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
++++++ inkscape-include-atomic.patch ++++++
--- a/src/ui/tool/node.cpp 2020-05-01 15:18:52.000000000 +0200
+++ b/src/ui/tool/node.cpp 2020-08-18 01:25:05.266412299 +0200
@@ -7,6 +7,7 @@
* Released under GNU GPL v2+, read the file 'COPYING' for more information.
*/
+#include <atomic>
#include <iostream>
#include <stdexcept>
#include <boost/utility.hpp>
1
0
Hello community,
here is the log from the commit of package shim for openSUSE:Factory checked in at 2020-09-01 20:02:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shim (Old)
and /work/SRC/openSUSE:Factory/.shim.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim"
Tue Sep 1 20:02:03 2020 rev:85 rq:828866 version:15+git47
Changes:
--------
--- /work/SRC/openSUSE:Factory/shim/shim.changes 2020-08-13 10:16:54.730726342 +0200
+++ /work/SRC/openSUSE:Factory/.shim.new.3399/shim.changes 2020-09-01 20:02:14.184448407 +0200
@@ -1,0 +2,12 @@
+Mon Aug 24 03:20:52 UTC 2020 - Gary Ching-Pang Lin <glin(a)suse.com>
+
+- shim-install: install MokManager to \EFI\boot to process the
+ pending MOK request (bsc#1175626, bsc#1175656)
+
+-------------------------------------------------------------------
+Fri Aug 21 04:00:39 UTC 2020 - Gary Ching-Pang Lin <glin(a)suse.com>
+
+- Add shim-bsc1175509-tpm2-fixes.patch to fix the TPM2 measurement
+ (bsc#1175509)
+
+-------------------------------------------------------------------
New:
----
shim-bsc1175509-tpm2-fixes.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shim.spec ++++++
--- /var/tmp/diff_new_pack.ARLXaO/_old 2020-09-01 20:02:15.824449174 +0200
+++ /var/tmp/diff_new_pack.ARLXaO/_new 2020-09-01 20:02:15.828449176 +0200
@@ -79,6 +79,8 @@
Patch7: shim-fix-gnu-efi-3.0.11.patch
# PATCH-FIX-UPSTREAM shim-bsc1173411-only-check-efi-var-on-sb.patch bsc#1173411 glin(a)suse.com -- Make EFI variable copying check only fatal on SB systems
Patch8: shim-bsc1173411-only-check-efi-var-on-sb.patch
+# PATCH-FIX-UPSTREAM shim-bsc1175509-tpm2-fixes.patch bsc#1175509 glin(a)suse.com -- Upstream fixes for the TPM2 measurement
+Patch9: shim-bsc1175509-tpm2-fixes.patch
# PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin(a)suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not
Patch100: shim-opensuse-cert-prompt.patch
BuildRequires: gnu-efi >= 3.0.3
@@ -128,6 +130,7 @@
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
%if 0%{?is_opensuse} == 1
%patch100 -p1
%endif
++++++ shim-bsc1175509-tpm2-fixes.patch ++++++
>From 551bab0a7c3199cad3bd1273d57e98e54bdf2ce9 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59(a)google.com>
Date: Tue, 11 Dec 2018 15:25:44 -0800
Subject: [PATCH 1/4] Remove call to TPM2 get_event_log()
Calling the TPM2 get_event_log causes the firmware to start logging
events to the final events table, but implementations may also continue
logging to the boot services event log. Any OS that wishes to
reconstruct the full PCR state must already look at both the final
events log and the boot services event log, so if this call is made
anywhere other than immediately before ExitBootServices() then the OS
must deduplicate events that occur in both, complicating things
immensely.
Linux already has support for copying up the boot services event log
across the ExitBootServices() boundary, so there's no reason to make
this call. Remove it.
Signed-off-by: Matthew Garrett <mjg59(a)google.com>
(cherry picked from commit fd7c3bd920ba39082cb7c619afb7203d150a4cd3)
---
tpm.c | 46 ----------------------------------------------
1 file changed, 46 deletions(-)
diff --git a/tpm.c b/tpm.c
index 674e69b..f07362c 100644
--- a/tpm.c
+++ b/tpm.c
@@ -70,41 +70,6 @@ static BOOLEAN tpm2_present(EFI_TCG2_BOOT_SERVICE_CAPABILITY *caps,
return FALSE;
}
-static inline EFI_TCG2_EVENT_LOG_BITMAP
-tpm2_get_supported_logs(efi_tpm2_protocol_t *tpm,
- EFI_TCG2_BOOT_SERVICE_CAPABILITY *caps,
- BOOLEAN old_caps)
-{
- if (old_caps)
- return ((TREE_BOOT_SERVICE_CAPABILITY *)caps)->SupportedEventLogs;
-
- return caps->SupportedEventLogs;
-}
-
-/*
- * According to TCG EFI Protocol Specification for TPM 2.0 family,
- * all events generated after the invocation of EFI_TCG2_GET_EVENT_LOG
- * shall be stored in an instance of an EFI_CONFIGURATION_TABLE aka
- * EFI TCG 2.0 final events table. Hence, it is necessary to trigger the
- * internal switch through calling get_event_log() in order to allow
- * to retrieve the logs from OS runtime.
- */
-static EFI_STATUS trigger_tcg2_final_events_table(efi_tpm2_protocol_t *tpm2,
- EFI_TCG2_EVENT_LOG_BITMAP supported_logs)
-{
- EFI_TCG2_EVENT_LOG_FORMAT log_fmt;
- EFI_PHYSICAL_ADDRESS start;
- EFI_PHYSICAL_ADDRESS end;
- BOOLEAN truncated;
-
- if (supported_logs & EFI_TCG2_EVENT_LOG_FORMAT_TCG_2)
- log_fmt = EFI_TCG2_EVENT_LOG_FORMAT_TCG_2;
- else
- log_fmt = EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2;
-
- return tpm2->get_event_log(tpm2, log_fmt, &start, &end, &truncated);
-}
-
static EFI_STATUS tpm_locate_protocol(efi_tpm_protocol_t **tpm,
efi_tpm2_protocol_t **tpm2,
BOOLEAN *old_caps_p,
@@ -166,17 +131,6 @@ static EFI_STATUS tpm_log_event_raw(EFI_PHYSICAL_ADDRESS buf, UINTN size,
#endif
} else if (tpm2) {
EFI_TCG2_EVENT *event;
- EFI_TCG2_EVENT_LOG_BITMAP supported_logs;
-
- supported_logs = tpm2_get_supported_logs(tpm2, &caps, old_caps);
-
- efi_status = trigger_tcg2_final_events_table(tpm2,
- supported_logs);
- if (EFI_ERROR(efi_status)) {
- perror(L"Unable to trigger tcg2 final events table: %r\n",
- efi_status);
- return efi_status;
- }
event = AllocatePool(sizeof(*event) + logsize);
if (!event) {
--
2.28.0
>From 03cb410a51e808179e9d991057fb94a526ac269a Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson(a)canonical.com>
Date: Sat, 22 Jun 2019 15:33:03 +0100
Subject: [PATCH 2/4] tpm: Fix off-by-one error when calculating event size
tpm_log_event_raw() allocates a buffer for the EFI_TCG2_EVENT structure
that is one byte larger than necessary, and sets event->Size accordingly.
The result of this is that the event data recorded in the log differs
from the data that is measured to the TPM (it has an extra zero byte
at the end).
(cherry picked from commit 8a27a4809a6a2b40fb6a4049071bf96d6ad71b50)
---
tpm.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tpm.c b/tpm.c
index f07362c..516fb87 100644
--- a/tpm.c
+++ b/tpm.c
@@ -131,8 +131,10 @@ static EFI_STATUS tpm_log_event_raw(EFI_PHYSICAL_ADDRESS buf, UINTN size,
#endif
} else if (tpm2) {
EFI_TCG2_EVENT *event;
+ UINTN event_size = sizeof(*event) - sizeof(event->Event) +
+ logsize;
- event = AllocatePool(sizeof(*event) + logsize);
+ event = AllocatePool(event_size);
if (!event) {
perror(L"Unable to allocate event structure\n");
return EFI_OUT_OF_RESOURCES;
@@ -142,7 +144,7 @@ static EFI_STATUS tpm_log_event_raw(EFI_PHYSICAL_ADDRESS buf, UINTN size,
event->Header.HeaderVersion = 1;
event->Header.PCRIndex = pcr;
event->Header.EventType = type;
- event->Size = sizeof(*event) - sizeof(event->Event) + logsize + 1;
+ event->Size = event_size;
CopyMem(event->Event, (VOID *)log, logsize);
if (hash) {
/* TPM 2 systems will generate the appropriate hash
--
2.28.0
>From 6b57ed99e1925728166017863ad849408cddf55d Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson(a)canonical.com>
Date: Sat, 22 Jun 2019 15:37:29 +0100
Subject: [PATCH 3/4] tpm: Define EFI_VARIABLE_DATA_TREE as packed
tpm_measure_variable() calculates VarLogSize by adding the size of VarName
and VarData to the size of EFI_VARIABLE_DATA_TREE, and then subtracting
the size of the UnicodeName and VariableData members. This results in a
calculation that is 5 bytes larger than necessary because it doesn't take
in to account the padding of these members. The effect of this is that
shim measures an additional 5 zero bytes when measuring UEFI variables
(at least on 64-bit architectures).
Byte packing EFI_VARIABLE_DATA_TREE fixes this.
(cherry picked from commit 7e4d3f1c8c730a5d3f40729cb285b5d8c7b241af)
---
tpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tpm.c b/tpm.c
index 516fb87..c0617bb 100644
--- a/tpm.c
+++ b/tpm.c
@@ -233,7 +233,7 @@ typedef struct {
UINT64 VariableDataLength;
CHAR16 UnicodeName[1];
INT8 VariableData[1];
-} EFI_VARIABLE_DATA_TREE;
+} __attribute__ ((packed)) EFI_VARIABLE_DATA_TREE;
static BOOLEAN tpm_data_measured(CHAR16 *VarName, EFI_GUID VendorGuid, UINTN VarSize, VOID *VarData)
{
--
2.28.0
>From 85a8c568dde4d608a7c9cc5b0283bdc36e677947 Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson(a)canonical.com>
Date: Thu, 26 Sep 2019 20:01:01 +0100
Subject: [PATCH 4/4] tpm: Don't log duplicate identical events
According to the comment in tpm_measure_variable ("Don't measure something that we've already measured"), shim
shouldn't measure duplicate events if they are identical, which also aligns with section 2.3.4.8 of the TCG PC
Client Platform Firmware Profile Specification ("If it has been measured previously, it MUST NOT be measured
again"). This is currently broken because tpm_data_measured() uses the return value of CompareGuid() incorrectly.
(cherry picked from commit 103adc89ce578a23cbdbd195c5dc5e329b85b854)
---
tpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tpm.c b/tpm.c
index c0617bb..196b93c 100644
--- a/tpm.c
+++ b/tpm.c
@@ -241,7 +241,7 @@ static BOOLEAN tpm_data_measured(CHAR16 *VarName, EFI_GUID VendorGuid, UINTN Var
for (i=0; i<measuredcount; i++) {
if ((StrCmp (VarName, measureddata[i].VariableName) == 0) &&
- (CompareGuid (&VendorGuid, measureddata[i].VendorGuid)) &&
+ (CompareGuid (&VendorGuid, measureddata[i].VendorGuid) == 0) &&
(VarSize == measureddata[i].Size) &&
(CompareMem (VarData, measureddata[i].Data, VarSize) == 0)) {
return TRUE;
--
2.28.0
++++++ shim-install ++++++
--- /var/tmp/diff_new_pack.ARLXaO/_old 2020-09-01 20:02:15.988449251 +0200
+++ /var/tmp/diff_new_pack.ARLXaO/_new 2020-09-01 20:02:15.992449253 +0200
@@ -260,6 +260,8 @@
if test "$update_boot" = "yes"; then
rm -f "${efibootdir}/${def_boot_efi}"
rm -f "${efibootdir}/fallback.efi"
+ # bsc#1175626, bsc#1175656 also clean up MokManager
+ rm -f "${efibootdir}/MokManager.efi"
fi
if test "$no_nvram" = no && test -n "$bootloader_id"; then
# Delete old entries from the same distributor.
@@ -296,6 +298,11 @@
cp "${source_dir}/shim.efi" "${efibootdir}/${def_boot_efi}"
if test "$removable" = "no"; then
cp "${source_dir}/fallback.efi" "${efibootdir}"
+ # bsc#1175626, bsc#1175656 Since shim 15, loading MokManager becomes
+ # mandatory if a MOK request exists. Copy MokManager to \EFI\boot so
+ # that boot*.efi can load MokManager to process the request instead
+ # of shutting down the system immediately.
+ cp "${source_dir}/MokManager.efi" "${efibootdir}"
fi
fi
1
0