lua-https icon indicating copy to clipboard operation
lua-https copied to clipboard

Add OpenSSL 3 support

Open bartbes opened this issue 1 year ago • 7 comments

Fixes #21. Based on the first commit of #30.

The only actual breakage was the rename of SSL_get_peer_certificate to SSL_get1_peer_certificate.

I had spotted a new HTTP client in OpenSSL3, and tried to get that to work. Unfortunately, it's too limited for our purposes: it only supports GET and POST, and has no way to retrieve the status code or response headers.

bartbes avatar Apr 13 '24 12:04 bartbes

Now if only I'd based it on the actual branch, I would've had the fix for that compile error too. I'm marking the PR as draft for now, let me know if you want it rebased on main, or on #30 (or main after that's merged).

bartbes avatar Apr 13 '24 12:04 bartbes

I'll wait until #30 is safe to merge before merging this one. Thanks.

MikuAuahDark avatar Apr 13 '24 13:04 MikuAuahDark

Feel free to rebase then open the PR.

MikuAuahDark avatar Apr 20 '24 15:04 MikuAuahDark

I did notice the CI job only builds and tests with openssl 1.1, because it uses ubuntu 20.04.

bartbes avatar Apr 21 '24 11:04 bartbes

I'm a little unsure about bumping CI to 22.04 because love 11's appimage is compiled with 20.04. Anyone have opinions?

slime73 avatar May 05 '24 20:05 slime73

Maybe we could run two linux jobs (20.04 versus 22.04) and label their artifacts appropriately. That might not be useful for very long though.

slime73 avatar May 05 '24 20:05 slime73

Since we're only runtime loading OpenSSL3, I wonder if it's good idea to clone OpenSSL source code locally then use the include for it? This would require more modification to lua-https CMake and we'll eventually need Ubuntu 22.04 for testing it anyway.

MikuAuahDark avatar May 06 '24 02:05 MikuAuahDark

I'll merge this for now. Figuring out where to source the OpenSSL header can be done later (or by simply updating lua-https runners).

MikuAuahDark avatar Jun 07 '24 04:06 MikuAuahDark