ietf-822
[Top] [All Lists]

Re: content-charset & checksums

1991-10-29 16:03:07
No, I actually meant what I said, but I freely admit that it
is a controvertial opinion...

I for one understood what you meant and I agree with you completely.

The purpose of a checksum is to get an indication of when the
contents of a body part has been accidentally munged.  Checksums
are carried UA to UA (that is, end-to-end).  However, checksums
are useless in the face of gateways that change the inside of
a body part if the gateway does not update the checksum; all that
you will know is that the body part has been changed, but so what?

All true.

My reasoning is that a gateway is, by my definition at least,
something that is acting at the UA level because it is changing
the inside of a body part.  Therefore, it is reasonable for the
gateway to check the checksum, and if it is changing the body
part to recompute it.

Gateways may well have to mung the message into a new form that makes the
checksum change. In addition, a gateway may have to convert the message into
a format that does not support the same sort of checksums (e.g. X.400). Thus,
a gateway not only may have to recompute a checksum, it may have to absorb
it completely.

Gateways should be asked to validate checksums. Whether or not a message is
then rejected if the checksum is wrong is a harder choice to make, and I don't
think you can make it without knowing the content-type. Text that has lost
its checksum may be fine. A G4FAX image that disagrees with its checksum is 
probably worthless!

This all depends on what you define a gateway to be. I define a gateway
as something which has a reason to get inside of messages and change them.
The usual reason for doing this is because the message is headed off to
some non-RFC822 mail system. This separates a gateway from a casual MTA. MTAs 
may check the checksums, I suppose, but they don't have any business changing 
them.

There seems to be general consensus that checksums on base-64
encoded body parts are a "good thing".  I'm curious as to why
checksums on other transport encodings are not?  Doesn't anyone
else think that putting a checksum in with a transport encoding
is mixing levels of abstraction?

I certainly agree with you on this, and have posted message to this effect.

                                        Ned




<Prev in Thread] Current Thread [Next in Thread>