Closed sippejw closed 1 month ago
Hey @thearossman, the commit in this PR removes the dependency that was causing build issues on ARM and will hopefully resolve the problem. If you can test on your ARM instances and let me know that would be greatly appreciated.
Additionally, it looks like it might take some git magic to fix the commit tree. Let me know if you need me to do anything on my end to get this resolved and checked in. Thanks!
sorry - looks like i gave you a couple of merge conflicts (which were trivial). just fixed.
Hey @thearossman, I believe the git tree is still a little messed up. It is missing the initial QUIC commits. Would it be possible to revert #41? Otherwise, I can try to recommit those contributions but that may get messy.
yikes, thanks for noting that @sippejw . i can't revert #41 automatically, but I could revert this PR that I merged, which could presumably be rebased. would that help?
Same as PR #37, updates being that
rust-crypto
has been replaced withaes-gcm
.Summary
The standard QUIC handshake between two hosts who do not have a pre shared key involves the use of QUIC Initial packets to share a TLS 1.3 client and server hello. After these two messages have been received, the hosts are able to change to new keys unknown to network observers. This PR add the ability to parse QUIC Initial packets, decrypt the protected payloads, parse the QUIC frames, and parse the TLS client and server hello. This gives users the ability to filter QUIC traffic on many of the same features as TLS, such as SNI.
Features
crypto.rs
) for initial key derivation, based on Cloudflare's Quicheframe.rs
QuicConn
for tracking multi-packet QUIC connectionsQuicConn
objectTesting
quic_kyber.pcapng
andquic_xargs.pcap
for testing QUIC parsingtraces/
Main done. Ran for 300.100800357s Done. Logged 320839 Quic stream to "quic.jsonl"