Except Alpine & those based on it, which uses Linux but not GNU libc or GNU coreutils or GNU BASH… Just musl libc & Busybox. I.e. the entire subject of this thread is one of the non-GNU Linuxes.
Except Alpine & those based on it, which uses Linux but not GNU libc or GNU coreutils or GNU BASH… Just musl libc & Busybox. I.e. the entire subject of this thread is one of the non-GNU Linuxes.
Yes, I listed sysvinit for that reason. And Musl instead of glibc. GNU is optional in a Linux distro, except for the kernel’s use of a GNU license.
Sure, I should have gone further.
Systemd/GNU libc/GNU Coreutils/GNU BASH/Linux/X11//GTK/GNOME
Systemd/GNU libc/GNU Coreutils/GNU BASH/Linux/X11/GTK/LXDE
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/X11/GTK/GNOME
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/X11/GTK/LXDE
SysVInit/musl/Busybox/tcsh/Linux/csh
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/Wayland/QT/KDE Plasma
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/Wayland/QT/LXQT
etc, etc.
There are thousands of combinations of the possible layers needed to make an OS.
Systemd/GNU/Linux/GTK or Systemd/GNU/Linux/QT, really…
CPU doesn’t have any secure storage, so it can’t encrypt or authenticate comms to the TPM. The on-CPU fTPMs are the solution, the CPU then has the secure storage.
#define max(x,y) ( { __auto_type __x = (x); __auto_type __y = (y); __x > __y ? __x : __y; })
GNU C. Also works with Clang. Avoids evaluating the arguments multiple times. The optimizer will convert the branch into a conditional move, if it doesn’t I’d replace the ternary with the “bit hacker 2” version.
You mean SNI, not ESNI. ESNI is the Encrypted Server Name Indication that gets around that, though the newer ECH (Encrypted Client Hello) is better in many ways. Not all sites support either though.
DoH & DoT still leak the domain name (and of course IP address) you’re connecting to. The domain name leak can be solved by Encrypted Client Hello but that’s still a draft and not turned on for many servers.