Subject: [quicwg/base-drafts] error handling for path_response (#1265)

From: Patrick McManus <[email-masked]>
Date: Thu, 05 Apr 2018 15:34:24 +0000 (UTC)

>   If the content of a PATH_RESPONSE frame does not match the content of
>   a PATH_CHALLENGE frame previously sent by the endpoint, the endpoint
  > MAY generate a connection error of type UNSOLICITED_PATH_RESPONSE.

I think this is a footgun - we should just say MUST ignore.

PATH_RESPONSE is not sent reliably but PATH_CHALLENGES are regenerated as needed. So you've got a non-deterministic system because you have to timeout things.

If we want to keep the error then I think these frames ought to be considered reliable so a deterministic call can be made.

But I think the better route is to just ignore a RESPONSE you're not going to do anything with.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1265

---

From: Patrick McManus <[email-masked]>
Date: Thu, 05 Apr 2018 15:43:08 +0000 (UTC)

I know it says MAY - I just think this is mostly an opportunity for a broken implementation with very little upside... so bad design.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1265#issuecomment-378981061

---

From: Martin Thomson <[email-masked]>
Date: Thu, 05 Apr 2018 17:12:00 -0700

If you are certain that you never sent the challenge (say that you include a MAC), then why not permit the error?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1265#issuecomment-379112858

---

From: Patrick McManus <[email-masked]>
Date: Fri, 06 Apr 2018 17:38:36 +0000 (UTC)

I think I stand by 'footgun' - its not impossible to do but the value is small and the opportunity for screw up is disproportionate.

Its just based on experience of reading the provision in the text and starting off to build a system to enforce it (because I too enjoy strong protocol hygiene) .. and after getting down the road aways realizing that a full definition of this was madness.

Do we have a general provision regarding MAY PROTOCOL_VIOLATION as a reaction to a MUST (NOT) violation? That might be the right level of emphasis rather than a specific error code.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1265#issuecomment-379324682

---

From: Martin Thomson <[email-masked]>
Date: Sun, 08 Apr 2018 18:27:56 -0700

I'd be OK with removing the error code.  This isn't separately actionable, so PROTOCOL_VIOLATION is entirely appropriate.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1265#issuecomment-379601728