[APPS-REVIEW] Gen-ART review of draft-ietf-dkim-overview-11
Dave CROCKER <dhc2@dcrocker.net> Wed, 24 June 2009 19:25 UTC
Return-Path: <dhc2@dcrocker.net>
X-Original-To: apps-review@core3.amsl.com
Delivered-To: apps-review@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 417B73A6907 for <apps-review@core3.amsl.com>; Wed, 24 Jun 2009 12:25:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 63mjA5PrL2oQ for <apps-review@core3.amsl.com>; Wed, 24 Jun 2009 12:25:51 -0700 (PDT)
Received: from sbh17.songbird.com (unknown [IPv6:2001:470:1:76:0:ffff:4834:7147]) by core3.amsl.com (Postfix) with ESMTP id 99CDE3A6FC4 for <apps-review@ietf.org>; Wed, 24 Jun 2009 12:25:50 -0700 (PDT)
Received: from [127.0.0.1] (ppp-67-124-89-55.dsl.pltn13.pacbell.net [67.124.89.55]) (authenticated bits=0) by sbh17.songbird.com (8.13.8/8.13.8) with ESMTP id n5OJPv09028788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 24 Jun 2009 12:26:02 -0700
Message-ID: <4A427DC5.3080306@dcrocker.net>
Date: Wed, 24 Jun 2009 12:25:57 -0700
From: Dave CROCKER <dhc2@dcrocker.net>
Organization: Brandenburg InternetWorking
User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
MIME-Version: 1.0
To: apps-review@ietf.org
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0 (sbh17.songbird.com [72.52.113.17]); Wed, 24 Jun 2009 12:26:03 -0700 (PDT)
Cc: jskim@vinegen.com, Munjo Yu <munjo.yu@gmail.com>
Subject: [APPS-REVIEW] Gen-ART review of draft-ietf-dkim-overview-11
X-BeenThere: apps-review@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: dcrocker@bbiw.net
List-Id: Applications Review List <apps-review.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/apps-review>, <mailto:apps-review-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-review>
List-Post: <mailto:apps-review@ietf.org>
List-Help: <mailto:apps-review-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-review>, <mailto:apps-review-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jun 2009 19:25:53 -0000
I have been selected as the App Area Review Team reviewer for: <http://www.ietf.org/internet-drafts/draft-kim-abnf-codegen-00.txt> The Apps Area Review team reference is at: <http://www.standardstrack.com/ietf/apps-review/> Document: An ABNF Extension for code generation I-D: draft-kim-abnf-codegen-00 Reviewer: Dave Crocker Review Date: 2009-06-24 Summary: This draft proposes two types of enhancements for ABNF: an unordered set construct and a generation-time directives construct. The draft provides far too little explanation for its choices or specification of them. Further it requires special-case handling of numerous existing ABNF constructs and is likely to be confusing to use and complex to implement. Extended Comments: ABNF permits specifying formats of protocol data units and payload contents. It was first codified in RFC 733 and then RFC 822 and gained popularity from amongst a variety of efforts that tailored pure BNF notation. As part of the DRUMS effort to revise the primary email specifications, ABNF was split out as a stand-alone reference, in RFC 5234. The DRUMS effort included extensive review of existing and proposed ABNF refinements. The draft under review, "An ABNF Extension for code generation" proposes enhancements to ABNF. The stated purpose is to facilitate automated generate of software based on ABNF specification. ABNF permits specifying an ordered sequence with the "( )" construct. The current draft adds the construct of an unordered set noted with "{ }". The draft also defines a means of adding code-generation directions, with an enhanced commenting notation: ";-- ". Over the years, many proposals for enhancing ABNF have been made. From this it has become clear that the single biggest requirement for ABNF enhancement is to develop a community demand for the change. This review notes that requirement but does not have the task of commenting on its presence or absence for this particular proposal. In general, the draft text has clear and understandable text, with few typographical or language errors. However it has virtually no explanation for the motivation behinds its particulars, or detailed explanation for how the particulars work, including extended examples. The draft needs a substantial amount of both. Structurally, the draft has Section 2 defining Non-Sequence Group with restrictions imposed by it, and Sections 3 & 4 discussion the Extension rule and restrictions imposed by it. That is, the two discussions have different sub-structures and should be made to be comparable. The draft notes that an unordered set ("Non-sequence Group") construct was part of the DRUMS effort but was dropped due to ambiguity concerns. The draft does not discuss how the current proposal satisfies those concerns. Within the context of Non-sequence Groups, the draft imposes special interpretations of ABNF repetition, sequence, grouping and alternation. This makes Non-sequence Groups essentially independent of existing ABNF. Having to make definition of existing constructs be context-dependent -- non-sequence group versus other uses -- is highly problematic. It is certain to be confusing and to make the code for an ABNF parser notably more complex. There is a long history in having parsing languages support generation-time directives. Hence, the basic idea in this part of the draft could be useful. Unfortunately, this portion of the draft is insufficiently specified. The draft proposes a meta-notation for ABNF comments, by having the comment begin with two dashes. Hence: ;-- . This is specified as providing "data type" and "variable name". However I was not able to see that these were provided in the particular Extension rules that were supplied. Mechanically, the draft needs to define a registry for directives. More basically, it needs to explain each provided directive in far more detail than is supplied in the current draft. Frequently, I could not tell what a particular directive was meant to accomplish. Other times I could not tell how it as meant to accomplish it; that is, whether the supplied information was sufficient. d/ -- Dave Crocker Brandenburg InternetWorking bbiw.net