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).

Reply via email to