|
Line 0
Link Here
|
|
|
1 |
--- src/ssl.c.orig 2016-04-19 10:08:10 UTC |
| 2 |
+++ src/ssl.c |
| 3 |
@@ -34,7 +34,7 @@ tcn_pass_cb_t tcn_password_callback; |
| 4 |
static jclass byteArrayClass; |
| 5 |
static jclass stringClass; |
| 6 |
|
| 7 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 8 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 9 |
/* Global reference to the pool used by the dynamic mutexes */ |
| 10 |
static apr_pool_t *dynlockpool = NULL; |
| 11 |
|
| 12 |
@@ -193,7 +193,7 @@ static const jint supported_ssl_opts = 0 |
| 13 |
#endif |
| 14 |
| 0; |
| 15 |
|
| 16 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 17 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 18 |
/* OpenSSL Pre-1.1.0 compatibility */ |
| 19 |
/* Taken from OpenSSL 1.1.0 snapshot 20160410 */ |
| 20 |
int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) |
| 21 |
@@ -295,7 +295,7 @@ DH *SSL_get_dh_params(unsigned keylen) |
| 22 |
return NULL; /* impossible to reach. */ |
| 23 |
} |
| 24 |
|
| 25 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| 26 |
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| 27 |
static void init_bio_methods(void); |
| 28 |
static void free_bio_methods(void); |
| 29 |
#endif |
| 30 |
@@ -330,7 +330,7 @@ static apr_status_t ssl_init_cleanup(voi |
| 31 |
tcn_password_callback.cb.obj); |
| 32 |
} |
| 33 |
|
| 34 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| 35 |
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| 36 |
free_bio_methods(); |
| 37 |
#endif |
| 38 |
free_dh_params(); |
| 39 |
@@ -349,7 +349,7 @@ static apr_status_t ssl_init_cleanup(voi |
| 40 |
ENGINE_cleanup(); |
| 41 |
#endif |
| 42 |
CRYPTO_cleanup_all_ex_data(); |
| 43 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 44 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 45 |
ERR_remove_thread_state(NULL); |
| 46 |
#else |
| 47 |
ERR_remove_thread_state(); |
| 48 |
@@ -387,7 +387,7 @@ static ENGINE *ssl_try_load_engine(const |
| 49 |
* To ensure thread-safetyness in OpenSSL |
| 50 |
*/ |
| 51 |
|
| 52 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 53 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 54 |
static apr_thread_mutex_t **ssl_lock_cs; |
| 55 |
static int ssl_lock_num_locks; |
| 56 |
|
| 57 |
@@ -427,7 +427,7 @@ static unsigned long ssl_thread_id(void) |
| 58 |
#endif |
| 59 |
} |
| 60 |
|
| 61 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 62 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 63 |
static void ssl_set_thread_id(CRYPTO_THREADID *id) |
| 64 |
{ |
| 65 |
CRYPTO_THREADID_set_numeric(id, ssl_thread_id()); |
| 66 |
@@ -720,7 +720,7 @@ TCN_IMPLEMENT_CALL(jint, SSL, initialize |
| 67 |
#endif |
| 68 |
OPENSSL_load_builtin_modules(); |
| 69 |
|
| 70 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 71 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 72 |
/* Initialize thread support */ |
| 73 |
ssl_thread_setup(tcn_global_pool); |
| 74 |
#endif |
| 75 |
@@ -766,7 +766,7 @@ TCN_IMPLEMENT_CALL(jint, SSL, initialize |
| 76 |
SSL_init_app_data2_3_idx(); |
| 77 |
|
| 78 |
init_dh_params(); |
| 79 |
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| 80 |
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| 81 |
init_bio_methods(); |
| 82 |
#endif |
| 83 |
|
| 84 |
@@ -928,7 +928,7 @@ static int jbs_new(BIO *bi) |
| 85 |
j->refcount = 1; |
| 86 |
BIO_set_shutdown(bi, 1); |
| 87 |
BIO_set_init(bi, 0); |
| 88 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 89 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 90 |
/* No setter method for OpenSSL 1.1.0 available, |
| 91 |
* but I can't find any functional use of the |
| 92 |
* "num" field there either. |
| 93 |
@@ -1064,7 +1064,7 @@ static long jbs_ctrl(BIO *b, int cmd, lo |
| 94 |
return ret; |
| 95 |
} |
| 96 |
|
| 97 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 98 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 99 |
static BIO_METHOD jbs_methods = { |
| 100 |
BIO_TYPE_FILE, |
| 101 |
"Java Callback", |
| 102 |
@@ -1100,7 +1100,7 @@ static void free_bio_methods(void) |
| 103 |
|
| 104 |
static BIO_METHOD *BIO_jbs() |
| 105 |
{ |
| 106 |
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| 107 |
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| 108 |
return(&jbs_methods); |
| 109 |
#else |
| 110 |
return jbs_methods; |