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

275 Коммитов

Автор SHA1 Сообщение Дата
William Yang fce09d4956
doc(TSG): fix typo (#3987) 2023-12-06 11:20:24 -05:00
William Yang 972e9425e9
Doc(TSG): stream abortion and logging (#3986) 2023-12-06 11:10:53 -05:00
Pooja Trivedi 81f0309cdc
Add documentation for getting started with the sample server-client app (#3985)
Co-authored-by: Pooja Trivedi <poojatrivedi@microsoft.com>
2023-12-05 16:32:34 -05:00
Nick Banks 7ff58fed64
Use American English Spelling of 'acknowledgment' (#3977) 2023-12-02 12:07:37 -05:00
Nick Banks ce94fbe75b
Improve Documentation on Connection Upcalls (#3957) 2023-11-14 07:54:36 -05:00
Radek Zikmund d33bc56d5e
Support setting flow control limits for individual stream types (#3948) 2023-10-31 15:16:38 -04:00
Daiki AMINAKA c19a3cd997
add note for default ubuntu issue (#3916) 2023-10-12 20:44:47 +00:00
Jack He (Github) 0ba1fc75d2
Phase 2 of enabling new Stream Frame: Reliable Reset (#3817) 2023-09-30 09:25:40 -04:00
Yuqiong Liu 649f971b1b
Expose Interface for App to Set Stateless Reset Key (#3879)
* Allow stateless reset token key to be set #1719

* Update src/core/library.c

How about we use the same way as the random initial reset key, we call  MsQuicLibraryFreePartitions() to set all PerProc->ResetTokenHash to NULL

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Address the code review feedback

* Revert clog.sidecar changes

* Add event for stateless reset key

* Revert the file clog.sidecar

* Remove DatapathTcpAuxBinding changes from clog.sidecar

* Remove parameter from function QuicTestStatelessResetKey and address other comments

* Update src/test/MsQuicTests.h

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/core/library.c

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update src/test/lib/DataTest.cpp

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Address code review comments

* Move stateless reset key after the other global param

* Address CheckDotnet test and update document

* Address the failure at CIFuzz

* Address the failure in CIFuzz

* Add one test case when MsQuic lib has not been initialized yet

---------

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2023-09-28 13:40:43 -04:00
Nick Banks 9c903ab328
Fixes Incorrect Docs for Idle Timeout (#3876) 2023-09-26 08:29:25 -04:00
Daiki AMINAKA ae3db5cd99
Unify datapath (#3819)
* Remove QUIC_USE_RAW_DATAPATH (logic only)

* move logic to core side

* remove QUIC_USE_RAW_DATAPATH from test

* fix googletest version and add last line

* replace from flag to function call

* fix build error

* fix build/test issues

* implement CxPlatResolveRoute for normal socket

* add Getter of Datapath feature

* fix build issues

* adopt comments

* adopt comment and fix kernel build error

* fix kernel build error

* more fix for kernel build

* Unify datapath

* DatapathTest partially work

* just unify build of both normal socket and xdp

* SOCKET: RAW{...Socket{BASE{addr}}}, DATAPATH: XDP{RAW{DATAPATH*}} <-> DATAPATH{RAW*, BASE{callbacks}}

* tmp

* add preview_feature flag back

* refactoring CxPlatIsRouteReady

* fix linux code check

* adjust func names

* fix comments

* fix IsRouteReady and clean ifdef for _KERNEL_MODE

* kernel build error

* Set RouteResolved for Rx

* fix more tests

* move global definition in header file

* kernel to avoid calling helper function

* move QuitTestIsFeatureSupported after RegistrationOpen

* supress warning

* remove QuitTestIsFeatureSupported from quic_gtest as it doesn't work as expected by dependency of MsQuicLib.Datapath

* remove raw feature check as much as possible

* ifdef for UseQTIP visibility

* tmp

* tmp

* fix merge side effects

* all tests passed

* fix tests in msquicplatformtest

* fix tcp with duonic

* update clog

* use xdp v1

* WIP cleanup

* refactoring CXPLAT_SEND_DATA

* remove mangling and function pointer

* remove unnecessary change in test

* fix comments

* cleanup

* move logic to _winuser

* use dummy raw datapath for uwp build

* dummy raw

* remove double free

* fix comments

* update dummy func

* fix perf run for TCP

* partially fix comments

* fix build error for uwp and remove duplicate variable in raw socket

* set socket before start receiving

* add dummy to clog

* add clog files for dummy

* fix dependency for cargo on windows

* remove dummy clog files

* remove AuxSocket

* add pwsh for cargo setup

* clog fix

* add include dir for cargo

* [WIP] fix cargo and qtip

* fix clog, qtip, rename private raw functions and cleanup

* experiment to avoid write overflow

* use Config->Route->DatapathType for data allocation

* more strict if conditions

* fix comments

* fix uwp build

* fix clog and artifact name

* fix back xdp dependency

* Simply build automation

* missed one

* apply unification to linux and remove QUIC_USE_XDP flag

* move types to any platform

* add abstruction layer for linux

* add clog

* add clog dependencies

* fix CodeCheck issues

* remove xdp specific artifact dir name and always install xdp deps

* add docs

* More Fixes for XDP in automation (mostly OneBranch)

---------

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2023-09-23 12:45:17 -07:00
Nick Banks a564e605ae
Regenerate Suppression File (#3798) 2023-08-09 11:23:56 -04:00
Jack He (Github) 21ea4975a5
Support retrieving the initial destination CID from GetParam (#3755)
* add new parameter

* remember to set success status

* add test cases

* fix test cases

* fix styling

* no need to redefine client config

* add non-null checking

* fix formatting and use helpers

* update description and add trailing whitespace

* add null ptr queries

* run ./scripts/generate-dotnet.ps1

---------

Co-authored-by: Jack He <jackhe@microsoft.com>
2023-07-15 07:07:39 -04:00
Yi Huang 96ae1426d8
Migrate Windows Prerelease tests to 1ES hosted pool (#3732)
Use 1ES pool for windows prerelease tests
2023-07-05 12:08:43 -07:00
Jack He (Github) cb5a20e3dd
Update docs to reflect what is in msquic.h (#3730) 2023-07-01 17:07:53 +00:00
Nick Banks 4e30ff8d72
Support Delaying Stream ID FC Updates to StreamClose (#3665) 2023-06-09 13:12:04 -04:00
William Yang e11cd12e41
doc: clarify BufferCount in QUIC_STREAM_EVENT_RECEIVE (#3666) 2023-06-01 15:07:15 -04:00
Nick Banks 290e634880
Update TSG for URO (#3633) 2023-05-16 14:39:16 -04:00
PeteAudinate 77af9141f2
Replace NEW_STREAM with PEER_STREAM_STARTED (#3586) 2023-04-26 13:22:27 +00:00
Nick Banks 08cf334ef6
Update issue template for bugs for v2.2 (#3584) 2023-04-25 09:10:32 -07:00
Anthony Rossi 71558a3475
Update CredScan suppressions for OpenSSL (#3580) 2023-04-24 18:34:57 -04:00
Nick Banks a029d2b42f
Release 2.2 Notes (#3571) 2023-04-18 12:37:21 -07:00
Yi Huang f956bab775
Doc: use Strawberry Perl (#3558) 2023-04-10 17:34:21 -07:00
Yi Huang f6c47e7ec7
Add instructions for testing on a different machine (#3552) 2023-04-06 20:36:21 -07:00
Anthony Rossi 054a0acd9b
Update release instructions (#3540)
* Update release instructions

* Update Release.md
2023-03-29 08:03:14 -04:00
Nick Banks 86083a74aa
Update LTTng to Latest (v2.13) (#3537) 2023-03-27 19:09:28 -04:00
jdcole 0a32e7b03b
Document how to build and use clog2text and lttng (#3501) 2023-03-13 08:02:10 -04:00
Daiki AMINAKA 82e65c7e36
Upload linux perf command results (#3349)
* generate .perf trace

* change order

* tmp

* check

* ooo

* specify file

* check

* aaa

* install perf

* add

* install perf

* add to log.ps1

* add

* odebug print

* print output

* add loop to wait collection

* small sampling rate

* print info

* gen svg

* fix typo

* fix perf install trigger

* chmod to flamegraph scripts and add debug output

* fix count variable access. use @ instead of $

* try catch perf

* debug print

* print from remote

* more debug

* add -ErrorAction Continue

* error oput

* use original

* wrap

* DebugPreference Continue

* stop server side PerfGraph

* explicitly install flamegraph tools

* set path for flamegraaph tools

* fix file existence check

* gset perf paranoid

* setup flamegraph tools just before using

* add sudo

* sudo for perf

* add sudo for all perf

* check permissions

* pass environment variables

* set explicit library path

* enable server perf tracing

* output details for remote exe

* stop server perf trace

* remove original LD_LIBRARY_PATH

* show out of memory

* remove comment, enable server

* fix directory name

* commenting

* oops

* Fix tar error

* remove Write-Debug as it is critical issue

* fix SmbDir for linux

* stop debug print

* add throw for Perf function

* Use max sampling frequency for perf with workaround

* upload perf txt file for WPA visualization

* add documents

* add images

* fix data extension

* smaller freq

* cleanup before perf run

* add Path check

* delete file for each type

* reduce sampling freq. addpending work

* use safer file name based operation

* parallelize client perf post processing

* reduce freq and parallelize server/client post proccessing

* increase timeout for perf measurement

* add cancel func

* change timeout to 90min

* fix tab

* Fix Loopback server side warning

* adjust for throughput tests
2023-02-03 20:22:13 -08:00
Nick Banks feccf650c2
Add Support for Custom TLS Alert in Certificate Validation Failure (#3391) 2023-02-03 21:02:00 -05:00
Anthony Rossi 926682eaec
Add test for async client certificate validation. (#3381) 2023-02-03 08:32:52 -05:00
Daiki AMINAKA 55dd0a5a5d
remove Handshake state check (#3321)
* remove Handshake state check

* add doc

* add detail
2023-01-03 11:38:01 +09:00
Daiki AMINAKA 97616f7601
new API for async certificate validation (#3318)
* new API for async certificate validation

* Fix func pointer assignment

* generate dotnet
2023-01-01 12:09:43 +09:00
Daiki AMINAKA bf145e1827
Async ticket validation (#3186)
* initial

* wip

* temporal setup script

* update

* cleanup

* cleanup

* fix Server side parse issue

* succesfull case

* reset cached buffer length

* rejection case

* rejection case

* Rejection case

* use status flag

* clean up

* clean up

* fixes

* Add new API. Fix comment

* add generated cs file

* test fix

* clean up

* fix comment, skip test for schannel

* regenerate cs file

* Use same mechanism for CertificateValidationComplete

* add doc and remark

* Reschedule packet if cert/ticket validaiton pending

* Fix available version. Make API callable from callback

* Update docs/api/ConnectionResumptionTicketValidationComplete.md

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* Update docs/api/ConnectionResumptionTicketValidationComplete.md

Co-authored-by: Nick Banks <nibanks@microsoft.com>

* fix comments

* same order

* spinquic to call

* fix code quality

Co-authored-by: Nick Banks <nibanks@microsoft.com>
2022-12-08 09:02:22 -08:00
Daiki AMINAKA bef15dddbb
log_wrapper.sh to convert trace to text (#3271) 2022-12-07 15:05:45 -08:00
jbevemyr a1762b1df4
Added support for ca certificate file setting in SSL_CTX. (#3132)
* Added support for ca certificate file setting in SSL_CTX.

* Moved CaCertificateFile struct element to last in struct for backward compatability, added QUIC_CREDENTIAL_FLAGS to indicate that it is set.

* Code cleanup.

* Updated pulic API, move test to top.

* Added support for creating a CA and issuing client or server certificates from the CA certificate + modified a couple of tests to use root certificate and properly generated client certificate.

* Added const.

* Fixed parameter annotations and renamed helper function.

* Added some more comments.

* Added new flag QUIC_CREDENTIAL_FLAG_SET_CA_CERTIFICATE_FILE to PlatformSpecificFlagsOpenSsl test.

* Comment added to better explain the ca cert swap code.

* Reworked ca cert file setting in parameter.

* Added missing compiler directive.

* Removed comment that caused validation function to complain. Fixed syntax error in code not used by openssl version.

* Fixed memory leak and disabled a couple of tests that cannot run when schannel is used.

* Fixed various minor whitespace issues and an ifdef test.

* Restored original whitespacing.

* Added some docs and defined test macro.

* Only run CA certificate tests when using openssl and not on WIN32

* Added some comment to satisfy code scanning tool part of test chain.

Co-authored-by: Johan Bevemyr <jb@avassa.io>
2022-11-16 07:54:28 -05:00
Anthony Rossi 05c8e516fb
Update QUIC_CREDENTIAL_CONFIG.md (#3235) 2022-11-14 07:24:05 -05:00
Tishchenko Vladislav Petrovich ecb53376d9
Add info about usage with older Windows releases with OpenSSL (#3218) 2022-11-04 15:43:16 -04:00
Nick Banks b3cf63200e
Support Fixed Server ID Encoded Load Balancing Mode (#3172) 2022-10-28 09:38:49 -04:00
Yi Huang 22e14863c4
Add ECN support: ECN validation (#3168)
This PR implements 13.4.2. ECN Validation in RFC9000. The ECN validation algorithm implemented in this PR is very similar to the sample algorithm given in RFC9000 A.4. The details can be found at the top of path.h.

This PR also adds a new global QUIC setting, EcnEnabled and a flag, EcnCapable, in connection stats.

This PR does not implement CC ECN reaction, which will be done in a separate PR.
2022-10-24 15:38:52 -07:00
William Yang 4acd778a0c
doc: no dup StreamReceiveComplete call (#3185) 2022-10-24 08:44:01 -04:00
Nick Banks c099aa12ba
Improved Logging for NIC Drop Scenario (#3170) 2022-10-19 09:16:06 -04:00
Max Truxa 246c34f8f0
TSG: Fix some minor issues (#3161) 2022-10-15 17:26:20 -04:00
Anthony Rossi 85164f56a8
Rename OtherVersions to AvailableVersions. (#3147) 2022-10-13 13:19:21 -07:00
Nick Banks 86f7c77773
Increase Initial Packet Sizes to Help with Amplification Protection (#2697) 2022-10-12 17:57:10 +00:00
Nick Banks 1594b3846c
Initial Arch Documentation (#3051) 2022-10-12 13:46:13 -04:00
Yi Huang 8a3c1d1d3e
Update release documentation (#3095) 2022-09-30 21:58:09 -04:00
Nick Banks 5b921c9e18
App Controlled Execution Config (#3034) 2022-09-30 17:00:02 -04:00
pivotman319 2fc5c34e18
Update Release.md (#3091) 2022-09-29 15:43:32 -04:00
Cheney Wang 581e7b6395
Add vcpkg installation instructions (#3066) 2022-09-15 10:58:21 -04:00
Yi Huang d723b9b761
Fix arm32 package naming (#3053)
Only armhf is accepted by packages.microsoft.com.
2022-09-09 17:15:44 +00:00