[PATCH] MDEV-25785 Add support for OpenSSL 3.0
authorDebian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
Sun, 22 May 2022 23:44:02 +0000 (00:44 +0100)
committerOtto Kekäläinen <otto@debian.org>
Sun, 22 May 2022 23:44:02 +0000 (00:44 +0100)
commit468bb85abbe0cb9ee86f644d17cf85197e58b118
tree31eb0eab0a854e2ccc2a3d2c5f95828f9ce0539f
parentc1f9bcbd3d7c22dcc734058a46bec7d663fc1756
[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