Subject: Conflicting requirements?

From: Martin Duke <[email-masked]>
Date: Mon, 8 Jun 2020 14:00:52 -0700

In section 8.1 of quic-transport,
When using ALPN, endpoints MUST immediately close a connection (see Section
10.3 of [QUIC-TRANSPORT
<https://quicwg.org/base-drafts/draft-ietf-quic-tls.html#QUIC-TRANSPORT>])
with a no_application_protocol TLS alert (QUIC error code 0x178; see Section
4.10 <https://quicwg.org/base-drafts/draft-ietf-quic-tls.html#tls-errors>)
if an application protocol is not negotiated.

In 4.10 of quic-tls,
Endpoints MAY use a generic error code to avoid possibly exposing
confidential information.

Which one takes precedence? May the server send a generic error when there
is no ALPN code?

---

From: Christian Huitema <[email-masked]>
Date: Mon, 8 Jun 2020 14:12:41 -0700

On 6/8/2020 2:00 PM, Martin Duke wrote:

> When using ALPN, endpoints MUST immediately close a connection (see
> Section 10.3 of [QUIC-TRANSPORT
> with a no_application_protocol TLS alert (QUIC error code 0x178;
> see Section 4.10
> <https://quicwg.org/base-drafts/draft-ietf-quic-tls.html#tls-errors>)
> Which one takes precedence? May the server send a generic error when
> there is no ALPN code?

That's a very old debate. More specific the error codes make debugging
easier but do expose details of implementation or configuration, so
there is a tension. The usual  compromise is that privacy conscious
applications can always be configured to send generic error codes.

-- Christian Huitema

---

From: Martin Duke <[email-masked]>
Date: Mon, 8 Jun 2020 14:14:30 -0700

I'm not debating the relative merits. We let our customers set this as they
wish. I'm just asking what the spec is requiring here, and if there's an
editorial change needed in one of the drafts.

On Mon, Jun 8, 2020 at 2:12 PM Christian Huitema <[email-masked]>
wrote:

> easier but do expose details of implementation or configuration, so there
> is a tension. The usual  compromise is that privacy conscious applications
> can always be configured to send generic error codes.
>
> -- Christian Huitema
>

---

From: Lucas Pardue <[email-masked]>
Date: Mon, 8 Jun 2020 23:28:53 +0100

The intent of the language is that connection closure is MUST. The choice
of code is a bit more flexible and follows the philosophy that Christian
laid out.

On Mon, 8 Jun 2020, 22:15 Martin Duke, <[email-masked]> wrote:

> I'm not debating the relative merits. We let our customers set this as
> they wish. I'm just asking what the spec is requiring here, and if there's
> an editorial change needed in one of the drafts.
>
>