diff --git a/.gitignore b/.gitignore index 78beced..9734295 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/libX11-*.tar.xz +/libX11-*.tar.bz2 diff --git a/0001-makekeys-handle-the-new-_EVDEVK-xorgproto-symbols.patch b/0001-makekeys-handle-the-new-_EVDEVK-xorgproto-symbols.patch new file mode 100644 index 0000000..55adaae --- /dev/null +++ b/0001-makekeys-handle-the-new-_EVDEVK-xorgproto-symbols.patch @@ -0,0 +1,43 @@ +From e92efc63acd7b377faa9e534f4bf52aaa86be2a9 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 27 Jul 2021 11:46:19 +1000 +Subject: [PATCH libX11] makekeys: handle the new _EVDEVK xorgproto symbols + +These keys are all defined through a macro in the form: + #define XF86XK_BrightnessAuto _EVDEVK(0x0F4) + +The _EVDEVK macro is simply an offset of 0x10081000. +Let's parse these lines correctly so those keysyms end up in our +hashtables. + +Signed-off-by: Peter Hutterer +--- + src/util/makekeys.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/util/makekeys.c b/src/util/makekeys.c +index e847ef4c..4896cc53 100644 +--- a/src/util/makekeys.c ++++ b/src/util/makekeys.c +@@ -78,6 +78,18 @@ parse_line(const char *buf, char *key, KeySym *val, char *prefix) + return 1; + } + ++ /* See if we can parse one of the _EVDEVK symbols */ ++ i = sscanf(buf, "#define %127s _EVDEVK(0x%lx)", key, val); ++ if (i == 2 && (tmp = strstr(key, "XK_"))) { ++ memcpy(prefix, key, (size_t)(tmp - key)); ++ prefix[tmp - key] = '\0'; ++ tmp += 3; ++ memmove(key, tmp, strlen(tmp) + 1); ++ ++ *val += 0x10081000; ++ return 1; ++ } ++ + /* Now try to catch alias (XK_foo XK_bar) definitions, and resolve them + * immediately: if the target is in the form XF86XK_foo, we need to + * canonicalise this to XF86foo before we do the lookup. */ +-- +2.31.1 + diff --git a/dont-forward-keycode-0.patch b/dont-forward-keycode-0.patch index 466c583..c16d874 100644 --- a/dont-forward-keycode-0.patch +++ b/dont-forward-keycode-0.patch @@ -1,19 +1,19 @@ diff -up libX11-1.6.3/modules/im/ximcp/imDefFlt.c.jx libX11-1.6.3/modules/im/ximcp/imDefFlt.c --- libX11-1.6.3/modules/im/ximcp/imDefFlt.c.jx 2015-03-09 18:28:45.000000000 -0400 +++ libX11-1.6.3/modules/im/ximcp/imDefFlt.c 2015-03-10 12:32:31.912149644 -0400 -@@ -143,7 +143,7 @@ _XimProtoKeypressFilter( +@@ -142,7 +142,7 @@ _XimProtoKeypressFilter( { Xim im = (Xim)ic->core.im; -- if (_XimIsFabricatedSerial(im, ev)) { -+ if ((ev->keycode == 0) || _XimIsFabricatedSerial(im, ev)) { +- if (IS_FABRICATED(im)) { ++ if ((ev->keycode == 0) || IS_FABRICATED(im)) { _XimPendingFilter(ic); - _XimUnfabricateSerial(im, ic, ev); + UNMARK_FABRICATED(im); return NOTFILTERD; diff -up libX11-1.6.3/modules/im/ximcp/imDefLkup.c.jx libX11-1.6.3/modules/im/ximcp/imDefLkup.c --- libX11-1.6.3/modules/im/ximcp/imDefLkup.c.jx 2015-03-09 18:28:45.000000000 -0400 +++ libX11-1.6.3/modules/im/ximcp/imDefLkup.c 2015-03-10 12:32:31.911149637 -0400 -@@ -333,6 +333,17 @@ _XimForwardEvent( +@@ -332,6 +332,17 @@ _XimForwardEvent( XEvent *ev, Bool sync) { @@ -31,9 +31,9 @@ diff -up libX11-1.6.3/modules/im/ximcp/imDefLkup.c.jx libX11-1.6.3/modules/im/xi #ifdef EXT_FORWARD if (((ev->type == KeyPress) || (ev->type == KeyRelease))) if (_XimExtForwardKeyEvent(ic, (XKeyEvent *)ev, sync)) -@@ -703,6 +714,19 @@ _XimUnregRealCommitInfo( - else - ic->private.proto.commit_info = info->next; +@@ -604,6 +615,19 @@ _XimUnregCommitInfo( + Xfree(info->keysym); + ic->private.proto.commit_info = info->next; Xfree(info); + + /* diff --git a/libX11.spec b/libX11.spec index 293e8fe..d3d58bc 100644 --- a/libX11.spec +++ b/libX11.spec @@ -4,9 +4,9 @@ Summary: Core X11 protocol client library Name: libX11 -Version: 1.8.12 -Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} -License: MIT AND X11 +Version: 1.7.2 +Release: 3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} +License: MIT URL: http://www.x.org %if 0%{?gitdate} @@ -14,13 +14,12 @@ Source0: %{tarball}-%{gitdate}.tar.bz2 Source1: make-git-snapshot.sh Source2: commitid %else -Source0: https://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.xz +Source0: https://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.bz2 %endif - Patch2: dont-forward-keycode-0.patch +Patch3: 0001-makekeys-handle-the-new-_EVDEVK-xorgproto-symbols.patch -BuildRequires: libtool BuildRequires: make BuildRequires: xorg-x11-util-macros >= 1.11 BuildRequires: pkgconfig(xproto) >= 7.0.15 @@ -95,7 +94,7 @@ make %{?_smp_mflags} check %{_libdir}/libX11-xcb.so.1.0.0 %files common -%doc AUTHORS COPYING README.md +%doc AUTHORS COPYING README.md NEWS %{_datadir}/X11/locale/ %{_datadir}/X11/XErrorDB %dir /var/cache/libX11 @@ -123,98 +122,6 @@ make %{?_smp_mflags} check %{_mandir}/man5/*.5* %changelog -* Mon Dec 22 2025 Peter Hutterer - 1.8.12-2 -- Rebuild to pick up latest xorg proto keysyms (#2413818) - -* Thu Jul 24 2025 Olivier Fourdan - 1.8.12-1 -- libX11 1.8.12 - -* Thu Jul 24 2025 Fedora Release Engineering - 1.8.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Feb 03 2025 José Expósito - 1.8.11-1 -- libX11 1.8.11 - -* Fri Jan 17 2025 Fedora Release Engineering - 1.8.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Aug 22 2024 Florian Müllner - 1.8.10-2 -- Fix spurious Xerror when running synchronized - -* Wed Jul 31 2024 José Expósito - 1.8.10-1 -- libX11 1.8.10 - -* Thu Jul 18 2024 Fedora Release Engineering - 1.8.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Apr 08 2024 José Expósito - 1.8.9-1 -- libX11 1.8.9 - -* Mon Apr 01 2024 José Expósito - 1.8.8-1 -- libX11 1.8.8 - -* Thu Jan 25 2024 Fedora Release Engineering - 1.8.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 1.8.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Oct 04 2023 Peter Hutterer - 1.8.7-1 -- libX11 1.8.7 - - CVE-2023-43785 libX11: out-of-bounds memory access in _XkbReadKeySyms() - - CVE-2023-43786 libX11: stack exhaustion from infinite recursion in - PutSubImage() - - CVE-2023-43787 libX11: integer overflow in XCreateImage() leading to - a heap overflow - - CVE-2023-43788 libXpm: out of bounds read in XpmCreateXpmImageFromBuffer() - - CVE-2023-43789 libXpm: out of bounds read on XPM with corrupted colormap - -* Thu Sep 07 2023 José Expósito - 1.8.6-3 -- SPDX Migration - -* Thu Jul 20 2023 Fedora Release Engineering - 1.8.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jun 16 2023 Peter Hutterer - 1.8.6-1 -- libX11 1.8.6 (CVE-2023-3138) - -* Mon Jun 05 2023 Peter Hutterer 1.8.5-1 -- libX11 1.8.5 - -* Wed Feb 08 2023 Peter Hutterer - 1.8.4-1 -- libX11 1.8.4 - -* Thu Jan 19 2023 Fedora Release Engineering - 1.8.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Jan 16 2023 Peter Hutterer - 1.8.3-2 -- Fix XPutBackEvent() issues (#2161020) - -* Fri Jan 06 2023 Peter Hutterer - 1.8.3-1 -- libX11 1.8.3 - -* Thu Jul 21 2022 Fedora Release Engineering - 1.8.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jun 16 2022 Peter Hutterer - 1.8.1-1 -- libX11 1.8.1 - -* Mon Apr 04 2022 Peter Hutterer - 1.7.5-1 -- libX11 1.7.5 - -* Thu Mar 31 2022 Peter Hutterer - 1.7.4-1 -- libX11 1.7.4 - -* Thu Jan 20 2022 Fedora Release Engineering - 1.7.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Dec 10 2021 Peter Hutterer - 1.7.3.1-1 -- libX11 1.7.3.1 - -* Tue Dec 07 2021 Peter Hutterer - 1.7.3-1 -- libX11 1.7.3 -- manually add ax_gcc_builtin, it's missing from the tarball - * Tue Jul 27 2021 Peter Hutterer - 1.7.2-3 - Parse the new _EVDEVK symbols diff --git a/sources b/sources index 295b411..4c61bd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libX11-1.8.12.tar.xz) = cb7a284d9081a8b67f7d8568d56dc403a4b787e46ac497b07768d236084c01f80f4ea2ebd814f950ac9738adc3baea3912932fc333858195c4f8217744b6f730 +SHA512 (libX11-1.7.2.tar.bz2) = d01e5c1848c76218605e5af2d353de6b301a251555b52a38dbe930e6635d5e8a92d1486eb6d328ad5d42a5939e0d16868ffa19a75e5a7863d1a32e0d0727bdc7