Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSL 3.0 #2103

Closed
wants to merge 15 commits into from
Closed

OpenSSL 3.0 #2103

wants to merge 15 commits into from

Conversation

nibanks
Copy link
Member

@nibanks nibanks commented Oct 30, 2021

WIP. Migrates to OpenSSL 3.0. Fixes #2039.

@nibanks
Copy link
Member Author

nibanks commented Oct 30, 2021

@thhous-msft looks like it doesn't build on Linux.

@ThadHouse
Copy link
Contributor

It looks like on Linux they changed the output layout of the build directory... Only on Linux though.

@thhous-msft
Copy link
Contributor

Fixed. Documented change we just had to override.

@nibanks
Copy link
Member Author

nibanks commented Oct 5, 2022

Looks like everything related to resumption and 0-RTT failed.

@anrossi
Copy link
Contributor

anrossi commented Oct 5, 2022

Were there recent changes to this branch? Or are you saying the test run 7 months ago failed 0-RTT and Resumption?

@nibanks
Copy link
Member Author

nibanks commented Oct 5, 2022

Were there recent changes to this branch? Or are you saying the test run 7 months ago failed 0-RTT and Resumption?

Not sure. I don't remember seeing them fail before, but I might not have been paying attention.

@nibanks
Copy link
Member Author

nibanks commented Oct 13, 2022

@tmshort are there any known issues with quictls/openssl resumption/0-RTT changes when upgrading from v1.1.1 to v3.0? All our tests in these areas fail if we try to use v3.0.

@tmshort
Copy link

tmshort commented Oct 13, 2022

@tmshort are there any known issues with quictls/openssl resumption/0-RTT changes when upgrading from v1.1.1 to v3.0? All our tests in these areas fail if we try to use v3.0.

AFAIK, Akamai is still using 1.1.1, so, we haven't had experience with 3.0 yet. I would avoid 3.0.6+quic, since upstream withdrew 3.0.6 and 1.1.1r.

@nibanks
Copy link
Member Author

nibanks commented Oct 13, 2022

@tmshort are there any known issues with quictls/openssl resumption/0-RTT changes when upgrading from v1.1.1 to v3.0? All our tests in these areas fail if we try to use v3.0.

AFAIK, Akamai is still using 1.1.1, so, we haven't had experience with 3.0 yet. I would avoid 3.0.6+quic, since upstream withdrew 3.0.6 and 1.1.1r.

We failed on the 3.0.5, so it's not specific to the latest.

@nibanks
Copy link
Member Author

nibanks commented Oct 13, 2022

Some (especially HPS) perf is still bad (some good). https://dev.azure.com/ms/msquic/_build/results?buildId=384283&view=results

Windows

Running Test ThroughputUp_Windows_x64_openssl_Default
Test Run Took 00:00:13.7595507
Run 1: 6134887 kbps
Test Run Took 00:00:13.6793726
Run 2: 6110682 kbps
Test Run Took 00:00:13.6593184
Run 3: 6117120 kbps
Test Run Took 00:00:13.6997394
Run 4: 6224793 kbps
Test Run Took 00:00:13.6792827
Run 5: 6221608 kbps
Median: 6134887 kbps (-20.56%)
Remote: 7722431.4 kbps
Running Test HPS_Windows_x64_openssl_Default
Test Run Took 00:00:10.8929498
Run 1: 1460 HPS
Test Run Took 00:00:10.8183108
Run 2: 1484 HPS
Test Run Took 00:00:10.8307725
Run 3: 1446 HPS
Test Run Took 00:00:10.8113952
Run 4: 1595 HPS
Test Run Took 00:00:10.8670791
Run 5: 1496 HPS
Median: 1484 HPS (-66.41%)
Remote: 4418.2 HPS

Linux

Running Test HPS_linux_x64_openssl_Default
Test Run Took 00:00:11.3684896
Run 1: 1924 HPS
Test Run Took 00:00:11.5982844
Run 2: 1954 HPS
Test Run Took 00:00:11.6490310
Run 3: 1885 HPS
Test Run Took 00:00:11.5490164
Run 4: 1843 HPS
Test Run Took 00:00:11.6666582
Run 5: 1884 HPS
Median: 1885 HPS (-84.5%)
Remote: 12162 HPS

@jarnovanderlinden
Copy link
Contributor

Consider adding the "-no-legacy" flag to OPENSSL_CONFIG_FLAGS. I don't think msquic needs the legacy support. Without the flag I'm getting some LNK4006 linker warnings on Visual Studio when using it with static linking (due to some functions being duplicated in the legacy and non-legacy code).

@nibanks
Copy link
Member Author

nibanks commented Nov 4, 2022

@tmshort it seems like there might be issues with sending session tickets (with quictls v3.0.*):

[1]14C0.04D8::2022/11/04-11:10:50.254068500 [Microsoft-Quic][conn][0x23E06066710] Encoded 30 bytes for QUIC TP
[1]14C0.04D8::2022/11/04-11:10:50.254072500 [Microsoft-Quic][conn][0x23E06066710] Sending ticket data, 48 bytes
[1]14C0.04D8::2022/11/04-11:10:50.254195500 [Microsoft-Quic][conn][0x23E06066710] Send alert = 80 (Level = 3)
[1]14C0.04D8::2022/11/04-11:10:50.254201200 [Microsoft-Quic][ tls][0x23E06066710] ERROR, 1, SSL_do_handshake failed.

@nibanks
Copy link
Member Author

nibanks commented Feb 1, 2023

Closing in favor of #3387.

@nibanks nibanks closed this Feb 1, 2023
@nibanks nibanks deleted the nibanks/openssl-3 branch February 1, 2023 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support QuicTLS (OpenSSL) 3.0
6 participants