| ▲ | 1vuio0pswjnm7 9 hours ago | |
"One such implementation that broke is the getaddrinfo function in glibc, which is commonly used on Linux for DNS resolution. When looking at its getanswer_r implementation, we can indeed see it expects to find the CNAME records before any answers:" Wherever possible I compile with gethostbyname instead of getaddrinfo. I use musl instead of glibc Nothing against IPv6 but I do not use it on the computers and networks I control | ||
| ▲ | 1vuio0pswjnm7 6 hours ago | parent | next [-] | |
NB. This is not code that belongs to me When compiling software written by others, sometimes there are compile-time options that allow not using getaddrinfo or IPv6 For example, links (--without-getaddrinfo) haproxy (USE_GETADDRINFO="") tnftp (--disable-ipv6) elinks (--disable-ipv6) wolfssl (ipv6 disabled by default) stunnel (--disable-ipv6) socat (--disable-ipv6) and many more Together with localhost TLS forward proxy I also use lots of older software that only used gethostbyname, e.g., original netcat, ucspi-tcp, libwww, original links, etc. Generally I avoid mobile OS (corporate OS for data collection, surveillance and ad services) Mobile data is disabled. I almost never use cellular networks for internet Mobile sucks for internet IMHO; I have zero expectation re: speed and I cannot control what ISPs choose to do For me, non-corporate UNIX-like OS are smaller, faster, easier to control, more interesting | ||
| ▲ | 1vuio0pswjnm7 3 hours ago | parent | prev | next [-] | |
O5QXGIBLGIXC4LQK | ||
| ▲ | immibis 8 hours ago | parent | prev [-] | |
Your code runs slower on mobile devices, since (as a rule of thumb) mobile networks are ipv6-only and ipv4 traffic has to pass through a few layers of tunneling. | ||