Am 16.10.2018 um 23:01 schrieb Mark Thomas:
Hi,

I've been working on building this with OpenSSL 1.1.1. It wasn't as
simple as I expected as there is quite a lot of clean-up in 1.1.1.

I now have a working build although it required a handful of tweaks to
the OpenSSL source. Some are bugs that have already been fixed in
master. Some look to be, effectively, the result of porting the
openssl-msvcrt.patch

The OpenSSL 1.1.1 based Tomcat Native passes a basic smoke test
(including TLSv1.3 support) and the unit tests pass.

I am now wondering which version of OpenSSL to use to build 1.2.18. I am
leaning towards providing both OpenSSL 1.1.1 and 1.0.2p based builds.

WDYT?

I just learned in the httpd project, that there are subtle changes in 1.1.1 that can break existing code using OpenSSL. The example that hit us there, was SSL_read() now returning 0 instead of a negative error code in some situations. The old httpd code only called SSL_get_error() to check for SSL_ERROR_WANT_READ etc. when SSL_read() returned a negative value. The old code used a return value of 0 as an indicator for APR_EOF (connection was closed). That lead eg. to h2 failures when build against OpenSSL 1.1.1. The current OpenSSL man page for SSL_read() says negative return value and 0 should be handled the same.

I have not yet looked at tcnative wrt. this observation ut I would hope running our TC test suite would reveal breakage if it happens. But still there is an increased risk for the first release.

I like your approach of providing both and I wonder whether we might flag our support for 1.1.1 as experimental, likely dropping that for the next release.

I'm also almost certainly going to drop the 1.2.18 tag again (sorry!) so
I can document the build process for 1.1.1 and include the necessary
patches etc. in the src tarball.

Good thing!

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to