Wietse Venema:
> Viktor Dukhovni:
> > On Tue, May 04, 2021 at 10:02:49AM +0200, Bjoern Franke wrote:
> > 
> > > Do I miss something why postfix has the trouble with the reply?
> > > 
> > > $ dig +dnssec -t TLSA _25._tcp.smtp-relay-in-s1.neusta.de
> > 
> > You're testing with "dig", which is *not* the same as the C library stub
> > DNS resolver.
> > 
> > > ;; Truncated, retrying in TCP mode.
> > 
> > The response is too large for UDP, given a conservative EDNS buffer
> > size...
> > 
> > > ;; OPT PSEUDOSECTION:
> > > ; EDNS: version: 0, flags: do; udp: 1232
> > 
> > Which "dig" uses, but the C library likely sets the historical default
> > of "4096" bytes, expecting that to work.  I am not aware of any way to
> > configure the EDNS buffer size in the C library stub resolver, short of
> > recompiling the C library.
> 
> Another data point: by default, Postfix uses a 4096-byte buffer
> when it calls the C library stub resolver, but it will repeat the
> call with a larger buffer if the response has the 'truncated' flag
> raised, and leaving it up to the library to switch to TCP as needed.
> This has been sufficient at least with 'main stream' libc implementations
> for the past 21+ years.
> 
> However, I recall that some stub resolvers (libc-musl?) don't support
> queries over TCP. Could that be the problem?

Indeed, libc-musl does not support DNS queries over TCP.
https://www.linkedin.com/pulse/musl-libc-alpines-greatest-weakness-rogan-lynch/?trackingId=FsMR%2BhJfQqyOH9e1MIN0jw%3D%3D,
which also has a link for the resolver author's rationale.

        Wietse

Reply via email to