Live data from Hacker News

Ada implementation of an X Window System Server (1989)

sci-hub.se

31–40 of 41 posts

Re: Ada implementation of an X Window System Server (1989)

#31
post #3

This server appears to have been closed source, and I assume the source is lost. My bet is that OpenBSD's X server has a far better security design, as the server itself no longer runs as root. The aggressive free() also exposed use-after-free bugs never before seen, and OpenBSD has superior mitigations for rop gadget abuse, aslr everywhere, and other exploits beyond the imagination of 1989. The paper documents probl…

> This server appears to have been closed source, and I assume the source is lost.

The author is @Java4First on Twitter. Give it a shot.

Re: Ada implementation of an X Window System Server (1989)

#32
post #24
post #20

Earlier quoted context omitted.

The KDrive X11 server was separate to the original one even though it was bundled with the rest of the X.Org software.

What was the provenance of/motivation behind (writing) KDrive? I always wondered.

From memory, it was that Keith Packard felt that the bits of the original server that run on the CPU (mfb, cfb) were optimized for CPUs without caches, they unroll the various bit operations and generate C functions for each one which increases code size.

One of the first targets for KDrive was the Compaq iPaq with a StrongARM CPU and no GPU.

I think the ideas behind KDrive have now been folded into the main X.Org server.

Re: Ada implementation of an X Window System Server (1989)

#33
post #29

It's interesting how the X11 server is the only major category of infrastructure where we have one and only one open source implementation. With browsers -- which are massively complex nowadays -- at least we have both WebKit and Gecko. C++ compilers are at a similar level of complexity and there is GCC and Clang. Linux, FreeBSD, OpenBSD etc. are all separate kernels. But for X11 there is only the the X.Org server, t…

Once upon a time there was XFree86.

That is just an earlier distribution of the same server.

Re: Ada implementation of an X Window System Server (1989)

#34

It's interesting how the X11 server is the only major category of infrastructure where we have one and only one open source implementation. With browsers -- which are massively complex nowadays -- at least we have both WebKit and Gecko. C++ compilers are at a similar level of complexity and there is GCC and Clang. Linux, FreeBSD, OpenBSD etc. are all separate kernels. But for X11 there is only the the X.Org server, t…

There are quite a few open-source X11 implementations, but they are either much more basic, or targeting historical platforms.

Re: Ada implementation of an X Window System Server (1989)

#35
post #25

Earlier quoted context omitted.

Stop posting an April Fool’s joke as if it were serious, please.

Just had a look at the linked page out of piqued curiosity. The "get started" link on the homepage points to a GitHub release page ( https://github.com/AdaPlusPlus/gcc/releases/tag/0-2-0 ) with a 908MB "adapp-for-linux.gz". I'm presuming this is real (908MB would take a tad too long to download today), but if it isn't, that's definitely up there in terms of execution. I completely believe it. Edit: Oh.

It's a very well-executed April Fool's Joke in that regard. But it's still a joke. And 0xDEEPFAC is apparently very committed to the idea that it's a real thing and not a joke. Just look at the commit dates if you have any doubt (and the fact that there haven't been any since then).

Re: Ada implementation of an X Window System Server (1989)

#36
post #3

This server appears to have been closed source, and I assume the source is lost. My bet is that OpenBSD's X server has a far better security design, as the server itself no longer runs as root. The aggressive free() also exposed use-after-free bugs never before seen, and OpenBSD has superior mitigations for rop gadget abuse, aslr everywhere, and other exploits beyond the imagination of 1989. The paper documents probl…

The X server on a modern Linux system hasn't run as root since around 2013 or so.

Re: Ada implementation of an X Window System Server (1989)

#37
post #36
post #3

This server appears to have been closed source, and I assume the source is lost. My bet is that OpenBSD's X server has a far better security design, as the server itself no longer runs as root. The aggressive free() also exposed use-after-free bugs never before seen, and OpenBSD has superior mitigations for rop gadget abuse, aslr everywhere, and other exploits beyond the imagination of 1989. The paper documents probl…

The X server on a modern Linux system hasn't run as root since around 2013 or so.

Unfortunately, that didn't make it into CentOS 7.

    # cat /etc/redhat-release; ps aux | grep X\ :0 | grep -v grep
    Red Hat Enterprise Linux Server release 7.9 (Maipo)
    root      2114  0.0  0.1 380804 33900 tty1     Ssl+ Aug03   0:51 /usr/bin/X :0 -background none
CentOS 8 does appear to run without root. Maybe someday I can use it in production.

    # cat /etc/redhat-release; ps aux | grep Xorg | grep -v grep
    Red Hat Enterprise Linux release 8.4 (Ootpa)
    gdm         1967  0.0  0.0 1586600 21436 tty1    Sl+  Jan13   2:38 /usr/libexec/Xorg vt1
I was not aware that this had happened.

Re: Ada implementation of an X Window System Server (1989)

#38

In Ada you write type Score = 0 .. 192 -- enough for a game of American football instead of choosing to use a signed or unsigned byte, short, triplebyte, etc.. The compiler figures out what kind of number to use. That article points out that bit twiddling and other operations you want to do in embedded systems is awkward in Ada because Ada hides the binary nature of math in ordinary computers. It's strange because, b…

Ada had to target lots of (relatively) bespoke systems, especially DOD systems. Even in 1980, while new systems had 8-bit bytes, that wasn't guaranteed on the existing systems where JOVIAL and other languages Ada was meant to replace were used.

For the bit twiddling stuff, it does work with the modular types, at least now. I have no clue when it was added.

Re: Ada implementation of an X Window System Server (1989)

#39

In Ada you write type Score = 0 .. 192 -- enough for a game of American football instead of choosing to use a signed or unsigned byte, short, triplebyte, etc.. The compiler figures out what kind of number to use. That article points out that bit twiddling and other operations you want to do in embedded systems is awkward in Ada because Ada hides the binary nature of math in ordinary computers. It's strange because, b…

Oh gosh I remember having to code for 36 bit systems. Wow that brings back memeories.

Re: Ada implementation of an X Window System Server (1989)

#40

It's interesting how the X11 server is the only major category of infrastructure where we have one and only one open source implementation. With browsers -- which are massively complex nowadays -- at least we have both WebKit and Gecko. C++ compilers are at a similar level of complexity and there is GCC and Clang. Linux, FreeBSD, OpenBSD etc. are all separate kernels. But for X11 there is only the the X.Org server, t…

http://www.jcraft.com/weirdx/ - Pure Java X Window System Server under GPL

They also had closed version http://www.jcraft.com/wiredx/ that supports antialiasing for core protocol (something X.org/XFree86 claimed to be impossible)

Post reply on HN