[PATCH] MDEV-25785 Add support for OpenSSL 3.0
authorDebian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
Thu, 17 Mar 2022 23:44:37 +0000 (23:44 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 17 Mar 2022 23:44:37 +0000 (23:44 +0000)
commit8b9961553059f750f4c26467ce00755b414baa30
treeb62eea762f6ea96388b33865d451aba1e3675973
parent00e022d2b4afefdfda02767a963c93d1fe4ce417
[PATCH] MDEV-25785 Add support for OpenSSL 3.0

Summary of changes

- MD_CTX_SIZE is increased

- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points
  to nobody knows where. The assumption made previously was that
  (since the function does not seem to be documented)
  was that it points to the last partial source block.
  Add own partial block buffer for NOPAD encryption instead

- SECLEVEL in CipherString in openssl.cnf
  had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible

- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers,
  in addition to what was set in --ssl-cipher

- ctx_buf buffer now must be aligned to 16 bytes with openssl(
  previously with WolfSSL only), or crashes will happen

- updated aes-t , to be better debuggable
  using function, rather than a huge multiline macro
  added test that does "nopad" encryption piece-wise, to test
  replacement of EVP_CIPHER_CTX_buf_noconst

Gbp-Pq: Name openssl-3-compatibility.patch
cmake/ssl.cmake
include/ssl_compat.h
mysql-test/lib/openssl.cnf
mysql-test/main/ssl_cipher.result
mysql-test/main/ssl_cipher.test
mysys_ssl/my_crypt.cc
unittest/mysys/aes-t.c