3,160 karma · joined May 18, 2013
⌂ https://brynet.ca/?hn
Mail: brynet@openbsd.org
At least on OpenBSD, all classical/standard DNS functions (getaddrinfo/gethostbyname/...) are wrappers around OpenBSD's libc asr implementation, written by Eric Faurot.
This is a sad part of history, I vividly remember hearing this had happened. Growing up in Ontario with computer labs full of these up until the mid to late 90's, graph paper hanging on the walls with LOGO programs, and games, so many games (Oregon trail, Cross Country Canada), and then they started getting replaced with PC's in classrooms. I remember missing a local auction or something that had a bunch of these Burroughs (later Unisys) ICONs for $5/$10, but without the LEXICON server they were functionally useless, I still regret not picking one up.
Always happy whenever someone else remembers them.
It's called out in the OpenBSD/arm64 installation notes, at least:
https://cdn.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL....
Search for "Install on Apple Silicon".
https://asahilinux.org/about/#who-is-working-on-asahi-linux
Booting OpenBSD on a Apple silicon Mac requires:
• macOS + m1n1 stage 1 (from the Asahi Linux project)
• m1n1 stage 2 + u-boot (from OpenBSD)
• OpenBSD's EFI bootloader (BOOTAA64.EFI).
A recent macOS update exposed a bug in m1n1 which has been fixed and pushed out by both the Asahi Linux team, and now also OpenBSD.
They were archived using tar(1) to dump the files to a floppy disk on a PowerBook 150 running MacMinix. I don't know why I did that. :-)
OpenBSD does xonly by default on multiple architectures (arm64, risc-v, ... g5 powerpc), including even amd64 on recent Intel/AMD CPUs supporting MPK/PKU:
https://marc.info/?l=openbsd-cvs&m=167423045918820&w=2
On machines that lack hardware-enforcement, at least on CPUs that can differentiate between traps for instruction-fetch and data-fetch, there is still benefit:
https://marc.info/?l=openbsd-cvs&m=167517831914525&w=2 (msyscall(2) part is now handled by pinsyscalls in -current)
OpenBSD has supported mandatory BTI/IBT on Intel CPUs (11th Gen+) and arm64 (Apple M2) since 7.4 (Oct 16, 2023).
https://www.openbsd.org/innovations.html
"Mandatory enforcement of indirect branch targets (BTI on arm64, IBT on Intel amd64), unless a linker flag (-Wl,-z,nobtcfi) requests no enforcement."
https://marc.info/?l=openbsd-ports&m=168899645126958&w=2
OpenBSD recently disabled retpolines by default because they are incompatible with IBT, so there has been some work done recently that this patch could help with, e.g: adding missing indirect branch target instructions (endbr64), previously hidden by retpoline. OpenBSD has done a lot of work to push these changes into the entire software ecosystem.
Really? And how many systems have made any effort to use it, on OpenBSD most of a programs static address space is now automatically immutable (main program .text, ld.so .text, .bss, main stack, dymamically-loaded shared libraries, and dlopen()'d libraries mapped w/ RTLD_NODELETE.
Nobody else have done the work on a complete operating system.
One can only hope that more will eventually find its way into Linux, like with how paid employees at Google have been spending the past ~6 months cloning mimmutable (which HN characters decried as "useless") to make mseal() for defending Chrome.
There is no Widevine support for OpenBSD anyway, so it's never been possible to watch Netflix. Fortunately, there are solutions for that...
Incidentally, Fedora Asahi Linux for Apple Silicon (ARM) got Widevine (hence, Netflix) working without any form of SecureBoot, they wrote about it recently on their blog.
OpenBSD/arm64 runs on the Microsoft Dev Kit 2023 and Lenovo ThinkPad x13s machines, out of the box. OpenBSD supported booting/installing on these even before Linux, although Linux support has improved.
OpenBSD httpd would probably have never existed if nginx upstream reacted differently.
https://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.p...
[0] The OpenBSD nginx port still includes the default chroot patch, ~8 years later, see https://raw.githubusercontent.com/sthen/nginx_chroot_patch/a... and https://github.com/openbsd/ports/blob/master/www/nginx/Makef...