$OpenBSD: patch-third-party_pjproject_source_pjlib_src_pj_ssl_sock_ossl_c,v 1.4 2018/01/15 09:43:45 sthen Exp $

excise openssl-1.0.2 EC and various openssl-1.1.0 pieces

Index: third-party/pjproject/source/pjlib/src/pj/ssl_sock_ossl.c
--- third-party/pjproject/source/pjlib/src/pj/ssl_sock_ossl.c.orig
+++ third-party/pjproject/source/pjlib/src/pj/ssl_sock_ossl.c
@@ -53,7 +53,7 @@
 #include <openssl/rand.h>
 #include <openssl/opensslconf.h>
 
-#if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
+#if !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
 
 #   include <openssl/obj_mac.h>
 
@@ -111,7 +111,7 @@ static unsigned get_nid_from_cid(unsigned cid)
 #endif
 
 
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
 #  define OPENSSL_NO_SSL2	    /* seems to be removed in 1.1.0 */
 #  define M_ASN1_STRING_data(x)	    ASN1_STRING_get0_data(x)
 #  define M_ASN1_STRING_length(x)   ASN1_STRING_length(x)
@@ -535,7 +535,7 @@ static pj_status_t init_openssl(void)
     pj_assert(status == PJ_SUCCESS);
 
     /* Init OpenSSL lib */
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L
     SSL_library_init();
     SSL_load_error_strings();
 #else
@@ -569,7 +569,7 @@ static pj_status_t init_openssl(void)
 	    meth = (SSL_METHOD*)SSLv2_server_method();
 #endif
 
-#else
+#else	/* ok with libressl */
 	/* Specific version methods are deprecated in 1.1.0 */
 	meth = (SSL_METHOD*)TLS_method();
 #endif
@@ -599,7 +599,7 @@ static pj_status_t init_openssl(void)
 
 	SSL_set_session(ssl, SSL_SESSION_new());
 
-#if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
+#if !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
 	openssl_curves_num = SSL_get_shared_curve(ssl,-1);
 	if (openssl_curves_num > PJ_ARRAY_SIZE(openssl_curves))
 	    openssl_curves_num = PJ_ARRAY_SIZE(openssl_curves);
@@ -807,7 +807,7 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock)
 #endif
 	break;
     }
-#else
+#else	/* ok with libressl */
     /* Specific version methods are deprecated in 1.1.0 */
     ssl_method = (SSL_METHOD*)TLS_method();
 #endif
@@ -1228,7 +1228,7 @@ static pj_status_t set_cipher_list(pj_ssl_sock_t *ssoc
 
 static pj_status_t set_curves_list(pj_ssl_sock_t *ssock)
 {
-#if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
+#if !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
     int ret;
     int curves[PJ_SSL_SOCK_MAX_CURVES];
     unsigned cnt;
@@ -1259,7 +1259,7 @@ static pj_status_t set_curves_list(pj_ssl_sock_t *ssoc
 
 static pj_status_t set_sigalgs(pj_ssl_sock_t *ssock)
 {
-#if OPENSSL_VERSION_NUMBER >= 0x1000200fL
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
     int ret;
 
     if (ssock->param.sigalgs.ptr && ssock->param.sigalgs.slen) {
