summaryrefslogtreecommitdiff
path: root/ACE/ace/SSL/SSL_Asynch_BIO.cpp
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2017-08-29 15:08:05 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2017-08-29 15:08:05 +0200
commit99897de90d645f4817b27333f81aba4108c2217d (patch)
treefa156bd2a96847fdcf66381e248d3dcfc15f9e77 /ACE/ace/SSL/SSL_Asynch_BIO.cpp
parent73d936a2d6885e8ca547376e5f44f22b7bc49556 (diff)
downloadATCD-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.cpp48
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) */