diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2017-08-29 15:08:05 +0200 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2017-08-29 15:08:05 +0200 |
commit | 99897de90d645f4817b27333f81aba4108c2217d (patch) | |
tree | fa156bd2a96847fdcf66381e248d3dcfc15f9e77 /ACE/ace/SSL/SSL_Asynch_BIO.cpp | |
parent | 73d936a2d6885e8ca547376e5f44f22b7bc49556 (diff) | |
download | ATCD-99897de90d645f4817b27333f81aba4108c2217d.tar.gz |
Add support for OpenSSL 1.1.0 and newer
* ACE/ace/SSL/SSL_Asynch_BIO.cpp:
* ACE/ace/SSL/SSL_Context.cpp:
* ACE/ace/SSL/SSL_Context.h:
Diffstat (limited to 'ACE/ace/SSL/SSL_Asynch_BIO.cpp')
-rw-r--r-- | ACE/ace/SSL/SSL_Asynch_BIO.cpp | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/ACE/ace/SSL/SSL_Asynch_BIO.cpp b/ACE/ace/SSL/SSL_Asynch_BIO.cpp index bd58fe2a669..f49fa16de51 100644 --- a/ACE/ace/SSL/SSL_Asynch_BIO.cpp +++ b/ACE/ace/SSL/SSL_Asynch_BIO.cpp @@ -55,6 +55,17 @@ static BIO_METHOD methods_ACE = 0 }; +#if OPENSSL_VERSION_NUMBER < 0x10100000L +# define BIO_set_init(b, val) b->init = val +# define BIO_set_data(b, val) b->ptr = val +# define BIO_set_num(b, val) b->num = val +# define BIO_set_flags(b, val) b->flags = val +# define BIO_set_shutdown(b, val) b->shutdown = val +# define BIO_get_init(b) b->init +# define BIO_get_data(b) b->ptr +# define BIO_get_shutdown(b) b->shutdown +#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + ACE_BEGIN_VERSIONED_NAMESPACE_DECL BIO * @@ -107,10 +118,10 @@ ACE_END_VERSIONED_NAMESPACE_DECL int ACE_ASYNCH_BIO_NEW_NAME (BIO * pBIO) { - pBIO->init = 0; // not initialized - pBIO->num = 0; // still zero ( we can use it ) - pBIO->ptr = 0; // will be pointer to ACE_SSL_Asynch_Stream - pBIO->flags = 0; // + BIO_set_init(pBIO, 0); // not initialized + BIO_set_num(pBIO, 0); // still zero ( we can use it ) + BIO_set_data(pBIO, 0); // will be pointer to ACE_SSL_Asynch_Stream + BIO_set_flags(pBIO, 0); return 1; } @@ -118,12 +129,12 @@ ACE_ASYNCH_BIO_NEW_NAME (BIO * pBIO) int ACE_ASYNCH_BIO_FREE_NAME (BIO * pBIO) { - if (pBIO && pBIO->shutdown) + if (pBIO && BIO_get_shutdown(pBIO)) { - pBIO->ptr = 0; - pBIO->init = 0; - pBIO->num = 0; - pBIO->flags = 0; + BIO_set_data(pBIO, 0); + BIO_set_init(pBIO, 0); + BIO_set_num(pBIO, 0); + BIO_set_flags(pBIO, 0); return 1; } @@ -137,9 +148,9 @@ ACE_ASYNCH_BIO_READ_NAME (BIO * pBIO, char * buf, int len) BIO_clear_retry_flags (pBIO); ACE_SSL_Asynch_Stream * const p_stream = - static_cast<ACE_SSL_Asynch_Stream *> (pBIO->ptr); + static_cast<ACE_SSL_Asynch_Stream *> (BIO_get_data(pBIO)); - if (pBIO->init == 0 || p_stream == 0 || buf == 0 || len <= 0) + if (BIO_get_init(pBIO) == 0 || p_stream == 0 || buf == 0 || len <= 0) return -1; BIO_clear_retry_flags (pBIO); @@ -169,7 +180,7 @@ ACE_ASYNCH_BIO_WRITE_NAME (BIO * pBIO, const char * buf, int len) ACE_SSL_Asynch_Stream * p_stream = static_cast<ACE_SSL_Asynch_Stream *> (pBIO->ptr); - if (pBIO->init == 0 || p_stream == 0 || buf == 0 || len <= 0) + if (BIO_get_init(pBIO) == 0 || p_stream == 0 || buf == 0 || len <= 0) return -1; BIO_clear_retry_flags (pBIO); @@ -199,9 +210,9 @@ ACE_ASYNCH_BIO_CTRL_NAME (BIO * pBIO, int cmd, long num, void *ptr) switch (cmd) { case BIO_C_SET_FILE_PTR: - pBIO->shutdown = static_cast<int> (num); - pBIO->ptr = ptr; - pBIO->init = 1; + BIO_set_shutdown(pBIO, static_cast<int> (num)); + BIO_set_data(pBIO, ptr); + BIO_set_init(pBIO, 1); break; case BIO_CTRL_INFO: @@ -209,11 +220,11 @@ ACE_ASYNCH_BIO_CTRL_NAME (BIO * pBIO, int cmd, long num, void *ptr) break; case BIO_CTRL_GET_CLOSE: - ret = pBIO->shutdown; + ret = BIO_get_shutdown(pBIO); break; case BIO_CTRL_SET_CLOSE: - pBIO->shutdown = static_cast<int> (num); + BIO_set_shutdown(pBIO, static_cast<int> (num)); break; case BIO_CTRL_PENDING: @@ -244,5 +255,4 @@ ACE_ASYNCH_BIO_PUTS_NAME (BIO *pBIO, const char *str) ACE_Utils::truncate_cast<int> (n)); } -#endif /* OPENSSL_VERSION_NUMBER > 0x0090581fL && (ACE_WIN32 || - ACE_HAS_AIO_CALLS) */ +#endif /* OPENSSL_VERSION_NUMBER > 0x0090581fL && (ACE_WIN32 || ACE_HAS_AIO_CALLS) */ |