MsQuic uses CMake to generate build files.
Note clone the repo recursively or run git submodule update --init --recursive
to get all the submodules.
Requirements
- Visual Studio 2019 or higher
- Latest Windows Insider builds.
- Run
mkdir bld && cd bld
- Run
cmake -G "Visual Studio 16 2019" -A x64 ..
- Run
cmake --build . --config RELEASE
Requirements
TODO - Figure out the correct set of steps.
There is a one time registry setup required before the tests can be run when using SChannel TLS. These registry keys allow QUIC to use TLS 1.3:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v DisabledByDefault /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v Enabled /t REG_DWORD /d 1 /f
- Run
..\artifacts\bin\Release\msquictest.exe
- To start a trace, run
netsh trace start overwrite=yes report=dis correlation=dis traceFile=quic.etl maxSize=1024 provider={ff15e657-4f26-570e-88ab-0796b258d11c} level=0x5
- Run the repro.
- To stop the trace, run
netsh trace stop
- To decode the
quic.etl
file, run TODO
Building on Linux (or WSL)
- Install tooling (WSL2 or Ubuntu)
sudo apt-get install cmake
sudo apt-get install build-essentials
- Run
mkdir bld && cd bld
- Run
cmake -G "Unix Makefiles" ..
- Run
cmake --build . --config RELEASE
- Run
../artifacts/bin/msquictest
On Linux, MsQuic uses syslog for logging by default. To view the logs:
- On WSL, run
sudo service rsyslog start
to make sure syslog is configured. - Optionally, run
sudo truncate -s 0 /var/log/syslog
to clear out the current log file. - Run the repro.
- You can view the logs from the
/var/log/syslog
file.