aboutsummaryrefslogtreecommitdiff
path: root/net/pjsip
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2017-10-11 07:17:14 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2017-10-11 07:17:14 +0000
commit51ab38e87c3cebb2766fbce1d0a5f777dfcb7d14 (patch)
tree6505857a310017622ffed87c06115a177e2f3f4e /net/pjsip
parent59c8ed6daa9ca062e9eed759ef3debc6facf5bac (diff)
downloadports-51ab38e87c3cebb2766fbce1d0a5f777dfcb7d14.tar.gz
ports-51ab38e87c3cebb2766fbce1d0a5f777dfcb7d14.zip
Update pjsip patch to work with libressl after the latest update
to 2.7, which broke it. PR: 216898 Submitted by: OlivierW <olivierw1+bugzilla-freebsd@hotmail.com>
Notes
Notes: svn path=/head/; revision=451734
Diffstat (limited to 'net/pjsip')
-rw-r--r--net/pjsip/files/patch-pjlib_src_pj_ssl__sock__ossl.c84
1 files changed, 77 insertions, 7 deletions
diff --git a/net/pjsip/files/patch-pjlib_src_pj_ssl__sock__ossl.c b/net/pjsip/files/patch-pjlib_src_pj_ssl__sock__ossl.c
index 1b4e3229b9aa..742b0fdcad72 100644
--- a/net/pjsip/files/patch-pjlib_src_pj_ssl__sock__ossl.c
+++ b/net/pjsip/files/patch-pjlib_src_pj_ssl__sock__ossl.c
@@ -1,7 +1,7 @@
---- pjlib/src/pj/ssl_sock_ossl.c.orig 2017-01-24 05:41:05 UTC
+--- pjlib/src/pj/ssl_sock_ossl.c.orig 2017-09-14 05:03:45 UTC
+++ pjlib/src/pj/ssl_sock_ossl.c
-@@ -54,7 +54,7 @@
- #include <openssl/engine.h>
+@@ -53,7 +53,7 @@
+ #include <openssl/rand.h>
#include <openssl/opensslconf.h>
-#if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x1000200fL
@@ -9,7 +9,7 @@
# include <openssl/obj_mac.h>
-@@ -112,7 +112,7 @@ static unsigned get_nid_from_cid(unsigned cid)
+@@ -111,7 +111,7 @@ static unsigned get_nid_from_cid(unsigned cid)
#endif
@@ -18,7 +18,41 @@
# 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)
-@@ -452,7 +452,7 @@ static pj_status_t init_openssl(void)
+@@ -126,7 +126,7 @@ static unsigned get_nid_from_cid(unsigned cid)
+
+
+ #ifdef _MSC_VER
+-# if OPENSSL_VERSION_NUMBER >= 0x10100000L
++# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ # pragma comment(lib, "libcrypto")
+ # pragma comment(lib, "libssl")
+ # pragma comment(lib, "crypt32")
+@@ -535,13 +535,13 @@ static pj_status_t init_openssl(void)
+ pj_assert(status == PJ_SUCCESS);
+
+ /* Init OpenSSL lib */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSL_library_init();
+ SSL_load_error_strings();
+ #else
+ OPENSSL_init_ssl(0, NULL);
+ #endif
+-#if OPENSSL_VERSION_NUMBER < 0x009080ffL
++#if OPENSSL_VERSION_NUMBER < 0x009080ffL || defined(LIBRESSL_VERSION_NUMBER)
+ /* This is now synonym of SSL_library_init() */
+ OpenSSL_add_all_algorithms();
+ #endif
+@@ -556,7 +556,7 @@ static pj_status_t init_openssl(void)
+ int nid;
+ const char *cname;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ meth = (SSL_METHOD*)SSLv23_server_method();
+ if (!meth)
+ meth = (SSL_METHOD*)TLSv1_server_method();
+@@ -599,7 +599,7 @@ static pj_status_t init_openssl(void)
SSL_set_session(ssl, SSL_SESSION_new());
@@ -27,7 +61,43 @@
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);
-@@ -1069,7 +1069,7 @@ static pj_status_t set_cipher_list(pj_ssl_sock_t *ssoc
+@@ -768,7 +768,7 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock)
+ BIO *bio;
+ DH *dh;
+ long options;
+-#if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L
++#if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L && !defined(LIBRESSL_VERSION_NUMBER)
+ EC_KEY *ecdh;
+ #endif
+ SSL_METHOD *ssl_method = NULL;
+@@ -791,7 +791,7 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock)
+ ssock->param.proto = PJ_SSL_SOCK_PROTO_SSL23;
+
+ /* Determine SSL method to use */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ switch (ssock->param.proto) {
+ case PJ_SSL_SOCK_PROTO_TLS1:
+ ssl_method = (SSL_METHOD*)TLSv1_method();
+@@ -927,7 +927,7 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock)
+ if (dh != NULL) {
+ if (SSL_CTX_set_tmp_dh(ctx, dh)) {
+ options = SSL_OP_CIPHER_SERVER_PREFERENCE |
+- #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L
++ #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L && !defined(LIBRESSL_VERSION_NUMBER)
+ SSL_OP_SINGLE_ECDH_USE |
+ #endif
+ SSL_OP_SINGLE_DH_USE;
+@@ -995,7 +995,7 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock)
+ if (SSL_CTX_ctrl(ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL)) {
+ PJ_LOG(4,(ssock->pool->obj_name, "SSL ECDH initialized "
+ "(automatic), faster PFS ciphers enabled"));
+- #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L
++ #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L && !defined(LIBRESSL_VERSION_NUMBER)
+ } else {
+ /* enables AES-128 ciphers, to get AES-256 use NID_secp384r1 */
+ ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+@@ -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)
{
@@ -36,7 +106,7 @@
int ret;
int curves[PJ_SSL_SOCK_MAX_CURVES];
unsigned cnt;
-@@ -1100,7 +1100,7 @@ static pj_status_t set_curves_list(pj_ssl_sock_t *ssoc
+@@ -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)
{