summaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authorIsmael Luceno2019-08-22 19:59:54 +0200
committerIsmael Luceno2019-08-22 20:02:49 +0200
commitb9ac22a7a4a3bca317e4d5d8b6a79b5362be27a3 (patch)
tree1cd503840fa46919cd9f1a2c98ecd38622f88332 /x11
parent9db6fd0f6ff4aacf9c507de56baa6760abb6cb6b (diff)
x11vnc: Fix build against libressl
Diffstat (limited to 'x11')
-rw-r--r--x11/x11vnc/HISTORY1
-rwxr-xr-xx11/x11vnc/PRE_BUILD3
-rw-r--r--x11/x11vnc/patches/0001-libressl.patch86
3 files changed, 90 insertions, 0 deletions
diff --git a/x11/x11vnc/HISTORY b/x11/x11vnc/HISTORY
index 5ace558a9e..e40288289e 100644
--- a/x11/x11vnc/HISTORY
+++ b/x11/x11vnc/HISTORY
@@ -1,5 +1,6 @@
2019-08-22 Ismael Luceno <ismael@sourcemage.org>
* DETAILS: updated spell to 0.9.16
+ * PRE_BUILD, patches/0001-libressl.patch: Fixed build against libressl
2018-08-29 Ismael Luceno <ismael@sourcemage.org>
* DEPENDS: libvncserver dependency is now mandatory
diff --git a/x11/x11vnc/PRE_BUILD b/x11/x11vnc/PRE_BUILD
new file mode 100755
index 0000000000..c230ad14bf
--- /dev/null
+++ b/x11/x11vnc/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches
diff --git a/x11/x11vnc/patches/0001-libressl.patch b/x11/x11vnc/patches/0001-libressl.patch
new file mode 100644
index 0000000000..b5a40af724
--- /dev/null
+++ b/x11/x11vnc/patches/0001-libressl.patch
@@ -0,0 +1,86 @@
+Taken from OpenBSD; modified to apply with -p1.
+
+$OpenBSD: patch-src_sslhelper_c,v 1.1 2018/08/09 15:04:21 sthen Exp $
+
+--- a/src/sslhelper.c
++++ b/src/sslhelper.c
+@@ -803,7 +803,7 @@ static int pem_passwd_callback(char *buf, int size, in
+ static int crl_callback(X509_STORE_CTX *callback_ctx) {
+ const ASN1_INTEGER *revoked_serial;
+ X509_STORE_CTX *store_ctx;
+-#if OPENSSL_VERSION_NUMBER > 0x10100000L
++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT *obj;
+ #else
+ X509_OBJECT obj;
+@@ -829,7 +829,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ * the current certificate in order to verify it's integrity. */
+ store_ctx = X509_STORE_CTX_new();
+ X509_STORE_CTX_init(store_ctx, revocation_store, NULL, NULL);
+-#if OPENSSL_VERSION_NUMBER > 0x10100000L
++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ obj = X509_OBJECT_new();
+ rc=X509_STORE_get_by_subject(store_ctx, X509_LU_CRL, subject, obj);
+ crl = X509_OBJECT_get0_X509_CRL(obj);
+@@ -865,7 +865,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ rfbLog("Invalid signature on CRL\n");
+ X509_STORE_CTX_set_error(callback_ctx,
+ X509_V_ERR_CRL_SIGNATURE_FAILURE);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);
+@@ -883,7 +883,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ rfbLog("Found CRL has invalid nextUpdate field\n");
+ X509_STORE_CTX_set_error(callback_ctx,
+ X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);
+@@ -894,14 +894,14 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ rfbLog("Found CRL is expired - "
+ "revoking all certificates until you get updated CRL\n");
+ X509_STORE_CTX_set_error(callback_ctx, X509_V_ERR_CRL_HAS_EXPIRED);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);
+ #endif
+ return 0; /* Reject connection */
+ }
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);
+@@ -912,7 +912,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ * the current certificate in order to check for revocation. */
+ store_ctx = X509_STORE_CTX_new();
+ X509_STORE_CTX_init(store_ctx, revocation_store, NULL, NULL);
+-#if OPENSSL_VERSION_NUMBER > 0x10100000L
++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ obj = X509_OBJECT_new();
+ rc=X509_STORE_get_by_subject(store_ctx, X509_LU_CRL, issuer, obj);
+ crl = X509_OBJECT_get0_X509_CRL(obj);
+@@ -942,7 +942,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ "revoked per CRL from issuer %s\n", serial, serial, cp);
+ OPENSSL_free(cp);
+ X509_STORE_CTX_set_error(callback_ctx, X509_V_ERR_CERT_REVOKED);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);
+@@ -950,7 +950,7 @@ static int crl_callback(X509_STORE_CTX *callback_ctx)
+ return 0; /* Reject connection */
+ }
+ }
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ X509_OBJECT_free(obj);
+ #else
+ X509_OBJECT_free_contents(&obj);