Not that I'm not thrilled by all the joys of 8-bit headers and so forth,
but here's a brief digression into something completely different...
1. How many people have noticed that it appears to be perfectly legal for
an RFC822 message to contain more than one Message-ID header?
2. What fraction of software that is cognizant of message IDs will actually
deal with this correctly (at a minimum, without dumping core!)?
Mine does. It always has.
RFC822 allows duplication of any header. When writing code that deals with
RFC822 headers you're not being sensible if you don't allow for duplicates
of any header. It is not much of a problem if you plan for it.
My interpretation is that in cases where it makes sense to have only one, the
first one is the one to use. You'd be within spec to use the last one, or the
middle one, or even all of them, I guess, but dumping core is not reasonable.
3. Is this considered desirable, or is it worth fixing in the 822 revision?
I'd like to see things tightened up so that software is directed to ignore
additional headers in cases where duplication is not sensible. I don't
think making these things illegal is a good idea.
But it is not a big problem as far as I'm concerned.
As you might expect, this came up in dealing with Yet Another Pathological
News Article which landed on 822's doorstep by way of 1036. It can, and
probably will, be dealt with in the forthcoming 1036 revision as far as
news goes, but it was enough of a surprise to me that I thought it might
be worth raising in the 822 context.
Actually, I think that since it is a problem for RFC1036, we need to resolve
it in 822 regardless of whether it is a problem for 822-only situations. I'll
point this out to Dave Crocker, who's collecting a list of these sorts of
things (assuming he didn't see this posting, which he probably did).