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

Other
12 stars 7 forks source link

Adopt capsules for QUIC-aware proxying #51

Closed tfpauly closed 2 years ago

tfpauly commented 2 years ago

Taking a pass a rewriting QUIC-aware proxying using the H3 capsule format

tfpauly commented 2 years ago

@DavidSchinazi thanks for the review! I've updated accordingly, and think this is good now. Please re-review when you can.

LPardue commented 2 years ago

The use of capsules is a lot neater than the old multiple requests things.I haven't got my head around all of the implications yet.

I don't understand the point of QUIC-proxy header but it seems harmless. Maybe some more text would help to explain why it is useful.

tfpauly commented 2 years ago

Thanks for all the comments @DavidSchinazi and @LPardue!

@LPardue, regarding the header, I added that based on David's review. It's a way to negotiate that the new capsule types are supported, so the client knows that it won't ever get capsule responses if it doesn't hear back. We could just ignore that annoyance, and say that clients that don't hear an ACK back just deal with it. Thoughts? I'm OK to remove if we agree on that.

LPardue commented 2 years ago

Right I can sort see that making sense but it's a bit finicky. Would we really see that being enabled on a per request basis? If its a property of the connection endpoints could state it in a setting.

Alternatively if this sort of thing is useful deemed useful, you could twizzle it a bit. Define a common Capsule-Extensions header that lists entries that are supported. E.g. the client would send "Capsule-Extensions: quic-aware, foo, bar"

tfpauly commented 2 years ago

@LPardue I guess the issue with a setting is that we don't have a way to get that in H1. The nice thing about connect-udp is that it has a protocol step via Upgrade or the extended CONNECT to negotiate support.

If we do want a way to say "I support these capsules", that might be nice as a generic thing rather than needing headers in each extension.

@DavidSchinazi , thoughts?

LPardue commented 2 years ago

I can live with whatever is chosen here, it's easily modifiable

tfpauly commented 2 years ago

Actually, I think we can use the header to also indicate if forwarding is supported/desired. I'm going to keep this as-is in this PR, and then do a follow-up.