Qmail
[Top] [All Lists]

Re: Broken DomainKey Implementation

To: qmail@list.cr.yp.to
Subject: Re: Broken DomainKey Implementation
From: "Erik A. Espinoza" <erik.espinoza@gmail.com>
Date: Fri, 6 Apr 2007 20:06:17 -0700
Delivered-to: sp-com-lists@consult.net
Delivered-to: gmail-qmail@securepoint.com
Delivered-to: sp.com.list@gmail.com
Delivered-to: mailing list qmail@list.cr.yp.to
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=FMJhGGw7BZ9m+Gw7LkKKYdL7BBmw/ecb/LMoPZT/Ns6zHzCl69j5ftnFPP2PdRQU8jf6id3+pgcFpNU/zx3lnJ9scp6ut5ftiGwNVn9/dANjl7CJh/dpGOiWfZxERIZrAS/gS429cy/LNhHF2NPKmzZrBh/YeOjS6iZgoGjLm84=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Rped1xoAlZq7oyS+PTeNfM/IPiStPKZbOWcDt2IcmvRPdZff1wHp0UA14QPUHn7Bo+2XFJdcY8nA1TvHhXSJq0d1NWYzcS7xbQrkrFEhT99Gg+a3830PS59efYfWeGx5OQ7H9/zv2/3STvTr8aWRv04hhSvw4yuIaHRnBapYBYs=
Domainkey-status: good (test mode)
In-reply-to: <17943.1353.87641.480401@desk.crynwr.com>
Mailing-list: contact qmail-help@list.cr.yp.to; run by ezmlm
References: <b86db13f0704011331m4135c427vc934ced0d8b64120@mail.gmail.com> <20070401205313.GA5988@discworld.dyndns.org> <b86db13f0704011429x17f3e0b1w903861f725380af5@mail.gmail.com> <17941.57540.536844.183887@desk.crynwr.com> <b86db13f0704061231s22747496q5e6aa9aee1283d22@mail.gmail.com> <17943.1353.87641.480401@desk.crynwr.com>
Hi Russ,

 > Nothing shows up in the log when mail is dropped. All other patches
 > write info into the log when mail is rejected. This makes
 > troubleshooting your broken code incredibly hard.

The code may have bugs.  Logging may be useful.  Don't confuse those
two issues.

Good point.

 > >  > 2) Doesn't honor disabling. If you disable it, qmail-dk can still drop 
mail.
 > >
 > > What do you mean by "disabling"?  If qmail-dk is disabled, then you're
 > > no longer running it, so how can software which isn't running drop mail?
 >
 > Disable was the wrong word. If you set qmail-dk to not permanently
 > reject mail (IE soft errors), qmail-dk can still hard reject mail.

If so, that's a bug.  Do you have a test case that reproduces it?

No, it's not reproducible 100% of the time.

 > >  > 3) Doesn't honor testing flag in DNS
 > >
 > > Errr, it's supposed to.  Do you have a test case for which it fails?
 >
 > Probably not a big deal

If you're going to malign my code, let's see the proof!  Otherwise,
I'll just dismiss you as a wanker.

A bad sig e-mail w/ hard reject set in DKVERIFY will result in hard
rejection regardless of whether the test flag is set or not. My
example for correct behavior would be spf, which will not cause a hard
rejection if ?all is set in the spf record.

 > >  > 4) Doesn't set "h=" flag which states what is covered by the sig
 > >  > (causes forwards and backup mx mail to fail)
 > >
 > > Nope.  If you have software which is munging the message ... fix it.
 > > But forwards and backup mx mail don't cause it to fail.
 >
 > Adding Received headers is not message munging. The fact that qmail-dk
 > doesn't set the h= flag means outgoing mail can be hard rejected by
 > mail servers doing the right thing.

Again, I see no proof that this isn't just the product of your fevered
imagination.  My email path prepends several Received headers and the
signatures still verify.

I'm not the only one that brought this up. Test it for yourself.

 > The fact that qmail-dk doesn't honor the h= flag for incoming mail
 > means that qmail-dk will set DomainKey status as bad when the mail is
 > good (verifies via dktest).

Bullshit on a stick without test cases, sorry.  h= is actuallly
completely useless, and anyway, if there's a problem, it's in
libdomainkeys, for which I no longer bear responsibility.


I can provide you full e-mails off list if you are interested:

[root@electron cur]# grep DomainKey-Status * | grep bad | tail -1
1174362242.M957119P23876V0000000000000013I000B0090.electron.kabewm.com,S=5940:2,S:DomainKey-Status:
bad
[root@electron cur]# dktest -v <
1174362242.M957119P23876V0000000000000013I000B0090.electron.kabewm.com\,S\=5940\:2\,S
Comment: DomainKeys? See http://domainkeys.sourceforge.net/
DomainKey-Status: good


 > Look Russ, I'm not here to flame you or your contributions. All I'm
 > saying is that this doesn't work properly for most people.
But you don't bother to provide a usable bug report.

Didn't know there was a place to provide a bug report

As for people having trouble with it, I explicitly said in the release
email that the UI sucks, and I asked for suggestions.  Still haven't
gotten any.

Possibly because there is no contact info anywhere.

Erik

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