Mention the integration of the June 2025 X.org CVE fixes into the XLibre
Xserver. Add a link to our Q&A discussions as well.
Fixes: #522
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
`arg` is also a parameter of that functions, so we really shouldn't
also have a local variable by the same name.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Previously, when parsing multiple configuration files containing the same
section names, only the last occurrence of each section would be retained.
Earlier definitions were silently discarded due to unconditional memory
allocation and overwriting of pointers during parsing.
This resulted in incomplete or incorrect configuration state when users
intended to merge or extend configuration through multiple files.
The section parsing functions in Files.c, Flags.c, and Module.c now
accept existing section pointers. These functions allocate new memory only
if the input pointer is NULL, preserving earlier data when re-parsing.
read.c has been updated to detect and pass existing section pointers when
encountering duplicate sections across files, preventing loss of prior content.
With these changes, the parser properly accumulates and merges configuration
data across multiple files, ensuring that all relevant settings are preserved.
Backport from Xorg.
References:
https://gitlab.freedesktop.org/xorg/xserver/-/issues/467https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2045Fixes: #279
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
Both are potentially tunable variables, and MAXCLIENTS is (still) used by
intel-driver, but also by os specific parts that must not include misc.h
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This patch fixes Xserver crashes when evdev or synaptics input drivers are used.
These (and maybe other) driver use alternate forms "%#..." in formats for
xf86IDrvLogVerb() function, which in turn uses signal-safe vpnprintf().
The last function does not recognize alternate forms and exits abnormally, which
causes Xserver to crash. The patch make vpnprintf() to ignore alternate forms.
Signed-off-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>
It is a patch that fixes xserver build if libdrm is too old.
Now misyncshm.c compilation depends on dri3, which is incorrect. If libdrm
is not recent enough, then dri3 is not built, the file misyncshm.c
is not compiled, and the function miSyncShmScreenInit() is unavailable.
It is called in glamor_sync.c if xshmfence is present, which causes
a compilation error. This patch makes misyncshm.c compile if xshmfence
is found.
Signed-off-by: Oleh Nykyforchyn <olen.nyk@gmail.com>
The request struct's length fields aren't used anymore - we have the
client->req_len field instead, which also is bigreq-compatible.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The request struct's length fields aren't used anymore - we have the
client->req_len field instead, which also is bigreq-compatible.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The request struct's length fields aren't used anymore - we have the
client->req_len field instead, which also is bigreq-compatible.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Implement what was discussed in https://github.com/X11Libre/xserver/issues/478
Use dependency() instead of cc.check_header(), as the former is the
intended way to check for dependencies.
cc.check_headers would turn udev on on systems where libudev.h
is present, but libudev.pc isn't.
Thos would do the wrong thing on systems where the admin wants to
have that header for some reason, but doesn't want programs to use
libudev.
We also keep udev and udev_kms a tristate, so we try to do
the right thing when the user doesn't explicitly pass
values for udev and udev_kms.
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
xdmcp.h is using types from <X11/Xdmcp.h>, but forgot to include it.
This just popped up with building w/ -Dxdmcp=false, because that file was
included in the wrong place (osdep.h) and only conditionally.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit changes legacy behavior, if anyone was relying on it,
they can make an issue and we can change it back.
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
if the framebuffer device was passed by the user and not guessed
Assume the user knows what they are doing if they tell us to
use a particular framebuffer device, and skip the checks we
have for guessed devices
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
The fbdev pci probe doesn't use the fbdev passed by the user,
and instead tries to guess what framebuffer the user wants to use.
Only if that fails, fbdev falls back to the option passed by the user.
This is backwards, if the user explicitly passes a framebuffer
device to use, the X server should use that, and fall back on
guessing if that fails.
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
The 'mode' argument for open() is only used when files
are created, and files aren't created here.
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
These defines are already public, used by consumers of SetNotifyFd(),
but also needed in places where os.h cannot be included.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Intensivly reworked the README to contain:
* what XLibre is
* a mission statement
* the achievements made since the fork from Xorg
* brief but working instructions how to switch to XLibre, build,
configure and run it
* a link to the compatibilty wiki page
* a rough roadmap
* invitation to contribute, what and where
* an anybodys welcome
* slightly more contact information
* some shots of liberated screens
The historical context has been partially moved to the HISTORY.md
file.
Fixes: X11Libre/misc/issues/148
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
This file briefly documents the events surrounding the fork of Xorg
into XLibre without any commentary. It will be referenced by the
README.md.
Part-of: X11Libre/misc/issues/148
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
Add a brief list of changes in the style of a git shortlog to inform the
users of the changes made on version increments. This file will be
referenced by the README.md.
Fixes: X11Libre/misc/issues/141
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
FreeBSD uses libudev-devd for a libudev compatible interface.
So the udev options should be available for it.
Signed-off-by: b-aaz <b-aazbsd.proton.me>
The swapping is so trivial, we don't need several extra functions
for that - just do it right where the header fields are swapped.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Xace callbacks are needed in many places, and the their overhead (when not
actually used) is really minimal. So it doesn't make much sense having
extra complexity for disabling it at build time.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The commit 30cec78 incorrectly changed RRInitPrimeSyncProps to not
create the atom if it doesn't exist.
Signed-off-by: dec05eba <dec05eba@protonmail.com>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
It's now doing exactly the same as ProcXCMiscDispatch(), so it's not
actually needed anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>