|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
From b247fc0fb2324d0252f1f46281f9887eeb3d7925 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
From: Sergei Golubchik <serg@mariadb.org>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Date: Wed, 3 May 2017 21:22:59 +0200
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Subject: [PATCH 2/5] MDEV-10332 support for OpenSSL 1.1 and LibreSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
post-review fixes:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
* move all ssl implementation related ifdefs/defines to one file
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
(ssl_compat.h)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
* work around OpenSSL-1.1 desire to malloc every EVP context by
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
run-time checking that context allocated on the stack is big enough
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
(openssl.c)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
* use newer version of the AWS SDK for OpenSSL 1.1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
* use get_dh2048() function as generated by openssl 1.1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
(viosslfactories.c)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
---
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
include/my_crypt.h | 15 ------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
include/ssl_compat.h | 75 ++++++++++++++++++++++++++++
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
include/violite.h | 12 -----
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql-test/mysql-test-run.pl | 2 +-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql-test/t/openssl_6975.test | 7 ++-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql-test/t/ssl_8k_key.test | 5 +-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysys_ssl/CMakeLists.txt | 1 +
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysys_ssl/my_crypt.cc | 102 +++++++++++++++-----------------------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysys_ssl/my_md5.cc | 85 +++++++++++---------------------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysys_ssl/openssl.c | 71 +++++++++++++++++++++++++++
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysys_ssl/yassl.cc | 19 --------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
sql-common/client.c | 8 +--
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
sql/mysqld.cc | 49 +++++++++----------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
sql/slave.cc | 19 +-------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
vio/vio.c | 1 +
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
vio/viosslfactories.c | 108 ++++++++++++++++++-----------------------
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
16 files changed, 295 insertions(+), 284 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
create mode 100644 include/ssl_compat.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
create mode 100644 mysys_ssl/openssl.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/include/my_crypt.h b/include/my_crypt.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index e7dd9d80100..719e349bfb9 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/include/my_crypt.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/include/my_crypt.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -21,19 +21,4 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <my_config.h> /* HAVE_EncryptAes128{Ctr,Gcm} */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <mysql/service_my_crypt.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-/* OpenSSL version specific definitions */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if !defined(HAVE_YASSL) && defined(OPENSSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define RAND_OpenSSL() RAND_SSLeay();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if defined(HAVE_ERR_remove_thread_state)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X) ERR_remove_thread_state(NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#elif defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define EVP_CIPHER_CTX_reset(X) EVP_CIPHER_CTX_cleanup(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif /* !defined(HAVE_YASSL) */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif /* MY_CRYPT_INCLUDED */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/include/ssl_compat.h b/include/ssl_compat.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 00000000000..b0e3ed497cd
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/include/ssl_compat.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -0,0 +1,75 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Copyright (c) 2016, 2017 MariaDB Corporation
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ This program is free software; you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ the Free Software Foundation; version 2 of the License.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ This program is distributed in the hope that it will be useful,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ GNU General Public License for more details.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ You should have received a copy of the GNU General Public License
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ along with this program; if not, write to the Free Software
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <openssl/opensslv.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+/* OpenSSL version specific definitions */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#if !defined(HAVE_YASSL) && defined(OPENSSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define HAVE_X509_check_host 1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define HAVE_OPENSSL11 1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define ERR_remove_state(X) ERR_clear_error()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_MD_CTX_cleanup(X) EVP_MD_CTX_reset(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_CIPHER_CTX_SIZE 168
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_MD_CTX_SIZE 48
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#undef EVP_MD_CTX_init
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_MD_CTX_init(X) do { bzero((X), EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#undef EVP_CIPHER_CTX_init
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_CIPHER_CTX_init(X) do { bzero((X), EVP_CIPHER_CTX_SIZE); EVP_CIPHER_CTX_reset(X); } while(0)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define HAVE_OPENSSL10 1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Unfortunately RAND_bytes manual page does not provide any guarantees
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ in relation to blocking behavior. Here we explicitly use SSLeay random
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ instead of whatever random engine is currently set in OpenSSL. That way
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ we are guaranteed to have a non-blocking random.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define RAND_OpenSSL() RAND_SSLeay()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_ERR_remove_thread_state
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define ERR_remove_state(X) ERR_remove_thread_state(NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_ERR_remove_thread_state */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL11 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#elif defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define BN_free(X) do { } while(0)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* !defined(HAVE_YASSL) */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifndef HAVE_OPENSSL11
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define OPENSSL_init_ssl(X,Y) SSL_library_init()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_CIPHER_CTX_encrypting(ctx) ((ctx)->encrypt)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_CIPHER_CTX_SIZE sizeof(EVP_CIPHER_CTX)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define EVP_MD_CTX_SIZE sizeof(EVP_MD_CTX)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef __cplusplus
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+extern "C" {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* __cplusplus */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+int check_openssl_compatibility();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef __cplusplus
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/include/violite.h b/include/violite.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 23800696e5a..572d4741c80 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/include/violite.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/include/violite.h
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -123,13 +123,6 @@ int vio_getnameinfo(const struct sockaddr *sa,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int flags);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#include <openssl/opensslv.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x0090700f
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define DES_cblock des_cblock
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define DES_key_schedule des_key_schedule
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define DES_set_key_unchecked(k,ks) des_set_key_unchecked((k),*(ks))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define DES_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e) des_ede3_cbc_encrypt((i),(o),(l),*(k1),*(k2),*(k3),(iv),(e))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/* apple deprecated openssl in MacOSX Lion */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef __APPLE__
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -146,11 +139,6 @@ typedef my_socket YASSL_SOCKET_T;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/ssl.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/err.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#elif defined(HAVE_ERR_remove_thread_state)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X) ERR_remove_thread_state(NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
enum enum_ssl_init_error
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
SSL_INITERR_NOERROR= 0, SSL_INITERR_CERT, SSL_INITERR_KEY,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index d53a8180c22..22bcabab7b6 100755
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysql-test/mysql-test-run.pl
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysql-test/mysql-test-run.pl
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -2300,7 +2300,7 @@ sub environment_setup {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
$ENV{'MYSQL_PLUGIN'}= $exe_mysql_plugin;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
$ENV{'MYSQL_EMBEDDED'}= $exe_mysql_embedded;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- my $client_config_exe=
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ my $client_config_exe=
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
native_path("$bindir/libmariadb/mariadb_config$opt_vs_config/mariadb_config");
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my $tls_info= `$client_config_exe --tlsinfo`;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
($ENV{CLIENT_TLS_LIBRARY},$ENV{CLIENT_TLS_LIBRARY_VERSION})=
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysql-test/t/openssl_6975.test b/mysql-test/t/openssl_6975.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 6cf5d82cf54..6a82d013fb6 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysql-test/t/openssl_6975.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysql-test/t/openssl_6975.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -19,9 +19,8 @@ let $mysql=$MYSQL --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
disable_abort_on_error;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
echo TLS1.2 ciphers: user is ok with any cipher;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --ssl-cipher=AES128-SHA256;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
---replace_result DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-GCM-SHA384
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
---replace_result ECDHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-GCM-SHA384
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-exec $mysql --ssl-cipher=TLSv1.2
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+--replace_result DHE-RSA-CHACHA20-POLY1305 DHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-GCM-SHA384
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+exec $mysql --ssl-cipher=TLSv1.2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
echo TLS1.2 ciphers: user requires SSLv3 cipher AES128-SHA;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --user ssl_sslv3 --ssl-cipher=AES128-SHA256;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --user ssl_sslv3 --ssl-cipher=TLSv1.2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -31,7 +30,7 @@ exec $mysql --user ssl_tls12 --ssl-cipher=TLSv1.2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
echo SSLv3 ciphers: user is ok with any cipher;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --ssl-cipher=AES256-SHA;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-exec $mysql --ssl-cipher=DHE-RSA-AES256-SHA
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+exec $mysql --ssl-cipher=SSLv3;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
echo SSLv3 ciphers: user requires SSLv3 cipher AES128-SHA;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --user ssl_sslv3 --ssl-cipher=AES128-SHA;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
exec $mysql --user ssl_sslv3 --ssl-cipher=SSLv3;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 470d577edb8..9d5b382726e 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysql-test/t/ssl_8k_key.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysql-test/t/ssl_8k_key.test
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1,6 +1,5 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-# This test should work in embedded server after we fix mysqltest
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- source include/require_openssl_client.inc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- source include/not_embedded.inc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+# schannel does not support keys longer than 4k
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+-- source include/not_windows.inc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-- source include/have_ssl_communication.inc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysys_ssl/CMakeLists.txt b/mysys_ssl/CMakeLists.txt
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 4f6f7458c5b..f8a767ed6f3 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysys_ssl/CMakeLists.txt
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysys_ssl/CMakeLists.txt
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -28,6 +28,7 @@ SET(MYSYS_SSL_HIDDEN_SOURCES
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_sha384.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_sha512.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_md5.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ openssl.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
SET(MYSYS_SSL_SOURCES
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysys_ssl/my_crypt.cc b/mysys_ssl/my_crypt.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 0ff49a2c427..ed1c82dbac6 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysys_ssl/my_crypt.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysys_ssl/my_crypt.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1,6 +1,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Copyright (c) 2014 Google Inc.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- Copyright (c) 2014, 2015 MariaDB Corporation
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Copyright (c) 2014, 2017 MariaDB Corporation
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
This program is free software; you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -21,30 +21,31 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "yassl.cc"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/evp.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/aes.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/err.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/rand.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#include <my_crypt.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define MY_CIPHER_CTX_SIZE 384
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <my_crypt.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
class MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
public:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ char ctx_buf[EVP_CIPHER_CTX_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
EVP_CIPHER_CTX *ctx;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- const uchar *key;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- unsigned int klen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- MyCTX() {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- ctx= EVP_CIPHER_CTX_new();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- virtual ~MyCTX() {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- EVP_CIPHER_CTX_free(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- ERR_remove_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ MyCTX()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ ctx= (EVP_CIPHER_CTX *)ctx_buf;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_CIPHER_CTX_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ virtual ~MyCTX()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_CIPHER_CTX_cleanup(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ ERR_remove_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
virtual int init(const EVP_CIPHER *cipher, int encrypt, const uchar *key,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uint klen, const uchar *iv, uint ivlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -78,9 +79,12 @@ class MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
class MyCTX_nopad : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
public:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ const uchar *key;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ uint klen, buf_len;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ uchar oiv[MY_AES_BLOCK_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
MyCTX_nopad() : MyCTX() { }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
~MyCTX_nopad() { }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- unsigned int buf_len;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int init(const EVP_CIPHER *cipher, int encrypt, const uchar *key, uint klen,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
const uchar *iv, uint ivlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -89,19 +93,8 @@ class MyCTX_nopad : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
this->key= key;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
this->klen= klen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
this->buf_len= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- /* FIX-ME:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- For the sake of backward compatibility we do some strange hack here:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- Since ECB doesn't need an IV (and therefore is considered kind of
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- insecure) we need to store the specified iv.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- The last nonpadding block will be encrypted with an additional
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- expensive crypt_call in ctr mode instead
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- of encrypting the entire plain text in ctr-mode */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- const unsigned char *oiv= EVP_CIPHER_CTX_original_iv(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- const unsigned char *oiv= ctx->oiv;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- memcpy((char *)oiv, iv, ivlen);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ memcpy(oiv, iv, ivlen);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int res= MyCTX::init(cipher, encrypt, key, klen, iv, ivlen);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -111,34 +104,30 @@ class MyCTX_nopad : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- buf_len= slen % MY_AES_BLOCK_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ buf_len+= slen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MyCTX::update(src, slen, dst, dlen);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int finish(uchar *dst, uint *dlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ buf_len %= MY_AES_BLOCK_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (buf_len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- const uchar *org_iv;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- unsigned char *buf;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Not much we can do, block ciphers cannot encrypt data that aren't
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
a multiple of the block length. At least not without padding.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Let's do something CTR-like for the last partial block.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ NOTE this assumes that there are only buf_len bytes in the buf.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ If OpenSSL will change that, we'll need to change the implementation
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ of this class too.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uchar mask[MY_AES_BLOCK_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uint mlen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- org_iv= EVP_CIPHER_CTX_original_iv(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- buf= EVP_CIPHER_CTX_buf_noconst(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- org_iv= ctx->oiv;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- buf= ctx->buf;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_aes_crypt(MY_AES_ECB, ENCRYPTION_FLAG_ENCRYPT | ENCRYPTION_FLAG_NOPAD,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- org_iv, sizeof(mask), mask, &mlen, key, klen, 0, 0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ oiv, sizeof(mask), mask, &mlen, key, klen, 0, 0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
DBUG_ASSERT(mlen == sizeof(mask));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
for (uint i=0; i < buf_len; i++)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -178,9 +167,8 @@ make_aes_dispatcher(gcm)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
class MyCTX_gcm : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
public:
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- const uchar *aad= NULL;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ const uchar *aad;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int aadlen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- my_bool encrypt;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
MyCTX_gcm() : MyCTX() { }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
~MyCTX_gcm() { }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -192,7 +180,6 @@ class MyCTX_gcm : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int real_ivlen= EVP_CIPHER_CTX_iv_length(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
aad= iv + real_ivlen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
aadlen= ivlen - real_ivlen;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- this->encrypt= encrypt;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return res;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -204,14 +191,14 @@ class MyCTX_gcm : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
before decrypting the data. it can encrypt data piecewise, like, first
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
half, then the second half, but it must decrypt all at once
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if (!this->encrypt)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (!EVP_CIPHER_CTX_encrypting(ctx))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
slen-= MY_AES_BLOCK_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if(!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, MY_AES_BLOCK_SIZE,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
(void*)(src + slen)))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MY_AES_OPENSSL_ERROR;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- int unused= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ int unused;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (aadlen && !EVP_CipherUpdate(ctx, NULL, &unused, aad, aadlen))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MY_AES_OPENSSL_ERROR;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
aadlen= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -220,12 +207,12 @@ class MyCTX_gcm : public MyCTX
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int finish(uchar *dst, uint *dlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- int fin= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ int fin;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (!EVP_CipherFinal_ex(ctx, dst, &fin))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MY_AES_BAD_DATA;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
DBUG_ASSERT(fin == 0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if (this->encrypt)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (EVP_CIPHER_CTX_encrypting(ctx))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if(!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_GET_TAG, MY_AES_BLOCK_SIZE, dst))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MY_AES_OPENSSL_ERROR;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -295,20 +282,15 @@ int my_aes_crypt(enum my_aes_mode mode, int flags,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
void *ctx= alloca(MY_AES_CTX_SIZE);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int res1, res2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- uint d1= 0, d2= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ uint d1= 0, d2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen)))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return res1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
res1= my_aes_crypt_update(ctx, src, slen, dst, &d1;;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
res2= my_aes_crypt_finish(ctx, dst + d1, &d2;;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- *dlen= d1 + d2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- /* in case of failure clear error queue */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifndef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- /* since we don't check the crypto error messages we need to
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- clear the error queue - otherwise subsequent crypto or tls/ssl
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- calls will fail */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if (!*dlen)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- ERR_clear_error();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (res1 || res2)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ ERR_remove_state(0); /* in case of failure clear error queue */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ *dlen= d1 + d2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return res1 ? res1 : res2;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -350,12 +332,6 @@ int my_random_bytes(uchar* buf, int num)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int my_random_bytes(uchar *buf, int num)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- /*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- Unfortunately RAND_bytes manual page does not provide any guarantees
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- in relation to blocking behavior. Here we explicitly use SSLeay random
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- instead of whatever random engine is currently set in OpenSSL. That way
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- we are guaranteed to have a non-blocking random.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
RAND_METHOD *rand = RAND_OpenSSL();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (rand == NULL || rand->bytes(buf, num) != 1)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return MY_AES_OPENSSL_ERROR;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysys_ssl/my_md5.cc b/mysys_ssl/my_md5.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 02c01dd7148..0105082b7e1 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysys_ssl/my_md5.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysys_ssl/my_md5.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1,5 +1,5 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/* Copyright (c) 2012, Oracle and/or its affiliates.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- Copyright (c) 2014, SkySQL Ab.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Copyright (c) 2017, MariaDB Corporation
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
This program is free software; you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -27,50 +27,34 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <my_md5.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <stdarg.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define MA_HASH_CTX_SIZE 512
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#if defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "md5.hpp"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-typedef TaoCrypt::MD5 MD5_CONTEXT;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+typedef TaoCrypt::MD5 EVP_MD_CTX;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_init(MD5_CONTEXT *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_init(EVP_MD_CTX *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- context= new(context) MD5_CONTEXT;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ context= new(context) EVP_MD_CTX;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
context->Init();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- this is a variant of md5_init to be used in this file only.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- does nothing for yassl, because the context's constructor was called automatically.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_init_fast(MD5_CONTEXT *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_input(MD5_CONTEXT *context, const uchar *buf, unsigned len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
context->Update((const TaoCrypt::byte *) buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_result(MD5_CONTEXT *context, uchar digest[MD5_HASH_SIZE])
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_result(EVP_MD_CTX *context, uchar digest[MD5_HASH_SIZE])
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
context->Final((TaoCrypt::byte *) digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#elif defined(HAVE_OPENSSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/evp.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define EVP_MD_CTX_reset(X) EVP_MD_CTX_cleanup(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-typedef EVP_MD_CTX MD5_CONTEXT;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_init(MD5_CONTEXT *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_init(EVP_MD_CTX *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- memset(context, 0, my_md5_context_size());
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
EVP_MD_CTX_init(context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/* Ok to ignore FIPS: MD5 is not used for crypto here */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -79,20 +63,15 @@ static void md5_init(MD5_CONTEXT *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
EVP_DigestInit_ex(context, EVP_md5(), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_init_fast(MD5_CONTEXT *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_init(context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_input(MD5_CONTEXT *context, const uchar *buf, unsigned len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_input(EVP_MD_CTX *context, const uchar *buf, unsigned len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
EVP_DigestUpdate(context, buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void md5_result(MD5_CONTEXT *context, uchar digest[MD5_HASH_SIZE])
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void md5_result(EVP_MD_CTX *context, uchar digest[MD5_HASH_SIZE])
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
EVP_DigestFinal_ex(context, digest, NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- EVP_MD_CTX_reset(context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_MD_CTX_cleanup(context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif /* HAVE_YASSL */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -108,26 +87,23 @@ static void md5_result(MD5_CONTEXT *context, uchar digest[MD5_HASH_SIZE])
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
void my_md5(uchar *digest, const char *buf, size_t len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifdef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- MD5_CONTEXT md5_context;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- unsigned char md5_context[MA_HASH_CTX_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_init_fast((MD5_CONTEXT *)&md5_context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_input((MD5_CONTEXT *)&md5_context, (const uchar *)buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_result((MD5_CONTEXT *)&md5_context, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ char ctx_buf[EVP_MD_CTX_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_MD_CTX * const ctx= (EVP_MD_CTX*)ctx_buf;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_input(ctx, (const uchar *)buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_result(ctx, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Wrapper function to compute MD5 message digest for
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- two messages in order to emulate md5(msg1, msg2).
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ many messages, concatenated.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@param digest [out] Computed MD5 digest
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@param buf1 [in] First message
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@param len1 [in] Length of first message
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- @param buf2 [in] Second message
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- @param len2 [in] Length of second message
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ ...
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ @param bufN [in] NULL terminates the list of buf,len pairs.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@return void
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -135,37 +111,34 @@ void my_md5_multi(uchar *digest, ...)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
va_list args;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
const uchar *str;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifdef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- MD5_CONTEXT md5_context;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- unsigned char md5_context[MA_HASH_CTX_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ char ctx_buf[EVP_MD_CTX_SIZE];
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_MD_CTX * const ctx= (EVP_MD_CTX*)ctx_buf;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
va_start(args, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_init_fast((MD5_CONTEXT *)&md5_context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
for (str= va_arg(args, const uchar*); str; str= va_arg(args, const uchar*))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_input((MD5_CONTEXT *)&md5_context, str, va_arg(args, size_t));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_input(ctx, str, va_arg(args, size_t));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_result((MD5_CONTEXT *)&md5_context, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_result(ctx, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
va_end(args);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
size_t my_md5_context_size()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- return MA_HASH_CTX_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return EVP_MD_CTX_SIZE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
void my_md5_init(void *context)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_init((MD5_CONTEXT *)context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_init((EVP_MD_CTX *)context);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
void my_md5_input(void *context, const uchar *buf, size_t len)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_input((MD5_CONTEXT *)context, buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_input((EVP_MD_CTX *)context, buf, len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
void my_md5_result(void *context, uchar *digest)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- md5_result((MD5_CONTEXT *)context, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_result((EVP_MD_CTX *)context, digest);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysys_ssl/openssl.c b/mysys_ssl/openssl.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 00000000000..a3f1ca29ec1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysys_ssl/openssl.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -0,0 +1,71 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+/*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Copyright (c) 2017, MariaDB Corporation.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ This program is free software; you can redistribute it and/or modify
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ it under the terms of the GNU General Public License as published by
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ the Free Software Foundation; version 2 of the License.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ This program is distributed in the hope that it will be useful,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ GNU General Public License for more details.
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ You should have received a copy of the GNU General Public License
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ along with this program; if not, write to the Free Software
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <my_global.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+int check_openssl_compatibility()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <openssl/evp.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL11
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+typedef void *(*CRYPTO_malloc_t)(size_t, const char *, int);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+typedef void *(*CRYPTO_malloc_t)(size_t);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define CRYPTO_malloc malloc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define CRYPTO_realloc realloc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#define CRYPTO_free free
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static uint allocated_size, allocated_count;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static void *coc_malloc(size_t size)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ allocated_size+= size;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ allocated_count++;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return malloc(size);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+int check_openssl_compatibility()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_CIPHER_CTX *evp_ctx;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_MD_CTX *md5_ctx;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ CRYPTO_set_mem_functions((CRYPTO_malloc_t)coc_malloc, CRYPTO_realloc, CRYPTO_free);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ allocated_size= allocated_count= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ evp_ctx= EVP_CIPHER_CTX_new();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_CIPHER_CTX_free(evp_ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (allocated_count != 1 || allocated_size > EVP_CIPHER_CTX_SIZE)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ allocated_size= allocated_count= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ md5_ctx= EVP_MD_CTX_create();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ EVP_MD_CTX_destroy(md5_ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (allocated_count != 1 || allocated_size > EVP_MD_CTX_SIZE)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/mysys_ssl/yassl.cc b/mysys_ssl/yassl.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 9e6f90d8d77..aa5631f2ab8 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/mysys_ssl/yassl.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/mysys_ssl/yassl.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -24,7 +24,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/ssl.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "aes.hpp"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#include <my_sys.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
using yaSSL::yaERR_remove_state;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -45,7 +44,6 @@ typedef struct
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int buf_len;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
int final_used;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uchar tao_buf[sizeof(TaoCrypt::AES)]; // TaoCrypt::AES object
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- uchar oiv[TaoCrypt::AES::BLOCK_SIZE]; // original IV
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uchar buf[TaoCrypt::AES::BLOCK_SIZE]; // last partial input block
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
uchar final[TaoCrypt::AES::BLOCK_SIZE]; // last decrypted (output) block
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
} EVP_CIPHER_CTX;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -76,26 +74,12 @@ static void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ctx->final_used= ctx->buf_len= ctx->flags= 0;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static EVP_CIPHER_CTX *EVP_CIPHER_CTX_new()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- EVP_CIPHER_CTX *ctx= (EVP_CIPHER_CTX *)my_malloc(sizeof(EVP_CIPHER_CTX), MYF(0));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if (ctx)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- EVP_CIPHER_CTX_init(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- return ctx;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
TAO(ctx)->~AES();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- EVP_CIPHER_CTX_cleanup(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- my_free(ctx);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (pad)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -112,10 +96,7 @@ static int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
: TaoCrypt::DECRYPTION, cipher->mode);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
TAO(ctx)->SetKey(key, cipher->key_len);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (iv)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
TAO(ctx)->SetIV(iv);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- memcpy(ctx->oiv, iv, TaoCrypt::AES::BLOCK_SIZE);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ctx->encrypt= enc;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ctx->key_len= cipher->key_len;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ctx->flags|= cipher->mode == TaoCrypt::CBC ? EVP_CIPH_CBC_MODE : EVP_CIPH_ECB_MODE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/sql-common/client.c b/sql-common/client.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index b11ae9d3b0a..2518f669aee 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/sql-common/client.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/sql-common/client.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -104,11 +104,8 @@ my_bool net_flush(NET *net);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#define CONNECT_TIMEOUT 0
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) || defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ASN1_STRING_get0_data(X) ASN1_STRING_data(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "client_settings.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <sql_common.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <mysql/client_plugin.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <my_context.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1773,9 +1770,8 @@ mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused)))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#if defined(HAVE_OPENSSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_X509_check_host
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/x509v3.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define HAVE_X509_check_host
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const char **errptr)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 524f5f10d53..cc64205369b 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/sql/mysqld.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/sql/mysqld.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -112,7 +112,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <my_systemd.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#include <my_crypt.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#define mysqld_charset &my_charset_latin1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -122,7 +121,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#define HAVE_CLOSE_SERVER_SOCK 1
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
extern "C" { // Because of SCO 3.2V4.2
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <sys/stat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifndef __GNU_LIBRARY__
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -340,9 +338,13 @@ static PSI_thread_key key_thread_handle_con_sockets;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static PSI_thread_key key_thread_handle_shutdown;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif /* __WIN__ */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if defined (HAVE_OPENSSL) && !defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static PSI_rwlock_key key_rwlock_openssl;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif /* HAVE_PSI_INTERFACE */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_NPTL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -989,7 +991,7 @@ PSI_rwlock_key key_rwlock_LOCK_grant, key_rwlock_LOCK_logger,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static PSI_rwlock_info all_server_rwlocks[]=
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if defined (HAVE_OPENSSL) && !defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{ &key_rwlock_openssl, "CRYPTO_dynlock_value::lock", 0},
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{ &key_rwlock_LOCK_grant, "LOCK_grant", PSI_FLAG_GLOBAL},
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1459,9 +1461,7 @@ scheduler_functions *thread_scheduler= &thread_scheduler_struct,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/crypto.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifndef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
typedef struct CRYPTO_dynlock_value
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_rwlock_t lock;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -1472,8 +1472,7 @@ static openssl_lock_t *openssl_dynlock_create(const char *, int);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static void openssl_dynlock_destroy(openssl_lock_t *, const char *, int);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static void openssl_lock_function(int, int, const char *, int);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static void openssl_lock(int, openssl_lock_t *, const char *, int);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL10 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
char *des_key_file;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifndef EMBEDDED_LIBRARY
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
struct st_VioSSLFd *ssl_acceptor_fd;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -2249,13 +2248,11 @@ static void clean_up_mutexes()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_mutex_destroy(&LOCK_global_index_stats);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_mutex_destroy(&LOCK_des_key_file);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifndef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
for (int i= 0; i < CRYPTO_num_locks(); ++i)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_rwlock_destroy(&openssl_stdlocks[i].lock);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
OPENSSL_free(openssl_stdlocks);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif /* HAVE_YASSL */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL10 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif /* HAVE_OPENSSL */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_REPLICATION
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_mutex_destroy(&LOCK_rpl_status);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4064,6 +4061,14 @@ static int init_common_variables()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (check_openssl_compatibility())
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ sql_print_error("Incompatible OpenSSL version. Cannot continue...");
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (init_thread_environment() ||
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_init_variables())
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return 1;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4610,8 +4615,7 @@ static int init_thread_environment()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_mutex_init(key_LOCK_des_key_file,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
&LOCK_des_key_file, MY_MUTEX_INIT_FAST);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifndef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
openssl_stdlocks= (openssl_lock_t*) OPENSSL_malloc(CRYPTO_num_locks() *
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
sizeof(openssl_lock_t));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
for (int i= 0; i < CRYPTO_num_locks(); ++i)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4620,9 +4624,8 @@ static int init_thread_environment()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
CRYPTO_set_dynlock_destroy_callback(openssl_dynlock_destroy);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
CRYPTO_set_dynlock_lock_callback(openssl_lock);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
CRYPTO_set_locking_callback(openssl_lock_function);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL10 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_rwlock_init(key_rwlock_LOCK_sys_init_connect, &LOCK_sys_init_connect);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_rwlock_init(key_rwlock_LOCK_sys_init_slave, &LOCK_sys_init_slave);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
mysql_rwlock_init(key_rwlock_LOCK_grant, &LOCK_grant);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4655,8 +4658,7 @@ static int init_thread_environment()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if defined(HAVE_OPENSSL) && !defined(HAVE_YASSL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifdef HAVE_OPENSSL10
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static openssl_lock_t *openssl_dynlock_create(const char *file, int line)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
openssl_lock_t *lock= new openssl_lock_t;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4716,9 +4718,7 @@ static void openssl_lock(int mode, openssl_lock_t *lock, const char *file,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
abort();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif /* HAVE_OPENSSL */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#endif /* HAVE_OPENSSL10 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static void init_ssl()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4746,9 +4746,8 @@ static void init_ssl()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
while ((err= ERR_get_error()))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
sql_print_warning("SSL error: %s", ERR_error_string(err, NULL));
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- else {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ERR_remove_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/sql/slave.cc b/sql/slave.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index ea6c824fb88..aec5143b9a6 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/sql/slave.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/sql/slave.cc
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -40,6 +40,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <my_dir.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <sql_common.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <errmsg.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <mysqld_error.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <mysys_err.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "rpl_handler.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -60,12 +61,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "debug_sync.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "rpl_parallel.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#elif defined(HAVE_ERR_remove_thread_state)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X) ERR_remove_thread_state(NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#define FLAGSTR(V,F) ((V)&(F)?#F" ":"")
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#define MAX_SLAVE_RETRY_PAUSE 5
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -4512,13 +4507,7 @@ log space");
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
DBUG_LEAVE; // Must match DBUG_ENTER()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_thread_end();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10000000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ERR_remove_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#elif OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- ERR_remove_thread_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
pthread_exit(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return 0; // Avoid compiler warnings
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -5177,13 +5166,7 @@ pthread_handler_t handle_slave_sql(void *arg)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
DBUG_LEAVE; // Must match DBUG_ENTER()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
my_thread_end();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10000000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
ERR_remove_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#elif OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- ERR_remove_thread_state(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
pthread_exit(0);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
return 0; // Avoid compiler warnings
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/vio/vio.c b/vio/vio.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index e3bc8ca8ab8..44d06092184 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/vio/vio.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/vio/vio.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -22,6 +22,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "vio_priv.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include "ssl_compat.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef _WIN32
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
index 497047cac72..71ef2879464 100644
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--- a/vio/viosslfactories.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+++ b/vio/viosslfactories.c
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -15,20 +15,12 @@
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include "vio_priv.h"
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#include <ssl_compat.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#ifdef HAVE_OPENSSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if defined(HAVE_YASSL) || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define OPENSSL_init_ssl(X,Y) SSL_library_init()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+#ifndef HAVE_YASSL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/dh.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#include <openssl/bn.h>
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define ERR_remove_state(X)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#define OPENSSL_init_ssl(X,Y) SSL_library_init()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static my_bool ssl_algorithms_added = FALSE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -36,59 +28,51 @@ static my_bool ssl_error_strings_loaded= FALSE;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/* the function below was generated with "openssl dhparam -2 -C 2048" */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-/* {{{ get_dh_2048 */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-static DH *get_dh_2048()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+static
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+DH *get_dh2048()
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- static unsigned char dh2048_p[]={
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xA1,0xBB,0x7C,0x20,0xC5,0x5B,0xC0,0x7B,0x21,0x8B,0xD6,0xA8,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x15,0xFC,0x3B,0xBA,0xAB,0x9F,0xDF,0x68,0xC4,0x79,0x78,0x0D,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xC1,0x12,0x64,0xE4,0x15,0xC9,0x66,0xDB,0xF6,0xCB,0xB3,0x39,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x02,0x5B,0x78,0x62,0xFB,0x09,0xAE,0x09,0x6B,0xDD,0xD4,0x5D,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x97,0xBC,0xDC,0x7F,0xE6,0xD6,0xF1,0xCB,0xF5,0xEB,0xDA,0xA7,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x2E,0x5A,0x43,0x2B,0xE9,0x40,0xE2,0x85,0x00,0x1C,0xC0,0x0A,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x98,0x77,0xA9,0x31,0xDE,0x0B,0x75,0x4D,0x1E,0x1F,0x16,0x83,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xCA,0xDE,0xBD,0x21,0xFC,0xC1,0x82,0x37,0x36,0x33,0x0B,0x66,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x06,0x3C,0xF3,0xAF,0x21,0x57,0x57,0x80,0xF6,0x94,0x1B,0xA9,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xD4,0xF6,0x8F,0x18,0x62,0x0E,0xC4,0x22,0xF9,0x5B,0x62,0xCC,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x3F,0x19,0x95,0xCF,0x4B,0x00,0xA6,0x6C,0x0B,0xAF,0x9F,0xD5,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xFA,0x3D,0x6D,0xDA,0x30,0x83,0x07,0x91,0xAC,0x15,0xFF,0x8F,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x59,0x54,0xEA,0x25,0xBC,0x4E,0xEB,0x6A,0x54,0xDF,0x75,0x09,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x72,0x0F,0xEF,0x23,0x70,0xE0,0xA8,0x04,0xEA,0xFF,0x90,0x54,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xCD,0x84,0x18,0xC0,0x75,0x91,0x99,0x0F,0xA1,0x78,0x0C,0x07,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xB7,0xC5,0xDE,0x55,0x06,0x7B,0x95,0x68,0x2C,0x33,0x39,0xBC,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x2C,0xD0,0x6D,0xDD,0xFA,0xDC,0xB5,0x8F,0x82,0x39,0xF8,0x67,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x44,0xF1,0xD8,0xF7,0x78,0x11,0x9A,0x77,0x9B,0x53,0x47,0xD6,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x2B,0x5D,0x67,0xB8,0xB7,0xBC,0xC1,0xD7,0x79,0x62,0x15,0xC2,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0xC5,0x83,0x97,0xA7,0xF8,0xB4,0x9C,0xF6,0x8F,0x9A,0xC7,0xDA,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x1B,0xBB,0x87,0x07,0xA7,0x71,0xAD,0xB2,0x8A,0x50,0xF8,0x26,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x12,0xB7,0x3E,0x0B,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- };
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- static unsigned char dh2048_g[]={
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- 0x02,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- };
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- DH *dh;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if ((dh=DH_new()) == NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- return(NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- (dh)->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- (dh)->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if ((dh)->p == NULL || (dh)->g == NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- { DH_free(dh); return NULL; }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- BIGNUM *dhp_bn= BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL),
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- *dhg_bn= BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- if (dhp_bn == NULL || dhg_bn == NULL ||
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- DH_free(dh);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- BN_free(dhp_bn);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- BN_free(dhg_bn);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ static unsigned char dhp_2048[] = {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xA1,0xBB,0x7C,0x20,0xC5,0x5B,0xC0,0x7B,0x21,0x8B,0xD6,0xA8,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x15,0xFC,0x3B,0xBA,0xAB,0x9F,0xDF,0x68,0xC4,0x79,0x78,0x0D,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xC1,0x12,0x64,0xE4,0x15,0xC9,0x66,0xDB,0xF6,0xCB,0xB3,0x39,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x02,0x5B,0x78,0x62,0xFB,0x09,0xAE,0x09,0x6B,0xDD,0xD4,0x5D,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x97,0xBC,0xDC,0x7F,0xE6,0xD6,0xF1,0xCB,0xF5,0xEB,0xDA,0xA7,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x2E,0x5A,0x43,0x2B,0xE9,0x40,0xE2,0x85,0x00,0x1C,0xC0,0x0A,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x98,0x77,0xA9,0x31,0xDE,0x0B,0x75,0x4D,0x1E,0x1F,0x16,0x83,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xCA,0xDE,0xBD,0x21,0xFC,0xC1,0x82,0x37,0x36,0x33,0x0B,0x66,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x06,0x3C,0xF3,0xAF,0x21,0x57,0x57,0x80,0xF6,0x94,0x1B,0xA9,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xD4,0xF6,0x8F,0x18,0x62,0x0E,0xC4,0x22,0xF9,0x5B,0x62,0xCC,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x3F,0x19,0x95,0xCF,0x4B,0x00,0xA6,0x6C,0x0B,0xAF,0x9F,0xD5,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xFA,0x3D,0x6D,0xDA,0x30,0x83,0x07,0x91,0xAC,0x15,0xFF,0x8F,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x59,0x54,0xEA,0x25,0xBC,0x4E,0xEB,0x6A,0x54,0xDF,0x75,0x09,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x72,0x0F,0xEF,0x23,0x70,0xE0,0xA8,0x04,0xEA,0xFF,0x90,0x54,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xCD,0x84,0x18,0xC0,0x75,0x91,0x99,0x0F,0xA1,0x78,0x0C,0x07,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xB7,0xC5,0xDE,0x55,0x06,0x7B,0x95,0x68,0x2C,0x33,0x39,0xBC,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x2C,0xD0,0x6D,0xDD,0xFA,0xDC,0xB5,0x8F,0x82,0x39,0xF8,0x67,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x44,0xF1,0xD8,0xF7,0x78,0x11,0x9A,0x77,0x9B,0x53,0x47,0xD6,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x2B,0x5D,0x67,0xB8,0xB7,0xBC,0xC1,0xD7,0x79,0x62,0x15,0xC2,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0xC5,0x83,0x97,0xA7,0xF8,0xB4,0x9C,0xF6,0x8F,0x9A,0xC7,0xDA,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x1B,0xBB,0x87,0x07,0xA7,0x71,0xAD,0xB2,0x8A,0x50,0xF8,0x26,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x12,0xB7,0x3E,0x0B,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ };
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ static unsigned char dhg_2048[] = {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ 0x02
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ };
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ DH *dh = DH_new();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ BIGNUM *dhp_bn, *dhg_bn;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (dh == NULL)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ if (dhp_bn == NULL || dhg_bn == NULL
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ DH_free(dh);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ BN_free(dhp_bn);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ BN_free(dhg_bn);
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return NULL;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- return dh;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ return dh;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
}
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
static const char*
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
@@ -287,7 +271,7 @@ new_VioSSLFd(const char *key_file, const char *cert_file,
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
/* DH stuff */
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (!is_client_method)
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
- dh=get_dh_2048();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
+ dh=get_dh2048();
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
if (!SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh))
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
{
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
*error= SSL_INITERR_DH;
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
--
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
2.13.3
|
|
![](https://seccdn.libravatar.org/avatar/3d0a4f295af5f9857ef04c3d8f6e89d5b4154c2463647b61e8e48ed700d065c7?s=16&d=retro) |
39a24f0 |
|