ietf-wg-masque / draft-ietf-masque-quic-proxy

Other
12 stars 7 forks source link

Handling multiple headers of the same type per request? #8

Closed LPardue closed 3 years ago

LPardue commented 3 years ago

There's some clear requirements on minimum headers

Validating that the request include one of either the Client-Connection-Id and the Server-Connection-Id header, along with a Datagram-Flow-Id header. Requests absent any connection ID header MUST be rejected.

What about a proxy that receives multiple headers of the same type, e.g something like

HEADERS
:method = CONNECT-QUIC
:authority = target.example.com:443
client-connection-id = :MTIzNA==:, :MTIzNB==: 
datagram-flow-id = 1
LPardue commented 3 years ago

My confusion may in part be related to how the headers are presented. In connect-udp they say

   "Datagram-Flow-Id" is a Item Structured Header [STRUCT-HDR].  Its
   value MUST be an Integer.
tfpauly commented 3 years ago

Isn't that covered by this?

The "Datagram-Flow-ID" header is an Integer Structured Field {{!I-D.ietf-httpbis-header-structure}}
containing the QUIC datagram flow ID to use for tunnelling packets {{!I-D.schinazi-quic-h3-datagram}}
{{!I-D.ietf-quic-datagram}}. The ABNF is:

~~~
  Datagram-Flow-Id = sf-integer
~~~
LPardue commented 3 years ago

Yeah I think we just need to state that the headers defined here are Item Structured Fields that must be integer.