3 ms·
That's not really "cruft", that's an additional guarantee that the de-facto historical standard implementation has provided users, in addition to the guarantees
by Asooka 9y ago
That's not really "cruft", that's an additional guarantee that the de-facto historical standard implementation has provided users, in addition to the guarantees outlined in the bespoke on-paper standard. SystemD wants to replace a system that implements a standard+extensions. It doesn't want to implement the extensions, for religious reasons. Maybe there's also a tiny speedup in some scenarios, but there should be an option for those scenarios.
In much the same way clang implements most of gcc's extensions to C and C++, and even defines gcc version macros, so people can simply drop-in replace gcc with clang. It could not implement any of them, but then it would not be very useful to people.
Most of those extensions either exist for a reason, or were an implementation detail that happened to be very useful to people, hence the behaviour is kept in. Now the SystemD developers have removed that behaviour because it's not mandated by a specific piece of paper, even though it's expected by a significant portion of users. Users are not happy.
- ealexhudson 9y agoSo, on one side we have a probably limited number of users who have a DNS setup which is uncommon, and who tolerate periods where they receive incorrect DNS responses. On the others, we have the users who have >1 DNS servers on their local network, who experience significant periods of timeout when the first is offline, even though they have working DNS service available. For me, the second set of users ought to be getting priority, because it's a vastly common setup and users experience time outs as software failing. Ensuring that the system copes normally in the face of DNS resolver failure is a very useful and important feature.