--On Tuesday, May 07, 2013 08:08 -0700 Ned Freed <ned.fr...@mrochek.com> wrote:
>> 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. I hadn't looked at the syntax (as you know, the other part of that history of how the text came about is that I didn't write it or even make an effort to check it carefully). But, having now done so, you are completely correct. > 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. Of course, we have lots of implementations that allow things on input that the standard explicitly prohibits and we rarely spend much time complaining about them. I suppose that tolerance for bare LF is among the most common examples. > 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. Agreed > 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. Also agreed. best, john