xserver/xkb
Olivier Fourdan 99790a2c92 xkb: Make the RT_XKBCLIENT resource private
Currently, the resource in only available to the xkb.c source file.

In preparation for the next commit, to be able to free the resources
from XkbRemoveResourceClient(), make that variable private instead.

This is related to:

CVE-2025-62230, ZDI-CAN-27545

This vulnerability was discovered by:
Jan-Niklas Sohn working with Trend Micro Zero Day Initiative

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2086>
2025-10-28 13:22:43 +01:00
..
ddxBeep.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ddxCtrls.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ddxKillSrv.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ddxLEDs.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ddxLoad.c Revert "xkb: unexport functions from xkbfmisc.c" 2025-07-12 11:47:06 -07:00
ddxPrivate.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
ddxVT.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
maprules.c Revert "xkb: drop unused XkbRF_LoadRulesByName()" 2025-07-12 11:47:06 -07:00
meson.build Add a Meson build system alongside autotools. 2017-04-26 15:25:27 -07:00
README.compiled Strip trailing whitespace from source files 2025-10-05 11:56:48 -07:00
xkb-procs.h xkb: rename xkb.h to xkb-procs.h 2022-07-08 14:27:04 +00:00
xkb.c xkb: Make the RT_XKBCLIENT resource private 2025-10-28 13:22:43 +01:00
xkbAccessX.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xkbActions.c Revert "dix: unexport GetSpritePosition()" 2025-09-06 17:01:37 +00:00
XKBAlloc.c xkb: ensure XkbAllocNames sets num_rg to 0 on allocation failure 2025-02-26 13:15:34 +00:00
xkbDflts.h Use ARRAY_SIZE all over the tree 2017-10-30 13:45:20 -04:00
xkbEvents.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xkbfmisc.c Revert "xkb: move XkbConvertGetByNameComponents and make it static" 2025-07-12 11:47:06 -07:00
XKBGAlloc.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
xkbgeom.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xkbInit.c Revert "include: drop now empty xkbfile.h" 2025-07-12 11:47:06 -07:00
xkbLEDs.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
XKBMAlloc.c xkb: Check that needed is > 0 in XkbResizeKeyActions 2025-02-26 13:15:34 +00:00
XKBMisc.c Revert "xkb: unexport functions from xkbfmisc.c" 2025-07-12 11:47:06 -07:00
xkbout.c Revert "xkb: unexport functions from xkbfmisc.c" 2025-07-12 11:47:06 -07:00
xkbPrKeyEv.c xwayland: Don't run key behaviors and actions 2025-02-03 05:37:48 +00:00
xkbsrv_priv.h xkb: Make the RT_XKBCLIENT resource private 2025-10-28 13:22:43 +01:00
xkbSwap.c xkb: drop swapping request length fields 2025-02-06 22:28:48 +00:00
xkbtext.c xkb: Add tbGetBufferString helper function 2025-02-26 13:15:34 +00:00
xkbtext_priv.h xkbtext_priv.h: fix typo in header guard definition 2024-11-10 12:51:10 -08:00
xkbUtils.c xkb: Always use MAP_LENGTH keymap size 2025-01-13 11:44:11 +01:00
XKM_file_format.txt Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xkmread.c Revert "xkb: unexport functions from xkbfmisc.c" 2025-07-12 11:47:06 -07:00

The X server uses this directory to store the compiled version of the
current keymap and/or any scratch keymaps used by clients.  The X server
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time.  The default keymap for any server is usually stored in:
     X<num>-default.xkm
where <num> is the display number of the server in question, which makes
it possible for several servers *on the same host* to share the same
directory.

Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.