Re: SSL tests fail on OpenSSL v3.2.0
От
Tristan Partin
Тема
Re: SSL tests fail on OpenSSL v3.2.0
Дата
Msg-id
CXA1532Q80DK.81UOGP3O5AP6@neon.tech
Ответ на
Re: SSL tests fail on OpenSSL v3.2.0 (Tom Lane)
Список
Дерево обсуждения
SSL tests fail on OpenSSL v3.2.0 Nazir Bilal Yavuz <byavuz81@gmail.com>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Michael Paquier <michael@paquier.xyz>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 Bo Anderson <mail@boanderson.me>
Re: SSL tests fail on OpenSSL v3.2.0 Daniel Gustafsson <daniel@yesql.se>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Daniel Gustafsson <daniel@yesql.se>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: SSL tests fail on OpenSSL v3.2.0 Jelte Fennema-Nio <postgres@jeltef.nl>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 Michael Paquier <michael@paquier.xyz>
Re: SSL tests fail on OpenSSL v3.2.0 Michael Paquier <michael@paquier.xyz>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
Re: SSL tests fail on OpenSSL v3.2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: SSL tests fail on OpenSSL v3.2.0 Michael Paquier <michael@paquier.xyz>
Re: SSL tests fail on OpenSSL v3.2.0 "Tristan Partin" <tristan@neon.tech>
On Mon Nov 27, 2023 at 6:21 PM CST, Tom Lane wrote:
> Michael Paquier writes:
> > Interesting. I have yet to look at that in details, but
> > BIO_get_app_data() exists down to 0.9.8, which is the oldest version
> > we need to support for stable branches. So that looks like a safe
> > bet.
>
> What about LibreSSL? In general, I'm not too pleased with just assuming
> that BIO_get_app_data exists. If we can do that, we can probably remove
> most of the OpenSSL function probes that configure.ac has today. Even
> if that's a good idea in HEAD, I doubt we want to do it all the way back.
As Bo said, this has been available since before LibreSSL forked off of
OpenSSL.
> I'd be inclined to form the patch more along the lines of
> s/BIO_get_data/BIO_get_app_data/g, with a configure check for
> BIO_get_app_data and falling back to the existing direct use of
> bio->ptr if it's not there.
Falling back to what existed before is invalid. BIO::ptr is private data
for the BIO implementation. BIO_{get,set}_app_data() does
something completely different than setting BIO::ptr. In Postgres we
call BIO_meth_set_create() with BIO_meth_get_create() from
BIO_s_socket(). The create function we pass allocates bi->ptr to
a struct bss_sock_st * as previously stated, and that's been the case
since March 10, 2022[0]. Essentially Postgres only worked because the
BIO implementation didn't use the private data section until the linked
commit. I don't see any reason to keep compatibility with what only
worked by accident.
[0]: https://github.com/openssl/openssl/commit/a3e53d56831adb60d6875297b3339a4251f735d2
--
Tristan Partin
Neon (https://neon.tech)
В списке pgsql-hackers по дате отправления