> Maybe things have changed, but, if one actually believes the > robustness principle, then, in the case Geoff cites, Exchange is > simply non-conforming -- not because the spec prohibits > rejecting on the basis of a fine distinction about IPv6 formats, > but because doing so is unnecessary, inconsistent with the > robustness principle, and, arguably, plain silly.
I'm afraid I'm going to have to disagree here. If you look at RFC 5321 and are unaware of the history of how the text came about, it gives the definite appearance of going out of its way to ban the use of :: to replace a single 0. A reasonable interpretation is therefore that such forms are disallowed for a reason. It's fine to be tolerant of stuff the relevant standard doesn't allow but doesn't call out explicitly. But that's not the case here. In any case, if you want to "fix" this, we could change RFC 5321 to accept this form. But as Mark Andrews points out, you can't make it legal to send such forms without breaking interoperability. I suppose we could make the change and recycle at proposed, but that seems rather extreme to fix what is in fact a nonissue. I'll also point out that this has diddley-squat to do with formal verification processes. Again as Mark Anrdrews points out, we deployed something with a restriction that subsequently turned out to be unnecessary, and now we're stuck with it. Indeed, had formal verification processes been properly used, they would have flagged any attempt to change this as breaking interoperability. Ned