"Robert A. Rosenberg" <hal9001(_at_)panix(_dot_)com> writes:
Your implementation problem is simple to fix.
1) Look for MX.
2) If no MX found set NO-MX flag and do getaddrinfo.
3) If NO-MX and IPN=IPv6 Address skip address otherwise try address.
4) If Step 3 skipped address or address failed redo step 3 with next
address until you run out of addresses.
What is so hard about looking at the IPN format before trying it WHEN
you used getaddrinfo due to the lack of an MX?
It's not that it's technically difficult so much as that it's dubious from
a layering perspective, at least from where I sit. It requires I
introduce IPv6-specific code (and hence ifdefs for systems without IPv6
constants and so forth) into an application that otherwise would not need
any and would be entirely stack-agnostic.
I guess I'm questioning the cost/benefit analysis being applied here. Are
we really fixing a significant enough problem by not having implicit MX
fallback for IPv6-only nodes to warrant introducing IPv6-specific logic
into mail routing applications that otherwise could use stack-agnostic
logic, and warrant the corresponding increase in complexity of
specification and reasoning about mail systems? It's setting off
aesthetic red flags. This is the sort of design decision whose
consequences are fuzzy, and hence tend to have an underestimated impact.
--
Russ Allbery (rra(_at_)stanford(_dot_)edu)
<http://www.eyrie.org/~eagle/>