Elliot Foster wrote:
I was working on the same thing and had planned on having it be able to sign outbound messages as well.

I'm coming to the conclusion that signing should be a separate plugin, if for no other reason that I already have a patched qmail which will handle the signing part for me... ;-)

One thing that I noticed was that it read the entire message into memory, rather than point to the cached message on disk. It would nice to not have to read the entire message into memory.

That is absolutely required, in that the entire message is required to be read in order to calculate the signature to compare to the header. If you look at Mail::DomainKeys::Message, if you pass it a file (instead of HeadString and BodyReference), it just reads the whole message from the file anyways.

We could /change/ the in-bound domainkeys to defer reloading into RAM until it knows that there is a signature to check (i.e. look for a DomainKey-Signature header). This would need to be a config-time setting, e.g.

        domainkeys IgnorePolicy yes

since you are supposed to consult the policy if the message isn't signed. I'm also inclined to rename the plugin to be in the singular, since that is the name that has been chosen (not plural).

Show of hands:

A message is signed but not verifiable (for whatever reason). Should the message be declined iff a global policy exists? Or should a signed but not verified message be bounced (on the assumption it is a forgery rather than a mis-configured selector)? The RFC is [surprise, suprise!] incompletely formulated...

John

--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD  20706
301-459-3366 x.5010
fax 301-429-5748

Reply via email to