Daniel Sahlberg <daniel.l.sahlb...@gmail.com> writes: > Hi, > > I've tried to build Serf 1.3.9 against OpenSSL 3.1. This fails on > ERR_GET_FUNC() in buckets\ssl_buckets.c. > > This was patched in r1901937, see [1]. I would love to see it backported to > either 1.3.x or 1.4.x followed by a release. OpenSSL 1.1 is EOL in the > autumn this year and I think it would be good if Serf is prepared. > > What pieces are missing to be able to release a new version of Serf?
Hi Daniel, I went through the changes required for OpenSSL 3 support (including a few general improvements) and nominated them in ^/serf/branches/1.3.x/STATUS. These nominations are currently one vote short from being backported, so I'd say that once the remaining votes are in place, we could start thinking about releasing serf 1.3.10. The shortlog of those nominations is included below: ---------------------------------------------------- * r1712131, r1807594, r1811088, r1861036, r1909315, r1909316 Add support for building with VS2017-VS2022, assuming a new enough scons. * r1901040 Fix test_ssl_handshake() failure with OpenSSL 1.1.1i+. Justification: Serf should test cleanly against upstreams. * r1901937 Remove the use of ERR_GET_FUNC() to allow building against OpenSSL 3. Justification: Serf should work with OpenSSL 3. * r1902208, r1902304 Rework BIO control handlers to support BIO_CTRL_EOF and to properly respond to unknown control values. Justification: - Fixes "unexpected eof while reading" errors with OpenSSL 3, also observed in the test suite. - Fixes a user-reported issue with OpenSSL 3 where serf BIOs are incorrectly assumed to support KTLS: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253135 * r1909252, r1909385, r1909406, r1909413, r1909433 Do not use OpenSSL functions that operate with FILE to avoid potential CRT versions mismatch. Use BIO based functions instead. Justification: Avoids a potential source of CRT versions mismatch. Removes a dependency on openssl/applink.c. ---------------------------------------------------- Thanks, Evgeny Kotkov