Den ons 26 apr. 2023 kl 18:39 skrev Evgeny Kotkov < evgeny.kot...@visualsvn.com>:
> 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 > That sounds great, thanks for looking into this! I will try to invest some time this weekend trying to build the 1.3 branch with the above patches. I don't know the serf backport requirements but if everything goes well I can at least cast a non-binding vote which never hurts. Kind regards, Daniel Sahlberg (PS: Short introduction to the Serf list. I'm a Subversion PMC member and committer on TortoiseSVN, thus a user of the Serf library. No relationship with the Serf project, so non-binding vote).