[
https://issues.apache.org/jira/browse/SERF-198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17281137#comment-17281137
]
Justin Erenkrantz commented on SERF-198:
----------------------------------------
Thanks for the report and patch!
We have another patch being discussed on dev@serf for test suite failures with
newer OpenSSL libraries as well.
My current thinking is that we'd cut a 1.4.x release with these OpenSSL fixes
rather than a 1.3.x patch - that seemed somewhat reasonable for Debian's
release cycle; how does adopting a new serf 1.4.x release fit with FreeBSD's
release cycle?
Obviously, FreeBSD can continue to carry this 1.3.x patch in their own tree.
> OpenSSL BIO control method incorrectly handles unknown requests
> ---------------------------------------------------------------
>
> Key: SERF-198
> URL: https://issues.apache.org/jira/browse/SERF-198
> Project: serf
> Issue Type: Bug
> Affects Versions: serf-1.3.9, serf-trunk
> Environment: FreeBSD 14 with KTLS enabled-OpenSSL and the base system
> svnlite using a bundled serf. Has also been observed with subversion + serf
> built from FreeBSD ports.
> Reporter: John Baldwin
> Priority: Major
> Attachments: serf.patch
>
>
> According to the BIO_ctrl(3) manpage from OpenSSL, control methods in custom
> BIO classes should return 0 for unknown control requests:
> {quote}Source/sink BIOs return an 0 if they do not recognize the BIO_ctrl()
> operation.
> {quote}
> ssl_buckets.c includes two custom BIO classes both of which are sink BIOs,
> but the custom control method returns 1 instead of 0 for unknown operations.
> This causes breakage with newer version of OpenSSL. In particular, in
> OpenSSL versions supporting KTLS, this causes OpenSSL to believe that the
> custom BIOs support KTLS and thus handle TLS header insertion and
> encryption/decryption in the BIO layer breaking the use of HTTPS. This was
> observed in FreeBSD when FreeBSD integrated KTLS support into OpenSSL:
> [253135|https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253135]
> The patch below changes the default value of the control methods to 0 which
> fixes the KTLS case.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)