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

1167 Коммитов

Автор SHA1 Сообщение Дата
Nick Banks 6f2efc4a34
Add Slow Receiver Test (#1576) 2021-05-11 18:34:18 -07:00
Nick Banks f9c66984ef
Reenable Tests with OpenSSL (#1573) 2021-05-11 14:51:31 -07:00
Nick Banks c9dd1eec2f
Expose MsQuic Version to API Client (#1571) 2021-05-11 10:52:56 -07:00
Nick Banks 0639e28b8e
Add Peer Accept Stream Event (#1560) 2021-05-11 10:10:01 -07:00
Anthony Rossi 1480f5ace8
Fix more SpinQuic random allocation failure bugs (#1541)
* Fix OpenSSL failure.
* Fix CID allocation issue. Allow MsQuicOpen to fail.
* Fix UDP clean up on failure on Windows.
* Kill client connection when no DestCid is available.

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2021-05-11 00:56:29 -07:00
Anthony Rossi 9f39ee0fcc
Only check stateless reset CID against non-retired CIDs (#1568) 2021-05-10 16:40:01 -07:00
Thad House 4d152f7881
Use correct random loss args parameter for key update random loss test (#1562) 2021-05-10 14:22:19 -07:00
Thad House e6a3f5986b
Read commit url in try for perf previous data results (#1564)
Without this, feature branches will crash in the perf pipeline
2021-05-10 12:15:21 -07:00
Thad House d5c4332af8
Switch kernel mode BVT's back to Full.Light logging (#1559)
An earlier PR switched these to Full.Verbose. User mode was also switched, but reverted back in a later PR. This basically doubles the time for tests, and isn't usually necessary
2021-05-07 16:52:15 -07:00
Thad House 2373869b95
Properly update the start point of the current key phase to decide old or new encryption keys (#1548)
* Use the endpoints of the current key phase to decide old or new encryption keys

A bug was found while working on a separate PR that would cause the packets to be decoded incorrect upon key update. The root cause ended up being our method for choosing old or new keys when the opposite key phase was detected was incorrect. This PR updates the logic for selecting the keys to match 6.5 of the QUIC TLS spec.

The correct method uses the endpoints of the packets received on the current key phase to decide which keys to use.

* A few failure fixes, along with a spelling comment

* Fix key update

* Add telemetry asserts

* Remove unable to decrypt check

* Drop packets that would use old keys if we have no old keys

* Remove telemetry assert

* Don't do anything on the middle type packet

* Revert "Drop packets that would use old keys if we have no old keys"

This reverts commit 76cb64079d.

* Only log if lower range is triggered

* Only use the start of the range, also update test

* Fix some comments

* Add comments for test update

* Add random loss key update tests

* Missing break

* Formatting

* Fix double new line
2021-05-07 15:16:00 -07:00
Thad House d0669473c7
Fix unused variable error if CBPF macro does not exist (#1556) 2021-05-06 17:47:49 -07:00
Thad House a00a254f57
Add more logging for gtest run errors (#1555) 2021-05-06 15:31:47 -07:00
Nick Banks 9d16905235
Refactor/Improve MsQuic.hpp Header (#1545) 2021-05-06 13:40:04 -07:00
Nick Banks 3361a48d8e
Increase BVT Timeout to 60 Minutes (#1554) 2021-05-06 13:39:47 -07:00
Thad House eb8440a093
Only compile in RSS support on linux if CBPF macro is found (#1550) 2021-05-06 12:00:09 -07:00
Thad House 96c378382f
Add exit code debugging to kernel mode test runs (#1551)
We seem to have an issue that might be related to bad exit codes. So add some logging so we can figure out why
2021-05-06 11:49:11 -07:00
Nick Banks 1f49b7857f
Fix Handshake Stall Bug (#1547) 2021-05-05 18:53:04 -07:00
Anthony Rossi 2084736032
Add support for randomly failing memory allocations to SpinQuic. (#1537)
Add runtime support for enabling random memory allocation failure to SpinQuic. Only available on Debug builds.
2021-05-03 18:28:08 -07:00
Nick Banks 6d71107c4f
Add CII Badge 2021-05-03 15:07:35 -07:00
Nick Banks 521882d411
Simplify Test Scripts (#1540) 2021-05-03 11:07:35 -07:00
Thad House 332f0a5688
Log exception if a failure occurs in BVT run (#1538) 2021-05-03 10:41:38 -07:00
Thad House 8834935fd9
Increase linux regression thresholds (#1539)
Linux has a lot of performance fluctuation, and we don't currently have the time or knowledge to work on this. Its a future goal, but for now just increase the thresholds
2021-05-03 10:20:14 -07:00
Thad House ffab42f06a
Increase BVT timeout (#1536)
The new tests put kernel mode right at the edge of passing. Increase the timeout so they don't fail
2021-04-30 17:45:17 -07:00
Thad House e49e3eadfb
Average the last 5 results of runs for performance comparison (#1535)
* Average the last 5 results of runs for performance comparison

That way a jump from low to high doesn't break everything

* Fix a few variables

* 1 more fix

* Fix objects

* Make number of commits a variable
2021-04-30 16:29:04 -07:00
Anthony Rossi 145bbffddc
Use same RNG seed for TCP vs. QUIC random loss WAN tests. (#1533) 2021-04-29 22:03:58 -07:00
Max eb349b9d8c
Add support for Address Sanitizer in Windows (Dynamic Linkage only) (#1488) 2021-04-29 16:04:28 -07:00
Thad House 23361ac5d2
Special case targets in HPS tests (#1532)
* Parallelize HPS Client

* Use parallel values in test

* Use hex values, use valid kernel code for printing string
2021-04-29 14:30:14 -07:00
Nick Banks e2bdb18600
Update Release Docs with Windows Release Column 2021-04-29 12:18:19 -07:00
Nick Banks 43adcdf109
Updated User Mode PGO (#1530) 2021-04-28 13:05:18 -07:00
Nick Banks e7f63f5470
Refactor Sent Packet Metadata Stream Ref Counting (#1529) 2021-04-28 12:09:22 -07:00
Nick Banks 3297b1f91a
Ignore Zero-Length Receive Events in Tests (#1528) 2021-04-28 09:30:01 -07:00
Nick Banks ed426022d0
Update main to v1.4 (#1527) 2021-04-27 15:24:21 -07:00
Nick Banks 3be5c66bd4
Release Notes for upcoming prerelease/1.3 (#1523) 2021-04-27 10:37:35 -07:00
Thad House c7f2e05e33
Update GetValue function to check for full string, and validate length (#1507)
* Update GetValue function to check for full string, and validate length

Previously, -requests: would match a check for 
equest as the strnicmp just checks for length. This changes ensures that the character after the check is a :, and also that the string length for the argument is acceptable

* Add a separate function to grab a flag

* Fix a few missing flags

* Fix pfx path
2021-04-27 08:42:09 -07:00
Nick Banks 14fd7164e4
Execute StreamShutdown Inline on Callbacks (#1521) 2021-04-27 07:26:32 -07:00
Nick Banks 8f4330c6a9
Deliver Shutdown Complete on Recv of Reset (#1516) 2021-04-26 09:55:10 -07:00
Nick Banks 5c227104ff
StreamShutdown with Pending Receive (#1513) 2021-04-24 08:31:00 -07:00
Thad House f1dc5cc258
Run kernel mode perf tests with a kernel mode client (#1501)
* Run kernel mode perf tests with a kernel mode client

* fix user mode tests
2021-04-23 13:59:13 -04:00
Nick Banks c2e5bfe23b
Various Test and MsQuic.hpp Improvements (#1511) 2021-04-23 10:12:26 -07:00
Thad House 137e122de5
Update SAL annotation for ConnectionStart (#1508)
* Update SAL annotation for ConnectionStart

_In_reads_opt_z_(n) states either optional or reads n bytes. _In_reads_or_z_opt(n) states either optional, reads n, or reads to null terminator if less then n. This is the correct annotation for server name

* Fixed one change
2021-04-23 07:47:12 -07:00
Nick Banks c156f43bbc
Add warning about unsupported chacha and schannel 2021-04-22 07:10:40 -07:00
Thad House bf01a24c0a
Enhance performance logging capabilities (#1504)
* Enhance performance logging capabilities

Use the existing log scripts to perform logging, allow perf pipeline to log any supported log profile

* Fixup log profile

* Fix script root

* Fix cleanup

* A bit more logging, mainly to figure out why robocopy failed. And fix local

* Fix remote

* Another client and server fix

* Fix runs

* Disable prints

* Extra new line..

* 1 more log fix
2021-04-21 16:30:51 -07:00
Thad House 6b80dc5fde
Compare manually ran builds to main (#1503) 2021-04-21 10:01:32 -07:00
Anthony Rossi 6a7f403a94
Transport Close logging improvement (#1447)
Log the attempted IP address when it fails to match, and log the requested ALPN when it fails to match.
2021-04-20 17:53:51 -07:00
Nick Banks 9d50aec6da
Support Custom Local Address for SecNetPerf Server (#1502) 2021-04-20 15:07:24 -07:00
Thad House f0658a0ff6
Upgrade QuicTrace to .NET 5 (#1500)
.NET 5 has been out for a while, and most tools should be updated. Also gives us some nice performance boosts.
2021-04-20 10:47:01 -07:00
Nick Banks 9ba0ce4bce
Remove Unused QuicPing Tool (#1498) 2021-04-20 10:18:35 -07:00
Nick Banks 59a26faacb
Add Unhealthy Worker Check to Report Command (#1499) 2021-04-20 10:12:26 -07:00
Nick Banks cc50ecf4df
QuicTrace Refactor (#1493) 2021-04-20 07:41:36 -07:00
Anthony Rossi 202df6df08
Use correct TLS alert code for QUIC_ERROR_CRYPTO_USER_CANCELED (#1497) 2021-04-20 07:23:51 -07:00