<pre style='margin:0'>
Chih-Hsuan Yen (yan12125) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d5387543b0bd9269006e07e5d5e35448cb40220a">https://github.com/macports/macports-ports/commit/d5387543b0bd9269006e07e5d5e35448cb40220a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d5387543b0bd9269006e07e5d5e35448cb40220a
</span>Author: Chih-Hsuan Yen <yan12125@gmail.com>
AuthorDate: Thu Sep 12 19:12:14 2019 +0800

<span style='display:block; white-space:pre;color:#404040;'>    elinks: fix building with OpenSSL 1.1
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    By backporting upstream patches like elinks-devel.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/58987
</span>---
 www/elinks/Portfile                     | 12 ++++++++---
 www/elinks/files/patch-no-rand-egd.diff | 35 +++++++++++++++++++++++++++++++++
 www/elinks/files/patch-openssl11.diff   | 33 +++++++++++++++++++++++++++++++
 3 files changed, 77 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/elinks/Portfile b/www/elinks/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 84d1574..d8ccff6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/elinks/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/elinks/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,9 +19,9 @@ long_description    ELinks is an advanced and well-established feature-rich \
</span> homepage            http://elinks.or.cz/
 master_sites        ${homepage}download/
 use_bzip2           yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5     fcd087a6d2415cd4c6fd1db53dceb646 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha1    d13edc1477d0ab32cafe7d3c1f3a23ae1c0a5c54 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  2e6e863d08f9accb71892ba6f236f795c83cba9c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  2e6e863d08f9accb71892ba6f236f795c83cba9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  456db6f704c591b1298b0cd80105f459ff8a1fc07a0ec1156a36c4da6f898979 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    2467915
</span> 
 depends_lib         path:lib/libssl.dylib:openssl \
                     port:bzip2 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,6 +38,12 @@ configure.args      --mandir=${prefix}/share/man \
</span>                     --without-zlib
 # zlib support is broken in 0.11, ticket #24143
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Backported upstream patches for OpenSSL 1.1 compatibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://repo.or.cz/elinks.git/patch/f4a58ba3b574a478fd5954ba2c5b29e8b809ff9b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://repo.or.cz/elinks.git/patch/54ebe365b752f8969a67279d0d29552ab638e025
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-openssl11.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-no-rand-egd.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant col256 description {Use 256 colours if supported by the terminal} {
     post-extract {
         reinplace "s|CONFIG_256_COLORS=no|CONFIG_256_COLORS=yes|" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/elinks/files/patch-no-rand-egd.diff b/www/elinks/files/patch-no-rand-egd.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0783cdc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/elinks/files/patch-no-rand-egd.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f4a58ba3b574a478fd5954ba2c5b29e8b809ff9b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Kylie McClain <somasis@exherbo.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 29 Dec 2015 15:11:52 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] ssl: Make RAND_egd optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes compilation with LibreSSL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/network/ssl/ssl.c | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/network/ssl/ssl.c src/network/ssl/ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 693ac37..5ed5754 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/network/ssl/ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/network/ssl/ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -84,11 +84,16 @@ init_openssl(struct module *module)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * cannot initialize the PRNG and so every attempt to use SSL fails.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * It's actually an OpenSSL FAQ, and according to them, it's up to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * application coders to seed the RNG. -- William Yodlowsky */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  RAND_file_name(f_randfile, sizeof(f_randfile));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_RAND_EGD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (RAND_egd(f_randfile) < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* Not an EGD, so read and write to it */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (RAND_load_file(f_randfile, -1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   RAND_write_file(f_randfile);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_RAND_EGD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SSLeay_add_ssl_algorithms();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   context = SSL_CTX_new(SSLv23_client_method());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.10.5.GIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/elinks/files/patch-openssl11.diff b/www/elinks/files/patch-openssl11.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..1bfe751
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/elinks/files/patch-openssl11.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 54ebe365b752f8969a67279d0d29552ab638e025 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Witold Filipczyk <witekfl@poczta.onet.pl>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 6 Mar 2017 17:39:36 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Compilation fix for OpenSSL-1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/network/ssl/socket.c | 6 ++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/network/ssl/socket.c src/network/ssl/socket.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 886eaf2..bc3621d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/network/ssl/socket.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/network/ssl/socket.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,7 +81,9 @@ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ssl_set_no_tls(struct socket *socket)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef CONFIG_OPENSSL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef SSL_OP_NO_TLSv1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  SSL_set_options((ssl_t *)socket->ssl, SSL_OP_NO_TLSv1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(CONFIG_GNUTLS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /* GnuTLS does not support SSLv2 because it is "insecure".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -453,7 +455,7 @@ ssl_connect(struct socket *socket)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if (client_cert) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  SSL_CTX *ctx = SSL_get_SSL_CTX((SSL *) socket->ssl);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   SSL_CTX_use_certificate_chain_file(ctx, client_cert);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   SSL_CTX_use_PrivateKey_file(ctx, client_cert,
</span></pre><pre style='margin:0'>

</pre>