-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
haproxy: 2.9.2 -> 2.9.3; Enable QUIC support #262401
Conversation
I saw #202922, but that is IMO not the way to go.
|
Put the effort in to make it work with WolfSSL, which is the best option at the moment and seems to be the preferred path moving forward. |
Actually, I'll rework the WolfSSL derivation first. |
73ae72f
to
fbc930a
Compare
Hey @SuperSandro2000, thank you kindly for reviewing. The wolfssl changes are from #262594, I just needed to base the HAProxy changes on top - but I implemented your feedback (or tried, at least). As for the |
Small update, we released haproxy 2.8.4, you can now enable USE_QUIC_OPENSSL_COMPAT=1 to have QUIC with an non-patched version of openssl. |
Update on this:
|
35f103f
to
4f20d3b
Compare
Hey @wlallemand. I tried OpenSSL with I've enabled The curl call going to the quic listener with verify required fails with the following:
(Of course, I disabled GSO, but that didn't help.) Meanwhile, the same tests run just fine with a haproxy compiled with quictls, which is the only difference between those runs. Should I open an issue about this? |
@vifino I'm not aware of any issue of this kind with the openssl compat layer, it could be a bug or a limitation of the current achitecture. Did you had the same issue with 2.8.4? Better open an issue on the haproxy github indeed! thanks. |
49e9415
to
a2e52a9
Compare
This allows switching SSL Libraries between OpenSSL, QuicTLS, LibreSSL, and WolfSSL. The default is changed to QuicTLS, as it is feature-compatible with OpenSSL and not experimental. Also switched to PCRE2 and Lua 5.4.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks really good. Thank you!
Description of changes
This enables switching SSL Libraries.
In addition, this switches to PCRE2 and Lua 5.4 from PCRE and Lua 5.3.
Should have no functional differences, apart from the added QUIC support which needs to be configured in HAProxy.
This also adds more test cases, specifically for SSL, mutual TLS and QUIC.
According to the recent SSL Library Support Wiki Page, OpenSSL 3.X is not the best choice by far.
I would really like WolfSSL, as that seems to be the one with the best performance yet there are still many unimplemented features.
It requires a different build config, but that's the way wolfssl intends to be used.
However, in order to make this easier to merge without worrying about breakage, it still defaults to OpenSSL (3.X)
A future PR might flip the switch, though.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)