Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QUIC transport #1217

Open
12 tasks
diegomrsantos opened this issue Oct 17, 2024 · 0 comments
Open
12 tasks

QUIC transport #1217

diegomrsantos opened this issue Oct 17, 2024 · 0 comments

Comments

@diegomrsantos
Copy link
Contributor

diegomrsantos commented Oct 17, 2024

nim-libp2p

  • Merge the certificate generation and parsing PR. There are blockers related to nim-mbedtls build that need to be addressed. The problems are in the interop tests and the arm64 workflows.
  • Implement certificate validation. It can be based on https://github.com/libp2p/rust-libp2p/blob/master/transports/tls/src/certificate.rs#L358.
  • Make the QUIC transport code more robust. Better error handling, logs, and tests.
  • This issue documents a potential integration problem with other implementations. It seems this has been fixed in the go implementation, but others remain to be checked.
  • Enable QUIC in the transport interop tests
  • Evaluate if QUIC support for Hole Punching needs to be implemented.

nim-quic

  • Implement the full TLS handshake using nim-mbedtls as explained in https://docs.libp2p.io/concepts/transports/quic/ and https://github.com/libp2p/specs/blob/master/tls/tls.md. The ngtcp2 library has crypto helper libraries that make this integration easier, but unfortunately, it doesn't support mbedtls. It is necessary to find a way to make this integration using mbedtls.
  • Implement the open issues.
  • This project started as PoC and was not meant to be used in production. I don't know its robustness from a security, performance, and maintainability perspective, and it needs to be evaluated.
  • Evaluate if the current tests are enough.
  • Update readme.
  • Make a release.
@kaiserd kaiserd moved this from new to Pipeline in nim-libp2p Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Pipeline
Development

No branches or pull requests

1 participant