The changes required for single-pass processing of MIME are just the
following:
1. For encrypted bodies, the keys come first. This does not affect
the impact on the user because he can't read the encrypted stuff in
the first place. In fact, putting the key info first may actually
make the first screen more readable because it will have cues, e.g.
"Originator-ID" and the like.
2. for signatures, the hash algorithm needs to be up front. One
proposal is to create yet another body part. I think this is
overkill and it's adequate to include it as an attribute. (There
may need to be support for multiple attributes. This requires
accepting a list instead of single value.)
All of this should be a great deal more readable than the current (RFC
1421) spec when viewed with an unknowledgeable viewer.
Whether single pass implementations are desirable is another question,
but it seems worthwhile to arrange the specs to make it possible to
build a signle pass implementation as long as it doesn't cost much or
create much clutter.
Steve