msquic
msquic copied to clipboard
Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.
## Description Defines a cross-platform event queue interface that will be later used to refactor the execution context logic. ## Testing Unit test added ## Documentation N/A
## Description Closes #1183. This PR aims to support [draft-ietf-quic-bit-grease-04](https://www.ietf.org/archive/id/draft-ietf-quic-bit-grease-04.html) extension. Still implementing this feature, just opened this PR as a draft to get some feedback ## Testing Not yet....
## Description This allows to cross-compile msquic using `sysroo`t & `clang`. There are other ways how to do that. This is based on approach used by .NET runtime. It also...
A number of fields included on `QUIC_CONNECTION`s are only used during the handshake. Keeping these values around after the handshake is a waste of memory on the server. Analyze all...
### Describe the feature you'd like supported Support for QUIC clients to change their/add/remove local addresses (IP or port) should be added to MsQuic. More info at the protocol level...
### Describe the bug I've been seeing a lot of failures with output like the following: ``` D:\a\1\msquic\src\test\lib\DataTest.cpp(149): error: 0-RTT wasn't used for stream data. ``` See: https://dev.azure.com/ms/msquic/_build/results?buildId=272959&view=logs&j=b7f0e904-2cea-585b-8e20-67062f2bef10&t=81f432f0-d5f0-5258-5253-0dcccc920e38&l=1547 It seems...
### Describe the bug The `ClientRandom` isn't populated in the `QUIC_TLS_SECRETS` for the server side, because the code reads that from the TLS ClientHello before the connection is even indicated...
### Describe the feature you'd like supported We recently onboarded OSSF Scoreboard security checks and the [last one we have left](https://github.com/microsoft/msquic/security/code-scanning/156?query=ref%3Arefs%2Fheads%2Fmain) is related to onboarding support for [OSS-Fuzz](https://github.com/google/oss-fuzz). ### Proposed...
### Describe the bug https://dev.azure.com/ms/msquic/_build/results?buildId=193142&view=logs&j=117cea68-5cbd-59c3-b438-3dc3522134d8&t=66e7dc66-7e7c-5560-3fec-16812f94817e&l=337 ``` [ RUN ] Basic/WithFamilyArgs.LocalPathChanges/0 /home/vsts/work/1/s/src/test/lib/PathTest.cpp:105: Failure Context.PeerAddrChangedEvent.WaitTimeout(1500) not true [ FAILED ] Basic/WithFamilyArgs.LocalPathChanges/0, where GetParam() = v4 (1507 ms) ``` Logs: [LocalPathChanges.log](https://github.com/microsoft/msquic/files/6794094/LocalPathChanges.log)
Currently, we don't allow a client to share a local address & port (tuple) unless the remote tuple matches as well; i.e. the UDP 4-tuple must match for sharing to...