Re: [spfbis] WGLC: draft-ietf-spfbis-4408bis-14 - Fully parse record *first*

Hector Santos <hsantos@isdg.net> Tue, 23 April 2013 21:26 UTC

Return-Path: <hsantos@isdg.net>
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 9E5D521F93B9 for <spfbis@ietfa.amsl.com>; Tue, 23 Apr 2013 14:26:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.907
X-Spam-Level:
X-Spam-Status: No, score=-101.907 tagged_above=-999 required=5 tests=[AWL=-0.230, BAYES_00=-2.599, HELO_MISMATCH_NET=0.611, HOST_MISMATCH_COM=0.311, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lSclEv1EXIr9 for <spfbis@ietfa.amsl.com>; Tue, 23 Apr 2013 14:26:28 -0700 (PDT)
Received: from catinthebox.net (ntbbs.winserver.com [208.247.131.9]) by ietfa.amsl.com (Postfix) with ESMTP id A924321F937D for <spfbis@ietf.org>; Tue, 23 Apr 2013 14:26:28 -0700 (PDT)
DKIM-Signature: v=1; d=isdg.net; s=tms1; a=rsa-sha1; c=simple/relaxed; l=3745; t=1366752383; h=Received:Received: Message-ID:Date:From:To:Subject:Organization:List-ID; bh=O5pJDY+ CIOJIEfUzk2+Fsg6WM5g=; b=XV5eF1j/H8uuzEVYH1vnMP6WJ8hy79etk5cuWj7 zxTQ59QlPtZQs4XCQX2za0BPKtJe9MGyMFSLLab9wK2OOpKOirAySavW1sKA8URq kw430j//d9uJY3nX/UQtqKcDGHi4GVQ13XvkUnqqqrBcEnWCrvfU4f9epTHEYtKj EE+Q=
Received: by winserver.com (Wildcat! SMTP Router v7.0.454.4) for spfbis@ietf.org; Tue, 23 Apr 2013 17:26:22 -0400
Received: from [208.247.131.8] ([208.247.131.8]) by winserver.com (Wildcat! SMTP v7.0.454.4) with ESMTP id 1251106679.5955.2972; Tue, 23 Apr 2013 17:26:22 -0400
Message-ID: <5176FC31.3070801@isdg.net>
Date: Tue, 23 Apr 2013 17:25:05 -0400
From: Hector Santos <hsantos@isdg.net>
User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: "Murray S. Kucherawy" <superuser@gmail.com>
References: <20130409062431.GK24624@mx1.yitter.info> <2528747.v4GPD3HTbD@scott-latitude-e6320> <51763F5D.3080004@tana.it> <2417280.JQpPtHczhD@scott-latitude-e6320> <CAL0qLwYGE1Wb+2DqMYOgB_EEzE515CucDXW6OLe5tOkQp6pZAA@mail.gmail.com>
In-Reply-To: <CAL0qLwYGE1Wb+2DqMYOgB_EEzE515CucDXW6OLe5tOkQp6pZAA@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: "spfbis@ietf.org" <spfbis@ietf.org>, Scott Kitterman <spf2@kitterman.com>
Subject: Re: [spfbis] WGLC: draft-ietf-spfbis-4408bis-14 - Fully parse record *first*
X-BeenThere: spfbis@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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, 23 Apr 2013 21:26:29 -0000

I believe that would be a FAIL on our left to right natural string 
parser, -ALL would terminate the processing, never see foobar.

I think its correct logic to expect of all.  Don't assume processing 
would be a two-pass parser:

   Pass One: Check Validity of entire line
   Pass Two: Process each string word as its extracted from the line.

I would think the easiest, fastest is just a one pass parser.

Now if the junk is before the EOL (end of line), that is a different 
situation - permerror.

I don't think it would be correct to assume all will read this as a 
permerror when there is a terminator before foobar/junk.

On 4/23/2013 2:21 PM, Murray S. Kucherawy wrote:
> "v=spf1 -all foobar" is syntactically invalid.  I agree with Stuart that it
> should result in "permerror" and not "fail".  Thus, I think 4.6 has it
> right as-is.
>
> Adding text to say anything after "all" MUST be ignored is a good idea as
> well, though they have to be syntactically valid anyway.  Mentally to me,
> this is the same as C and C++ in how they define the short-circuit logic of
> "if" statements.  For example, in "if (foo || bar)", if "foo" is true, C
> and C++ specify that "bar" will not be evaluated.  But if the expression at
> "bar" is actually a syntax error, the whole thing won't compile even if
> everything up to there is fine.
>
> -MSK
>
>
>
> On Tue, Apr 23, 2013 at 2:55 AM, Scott Kitterman <spf2@kitterman.com> wrote:
>
>> On Tuesday, April 23, 2013 09:59:25 AM Alessandro Vesely wrote:
>>> On Mon 22/Apr/2013 19:18:58 +0200 Scott Kitterman wrote:
>>>> On Monday, April 22, 2013 06:37:56 PM Alessandro Vesely wrote:
>>>>> On Mon 22/Apr/2013 18:06:41 +0200 Scott Kitterman wrote:
>>>>>> On Monday, April 22, 2013 05:48:33 PM Alessandro Vesely wrote:
>>>>>>> On Mon 22/Apr/2013 16:04:11 +0200 Scott Kitterman wrote:
>>>>>>>>> Mechanisms after "all" will never be tested.  Mechanisms listed
>> after
>>>>>>>>> "all" MUST be ignored.
>>>>>>>>
>>>>>>>> Perhaps if we combine those it helps:
>>>>>>>>> Mechanisms after "all" MUST not be tested.  Mechanisms listed
>> after
>>>>>>>>> "all" will be ignored for all purposes except syntax error
>>>>>>>>> evaluation.
>>>>>>>>
>>>>>>>> Does that help?
>>>>>>>
>>>>>>> Nope, IMHO it's better as is now.  That is:
>>>>>>>
>>>>>>> CURRENT
>>>>>>>
>>>>>>>     If there are any syntax errors
>>>>>>>
>>>>>>> EQUIVALENT-FROM-A-PRAGMATIC-POV
>>>>>>>
>>>>>>>     If any syntax errors are found
>>>>>>>
>>>>>>>     anywhere in the record, check_host() returns immediately with the
>>>>>>>     result "permerror", without further interpretation.
>>>>>>>
>>>>>>> See also http://tools.ietf.org/wg/spfbis/trac/ticket/26
>>>>>>> and
>> http://www.ietf.org/mail-archive/web/spfbis/current/msg02765.html
>>>>>>
>>>>>> Right, but how can you find a syntax error in something you MUST
>> ignore?
>>>>>
>>>>> You have to parse it anyway, as it might be a modifier, e.g.
>>>>>
>>>>>     "v=spf1 a -all ra=rfc6652"
>>>>
>>>> That's true, but as soon as I determine it's a mechanism, I ignore it,
>> so
>>>> the ambiguity still exists.
>>>
>>> If you determine it's a valid something, there's no syntax error.
>>
>> Anyone else?
>>
>> I still think Stuart's point is valid, but I'm not sure the best way to
>> fix it.
>> I also think it would only matter in rare cases, but not so rare we can
>> just
>> say "Meh, corner case." and move on.
>>
>> Scott K
>> _______________________________________________
>> spfbis mailing list
>> spfbis@ietf.org
>> https://www.ietf.org/mailman/listinfo/spfbis
>>
>
>
>
> _______________________________________________
> spfbis mailing list
> spfbis@ietf.org
> https://www.ietf.org/mailman/listinfo/spfbis
>