Hacker News new | ask | show | jobs
by yakubin 1568 days ago
> [...] the standard was extended by two options:

> - Increasing the size of the UPD packet above 512 bytes via the Extension Mechanism for DNS (EDNS)

> - Switching the protocol from UDP to TCP

> Alpine Linux, or rather musl libc, doesn’t support either of those options.

It still seems weird to me that such details are decided by libc. My reflex idea when designing a system would be to put DNS functionality in a system service, while libraries would only query the service, without troubling themselves with system caches, TCP vs UDP etc. Then possibly the service could be even swapped for another with a compatible interface, but making different decisions, without perturbing the applications. It sounds like systemd-resolved is a move in that direction, but I still don't understand why putting all that in libc, essentially making all applications perform their own independent DNS work, was the original choice.