Subject: draft-ietf-httpbis-tunnel-protocol-04, "2.2 Syntax"

From: Julian Reschke <[email-masked]>
Date: Sat, 30 May 2015 12:24:01 +0200

<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-tunnel-protocol-04.html#rfc.section.2.2>:

> ALPN = "ALPN":" 1#protocol-id
> protocol-id     = token ; percent-encoded ALPN protocol identifier

...broken ABNF.

This probably should be:

ALPN = 1#protocol-id
protocol-id     = token ; percent-encoded ALPN protocol identifier

Best regards, Julian

(There was a downfall video about broken ABNFs in internet drafts :-)

---

From: Martin Thomson <[email-masked]>
Date: Sat, 30 May 2015 08:20:47 -0700

> ...broken ABNF.

https://github.com/httpwg/http-extensions/commit/439896f83944e2dbae022300c8982050ca98c4c6

---

From: Christer Holmberg <[email-masked]>
Date: Sun, 31 May 2015 07:30:21 +0000

Hi,

I commented on the ABNF as part of my Gen-ART review of the draft, and in my opinion the correct syntax is:

	ALPN = "ALPN":" protocol-id *(COMMA protocol-id)

Assuming the examples in the draft, where the protocol-id values are comma separated, are correct.

Regards,

Christer

-----Original Message-----
From: Julian Reschke [mailto:[email-masked]] 
Sent: 30 May 2015 13:24
To: [email-masked]
Subject: draft-ietf-httpbis-tunnel-protocol-04, "2.2 Syntax"

...broken ABNF.

This probably should be:

ALPN = 1#protocol-id

Best regards, Julian

---

From: Julian Reschke <[email-masked]>
Date: Sun, 31 May 2015 10:59:20 +0200

> 	ALPN = "ALPN":" protocol-id *(COMMA protocol-id)

No, that wouldn't properly define where whitespace is allowed. Also, it 
would conflate parsing stages: HTTP message vs field values. Finally, it 
wouldn't handle the special rules related to comma-separated lists in 
field values.

In our recent specs we thus:

1) Only define the field *value*'s ABNF, and

2) Use an ABNF extension for list productions.

And yes, that needs to be made clearer; the spec currently says:

"The ABNF (Augmented Backus-Naur Form) syntax for the ALPN header field 
is given below. It is based on the Generic Grammar defined in Section 2 
of [RFC7230]."

This needs to say something like

"The ABNF (Augmented Backus-Naur Form) syntax for the ALPN header field 
value is given below. It uses the syntax defined in Section 1.2 of 
[RFC7230]."

> ...

Best regards, Julian