|
|
Subscribe / Log in / New account

Hutterer: X servers no longer allow byte-swapped clients

Hutterer: X servers no longer allow byte-swapped clients

Posted Jan 9, 2023 21:14 UTC (Mon) by NYKevin (subscriber, #129325)
In reply to: Hutterer: X servers no longer allow byte-swapped clients by whot
Parent article: Hutterer: X servers no longer allow byte-swapped clients

Well, I suppose it depends. When application developers compile code for a big endian architecture, will they prefer to just byte-swap their own X11 messages and pretend to be a LE client, or will they prefer to tell the user to futz with the X server configuration?


to post comments

Hutterer: X servers no longer allow byte-swapped clients

Posted Jan 10, 2023 9:18 UTC (Tue) by geert (subscriber, #98403) [Link]

Pretending to be an LE client won't help, as that may break connecting to a BE server[1].
So this really divides the world in two distinct universes.
And if distros mitigate this interoperability problem by enabling the support by default, the attack vector stays the same.

The proper way to handle this would be to fix the endianness in the protocol, and have a grace period, like we did for ext2fs (little endian) and XFS (big endian) decades ago. Unfortunately it's a bit late for that, and a short grace period won't work, as there may be clients that cannot be updated easily. Network protocol compatibility is different from file system compatibility, where you can just convert the file system once, and be done with it (there were never many big-endian ext2 file systems in the first place, as the problem was identified and solved early).

[1] None of my BE hardware is supported by contemporary X servers, as Xorg dropped the support for that "exotic" hardware a while ago. So in reality, I only care about using BE clients connecting to an LE server on modern hardware, which is fast enough to make the byte-swapping overhead unnoticeable.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds