Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xorg-x11-server for openSUSE:Factory
checked in at 2021-12-16 21:18:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
and /work/SRC/openSUSE:Factory/.xorg-x11-server.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server"
Thu Dec 16 21:18:58 2021 rev:400 rq:940758 version:21.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes
2021-12-06 23:59:44.260488974 +0100
+++
/work/SRC/openSUSE:Factory/.xorg-x11-server.new.2520/xorg-x11-server.changes
2021-12-16 21:19:42.194530166 +0100
@@ -1,0 +2,54 @@
+Wed Dec 15 15:08:07 UTC 2021 - Stefan Dirsch <[email protected]>
+
+- Update to version 21.1.1
+ * This release fixes 4 recently reported security vulnerabilities and
+ several regressions.
+ * In particular, the real physical dimensions are no longer reported
+ by the X server anymore as it was deemed to be a too disruptive
+ change. X server will continue to report DPI as 96.
+- supersedes U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
+- supersedes U_rendercompositeglyphs.patch
+- supersedes U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch
+- supersedes U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch
+- supersedes U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch
+
+-------------------------------------------------------------------
+Tue Dec 14 20:21:19 UTC 2021 - Stefan Dirsch <[email protected]>
+
+- U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch
+ * CVE-2021-4009/ZDI-CAN-14950 (bsc#1190487)
+ The handler for the CreatePointerBarrier request of the XFixes
+ extension does not properly validate the request length leading
+ to out of bounds memory write.
+- U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch
+ * CVE-2021-4010/ZDI-CAN-14951 (bsc#1190488)
+ The handler for the Suspend request of the Screen Saver extension
+ does not properly validate the request length leading to out of
+ bounds memory write.
+- U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch
+ * CVE-2021-4011/ZDI-CAN-14952 (bsc#1190489)
+ The handlers for the RecordCreateContext and RecordRegisterClients
+ requests of the Record extension do not properly validate the request
+ length leading to out of bounds memory write.
+
+-------------------------------------------------------------------
+Tue Dec 14 15:31:41 UTC 2021 - Stefan Dirsch <[email protected]>
+
+- U_rendercompositeglyphs.patch
+ * X.Org Server SProcRenderCompositeGlyphs Out-Of-Bounds Access
+ Privilege Escalation Vulnerability [CVE-2021-4008, ZDI-CAN-14192]
+ (boo#1193030)
+
+-------------------------------------------------------------------
+Tue Dec 14 14:14:45 UTC 2021 - Thomas Zimmermann <[email protected]>
+
+- u_Support-configuration-files-under-run-X11-xorg.conf..patch
+- u_Add-udev-scripts-for-configuration-of-platform-devic.patch
+- u_Add-udev-rule-for-HyperV-devices.patch
+ * Remove udev-based configuration
+- u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch
+ * Restore simpledrm workaround
+- u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch
+ * Add workaround to support hyperv_drm
+
+-------------------------------------------------------------------
@@ -5 +59 @@
- * Fix SEGFAULT when parsing bus IDs of NULL
+ * Fix SEGFAULT when parsing bus IDs of NULL (boo#1193250)
@@ -8 +62 @@
- configuration files via udev.
+ configuration files via udev. (boo#1193250)
@@ -10 +64 @@
- * Generate configuration files for platform devices
+ * Generate configuration files for platform devices (boo#1193250)
@@ -12 +66 @@
- * Code has been obsoleted by udev patchset
+ * Code has been obsoleted by udev patchset (boo#1193250)
@@ -14 +68 @@
- * Same as for platform devices, but on HyperV
+ * Same as for platform devices, but on HyperV (boo#1193250)
Old:
----
U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
u_Add-udev-rule-for-HyperV-devices.patch
u_Add-udev-scripts-for-configuration-of-platform-devic.patch
u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch
u_Support-configuration-files-under-run-X11-xorg.conf..patch
xorg-server-21.1.1.tar.xz
New:
----
u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch
xorg-server-21.1.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.Xdul0S/_old 2021-12-16 21:19:43.158530533 +0100
+++ /var/tmp/diff_new_pack.Xdul0S/_new 2021-12-16 21:19:43.162530534 +0100
@@ -36,7 +36,7 @@
%endif
Name: xorg-x11-server
-Version: 21.1.1
+Version: 21.1.2
Release: 0
URL: http://xorg.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -199,7 +199,6 @@
Patch2: N_zap_warning_xserver.diff
Patch3: N_driver-autoconfig.diff
Patch4: N_fix_fglrx_screendepth_issue.patch
-Patch5: U_hw-xfree86-Propagate-physical-dimensions-from-DRM-co.patch
Patch6: N_fix-dpi-values.diff
Patch7: N_Install-Avoid-failure-on-wrapper-installation.patch
Patch8: u_xorg-wrapper-Drop-supplemental-group-IDs.patch
@@ -239,10 +238,7 @@
Patch1910: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
-Patch1920: u_Support-configuration-files-under-run-X11-xorg.conf..patch
-Patch1921: u_Add-udev-scripts-for-configuration-of-platform-devic.patch
-Patch1922: u_Revert-xf86-Accept-devices-with-the-simpledrm-driver.patch
-Patch1923: u_Add-udev-rule-for-HyperV-devices.patch
+Patch1920: u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch
%description
This package contains the X.Org Server.
@@ -359,8 +355,6 @@
%patch2 -p1
%patch3 -p0
%patch4 -p0
-# back to 96 dpi fix
-%patch5 -p1 -R
%patch6 -p0
%patch7 -p1
%patch8 -p1
@@ -399,9 +393,6 @@
%patch1900 -p1
%patch1910 -p1
%patch1920 -p1
-%patch1921 -p1
-%patch1922 -p1
-%patch1923 -p1
%build
%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
@@ -603,12 +594,6 @@
%endif
%{_bindir}/xorg-backtrace
-# sysfb support
-%{_sbindir}/x11sysfsconf
-%dir %{_sysconfdir}/udev
-%dir %{_sysconfdir}/udev/rules.d
-%{_sysconfdir}/udev/rules.d/99-xorg-sysfs.rules
-
%if 0%{?have_wayland} == 1
%files wayland
%{_bindir}/Xwayland
++++++ u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch ++++++
>From 672050be2553afaac6810a4d85d8b5cf1656d380 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <[email protected]>
Date: Mon, 13 Dec 2021 16:10:35 +0100
Subject: [PATCH] xf86: Accept devices with the 'hyperv_drm' driver.
Signed-off-by: Thomas Zimmermann <[email protected]>
---
hw/xfree86/common/xf86platformBus.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/xfree86/common/xf86platformBus.c
b/hw/xfree86/common/xf86platformBus.c
index 45028f7a6..071f44b2a 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -560,6 +560,9 @@ xf86platformProbeDev(DriverPtr drvp)
if (ServerIsNotSeat0()) {
break;
} else {
+ /* Accept the device if the driver is hyperv_drm */
+ if (strcmp(xf86_platform_devices[j].attribs->driver,
"hyperv_drm") == 0)
+ break;
/* Accept the device if the driver is simpledrm */
if (strcmp(xf86_platform_devices[j].attribs->driver,
"simpledrm") == 0)
break;
--
2.34.1
++++++ xorg-server-21.1.1.tar.xz -> xorg-server-21.1.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/ChangeLog
new/xorg-server-21.1.2/ChangeLog
--- old/xorg-server-21.1.1/ChangeLog 2021-11-07 00:45:53.000000000 +0100
+++ new/xorg-server-21.1.2/ChangeLog 2021-12-15 14:52:25.000000000 +0100
@@ -1,3 +1,240 @@
+commit 9852b29380673484aea25771a3e812c8e8a40393
+Author: Povilas Kanapickas <[email protected]>
+Date: Wed Dec 15 15:46:09 2021 +0200
+
+ xserver 21.1.2
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+
+commit 9fe2991075aca3321d59d03f3e45faca6cb718b8
+Author: Sam James <[email protected]>
+Date: Wed Dec 15 10:41:22 2021 +0200
+
+ hw/xfree86: fix sbus build for SPARC
+
+ Initially reported downstream in Gentoo. Manifests with errors like:
+ ```
+ gnu/bin/ld: hw/xfree86/common/libxorg_common.a(xf86fbBus.c.o): in function
`xf86ClaimFbSlot':
+ xf86fbBus.c:(.text+0x20): undefined reference to `sbusSlotClaimed'
+
/usr/lib/gcc/sparc-unknown-linux-gnu/11.2.0/../../../../sparc-unknown-linux-gnu/bin/ld:
xf86fbBus.c:(.text+0x2c): undefined reference to `sbusSlotClaimed'
+ ```
+
+ While we use the headers in meson.build, we don't reference xf86sbusBus.c
+ which defines the missing symbols like sbusSlotClaimed.
+
+ Bug: https://bugs.gentoo.org/828513
+ Signed-off-by: Sam James <[email protected]>
+ (cherry picked from commit 6c1a1fcc4bff90546ebc954f428c6df97005ea50)
+
+commit 0b67785cd13e65d37416f75ab938bdc49cf4732f
+Author: Povilas Kanapickas <[email protected]>
+Date: Wed Dec 15 10:41:21 2021 +0200
+
+ render: Fix out of bounds access in SProcRenderCompositeGlyphs()
+
+ ZDI-CAN-14192, CVE-2021-4008
+
+ This vulnerability was discovered and the fix was suggested by:
+ Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit ebce7e2d80e7c80e1dda60f2f0bc886f1106ba60)
+
+commit 7209982d2a89f2e27d2f83f8952e9512be813aa4
+Author: Povilas Kanapickas <[email protected]>
+Date: Wed Dec 15 10:41:20 2021 +0200
+
+ Xext: Fix out of bounds access in SProcScreenSaverSuspend()
+
+ ZDI-CAN-14951, CVE-2021-4010
+
+ This vulnerability was discovered and the fix was suggested by:
+ Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit 6c4c53010772e3cb4cb8acd54950c8eec9c00d21)
+
+commit 6f09e7d3913a8188e32062f5e196bebb06bab140
+Author: Povilas Kanapickas <[email protected]>
+Date: Wed Dec 15 10:41:19 2021 +0200
+
+ xfixes: Fix out of bounds access in *ProcXFixesCreatePointerBarrier()
+
+ ZDI-CAN-14950, CVE-2021-4009
+
+ This vulnerability was discovered and the fix was suggested by:
+ Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit b5196750099ae6ae582e1f46bd0a6dad29550e02)
+
+commit a82d523edb30e5856adca9f258ac716108c71f19
+Author: Povilas Kanapickas <[email protected]>
+Date: Wed Dec 15 10:41:18 2021 +0200
+
+ record: Fix out of bounds access in SwapCreateRegister()
+
+ ZDI-CAN-14952, CVE-2021-4011
+
+ This vulnerability was discovered and the fix was suggested by:
+ Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit e56f61c79fc3cee26d83cda0f84ae56d5979f768)
+
+commit a39218d99c6961dda0142d9956eb7404a37d9bd2
+Author: Matthieu Herrb <[email protected]>
+Date: Wed Dec 15 10:41:17 2021 +0200
+
+ remove the PRE_RELEASE message.
+
+ With the new numbering scheme, XORG_VERISON_SNAP doesn't mean
+ a pre-release version anymore.
+
+ Signed-off-by: Matthieu Herrb <[email protected]>
+ (cherry picked from commit 4de9666b6d3c86660d728ddfc13d88700e5ff20d)
+
+commit fc2eb7e8cc19a41e034f2f4286af58f8b4825d65
+Author: Matt Turner <[email protected]>
+Date: Tue Dec 7 21:39:58 2021 -0800
+
+ test: #undef NDEBUG so assert is not compiled away
+
+ (cherry picked from commit d189102c783653a10931051175de24277a157331)
+
+commit 7caf29ca6607ddf4c19a81d19c0f4acc6deb8936
+Author: Povilas Kanapickas <[email protected]>
+Date: Sat Nov 13 16:42:36 2021 +0200
+
+ meson: Correctly set DDXOSVERRORF and DDXBEFORERESET on xwin
+
+ This worked with autotools, but not meson build system.
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit 04c93b98e9e4593aa2e6701bb08f5e27c3544d8a)
+
+commit 101791f80fdefea738421a414177899db7c76e83
+Author: Jonathan Gray <[email protected]>
+Date: Fri Dec 3 19:17:18 2021 +1100
+
+ glamor: fix free of uninitialised pointers
+
+ Attempting to run fvwm on a x61/965gm with xserver 1.21.1 with the
+ modesetting driver on OpenBSD/amd64 would cause the xserver to
+ reliably crash.
+
+ I tracked this down to the free() calls introduced in
+ 2906ee5e4a722138cccb3265a615da7705a52589
+ (d1ca47e1242b51c79cec7287f52c36c8e494706b in branch).
+
+ clang also warns about this:
+ glamor_program.c:296:13: warning: variable 'vs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:290:9: warning: variable 'vs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:288:9: warning: variable 'vs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:277:13: warning: variable 'vs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:296:13: warning: variable 'fs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:290:9: warning: variable 'fs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:288:9: warning: variable 'fs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+ glamor_program.c:277:13: warning: variable 'fs_prog_string' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
+
+ Signed-off-by: Jonathan Gray <[email protected]>
+ Reviewed-by: Olivier Fourdan <[email protected]>
+ Fixes: 2906ee5e4 ("glamor: Fix leak in glamor_build_program()")
+ (cherry picked from commit 5ac6319776b13f96a2b336da4b35237618a5b001)
+
+commit 2c6989f81e62bac05a583c39fa09a06172d1ece5
+Author: Peter Hutterer <[email protected]>
+Date: Thu Dec 2 10:41:03 2021 +1000
+
+ xkb: fix XkbSetMap check for the keytypes count
+
+ The previous if/else condition resulted in us always setting the key
+ type count to the current number of key types. Split this up correctly.
+
+ Regression introduced in de940e06f8733d87bbb857aef85d830053442cfe
+
+ Fixes #1249
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+ (cherry picked from commit be16bd8543f80ad2933ec9c37f082617c7084165)
+
+commit 49444ce9f7ad34fff6ff94a9db95337f4bfd7b03
+Author: Povilas Kanapickas <[email protected]>
+Date: Sat Nov 13 17:23:54 2021 +0200
+
+ Revert "hw/xfree86: Propagate physical dimensions from DRM connector"
+
+ Quite a lot of applications currently expect the screen DPI exposed by
+ the X server to be 96 even when the real display DPI is different.
+ Additionally, currently Xwayland completely ignores any hardware
+ information and sets the DPI to 96. Accordingly the new behavior, even
+ if it fixes a bug, should not be enabled automatically to all users.
+
+ A better solution would be to make the default DPI stay as is and enable
+ the correct behavior with a command line option (maybe -dpi auto, or
+ similar). For now let's just revert the bug fix.
+
+ This reverts commit 05b3c681ea2f478c0cb941c2f8279919cf78de6d.
+
+ Signed-off-by: Povilas Kanapickas <[email protected]>
+ (cherry picked from commit 35af1299e73483eaf93d913a960e1d1738bc7de6)
+
+commit 6f11b3c803898e0effe6ade2ae951f5758936152
+Author: Dave Airlie <[email protected]>
+Date: Thu Nov 11 06:35:19 2021 +1000
+
+ dri2: add crocus to the list of va_gl users
+
+ (cherry picked from commit a7b0a7fabd137183cc42a5edb15697e354c4450c)
+
+commit 8eb1396d3ecfd2bf968105a99759ae9445bdf768
+Author: Jocelyn Falempe <[email protected]>
+Date: Thu Nov 18 14:51:21 2021 +0100
+
+ xf86/logind: Fix drm_drop_master before vt_reldisp
+
+ When switching to VT, the ioctl DRM_DROP_MASTER must be done before
+ the ioctl VT_RELDISP. Otherwise the kernel can't change the modesetting
+ reliably, and this leads to the console not showing up in some cases, like
+ after unplugging a docking station with a DP or HDMI monitor.
+
+ Before doing the VT_RELDISP, send a dbus message to logind, to
+ pause the drm device, so logind will do the ioctl DRM_DROP_MASTER.
+
+ With this patch, it changes the order logind will send the resume
+ event, and drm will be sent last instead of first.
+ so there is a also fix to call systemd_logind_vtenter() at the right time.
+
+ Signed-off-by: Jocelyn Falempe <[email protected]>
+ Reviewed-by: Hans de Goede <[email protected]>
+ (cherry picked from commit da9d012a9c760896941769d4127e3cfb1a7a9f03)
+
+commit 6834f977a5eadbc3289f27b2bb83997132a39fdd
+Author: Jocelyn Falempe <[email protected]>
+Date: Thu Nov 18 14:45:42 2021 +0100
+
+ xf86/logind: fix call systemd_logind_vtenter after receiving drm device
resume
+
+ logind send the resume event for input devices and drm device,
+ in any order. if we call vt_enter before logind resume the drm device,
+ it leads to a driver error, because logind has not done the
+ DRM_IOCTL_SET_MASTER on it.
+
+ Keep the old workaround to make sure we call systemd_logind_vtenter at
+ least once if there are no platform device
+
+ Signed-off-by: Jocelyn Falempe <[email protected]>
+ Reviewed-by: Hans de Goede <[email protected]>
+ (cherry picked from commit f5bd039633fa8360a10bd2aabb0111571f6275b0)
+
+commit 0ed7b1224ef17ff3d27e791e03e0d98dd6373c8a
+Author: nerdopolis <[email protected]>
+Date: Fri Oct 8 21:51:43 2021 -0400
+
+ xfree86: On Linux, while only seat0 can have TTYs, don't assmume all
seat0s have TTYs
+
+ (cherry picked from commit b8c12aac651d626c5120e6e8e18b42e7528caf43)
+
commit 6b997fb74e5c9473ee3989fca8d592a3a0d16067
Author: Povilas Kanapickas <[email protected]>
Date: Sun Nov 7 01:33:56 2021 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/Xext/saver.c
new/xorg-server-21.1.2/Xext/saver.c
--- old/xorg-server-21.1.1/Xext/saver.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/Xext/saver.c 2021-12-15 14:51:50.000000000 +0100
@@ -1351,8 +1351,8 @@
REQUEST(xScreenSaverSuspendReq);
swaps(&stuff->length);
- swapl(&stuff->suspend);
REQUEST_SIZE_MATCH(xScreenSaverSuspendReq);
+ swapl(&stuff->suspend);
return ProcScreenSaverSuspend(client);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/configure
new/xorg-server-21.1.2/configure
--- old/xorg-server-21.1.1/configure 2021-11-07 00:45:29.000000000 +0100
+++ new/xorg-server-21.1.2/configure 2021-12-15 14:52:01.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xorg-server 21.1.1.
+# Generated by GNU Autoconf 2.69 for xorg-server 21.1.2.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/xserver/issues>.
#
@@ -651,8 +651,8 @@
# Identity of this package.
PACKAGE_NAME='xorg-server'
PACKAGE_TARNAME='xorg-server'
-PACKAGE_VERSION='21.1.1'
-PACKAGE_STRING='xorg-server 21.1.1'
+PACKAGE_VERSION='21.1.2'
+PACKAGE_STRING='xorg-server 21.1.2'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/xserver/issues'
PACKAGE_URL=''
@@ -1971,7 +1971,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xorg-server 21.1.1 to adapt to many kinds of systems.
+\`configure' configures xorg-server 21.1.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2042,7 +2042,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorg-server 21.1.1:";;
+ short | recursive ) echo "Configuration of xorg-server 21.1.2:";;
esac
cat <<\_ACEOF
@@ -2227,10 +2227,10 @@
org.x)
--with-bundle-version=VERSION
Version to use for X11.app's CFBundleVersion
- (default: 21.1.1)
+ (default: 21.1.2)
--with-bundle-version-string=VERSION
Version to use for X11.app's
- CFBundleShortVersionString (default: 21.1.1)
+ CFBundleShortVersionString (default: 21.1.2)
--with-sparkle-feed-url=URL
URL for the Sparkle feed (default:
https://www.xquartz.org/releases/sparkle/release.xml)
@@ -2443,7 +2443,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorg-server configure 21.1.1
+xorg-server configure 21.1.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3152,7 +3152,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xorg-server $as_me 21.1.1, which was
+It was created by xorg-server $as_me 21.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3500,7 +3500,7 @@
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-RELEASE_DATE="2021-11-07"
+RELEASE_DATE="2021-12-15"
RELEASE_NAME="Caramel Ice Cream"
@@ -4019,7 +4019,7 @@
# Define the identity of the package.
PACKAGE='xorg-server'
- VERSION='21.1.1'
+ VERSION='21.1.2'
cat >>confdefs.h <<_ACEOF
@@ -23526,7 +23526,7 @@
if test "${with_bundle_version+set}" = set; then :
withval=$with_bundle_version; BUNDLE_VERSION="${withval}"
else
- BUNDLE_VERSION="21.1.1"
+ BUNDLE_VERSION="21.1.2"
fi
@@ -32078,7 +32078,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xorg-server $as_me 21.1.1, which was
+This file was extended by xorg-server $as_me 21.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -32144,7 +32144,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xorg-server config.status 21.1.1
+xorg-server config.status 21.1.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/configure.ac
new/xorg-server-21.1.2/configure.ac
--- old/xorg-server-21.1.1/configure.ac 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/configure.ac 2021-12-15 14:51:50.000000000 +0100
@@ -26,8 +26,8 @@
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.60)
-AC_INIT([xorg-server], 21.1.1,
[https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
-RELEASE_DATE="2021-11-07"
+AC_INIT([xorg-server], 21.1.2,
[https://gitlab.freedesktop.org/xorg/xserver/issues], xorg-server)
+RELEASE_DATE="2021-12-15"
RELEASE_NAME="Caramel Ice Cream"
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/glamor/glamor_program.c
new/xorg-server-21.1.2/glamor/glamor_program.c
--- old/xorg-server-21.1.1/glamor/glamor_program.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/glamor/glamor_program.c 2021-12-15
14:51:50.000000000 +0100
@@ -260,8 +260,8 @@
char *fs_vars = NULL;
char *vs_vars = NULL;
- char *vs_prog_string;
- char *fs_prog_string;
+ char *vs_prog_string = NULL;
+ char *fs_prog_string = NULL;
GLint fs_prog, vs_prog;
Bool gpu_shader4 = FALSE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/meson.build
new/xorg-server-21.1.2/hw/xfree86/common/meson.build
--- old/xorg-server-21.1.1/hw/xfree86/common/meson.build 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/common/meson.build 2021-12-15
14:51:50.000000000 +0100
@@ -71,6 +71,10 @@
if get_option('pciaccess')
srcs_xorg_common += ['xf86pciBus.c', 'xf86VGAarbiter.c']
+
+ if host_machine.cpu() == 'sparc' or host_machine.cpu() == 'sparc64'
+ srcs_xorg_common += 'xf86sbusBus.c'
+ endif
endif
srcs_xorg_common += custom_target(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Events.c
new/xorg-server-21.1.2/hw/xfree86/common/xf86Events.c
--- old/xorg-server-21.1.1/hw/xfree86/common/xf86Events.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Events.c 2021-12-15
14:51:50.000000000 +0100
@@ -382,6 +382,17 @@
for (i = 0; i < xf86NumGPUScreens; i++)
xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]);
+ if (systemd_logind_controls_session()) {
+ for (i = 0; i < xf86_num_platform_devices; i++) {
+ if (xf86_platform_devices[i].flags & XF86_PDEV_SERVER_FD) {
+ int major, minor;
+ major = xf86_platform_odev_attributes(i)->major;
+ minor = xf86_platform_odev_attributes(i)->minor;
+ systemd_logind_drop_master(major, minor);
+ }
+ }
+ }
+
if (!xf86VTSwitchAway())
goto switch_failed;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Helper.c
new/xorg-server-21.1.2/hw/xfree86/common/xf86Helper.c
--- old/xorg-server-21.1.1/hw/xfree86/common/xf86Helper.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Helper.c 2021-12-15
14:51:50.000000000 +0100
@@ -55,7 +55,6 @@
#include "xf86Xinput.h"
#include "xf86InPriv.h"
#include "mivalidate.h"
-#include "xf86Crtc.h"
/* For xf86GetClocks */
#if defined(CSRG_BASED) || defined(__GNU__)
@@ -852,9 +851,8 @@
{
MessageType from = X_DEFAULT;
xf86MonPtr DDC = (xf86MonPtr) (pScrn->monitor->DDC);
- int probedWidthmm, probedHeightmm;
+ int ddcWidthmm, ddcHeightmm;
int widthErr, heightErr;
- xf86OutputPtr compat = xf86CompatOutput(pScrn);
/* XXX Maybe there is no need for widthmm/heightmm in ScrnInfoRec */
pScrn->widthmm = pScrn->monitor->widthmm;
@@ -864,15 +862,11 @@
/* DDC gives display size in mm for individual modes,
* but cm for monitor
*/
- probedWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */
- probedHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
- }
- else if (compat && compat->mm_width > 0 && compat->mm_height > 0) {
- probedWidthmm = compat->mm_width;
- probedHeightmm = compat->mm_height;
+ ddcWidthmm = DDC->features.hsize * 10; /* 10mm in 1cm */
+ ddcHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
}
else {
- probedWidthmm = probedHeightmm = 0;
+ ddcWidthmm = ddcHeightmm = 0;
}
if (monitorResolution > 0) {
@@ -898,15 +892,15 @@
pScrn->widthmm, pScrn->heightmm);
/* Warn if config and probe disagree about display size */
- if (probedWidthmm && probedHeightmm) {
+ if (ddcWidthmm && ddcHeightmm) {
if (pScrn->widthmm > 0) {
- widthErr = abs(probedWidthmm - pScrn->widthmm);
+ widthErr = abs(ddcWidthmm - pScrn->widthmm);
}
else {
widthErr = 0;
}
if (pScrn->heightmm > 0) {
- heightErr = abs(probedHeightmm - pScrn->heightmm);
+ heightErr = abs(ddcHeightmm - pScrn->heightmm);
}
else {
heightErr = 0;
@@ -915,17 +909,17 @@
/* Should include config file name for monitor here */
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
"Probed monitor is %dx%d mm, using Displaysize
%dx%d mm\n",
- probedWidthmm, probedHeightmm, pScrn->widthmm,
+ ddcWidthmm, ddcHeightmm, pScrn->widthmm,
pScrn->heightmm);
}
}
}
- else if (probedWidthmm && probedHeightmm) {
+ else if (ddcWidthmm && ddcHeightmm) {
from = X_PROBED;
xf86DrvMsg(pScrn->scrnIndex, from, "Display dimensions: (%d, %d) mm\n",
- probedWidthmm, probedHeightmm);
- pScrn->widthmm = probedWidthmm;
- pScrn->heightmm = probedHeightmm;
+ ddcWidthmm, ddcHeightmm);
+ pScrn->widthmm = ddcWidthmm;
+ pScrn->heightmm = ddcHeightmm;
if (pScrn->widthmm > 0) {
pScrn->xDpi =
(int) ((double) pScrn->virtualX * MMPERINCH / pScrn->widthmm);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Init.c
new/xorg-server-21.1.2/hw/xfree86/common/xf86Init.c
--- old/xorg-server-21.1.1/hw/xfree86/common/xf86Init.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Init.c 2021-12-15
14:51:50.000000000 +0100
@@ -85,6 +85,11 @@
#include <X11/extensions/dpmsconst.h>
#include "dpmsproc.h"
#endif
+
+#ifdef __linux__
+#include <linux/major.h>
+#include <sys/sysmacros.h>
+#endif
#include <hotplug.h>
void (*xf86OSPMClose) (void) = NULL;
@@ -105,23 +110,10 @@
static int numFormats = 7;
static Bool formatsDone = FALSE;
-#ifndef PRE_RELEASE
-#define PRE_RELEASE XORG_VERSION_SNAP
-#endif
static void
xf86PrintBanner(void)
{
-#if PRE_RELEASE
- xf86ErrorFVerb(0, "\n"
- "This is a pre-release version of the X server from "
- XVENDORNAME ".\n" "It is not supported in any way.\n"
- "Bugs may be filed in the bugzilla at
http://bugs.freedesktop.org/.\n"
- "Select the \"xorg\" product for bugs you find in this
release.\n"
- "Before reporting bugs in pre-release versions please check
the\n"
- "latest version in the X.Org Foundation git repository.\n"
- "See http://wiki.x.org/wiki/GitPage for git access
instructions.\n");
-#endif
xf86ErrorFVerb(0, "\nX.Org X Server %d.%d.%d",
XORG_VERSION_MAJOR, XORG_VERSION_MINOR, XORG_VERSION_PATCH);
#if XORG_VERSION_SNAP > 0
@@ -201,6 +193,17 @@
return PrivsElevated();
}
+Bool
+xf86HasTTYs(void)
+{
+#ifdef __linux__
+ struct stat tty0devAttributes;
+ return (stat("/dev/tty0", &tty0devAttributes) == 0 &&
major(tty0devAttributes.st_rdev) == TTY_MAJOR);
+#else
+ return TRUE;
+#endif
+}
+
static void
xf86AutoConfigOutputDevices(void)
{
@@ -425,7 +428,7 @@
want_hw_access = TRUE;
/* Non-seat0 X servers should not open console */
- if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0())
+ if (!(flags & HW_SKIP_CONSOLE) && !ServerIsNotSeat0() &&
xf86HasTTYs())
xorgHWOpenConsole = TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/common/xf86Priv.h
new/xorg-server-21.1.2/hw/xfree86/common/xf86Priv.h
--- old/xorg-server-21.1.1/hw/xfree86/common/xf86Priv.h 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/common/xf86Priv.h 2021-12-15
14:51:50.000000000 +0100
@@ -158,6 +158,8 @@
xf86CallDriverProbe(struct _DriverRec *drv, Bool detect_only);
extern _X_EXPORT Bool
xf86PrivsElevated(void);
+extern _X_EXPORT Bool
+xf86HasTTYs(void);
#endif /* _NO_XF86_PROTOTYPES */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/hw/xfree86/drivers/modesetting/dri2.c
new/xorg-server-21.1.2/hw/xfree86/drivers/modesetting/dri2.c
--- old/xorg-server-21.1.1/hw/xfree86/drivers/modesetting/dri2.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/drivers/modesetting/dri2.c
2021-12-15 14:51:50.000000000 +0100
@@ -1086,7 +1086,8 @@
* guess that the DRI and VDPAU drivers have the same name.
*/
if (strcmp(driver_names[0], "i965") == 0 ||
- strcmp(driver_names[0], "iris") == 0) {
+ strcmp(driver_names[0], "iris") == 0 ||
+ strcmp(driver_names[0], "crocus") == 0) {
driver_names[1] = "va_gl";
} else {
driver_names[1] = driver_names[0];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/modes/xf86Crtc.c
new/xorg-server-21.1.2/hw/xfree86/modes/xf86Crtc.c
--- old/xorg-server-21.1.1/hw/xfree86/modes/xf86Crtc.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/modes/xf86Crtc.c 2021-12-15
14:51:50.000000000 +0100
@@ -3256,10 +3256,8 @@
free(output->MonInfo);
output->MonInfo = edid_mon;
- if (edid_mon) {
- output->mm_width = 0;
- output->mm_height = 0;
- }
+ output->mm_width = 0;
+ output->mm_height = 0;
if (debug_modes) {
xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/modes/xf86RandR12.c
new/xorg-server-21.1.2/hw/xfree86/modes/xf86RandR12.c
--- old/xorg-server-21.1.1/hw/xfree86/modes/xf86RandR12.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/modes/xf86RandR12.c 2021-12-15
14:51:50.000000000 +0100
@@ -806,12 +806,6 @@
mmWidth = output->conf_monitor->mon_width;
mmHeight = output->conf_monitor->mon_height;
}
- else if (output &&
- (output->mm_width > 0 &&
- output->mm_height > 0)) {
- mmWidth = output->mm_width;
- mmHeight = output->mm_height;
- }
else {
/*
* Otherwise, just set the screen to DEFAULT_DPI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/hw/xfree86/os-support/linux/systemd-logind.c
new/xorg-server-21.1.2/hw/xfree86/os-support/linux/systemd-logind.c
--- old/xorg-server-21.1.1/hw/xfree86/os-support/linux/systemd-logind.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/os-support/linux/systemd-logind.c
2021-12-15 14:51:50.000000000 +0100
@@ -38,6 +38,7 @@
#include "xf86.h"
#include "xf86platformBus.h"
#include "xf86Xinput.h"
+#include "xf86Priv.h"
#include "globals.h"
#include "systemd-logind.h"
@@ -302,6 +303,20 @@
dbus_error_free(&error);
}
+/*
+ * Send a message to logind, to pause the drm device
+ * and ensure the drm_drop_master is done before
+ * VT_RELDISP when switching VT
+ */
+void systemd_logind_drop_master(int _major, int _minor)
+{
+ struct systemd_logind_info *info = &logind_info;
+ dbus_int32_t major = _major;
+ dbus_int32_t minor = _minor;
+
+ systemd_logind_ack_pause(info, minor, major);
+}
+
static DBusHandlerResult
message_filter(DBusConnection * connection, DBusMessage * message, void *data)
{
@@ -393,14 +408,16 @@
/* info->vt_active gets set by systemd_logind_vtenter() */
info->active = TRUE;
- if (pdev)
+ if (pdev) {
pdev->flags &= ~XF86_PDEV_PAUSED;
- else
+ systemd_logind_vtenter();
+ } else
systemd_logind_set_input_fd_for_all_devs(major, minor, fd,
info->vt_active);
- /* Always call vtenter(), in case there are only legacy video devs */
- systemd_logind_vtenter();
+ /* Always call vtenter(), only if there are only legacy video devs */
+ if (!xf86_num_platform_devices)
+ systemd_logind_vtenter();
}
return DBUS_HANDLER_RESULT_HANDLED;
}
@@ -583,7 +600,7 @@
int
systemd_logind_init(void)
{
- if (!ServerIsNotSeat0() && linux_parse_vt_settings(TRUE) &&
!linux_get_keeptty()) {
+ if (!ServerIsNotSeat0() && xf86HasTTYs() && linux_parse_vt_settings(TRUE)
&& !linux_get_keeptty()) {
LogMessage(X_INFO,
"systemd-logind: logind integration requires -keeptty and "
"-keeptty was not provided, disabling logind integration\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/hw/xfree86/os-support/meson.build
new/xorg-server-21.1.2/hw/xfree86/os-support/meson.build
--- old/xorg-server-21.1.1/hw/xfree86/os-support/meson.build 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/hw/xfree86/os-support/meson.build 2021-12-15
14:51:50.000000000 +0100
@@ -19,7 +19,7 @@
if host_machine.system() != 'linux'
srcs_xorg_os_support += 'bus/bsd_pci.c'
endif
- if host_machine.cpu() == 'sparc'
+ if host_machine.cpu() == 'sparc' or host_machine.cpu() == 'sparc64'
srcs_xorg_os_support += 'bus/Sbus.c'
install_data('bus/xf86Sbus.h', install_dir: xorgsdkdir)
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/include/meson.build
new/xorg-server-21.1.2/include/meson.build
--- old/xorg-server-21.1.1/include/meson.build 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/include/meson.build 2021-12-15 14:51:50.000000000
+0100
@@ -245,6 +245,8 @@
conf_data.set('HAVE_APM', (build_apm or build_acpi) ? '1' : false)
conf_data.set('HAVE_ACPI', build_acpi ? '1' : false)
+conf_data.set('DDXOSVERRORF', build_xwin ? '1' : false)
+conf_data.set('DDXBEFORERESET', build_xwin ? '1' : false)
enable_debugging = get_option('buildtype') == 'debug'
conf_data.set('DEBUG', enable_debugging ? '1' : false)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/include/systemd-logind.h
new/xorg-server-21.1.2/include/systemd-logind.h
--- old/xorg-server-21.1.1/include/systemd-logind.h 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/include/systemd-logind.h 2021-12-15
14:51:50.000000000 +0100
@@ -33,6 +33,7 @@
void systemd_logind_release_fd(int major, int minor, int fd);
int systemd_logind_controls_session(void);
void systemd_logind_vtenter(void);
+void systemd_logind_drop_master(int major, int minor);
#else
#define systemd_logind_init()
#define systemd_logind_fini()
@@ -40,6 +41,7 @@
#define systemd_logind_release_fd(major, minor, fd) close(fd)
#define systemd_logind_controls_session() 0
#define systemd_logind_vtenter()
+#define systemd_logind_drop_master(major, minor)
#endif
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/meson.build
new/xorg-server-21.1.2/meson.build
--- old/xorg-server-21.1.1/meson.build 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/meson.build 2021-12-15 14:51:50.000000000 +0100
@@ -3,10 +3,10 @@
'buildtype=debugoptimized',
'c_std=gnu99',
],
- version: '21.1.1',
+ version: '21.1.2',
meson_version: '>= 0.47.0',
)
-release_date = '2021-11-07'
+release_date = '2021-12-15'
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc'])
cc = meson.get_compiler('c')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/record/record.c
new/xorg-server-21.1.2/record/record.c
--- old/xorg-server-21.1.1/record/record.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/record/record.c 2021-12-15 14:51:50.000000000
+0100
@@ -2516,8 +2516,8 @@
swapl(pClientID);
}
if (stuff->nRanges >
- client->req_len - bytes_to_int32(sz_xRecordRegisterClientsReq)
- - stuff->nClients)
+ (client->req_len - bytes_to_int32(sz_xRecordRegisterClientsReq)
+ - stuff->nClients) / bytes_to_int32(sz_xRecordRange))
return BadLength;
RecordSwapRanges((xRecordRange *) pClientID, stuff->nRanges);
return Success;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/render/render.c
new/xorg-server-21.1.2/render/render.c
--- old/xorg-server-21.1.1/render/render.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/render/render.c 2021-12-15 14:51:50.000000000
+0100
@@ -2309,6 +2309,9 @@
i = elt->len;
if (i == 0xff) {
+ if (buffer + 4 > end) {
+ return BadLength;
+ }
swapl((int *) buffer);
buffer += 4;
}
@@ -2319,12 +2322,18 @@
buffer += i;
break;
case 2:
+ if (buffer + i * 2 > end) {
+ return BadLength;
+ }
while (i--) {
swaps((short *) buffer);
buffer += 2;
}
break;
case 4:
+ if (buffer + i * 4 > end) {
+ return BadLength;
+ }
while (i--) {
swapl((int *) buffer);
buffer += 4;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/damage/primitives.c
new/xorg-server-21.1.2/test/damage/primitives.c
--- old/xorg-server-21.1.1/test/damage/primitives.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/damage/primitives.c 2021-12-15
14:51:50.000000000 +0100
@@ -31,6 +31,9 @@
* them.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#include <assert.h>
#include <stdbool.h>
#include <stdio.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/fixes.c
new/xorg-server-21.1.2/test/fixes.c
--- old/xorg-server-21.1.1/test/fixes.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/fixes.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/input.c
new/xorg-server-21.1.2/test/input.c
--- old/xorg-server-21.1.1/test/input.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/input.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/list.c
new/xorg-server-21.1.2/test/list.c
--- old/xorg-server-21.1.1/test/list.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/list.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/misc.c
new/xorg-server-21.1.2/test/misc.c
--- old/xorg-server-21.1.1/test/misc.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/misc.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/signal-logging.c
new/xorg-server-21.1.2/test/signal-logging.c
--- old/xorg-server-21.1.1/test/signal-logging.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/signal-logging.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/string.c
new/xorg-server-21.1.2/test/string.c
--- old/xorg-server-21.1.1/test/string.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/test/string.c 2021-12-15 14:51:50.000000000
+0100
@@ -26,6 +26,9 @@
* provided in os/ subdirectory for some platforms.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/test_xkb.c
new/xorg-server-21.1.2/test/test_xkb.c
--- old/xorg-server-21.1.1/test/test_xkb.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/test/test_xkb.c 2021-12-15 14:51:50.000000000
+0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/touch.c
new/xorg-server-21.1.2/test/touch.c
--- old/xorg-server-21.1.1/test/touch.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/touch.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xfree86.c
new/xorg-server-21.1.2/test/xfree86.c
--- old/xorg-server-21.1.1/test/xfree86.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/test/xfree86.c 2021-12-15 14:51:50.000000000
+0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi1/protocol-xchangedevicecontrol.c
new/xorg-server-21.1.2/test/xi1/protocol-xchangedevicecontrol.c
--- old/xorg-server-21.1.1/test/xi1/protocol-xchangedevicecontrol.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi1/protocol-xchangedevicecontrol.c
2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-common.c
new/xorg-server-21.1.2/test/xi2/protocol-common.c
--- old/xorg-server-21.1.1/test/xi2/protocol-common.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-common.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-eventconvert.c
new/xorg-server-21.1.2/test/xi2/protocol-eventconvert.c
--- old/xorg-server-21.1.1/test/xi2/protocol-eventconvert.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-eventconvert.c 2021-12-15
14:51:50.000000000 +0100
@@ -20,6 +20,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xigetclientpointer.c
new/xorg-server-21.1.2/test/xi2/protocol-xigetclientpointer.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xigetclientpointer.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xigetclientpointer.c
2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xigetselectedevents.c
new/xorg-server-21.1.2/test/xi2/protocol-xigetselectedevents.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xigetselectedevents.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xigetselectedevents.c
2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xipassivegrabdevice.c
new/xorg-server-21.1.2/test/xi2/protocol-xipassivegrabdevice.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xipassivegrabdevice.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xipassivegrabdevice.c
2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiquerydevice.c
new/xorg-server-21.1.2/test/xi2/protocol-xiquerydevice.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xiquerydevice.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xiquerydevice.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xiquerypointer.c
new/xorg-server-21.1.2/test/xi2/protocol-xiquerypointer.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xiquerypointer.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xiquerypointer.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xiqueryversion.c
new/xorg-server-21.1.2/test/xi2/protocol-xiqueryversion.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xiqueryversion.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xiqueryversion.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xiselectevents.c
new/xorg-server-21.1.2/test/xi2/protocol-xiselectevents.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xiselectevents.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xiselectevents.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xorg-server-21.1.1/test/xi2/protocol-xisetclientpointer.c
new/xorg-server-21.1.2/test/xi2/protocol-xisetclientpointer.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xisetclientpointer.c
2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xisetclientpointer.c
2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/protocol-xiwarppointer.c
new/xorg-server-21.1.2/test/xi2/protocol-xiwarppointer.c
--- old/xorg-server-21.1.1/test/xi2/protocol-xiwarppointer.c 2021-11-07
00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xi2/protocol-xiwarppointer.c 2021-12-15
14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xi2/xi2.c
new/xorg-server-21.1.2/test/xi2/xi2.c
--- old/xorg-server-21.1.1/test/xi2/xi2.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/test/xi2/xi2.c 2021-12-15 14:51:50.000000000
+0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/test/xtest.c
new/xorg-server-21.1.2/test/xtest.c
--- old/xorg-server-21.1.1/test/xtest.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/test/xtest.c 2021-12-15 14:51:50.000000000 +0100
@@ -21,6 +21,9 @@
* DEALINGS IN THE SOFTWARE.
*/
+/* Test relies on assert() */
+#undef NDEBUG
+
#ifdef HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/xfixes/cursor.c
new/xorg-server-21.1.2/xfixes/cursor.c
--- old/xorg-server-21.1.1/xfixes/cursor.c 2021-11-07 00:45:18.000000000
+0100
+++ new/xorg-server-21.1.2/xfixes/cursor.c 2021-12-15 14:51:50.000000000
+0100
@@ -1010,7 +1010,8 @@
{
REQUEST(xXFixesCreatePointerBarrierReq);
- REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq,
pad_to_int32(stuff->num_devices));
+ REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq,
+ pad_to_int32(stuff->num_devices * sizeof(CARD16)));
LEGAL_NEW_RESOURCE(stuff->barrier, client);
return XICreatePointerBarrier(client, stuff);
@@ -1027,7 +1028,8 @@
swaps(&stuff->length);
swaps(&stuff->num_devices);
- REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq,
pad_to_int32(stuff->num_devices));
+ REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq,
+ pad_to_int32(stuff->num_devices * sizeof(CARD16)));
swapl(&stuff->barrier);
swapl(&stuff->window);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xorg-server-21.1.1/xkb/xkb.c
new/xorg-server-21.1.2/xkb/xkb.c
--- old/xorg-server-21.1.1/xkb/xkb.c 2021-11-07 00:45:18.000000000 +0100
+++ new/xorg-server-21.1.2/xkb/xkb.c 2021-12-15 14:51:50.000000000 +0100
@@ -2511,15 +2511,14 @@
}
}
- if ((req->present & XkbKeyTypesMask) &&
- (!CheckKeyTypes(client, xkb, req, (xkbKeyTypeWireDesc **) &values,
- &nTypes, mapWidths, doswap))) {
- client->errorValue = nTypes;
- return BadValue;
- }
- else {
+ if (!(req->present & XkbKeyTypesMask)) {
nTypes = xkb->map->num_types;
}
+ else if (!CheckKeyTypes(client, xkb, req, (xkbKeyTypeWireDesc **) &values,
+ &nTypes, mapWidths, doswap)) {
+ client->errorValue = nTypes;
+ return BadValue;
+ }
/* symsPerKey/mapWidths must be filled regardless of client-side flags */
map = &xkb->map->key_sym_map[xkb->min_key_code];