Re: [spfbis] SPF-checking tool

Frank Bulk <frnkblk@iname.com> Tue, 10 March 2020 03:35 UTC

Return-Path: <frnkblk@iname.com>
X-Original-To: spfbis@ietfa.amsl.com
Delivered-To: spfbis@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 660D73A0E88 for <spfbis@ietfa.amsl.com>; Mon, 9 Mar 2020 20:35:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.397
X-Spam-Level:
X-Spam-Status: No, score=-0.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.998, SPF_FAIL=0.001, SPOOF_COM2OTH=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cHX2NKrwCB7x for <spfbis@ietfa.amsl.com>; Mon, 9 Mar 2020 20:35:08 -0700 (PDT)
Received: from premieronline.net (mail.premieronline.net [IPv6:2607:fe28:0:4000::10]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D35F3A0E89 for <spfbis@ietf.org>; Mon, 9 Mar 2020 20:35:02 -0700 (PDT)
X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=199.120.69.4; envelope-from=<frnkblk@iname.com>;
Received: from FBULKPC (unverified [199.120.69.4]) by premieronline.net (SurgeMail 7.4f) with ESMTP id 13648311-1729245 for multiple; Mon, 09 Mar 2020 22:32:44 -0500
From: "Frank Bulk" <frnkblk@iname.com>
To: "'Stuart D Gathman'" <stuart@gathman.org>, "John Levine" <johnl@taugh.com>
Cc: <spfbis@ietf.org>, <frnkblk@iname.com>
References: <20200301150947.3421E152A862@ary.qy> <alpine.LRH.2.21.2003021033390.29656@mail.gathman.org>
In-Reply-To: <alpine.LRH.2.21.2003021033390.29656@mail.gathman.org>
Date: Mon, 9 Mar 2020 22:32:43 -0500
Message-ID: <000001d5f68c$8fd67ab0$af837010$@iname.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdXstTWAX0UO2VeETfGQ8rkT9QwrKgAvbOWAAAIkEGAAF5HuAAAFBuyAAIf33QAAM2D1AAAPWVNA
Content-Language: en-us
X-Originating-IP: 199.120.69.4
X-Vpipe: restarted=25 started /var/surgemail/scavs.pl (/var/surgemail/scavs.pl)
X-SpamDetect: : -6.5 sd=-6.5 0.02(X-SpamContent:clean) 0.04(X-myrbl:Color=white) 0.74(Received:for multiple) [nnot=2, ng=2, nsum=0, nb=0, nw=2, -10.54]
X-SpamContent: Clean
X-LangGuess: English
X-MyRbl: Color=White (rbl) Age=0 Spam=0 Notspam=0 Stars=0 Good=109 Friend=0 Surbl=0 Catch=0 r=0 ip=199.120.69.4
X-IP-stats: Incoming Last 0, First 118, in=26325, out=0, spam=0 ip=199.120.69.4
Archived-At: <https://mailarchive.ietf.org/arch/msg/spfbis/Oa7JXHJGCoLcOXSxxhxyRI6PgdI>
Subject: Re: [spfbis] SPF-checking tool
X-BeenThere: spfbis@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: SPFbis discussion list <spfbis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spfbis>, <mailto:spfbis-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spfbis/>
List-Post: <mailto:spfbis@ietf.org>
List-Help: <mailto:spfbis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spfbis>, <mailto:spfbis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Mar 2020 03:35:19 -0000

Thanks for considering it -- I'd be happy to test it again the domains in
our dataset. 

Frank 

-----Original Message-----
From: Stuart D Gathman <stuart@gathman.org> 
Sent: Monday, March 2, 2020 9:41 AM
To: John Levine <johnl@taugh.com>
Cc: spfbis@ietf.org; frnkblk@iname.com
Subject: Re: [spfbis] SPF-checking tool

I don't know when I'm going to work on it, but this exchange has
convinced me we need an SPF lint tool.  This would not be in the
the spf.py module - but may import the module to reuse the same 
code as much as possible.

Some features:

  1) Fetch all records reachable from a policy.
  2) Report all syntax errors in reachable records.
  3) Compute worst case number of lookups
  4) Compute an ipset for all SPF results for both IPv4 and IPv6
     (spf.py has a naive implementation of computing the Pass
      set that doesn't handle mechanisms with results other than Pass.
      It was trivial to do and is useful - that's my excuse.)

On Sun, 1 Mar 2020, John Levine wrote:

> In article <001501d5edf8$de80c130$9b824390$@iname.com> you write:
>> I also understand your feedback billtrust.com -- but it is helpful to be
>> made aware of this kind of problem.
>
> The DMARC record in the wrong place is the least of billtrust's problems:
>
> _dmarc.billtrust.com.	3600	IN	CNAME	www.billtrust.com.
> www.billtrust.com.	600	IN	CNAME
www.billtrust.com.cdn.cloudflare.net.