Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[xsrc/netbsd-10]: xsrc/external/mit/libX11/dist Sync external/mit/libX11/dist...
details: https://anonhg.NetBSD.org/xsrc/rev/c8c830269c4a
branches: netbsd-10
changeset: 7291:c8c830269c4a
user: martin <martin%NetBSD.org@localhost>
date: Tue Dec 20 09:36:50 2022 +0000
description:
Sync external/mit/libX11/dist to HEAD, requested by mrg in ticket #7
external/mit/libX11/dist/ChangeLog up to 1.3
external/mit/libX11/dist/README.md up to 1.3
external/mit/libX11/dist/aclocal.m4 up to 1.3
external/mit/libX11/dist/configure up to 1.3
external/mit/libX11/dist/configure.ac up to 1.3
external/mit/libX11/dist/include/X11/Xlib.h up to 1.3
external/mit/libX11/dist/include/X11/Xlibint.h up to 1.3
external/mit/libX11/dist/man/XInitThreads.man up to 1.3
external/mit/libX11/dist/modules/im/ximcp/imLcPrs.c up to 1.3
external/mit/libX11/dist/nls/en_US.UTF-8/XLC_LOCALE.pre up to 1.3
external/mit/libX11/dist/src/ChkIfEv.c up to 1.3
external/mit/libX11/dist/src/IfEvent.c up to 1.3
external/mit/libX11/dist/src/OpenDis.c up to 1.3
external/mit/libX11/dist/src/PeekIfEv.c up to 1.3
external/mit/libX11/dist/src/PutBEvent.c up to 1.3
external/mit/libX11/dist/src/globals.c up to 1.3
external/mit/libX11/dist/src/locking.c up to 1.3
external/mit/libX11/dist/src/xkb/XKBBind.c up to 1.3
Update libX11 from 1.8.2 to 1.8.3.
diffstat:
external/mit/libX11/dist/ChangeLog | 122 ++++++++++++++++
external/mit/libX11/dist/README.md | 9 +
external/mit/libX11/dist/aclocal.m4 | 22 +-
external/mit/libX11/dist/configure | 22 +-
external/mit/libX11/dist/configure.ac | 2 +-
external/mit/libX11/dist/include/X11/Xlib.h | 4 +
external/mit/libX11/dist/include/X11/Xlibint.h | 2 +-
external/mit/libX11/dist/man/XInitThreads.man | 8 +-
external/mit/libX11/dist/modules/im/ximcp/imLcPrs.c | 2 +-
external/mit/libX11/dist/nls/en_US.UTF-8/XLC_LOCALE.pre | 42 ++--
external/mit/libX11/dist/src/ChkIfEv.c | 8 +-
external/mit/libX11/dist/src/IfEvent.c | 6 +-
external/mit/libX11/dist/src/OpenDis.c | 2 +-
external/mit/libX11/dist/src/PeekIfEv.c | 4 +-
external/mit/libX11/dist/src/PutBEvent.c | 15 +-
external/mit/libX11/dist/src/globals.c | 6 +
external/mit/libX11/dist/src/locking.c | 56 ++++++-
external/mit/libX11/dist/src/xkb/XKBBind.c | 19 +-
18 files changed, 276 insertions(+), 75 deletions(-)
diffs (truncated from 778 to 300 lines):
diff -r c270a2f82bca -r c8c830269c4a external/mit/libX11/dist/ChangeLog
--- a/external/mit/libX11/dist/ChangeLog Mon Dec 19 13:22:42 2022 +0000
+++ b/external/mit/libX11/dist/ChangeLog Tue Dec 20 09:36:50 2022 +0000
@@ -1,3 +1,125 @@
+commit 48487c4b9028e9eec5371742f51e1d64c2e17296
+Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+Date: Thu Dec 15 14:52:20 2022 -0800
+
+ libX11 1.8.3
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit d6d6cba90215d323567fef13d6565756c9956f60
+Author: Keith Packard <keithp%keithp.com@localhost>
+Date: Sun Dec 11 10:32:26 2022 -0800
+
+ Update XPutBackEvent() to support clients that put back unpadded events
+
+ It seems to be common practice of some X11 clients to pass specific event
+ types into APIs that take XEvent*. For example, freeglut does:
+
+ XConfigureEvent fakeEvent = {0};
+ ...
+ XPutBackEvent(fgDisplay.Display, (XEvent*)&fakeEvent);
+
+ This can result in reads overflowing the input event when libX11 does:
+
+ XEvent store = *event;
+
+ =================================================================
+ ==75304==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00016ee4a8e8 at pc 0x000101c54d14 bp 0x00016ee4a0d0 sp 0x00016ee49888
+ READ of size 192 at 0x00016ee4a8e8 thread T0
+ #0 0x101c54d10 in __asan_memcpy+0x1a4 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3cd10)
+ #1 0x102848a18 in _XPutBackEvent PutBEvent.c:41
+ #2 0x1028490a4 in XPutBackEvent PutBEvent.c:84
+ #3 0x1013295c8 in fgOpenWindow freeglut_window.c:1178
+ #4 0x101321984 in fgCreateWindow freeglut_structure.c:108
+ #5 0x10132b138 in glutCreateWindow freeglut_window.c:1551
+ #6 0x100fb7d94 in main+0x78 (checkeredTriangles:arm64+0x100003d94)
+ #7 0x197de3e4c (<unknown module>)
+
+ Address 0x00016ee4a8e8 is located in stack of thread T0 at offset 840 in frame
+ #0 0x1013282f8 in fgOpenWindow freeglut_window.c:1063
+
+ This frame has 8 object(s):
+ [32, 40) 'title.addr'
+ [64, 176) 'winAttr' (line 1066)
+ [208, 240) 'textProperty' (line 1067)
+ [272, 352) 'sizeHints' (line 1068)
+ [384, 440) 'wmHints' (line 1069)
+ [480, 672) 'eventReturnBuffer' (line 1070)
+ [736, 740) 'num_FBConfigs' (line 1072)
+ [752, 840) 'fakeEvent' (line 1074) <== Memory access at offset 840 overflows this variable
+
+ This change allows XPutBackEvent() to support such clients without
+ risk of memory read overflow.
+
+ Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu%apple.com@localhost>
+ Tested-by: Jeremy Huddleston Sequoia <jeremyhu%apple.com@localhost>
+
+commit 496d9bfeedda89a2211ec665f9214c2693c022f4
+Author: Jeremy Huddleston Sequoia <jeremyhu%apple.com@localhost>
+Date: Sat Dec 3 16:26:47 2022 -0800
+
+ ximcp: Address warning found by UBSan when growing an empty tree
+
+ imLcPrs.c:681:52: runtime error: applying zero offset to null pointer
+
+ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu%apple.com@localhost>
+
+commit 7f7bcd7b6f569e9f70e3ddd134924f178e2596b1
+Author: Takao Fujiwara <tfujiwar%redhat.com@localhost>
+Date: Tue Dec 6 16:59:56 2022 +0000
+
+ nls: consecutive cs number in en_US.UTF-8/XLC_LOCALE
+
+commit ba095967349dff583bd0989d0ba78aa334e9bedf
+Author: Ulrich Sibiller <uli42%gmx.de@localhost>
+Date: Wed Nov 30 23:47:29 2022 +0100
+
+ ChkIfEv.c: fix wrong handling of dpy->in_ifevent
+
+ Is no longer a bool but a counter.
+
+ Signed-off-by: Ulrich Sibiller <uli42%gmx.de@localhost>
+
+commit 70eaf1174e2809d1a6c43868d53f8cd844ef636a
+Author: Ulrich Sibiller <uli42%gmx.de@localhost>
+Date: Wed Nov 30 23:42:02 2022 +0100
+
+ Indentation fixes around recent dpy->in_ifevent changes
+
+ Use the same indentation as the surrounding code.
+
+ Signed-off-by: Ulrich Sibiller <uli42%gmx.de@localhost>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
+
+commit a9e845809bcaae22496bc8aa3ca252b410d5f39b
+Author: Matthieu Herrb <matthieu%herrb.eu@localhost>
+Date: Fri Nov 11 18:55:23 2022 +0100
+
+ Fix 797755 Allow X*IfEvent() to reenter libX11
+
+ - the activation logic is reversed
+ - there is also _XInternalLockDisplay() that needs protection
+ - I've found cases (in fvwm2) where the callback calls XCheckIfEvent()
+ recursively. So the flag needs to be a counter.
+
+ Reviewed-by: Adam Jackson <ajax%redhat.com@localhost>
+
+commit bccd787a565d3a88673bfc06574c1939f98d8d72
+Author: Nia Alarie <nia%NetBSD.org@localhost>
+Date: Thu Nov 10 22:31:47 2022 +0100
+
+ Don't use pragma inside a function, it breaks compiling with older GCCs.
+
+ XKBBind.c:230: error: #pragma GCC diagnostic not allowed inside functions
+
+ Signed-off-by: Thomas Klausner <wiz%gatalith.at@localhost>
+
+commit 696d19d5db7bcb1c1f582c2b1846520e7e0870cb
+Author: Oliver <halting%riseup.net@localhost>
+Date: Fri Nov 11 17:04:00 2022 +0000
+
+ Add XFreeThreads function.
+
commit b4f24b272c6ef888b6fcfcf80670c196b2e8f755
Author: Alan Coopersmith <alan.coopersmith%oracle.com@localhost>
Date: Thu Nov 10 12:18:17 2022 -0800
diff -r c270a2f82bca -r c8c830269c4a external/mit/libX11/dist/README.md
--- a/external/mit/libX11/dist/README.md Mon Dec 19 13:22:42 2022 +0000
+++ b/external/mit/libX11/dist/README.md Tue Dec 20 09:36:50 2022 +0000
@@ -31,6 +31,15 @@
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
+## Release 1.8.3
+
+ * Improved handling of reentering libX11 via X*IfEvent() calls (!171, !173)
+ * Fix loading of en_US.UTF-8/XLC_LOCALE (#167, !174)
+ * Add XFreeThreads() and automatic call from a destructor function when
+ thread-safety-constructor is enabled (!167).
+ * Address issues found by UBSan and AddressSanitizer
+ * Fix build with older gcc versions (!169)
+
## Release 1.8.2
* Allow X*IfEvent() to reenter libX11 to avoid deadlock from unsafe
diff -r c270a2f82bca -r c8c830269c4a external/mit/libX11/dist/aclocal.m4
--- a/external/mit/libX11/dist/aclocal.m4 Mon Dec 19 13:22:42 2022 +0000
+++ b/external/mit/libX11/dist/aclocal.m4 Tue Dec 20 09:36:50 2022 +0000
@@ -1793,7 +1793,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-xmlto option, it allows maximum flexibilty in making decisions
+# the --with-xmlto option, it allows maximum flexibility in making decisions
# as whether or not to use the xmlto package. When DEFAULT is not specified,
# --with-xmlto assumes 'auto'.
#
@@ -2007,7 +2007,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-asciidoc option, it allows maximum flexibilty in making decisions
+# the --with-asciidoc option, it allows maximum flexibility in making decisions
# as whether or not to use the asciidoc package. When DEFAULT is not specified,
# --with-asciidoc assumes 'auto'.
#
@@ -2077,7 +2077,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-doxygen option, it allows maximum flexibilty in making decisions
+# the --with-doxygen option, it allows maximum flexibility in making decisions
# as whether or not to use the doxygen package. When DEFAULT is not specified,
# --with-doxygen assumes 'auto'.
#
@@ -2161,7 +2161,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-groff option, it allows maximum flexibilty in making decisions
+# the --with-groff option, it allows maximum flexibility in making decisions
# as whether or not to use the groff package. When DEFAULT is not specified,
# --with-groff assumes 'auto'.
#
@@ -2269,7 +2269,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-fop option, it allows maximum flexibilty in making decisions
+# the --with-fop option, it allows maximum flexibility in making decisions
# as whether or not to use the fop package. When DEFAULT is not specified,
# --with-fop assumes 'auto'.
#
@@ -2363,7 +2363,7 @@
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
+# the --with-ps2pdf option, it allows maximum flexibility in making decisions
# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
# --with-ps2pdf assumes 'auto'.
#
@@ -2418,7 +2418,7 @@
# not at the appropriate level. This macro enables a builder to skip all
# documentation targets except traditional man pages.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2451,7 +2451,7 @@
#
# This macro enables a builder to skip all developer documentation.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2484,7 +2484,7 @@
#
# This macro enables a builder to skip all functional specification targets.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2975,7 +2975,7 @@
# Minimum version: 1.16.0
#
# Test if the compiler works when passed the given flag as a command line argument.
-# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
+# If it succeeds, the flag is appended to the given variable. If not, it tries the
# next flag in the list until there are no more options.
#
# Note that this does not guarantee that the compiler supports the flag as some
@@ -3132,7 +3132,7 @@
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
-# Turn some warnings into errors, so we don't accidently get successful builds
+# Turn some warnings into errors, so we don't accidentally get successful builds
# when there are problems that should be fixed.
if test "x$SELECTIVE_WERROR" = "xyes" ; then
diff -r c270a2f82bca -r c8c830269c4a external/mit/libX11/dist/configure
--- a/external/mit/libX11/dist/configure Mon Dec 19 13:22:42 2022 +0000
+++ b/external/mit/libX11/dist/configure Tue Dec 20 09:36:50 2022 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for libX11 1.8.2.
+# Generated by GNU Autoconf 2.71 for libX11 1.8.3.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues>.
#
@@ -682,8 +682,8 @@
# Identity of this package.
PACKAGE_NAME='libX11'
PACKAGE_TARNAME='libX11'
-PACKAGE_VERSION='1.8.2'
-PACKAGE_STRING='libX11 1.8.2'
+PACKAGE_VERSION='1.8.3'
+PACKAGE_STRING='libX11 1.8.3'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libx11/-/issues'
PACKAGE_URL=''
@@ -1551,7 +1551,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 libX11 1.8.2 to adapt to many kinds of systems.
+\`configure' configures libX11 1.8.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1622,7 +1622,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libX11 1.8.2:";;
+ short | recursive ) echo "Configuration of libX11 1.8.3:";;
esac
cat <<\_ACEOF
@@ -1794,7 +1794,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libX11 configure 1.8.2
+libX11 configure 1.8.3
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2262,7 +2262,7 @@
Home |
Main Index |
Thread Index |
Old Index