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)
+       {

Reply via email to