View | Details | Raw Unified | Return to bug 224148 | Differences between
and this patch

Collapse All | Expand All

(-)security/stunnel/files/patch-src_common.h (+38 lines)
Line 0 Link Here
1
--- src/common.h.orig	2017-01-02 14:27:26 UTC
2
+++ src/common.h
3
@@ -448,7 +448,7 @@ extern char *sys_errlist[];
4
 #define OPENSSL_NO_TLS1_2
5
 #endif /* OpenSSL older than 1.0.1 || defined(OPENSSL_NO_TLS1) */
6
 
7
-#if OPENSSL_VERSION_NUMBER>=0x10100000L
8
+#if OPENSSL_VERSION_NUMBER>=0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
9
 #ifndef OPENSSL_NO_SSL2
10
 #define OPENSSL_NO_SSL2
11
 #endif /* !defined(OPENSSL_NO_SSL2) */
12
@@ -474,7 +474,7 @@ extern char *sys_errlist[];
13
 #include <openssl/des.h>
14
 #ifndef OPENSSL_NO_DH
15
 #include <openssl/dh.h>
16
-#if OPENSSL_VERSION_NUMBER<0x10100000L
17
+#if OPENSSL_VERSION_NUMBER<0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
18
 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
19
 #endif /* OpenSSL older than 1.1.0 */
20
 #endif /* !defined(OPENSSL_NO_DH) */
21
--- src/common.h.orig	2017-01-02 14:27:26 UTC
22
+++ src/common.h
23
@@ -415,6 +415,15 @@ extern char *sys_errlist[];
24
 /* opensslv.h requires prior opensslconf.h to include -fips in version string */
25
 #include <openssl/opensslv.h>
26
 
27
+#ifdef LIBRESSL_VERSION_NUMBER
28
+#undef OPENSSL_VERSION_NUMBER
29
+#if LIBRESSL_VERSION_NUMBER >= 0x2070000fL
30
+#define OPENSSL_VERSION_NUMBER 0x10100000L
31
+#else
32
+#define OPENSSL_VERSION_NUMBER 0x1000107fL
33
+#endif
34
+#endif
35
+
36
 #if OPENSSL_VERSION_NUMBER<0x0090700fL
37
 #error OpenSSL 0.9.7 or later is required
38
 #endif /* OpenSSL older than 0.9.7 */
(-)security/stunnel/files/patch-src_ctx.c (+29 lines)
Line 0 Link Here
1
--- src/ctx.c.orig	2017-08-17 09:18:53 UTC
2
+++ src/ctx.c
3
@@ -295,7 +295,7 @@ NOEXPORT int matches_wildcard(char *serv
4
 
5
 #ifndef OPENSSL_NO_DH
6
 
7
-#if OPENSSL_VERSION_NUMBER<0x10100000L
8
+#if OPENSSL_VERSION_NUMBER<0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
9
 NOEXPORT STACK_OF(SSL_CIPHER) *SSL_CTX_get_ciphers(const SSL_CTX *ctx) {
10
     return ctx->cipher_list;
11
 }
12
@@ -398,7 +398,7 @@ NOEXPORT int ecdh_init(SERVICE_OPTIONS *
13
 /**************************************** initialize OpenSSL CONF */
14
 
15
 NOEXPORT int conf_init(SERVICE_OPTIONS *section) {
16
-#if OPENSSL_VERSION_NUMBER>=0x10002000L
17
+#if OPENSSL_VERSION_NUMBER>=0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
18
     SSL_CONF_CTX *cctx;
19
     NAME_LIST *curr;
20
     char *cmd, *param;
21
@@ -1227,7 +1227,7 @@
22
 
23
     c=SSL_get_ex_data((SSL *)ssl, index_ssl_cli);
24
     if(c) {
25
-#if OPENSSL_VERSION_NUMBER>=0x10100000L
26
+#if OPENSSL_VERSION_NUMBER>=0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
27
         OSSL_HANDSHAKE_STATE state=SSL_get_state(ssl);
28
 #else
29
         int state=SSL_get_state((SSL *)ssl);
(-)security/stunnel/files/patch-src_options.c (+11 lines)
Line 0 Link Here
1
--- src/options.c.orig	2017-11-15 07:06:12 UTC
2
+++ src/options.c
3
@@ -3658,7 +3658,7 @@ NOEXPORT char *engine_init(void) {
4
     }
5
 #endif
6
     /* engines can add new algorithms */
7
-#if OPENSSL_VERSION_NUMBER>=0x10100000L
8
+#if OPENSSL_VERSION_NUMBER>=0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
9
     OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS|
10
         OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
11
 #else
(-)security/stunnel/files/patch-src_ssl.c (+20 lines)
Line 0 Link Here
1
--- src/ssl.c.orig	2017-10-07 14:23:08 UTC
2
+++ src/ssl.c
3
@@ -51,7 +51,7 @@ int index_ssl_cli, index_ssl_ctx_opt;
4
 int index_session_authenticated, index_session_connect_address;
5
 
6
 int ssl_init(void) { /* init TLS before parsing configuration file */
7
-#if OPENSSL_VERSION_NUMBER>=0x10100000L
8
+#if OPENSSL_VERSION_NUMBER>=0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
9
     OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS |
10
         OPENSSL_INIT_LOAD_CRYPTO_STRINGS | OPENSSL_INIT_LOAD_CONFIG, NULL);
11
 #else
12
@@ -87,7 +87,7 @@ int ssl_init(void) { /* init TLS before 
13
 }
14
 
15
 #ifndef OPENSSL_NO_DH
16
-#if OPENSSL_VERSION_NUMBER<0x10100000L
17
+#if OPENSSL_VERSION_NUMBER<0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
18
 /* this is needed for dhparam.c generated with OpenSSL >= 1.1.0
19
  * to be linked against the older versions */
20
 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) {
(-)security/stunnel/files/patch-src_verify.c (+11 lines)
Line 0 Link Here
1
--- src/verify.c.orig	2017-05-13 09:01:07 UTC
2
+++ src/verify.c
3
@@ -353,7 +353,7 @@ NOEXPORT int cert_check_local(X509_STORE
4
     cert=X509_STORE_CTX_get_current_cert(callback_ctx);
5
     subject=X509_get_subject_name(cert);
6
 
7
-#if OPENSSL_VERSION_NUMBER<0x10100006L
8
+#if OPENSSL_VERSION_NUMBER<0x10100006L || defined(LIBRESSL_VERSION_NUMBER)
9
 #define X509_STORE_CTX_get1_certs X509_STORE_get1_certs
10
 #endif
11
     /* modern API allows retrieving multiple matching certificates */

Return to bug 224148