x11/freerdp currently reaches deep into libssl internals, in order to send
TLS alerts. AFAIK OpenSSL 1.1 does not provide any way for TLS alerts to be
triggered outside the library and freerdp's approach is to simply disable
this code. Do the same thing for current LibreSSL, so that we can make
these internals internal.
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/freerdp/Makefile,v
retrieving revision 1.33
diff -u -p -u -p -r1.33 Makefile
--- Makefile 14 Aug 2018 08:36:49 -0000 1.33
+++ Makefile 22 Oct 2018 16:08:45 -0000
@@ -6,7 +6,7 @@ BROKEN-hppa = undefined reference to __
COMMENT = open source client for Windows Terminal Server
DISTNAME = freerdp-2.0.0-rc1
PKGNAME = freerdp-2.0.0rc1
-REVISION = 0
+REVISION = 1
CATEGORIES = x11 net
SHARED_LIBS += freerdp-client2 0.0 # 2.0
Index: patches/patch-libfreerdp_crypto_tls_c
===================================================================
RCS file: patches/patch-libfreerdp_crypto_tls_c
diff -N patches/patch-libfreerdp_crypto_tls_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-libfreerdp_crypto_tls_c 22 Oct 2018 16:08:45 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Stop reaching into libssl internals to send TLS alerts.
+
+Index: libfreerdp/crypto/tls.c
+--- libfreerdp/crypto/tls.c.orig
++++ libfreerdp/crypto/tls.c
+@@ -1020,7 +1020,8 @@ BOOL tls_send_alert(rdpTls* tls)
+ * FIXME: The following code does not work on OpenSSL > 1.1.0 because
the
+ * SSL struct is opaqe now
+ */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
++ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER <
0x2080000fL)
+
+ if (tls->alertDescription != TLS_ALERT_DESCRIPTION_CLOSE_NOTIFY)
+ {