mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
Fix BIO_get_ktls_send() and BIO_get_ktls_recv() to work again.
This partially reverts 3119ab3c9e
. In the
case of a simple openssl s_server instance, the bio in s->wbio is a
BIO_TYPE_BUFFER BIO, not BIO_TYPE_SOCKET. This caused all of the checks
to fail breaking KTLS.
The default return value of control methods I have looked it is zero
for unknown control requests, so invoking the control requests should
be returning 0 for non-socket BIOs already.
This does still map the requests to 0 at compile time for the non-KTLS
case so that the compiler can optimize the checks away entirely.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10045)
This commit is contained in:
parent
712c094293
commit
1ca50aa975
@ -162,11 +162,9 @@ extern "C" {
|
||||
|
||||
# ifndef OPENSSL_NO_KTLS
|
||||
# define BIO_get_ktls_send(b) \
|
||||
(BIO_method_type(b) == BIO_TYPE_SOCKET \
|
||||
&& BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL))
|
||||
BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL)
|
||||
# define BIO_get_ktls_recv(b) \
|
||||
(BIO_method_type(b) == BIO_TYPE_SOCKET \
|
||||
&& BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL))
|
||||
BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL)
|
||||
# else
|
||||
# define BIO_get_ktls_send(b) (0)
|
||||
# define BIO_get_ktls_recv(b) (0)
|
||||
|
Loading…
Reference in New Issue
Block a user