Граф коммитов

389 Коммитов

Автор SHA1 Сообщение Дата
Nick Banks ab7bdcd5df
New External Contribution Rules (#452) 2020-06-11 14:58:30 -07:00
Nick Banks 8ac79a3166
Implement Draft 29 Support (#494) 2020-06-11 12:46:59 -07:00
Thad House 63c86ac0fc
Shutdown unregistered connections on worker pool (#483)
This will ensure we don't race manually cleaning up the unregistered connections and work being done on them by the datapath.

Also updates quicspin to loop, allowing the shutdown path to be hit more often.

Should fix #482
2020-06-11 10:26:31 -07:00
Nick Banks 14b56c871c
Update Interop Servers (#493) 2020-06-11 09:48:06 -07:00
Anthony Rossi 3ce5dd106a
Add API stubs for server 0-RTT support. (#487) 2020-06-10 14:13:43 -07:00
Thad House 2bf91b3ff5
Add support for running a self signed certificate in QuicPing (#488)
* Add support for running a self signed certificate in QuicPing

* Fix missing new line

* Encryption already disabled for client, cleaned up, and cleaned up review comments
2020-06-10 09:42:16 -07:00
Anthony Rossi 5a73b9e1f5
Add configuration surface for resumption and 0-RTT for server. (#481) 2020-06-09 16:50:29 -07:00
Nick Banks 5d641787ed
Correctly Send & Validate Retry Source CID (#486) 2020-06-09 16:10:16 -07:00
Nick Banks e9e81edd1a
Minor Script Improvements (#484) 2020-06-09 12:12:59 -07:00
Thad House 3119fcf12a
Add trace logging to datapath thread (#473) 2020-06-09 08:25:37 -07:00
Nick Banks 3ab883e51e
Adds Various Improvements to Interop Tool (#479) 2020-06-08 14:11:25 -07:00
Thad House 5e76fa229b
Add support for cmake installs (#475)
* Add support for CMake install

Requires defining WIN32_LEAN_AND_MEAN in msquic.h, which is required anyway because of the include order. Also uses `__linux__` rather then an explicit QUIC_PLATFORM so no extra definitions are required to use the header file.
2020-06-08 13:21:48 -07:00
Thad House 9df96bf936
Moves linux platform functions in public header to be inlined (#470)
* Moves linux platform functions in public header to be inlined

Because they were included from the public header, any attempt to use them before would get undefined symbols. This fixes that by inlining the functions like Windows

Closes #468
2020-06-05 17:25:38 -07:00
Nick Banks da00d2a98b
Draft-28 Support (#469) 2020-06-05 16:17:10 -07:00
Thad House 4b2cb0809b
Wait for all connections to be freed during registration close (#474)
* Wait for all connections to be freed during registration close

If the connection received data after the registration worker pools were free, we hit a crash. This is caused by a race between cleaning up a connection and the binding receiving data. If we wait for the connections to be fully clean before cleaning up the worker threads, the race is avoided.

Should fix #472
2020-06-05 14:30:02 -07:00
Thad House acb34ae980
Add folder support to CMake (#471)
When the solution is opened in VS or another IDE that supports folders, the projects are grouped accordingly. This makes it much easier to find the specific project you're looking for
2020-06-05 08:11:55 -07:00
Nick Banks 5f5bb5ccbf
Build DLL only for UWP (#467) 2020-06-04 11:28:13 -07:00
Thad House 45ecc633d8
Add support for building in UWP mode (#454) 2020-06-04 08:25:31 -07:00
Nick Banks 6006d40f38
Workaround for LTTng Duplicate Tracepoint (#463) 2020-06-03 10:07:55 -07:00
Thad House 14d1fac6de
Supress deprecation warning for ExInitializeWorkItem in kernel mode (#465)
Newest WDK has ExInitializeWorkItem deprecated
2020-06-03 09:40:49 -07:00
Nick Banks 664299c9f3
Improve Azure Pipeline Job Names (#459) 2020-06-02 13:47:35 -07:00
Thad House 8454a88500
Don't call DisableThreadLibraryCalls with static CRT (#455)
* Don't call DisableThreadLibraryCalls with static CRT

According to MSDN documentation, this can cause issues with the CRT.

Closes #437
2020-06-02 12:56:48 -07:00
Thad House 99b569f2f6
Fix incorrect SAL annocation on linux QuicDataPathUninitialize (#456)
Closes #446
2020-06-02 12:55:57 -07:00
Thad House c158f8331d
Move datapath shutdown to occur before connection cleanup (#458)
Make it so the datapath can't accept any new data and cause a race with shutdown cleanup
2020-06-02 12:55:44 -07:00
Nick Banks 8694a7833d
Increase Azure Pipelines Timeout for BVTs (#457) 2020-06-02 12:46:41 -07:00
Nick Banks c7c461821c
Fix Newly Found Leaks (#453) 2020-06-01 18:50:42 -07:00
Nick Banks 2beca96546
Tests Wait Longer with Random Loss (#441) 2020-06-01 18:50:18 -07:00
Nick Banks 161fe30ceb
Add -d2epilogunwindrequirev2 Compiler Flag (#450) 2020-06-01 16:30:53 -07:00
Thad House 3425714974
Hide all exports on linux platforms from libmsquic.so (#445) 2020-06-01 13:51:38 -07:00
Nick Banks 4e5e002c7f
Update Badge to Public Location (#449) 2020-06-01 13:27:20 -07:00
Nick Banks 1231be0d1f
Fix Send Flags used for Packet Building (#447) 2020-06-01 12:36:36 -07:00
Nick Banks 76b050878f
Don't Explicit Target a WDK Version (#439) 2020-06-01 09:39:11 -07:00
Thad House 36b5e20689
Remove flags that can't be sent during congestion control if we don't have allowance (#443) 2020-06-01 09:26:32 -07:00
Nick Banks b7e904343e
Add More Kernel Mode Compiler Options (#442) 2020-05-31 17:40:24 -07:00
Thad House f2f2cc3b7e
Reset Datagram SendFlag when writing last datagram and out of buffer (#435) 2020-05-30 16:15:11 -07:00
Thad House 8e2fd72750
Make CMake build compatible with more platforms (#433) 2020-05-30 16:13:52 -07:00
Nick Banks 7b8e64809c
Disable String Pooling for Kernel Mode (#434) 2020-05-29 15:21:37 -07:00
Thad House 119934e961
Disallow in-source builds (#431) 2020-05-29 10:54:52 -07:00
Nick Banks c8748acb84
Update Windows Kernel Build Flags (#429) 2020-05-29 10:54:15 -07:00
Thad House f7c3e1057a
Use CMAKE_STATIC_LIBRARY_SUFFIX for openssl (#430) 2020-05-29 10:25:13 -07:00
Thad House 17c51b9d0b
Add flags and queue check to QuicDatagramValidate (#426) 2020-05-29 09:16:03 -07:00
Thad House 5eb69e2365
Fix cmake builds in Ninja (#424) 2020-05-28 13:27:12 -07:00
Thad House 6917b60398
Ignore VS Code Settings Folder (#423)
This folder contains user specific settings which should be ignored. Specific files we don't want ignored can be added later
2020-05-28 10:51:48 -07:00
Nick Banks 49203a4477
Allow a Single Partition Update per Path (#420) 2020-05-27 16:59:39 -07:00
Thad House 6dad17090f
Add cdb to path in run-executable azure script (#416) 2020-05-27 16:44:11 -07:00
Nick Banks 8ab93da9b5
Only Change Partitions for New Paths (#418) 2020-05-27 14:24:45 -07:00
Nick Banks b1088d658f
Don't Use App Closed until 1-RTT Keys (#417) 2020-05-27 13:12:05 -07:00
Thad House 5ad58aeb19
Fix leak in QuicStreamSendFlush (#415)
If send isn't enabled, the current send request was completed, but any existing requests left in the list were leaked.

Closes #408
2020-05-27 11:04:43 -07:00
Nick Banks 9f9f3143e1
Improve Output when CDB.exe is Missing (#412) 2020-05-27 07:31:08 -07:00
Thad House 98614d6d4a
Fix race condition in Ping tests (#411)
In StartPing, when the QUIC_SEND_FLAG_FIN flag is set and there are no bytes left, if the SteamSend completes successfully, we are racing against stream callback, which deletes the instance we are currently executing. When the loop continues, BytesToSend is read again, which is the use after free. Explicitly exiting the loop upon no data left removes the race

Closes #395
2020-05-26 14:48:27 -07:00