aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/openssl/openssl_util.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2016-06-27 11:17:31 +0200
committerTobias Brunner <tobias@strongswan.org>2016-06-29 11:09:37 +0200
commitfaa904fb0baa1bd805432634f921fda6ce96b284 (patch)
treefba058835ab1c41b8cc3a3b0728c8f7d5f627215 /src/libstrongswan/plugins/openssl/openssl_util.c
parente2abe7ae975fa55d4d21210de7186c74a03604d4 (diff)
downloadstrongswan-faa904fb0baa1bd805432634f921fda6ce96b284.tar.bz2
strongswan-faa904fb0baa1bd805432634f921fda6ce96b284.tar.xz
openssl: Fix mapping from ASN1 to chunk_t with OpenSSL 1.1.0
ASN1_OBJECT is now opaque.
Diffstat (limited to 'src/libstrongswan/plugins/openssl/openssl_util.c')
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_util.c b/src/libstrongswan/plugins/openssl/openssl_util.c
index 914060358..a1d675f78 100644
--- a/src/libstrongswan/plugins/openssl/openssl_util.c
+++ b/src/libstrongswan/plugins/openssl/openssl_util.c
@@ -22,6 +22,12 @@
#include <openssl/evp.h>
#include <openssl/x509.h>
+/* these were added with 1.1.0 when ASN1_OBJECT was made opaque */
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#define OBJ_get0_data(o) ((o)->data)
+#define OBJ_length(o) ((o)->length)
+#endif
+
/**
* Described in header.
*/
@@ -149,7 +155,7 @@ chunk_t openssl_asn1_obj2chunk(ASN1_OBJECT *asn1)
{
if (asn1)
{
- return chunk_create((u_char*)asn1->data, asn1->length);
+ return chunk_create((u_char*)OBJ_get0_data(asn1), OBJ_length(asn1));
}
return chunk_empty;
}