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

192 Коммитов

Автор SHA1 Сообщение Дата
Nick Banks fbaba2931f
Some MTU Test Improvements (#3291) 2022-12-14 13:33:24 -05:00
Michael Friesen 44dc466491
Continue teasing apart receive completion path (#3286) 2022-12-14 13:29:21 -05:00
Michael Friesen ac8d5c2dcd
Simplify winuser SQE->CQE mapping and remove IO completion keys (#3282)
* simplify winuser SQE->CQE mapping and remove IO completion keys

* add more diagnostics for XDP io completion

* add some more instrumentation for IO completions

* fix bad cmake syntax

* add stronger IO completion verification

* integrate main with local changes
2022-12-13 11:59:09 -05: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
Lars Eggert 52144efbc6
Add option for some crude tracing on `stdout` (#3164) 2022-10-24 18:19:41 -04:00
Lars Eggert bdcf033475
Fix/suppress some new clang/cppcheck warnings (#3064) 2022-10-17 09:39:56 -04:00
Yi Huang 3d8de92398
Add static crt switch and never use partial crt for debug builds (#3135)
1. Add `-StaticCRT` to allow full static CRT linking.
2. Never apply partial static CRT linking to debug bits.
2022-10-11 15:42:40 -07:00
Nick Banks b7f9e2fbd4
Disable Preview Feature Tests on Official Builds (#3106) 2022-10-04 15:52:55 -04:00
Nick Banks 5b921c9e18
App Controlled Execution Config (#3034) 2022-09-30 17:00:02 -04:00
Nick Banks bf92fd766e
Use Partial Static CRT Linking by Default (#2964) 2022-08-10 13:31:46 -07:00
Michal Strehovský c6e743f675
Make it possible to partially statically link CRT (#2962) 2022-08-10 08:17:53 -04:00
Nick Banks 910325327a
Update main Version to v2.2 (#2948) 2022-08-05 10:59:45 -04:00
Nick Banks 5de511cca9
XDP PGO (#2808) 2022-06-09 08:46:23 -04:00
Anthony Rossi 1050d1bdae
Indicate null/missing client certificate (#2702)
Co-authored-by: Nick Banks <nibanks@microsoft.com>
2022-05-18 16:12:23 -07:00
Nick Banks 506065eda6
Custom PGO Files for Different Configurations (#2722) 2022-05-17 11:33:37 -07:00
Thad House 439bc9ba3e
Fix UWP builds missing storage APIs (#2649) 2022-04-20 16:48:30 +00:00
Thad House c5c5d2797c
Don't enable datapath queued sends when shared ec is enabled (#2539) 2022-03-17 12:26:09 -04:00
Thad House 19f8b40367
Embed git commit hash into binary (#2494) 2022-03-10 07:59:00 -05:00
Thad House ae4d4e92ba
Suppress empty file warning in msvc (#2487) 2022-03-08 15:43:28 -08:00
Thad House d381554ca1
Improve crash dump debugging in CI (#2454) 2022-03-02 09:47:38 -05:00
Thad House b72c6b3e82
Update main to v2.1 (#2453) 2022-03-02 08:03:09 -05:00
Thad House 4f4354d550
Fix PGO directory when running a standalone cmake build (#2439) 2022-02-25 16:01:16 -05:00
Lars Eggert ba6d3ea0a4
Fix/suppress a few more nits (#2423)
* Fix/suppress a few nits found by clang-tidy13 and newer cppcheck versions.

* One more
2022-02-23 16:26:05 -05:00
Nick Banks 802dc93f5d
Default Building only Library (#2406)
* Default Building only Library

* Enable tools for docker
2022-02-18 21:46:02 +00:00
Nick Banks 8dbbe1fcc1
Merge Lola Branch (#2404)
Lots of stuff...
2022-02-18 15:00:33 -05:00
Nick Banks 34623b13ad
Combined QUIC and Datapath Execution Context Support (#2336) 2022-02-17 14:36:20 -08:00
Thad House 886c8788c6
Add soversion to msquic (#2095)
* Add soversion to msquic

* Fix darwin packages

* One more mac fix

* Create symlink

* Update scripts/make-packages.sh

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>

* Update scripts/make-packages.sh

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>

* Fix version update script

* Update to 2.0

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
2022-02-04 13:41:55 -08:00
Nick Banks 67ab7b4efc
Support High Resolution Timer (WinUser) (#2300) 2022-01-19 12:11:25 -05:00
Chris Gray 15ee9b3f8d
update msquic to clog 0.4.0 (#2260) 2022-01-04 10:11:46 -05:00
Nick Banks f346fe40a9
Official Support for TLS Secrets (#2235) 2021-12-20 13:07:34 -05:00
Thad House 1f8f0501ea
Improve log messages for when logging is disabled in cmake (#2227) 2021-12-13 14:59:14 -08:00
Thad House 7c8f55b014
Use CMAKE variable for setting extra PGO library directory (#2180) 2021-11-24 08:40:48 -08:00
Thad House 4fe2827b3b
Clean up cmake install paths (#2175)
* Clean up cmake install paths

Removes /msquic from library install path, as it does make using raw gcc harder, and is non standard. Cmake install process is tested to still work

* Fix rust build

* Remove mutable var
2021-11-23 12:17:41 -08:00
Thad House bc96f530ec
Add portable certificate indication support to schannel (#2160)
* Add portable certificate support to schannel

* Fix infinite loop

* Fix clog

* Duplicate portable certificate

* Extra new line

* Clog

* Fix tests
2021-11-19 11:18:33 -08:00
Thad House 8f6eb33e75
Update docs to make clear VS 2022 will work for building (#2157)
* Update docs to make clear VS 2022 will work for building

* Remove versions from top sentance
2021-11-18 13:38:49 -08:00
Thad House c175dd3445
Add gamecore build to onebranch CI (#2084)
* Build gamecore in onebranch ci

* Build gamecore in PR ci as well

* Rename gamecore again

* Fix build name

* Something happend

* Backup method

* Fix one more thing

* Package gamecore
2021-10-20 10:47:11 -07:00
Thad House b74029e7cf
Fix cmake static builds on ninja (#2022)
* WIP Fix cmake static builds on ninja

* Fix static link

* Fix linux linking

* Fix windows static linking

* Fix logging

* Fix static deps
2021-09-23 11:39:38 -07:00
Thad House 0ec9853b23
Clean up cmake include checks, allow missing atomic on linux (#2003)
The include checks we were doing could be done a lot cleaner. Additionally, some older platforms don't have libatomic, but don't need it either, so make that check optional
2021-09-20 10:38:17 -07:00
Thad House eb7bf8a370
Fix gamecore on older windows sdk, require a minimum gdk, remove scarlett (#2005) 2021-09-20 10:37:59 -07:00
Thad House 343a480f66
Link gamecore binaries to correct runtime libs (#1973)
* Link gamecore binaries to correct runtime libs

* Fix linking

* Shim missing functions

* Get uwp working again

* Rename gamecore to gamecore-durango

* Only shim quicaddrtostring in gamecore.

* Fix all builds

* Properly lookup gxdk

* Fix public builds

* Fix define comment

* Fix uwp builds

* One more uwp

* 1 more uwp fix
2021-09-13 12:57:45 -07:00
Thad House 1f6db86c7a
Use correct physical memory limits on posix platforms, with cgroups to handle containers (#1968)
* Add support for cgroup restricted memory checks

* Fix build

* Fix macos

* Fix release build

* Fix release macos

* 1 more release mode fix

* Fix weirdness

* Fix clog

* Fix formatting

* remove unnecessary headers

* Fix codecheck

* Fix codecheck bad functions

* Fix sign comparison

* Fix codecheck

* Remove printf

* Another attempt at codecheck
2021-09-10 14:25:51 -07:00
Anthony Rossi d340ff7c74
Add client certificate support to OpenSSL (#1930) 2021-09-07 13:47:45 -07:00
Doug Gallatin ce68679ef3
Add GameCore build platform to MSQUIC (#1947) 2021-08-27 20:02:19 -04:00
Thad House efb0bf04c7
Enable building macOS and iOS framework bundles (#1927)
* Add support for building a macOS or iOS framework bundle

* Rename script

* Package frameworks on azure

* Update framework version

* Fix upload path

* Add support for xcframework as well

* Another macos fix

* Fix weird mistakes

* Increase minimum target to 10.15

* Fix macos build

* Fix review comments

Co-authored-by: Thad House <thadhouse1@gmail.com>
2021-08-19 12:22:19 -07:00
Thad House 1b17a55c34
Add support for building for iOS (#1904)
* Add support for building for iOS

* Add iOS azure template

Co-authored-by: Thad House <thadhouse1@gmail.com>
2021-08-11 12:38:56 -07:00
Thad House d9bf2d0495
Add shim for sendmmsg when sendmmsg does not exist (#1896)
* Add shim for sendmmsg when sendmmsg does not exist

Some users have asked to build with glibc versions that do not have sendmmsg. This change checks for the existance of sendmmsg, and if its missing implements a shim version that has identical functionality

* Fix shim signature

* 1 more fix
2021-08-11 10:37:19 -07:00
Melvin Groenhoff 115969aa17
Allow building in directories containing spaces (#1899) 2021-08-11 12:37:34 -04:00
Thad House c19201079a
Consolidate OpenSSL build into a single CMakeLists file (#1898)
* Revert "Revert OpenSSL changes  (#1892)"

This reverts commit 97f1fd874b.

* Revert "Fix QNS builds (#1891)"

This reverts commit 8569b6cd24.

* Build QNS image in PR CI

* Another attempt to fix qns

* Another try

* More debugging

* Some more printing

* Fixup docker ignore

* revert yml
2021-08-10 13:33:11 -07:00
Thad House 97f1fd874b
Revert OpenSSL changes (#1892)
* Revert "Fix QNS builds (#1891)"

This reverts commit 8569b6cd24.

* Revert "Consolidate OpenSSL build into a single CMakeLists file (#1885)"

This reverts commit c16d492a9b.
2021-08-09 15:29:05 -07:00
Thad House 8569b6cd24
Fix QNS builds (#1891)
ALIAS targets only work in 3.18. Instead of bumping the requirement, remove the ALIAS target from OpenSSL
2021-08-09 13:50:56 -07:00