Skip to content

x/net/internal/quic/cmd/interop: support ChaCha20 interop test (server) #75912

@rhysh

Description

@rhysh

On the QUIC interop tests (https://interop.seemann.io/), go-x-net appears as if it doesn't support ChaCha20. (The test is disabled, not failing.) That doesn't tell the whole story.

https://github.com/quic-interop/quic-interop-runner/blob/master/README.md#test-cases says "In this test, client and server are expected to offer only ChaCha20 as a ciphersuite. The client then downloads the files."

Support for ChaCha20 in golang.org/x/net/quic works fine, but crypto/tls doesn't allow configuring TLS 1.3 ciphersuites so we can't make it generate a client hello that will "only offer ChaCha20".

The server side is a different question; if a client were to offer only ChaCha20, that's what we'd negotiate and use. We can simulate the configuration of "only offer ChaCha20" by rejecting the client hello if it mentions any other ciphersuites. Note that the interop test runner itself would report a failure if the client hello offered any other ciphersuites: https://github.com/quic-interop/quic-interop-runner/blob/2dc49baf06552d3343c09755968e488730f88e95/testcases.py#L506

This lets us showcase the level of support that works, and gives those code paths regular exercise. See CL 712120.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureRequestIssues asking for a new feature that does not need a proposal.FixPendingIssues that have a fix which has not yet been reviewed or submitted.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions