Business case:
sssd implemented its own internal DNS resolver due to some limitations. That has a complex history. Changing it out would be a serious burden. Since there is no api in glibc to return structured information from /etc/gai.conf, this leaves the two somewhat out of sync since glibc defaults to IPv6 first and sssd defaults to IPv4 first.
Technical requirements:
Some way to have sssd use the content of /etc/gai.conf to define its lookup ordering.
Timeline:
RHEL 10.4?
Upstream bug:
The closest I've got is https://github.com/SSSD/sssd/issues/5765#issuecomment-1750704627
can assist with testing.
Additional info:
https://man7.org/linux/man-pages/man3/getaddrinfo_a.3.html
man sssd.conf -> lookup_family_order
My perfect world would pass all this directly down to the glibc builtins. But I think musl libc doesn't have that api. Adding a glibc specific hook set might be a deal breaker. Extending the glibc API might come with similar complications.
Describe the impact to you or the business
This caused a production outage on our RHEL10 hosts as we thought sssd was honoring gai.conf. Fixed with config management.