wget: do not error on terminal resize.

This commit is contained in:
Adrien Destugues
2017-11-23 09:13:31 +01:00
parent 536eb6ba7f
commit 8af9d25252
2 changed files with 50 additions and 15 deletions

View File

@@ -1,11 +1,11 @@
From bd11396e597c8a9e1134a56e85fe64de65a4641c Mon Sep 17 00:00:00 2001
From c23a269e8fe093b4c57d1d7122abd5ad98fd3fb2 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 19 May 2014 15:38:37 +0000
Subject: apply wget-1.14.patch
diff --git a/configure.ac b/configure.ac
index 686f040..9c3cdb5 100644
index 13debe2..3a3e453 100644
--- a/configure.ac
+++ b/configure.ac
@@ -238,6 +238,7 @@ AC_HEADER_STDBOOL
@@ -27,10 +27,10 @@ index 686f040..9c3cdb5 100644
PKG_CHECK_MODULES([LIBPSL], libpsl, [
with_libpsl=yes
diff --git a/src/config.h.in b/src/config.h.in
index afb806f..6628225 100644
index 5131d55..84d8a4b 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -842,6 +842,9 @@
@@ -862,6 +862,9 @@
/* Define if libcares is available. */
#undef HAVE_LIBCARES
@@ -40,7 +40,7 @@ index afb806f..6628225 100644
/* Define to 1 if you have the `dl' library (-ldl). */
#undef HAVE_LIBDL
@@ -854,6 +857,9 @@
@@ -874,6 +877,9 @@
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
@@ -51,7 +51,7 @@ index afb806f..6628225 100644
#undef HAVE_LIBPCRE
diff --git a/src/connect.c b/src/connect.c
index 7e18171..b421306 100644
index d665d6d..1cf4db2 100644
--- a/src/connect.c
+++ b/src/connect.c
@@ -47,7 +47,7 @@ as that of the covered work. */
@@ -84,17 +84,17 @@ index 785a570..3ef63cd 100644
2.7.0
From e25da0597937e8dcad6c6d2fce99536da79464e3 Mon Sep 17 00:00:00 2001
From e2eec5007e57bad624765a1985a773520fa1d9ed Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 19 May 2014 15:47:24 +0000
Subject: apply and augment wget-1.14-build-fixes.patch
diff --git a/src/utils.c b/src/utils.c
index db89ae1..f2a11ff 100644
index 81f2801..27b36df 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -63,7 +63,9 @@ as that of the covered work. */
@@ -64,7 +64,9 @@ as that of the covered work. */
/* For TIOCGWINSZ and friends: */
#ifndef WINDOWS
@@ -108,14 +108,14 @@ index db89ae1..f2a11ff 100644
2.7.0
From d8074e2ce1894326fccf5932edc9e23b105dc7a4 Mon Sep 17 00:00:00 2001
From f762289dbee26754a4257f42f15f0ec0e29d21e3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 14 Feb 2016 11:05:10 +0100
Subject: Move wget-hsts out of home directory.
diff --git a/src/main.c b/src/main.c
index 581a33d..e8268c7 100644
index f9759c3..f784cdd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -80,6 +80,10 @@ as that of the covered work. */
@@ -150,17 +150,17 @@ index 581a33d..e8268c7 100644
2.7.0
From 3cb17cf7796926a75c57213b0995b06a96e352f1 Mon Sep 17 00:00:00 2001
From c2dd748d260ae1ad24ba8d63ff26adfeabdf4ae4 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 22 May 2017 18:46:27 +0200
Subject: gcc2 patch
diff --git a/src/init.c b/src/init.c
index e6aa673..a705ff9 100644
index 1064883..d68d21a 100644
--- a/src/init.c
+++ b/src/init.c
@@ -880,7 +880,7 @@ setval_internal (int comind, const char *com, const char *val)
@@ -894,7 +894,7 @@ setval_internal (int comind, const char *com, const char *val)
assert (0 <= comind && ((size_t) comind) < countof (commands));
if ((unsigned) comind >= countof (commands))
@@ -172,3 +172,38 @@ index e6aa673..a705ff9 100644
--
2.7.0
From 93e869f8a6f7f1289e49d23bfd8ea339453d9aec Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Thu, 23 Nov 2017 09:09:48 +0100
Subject: Handle SSL_ERROR_WANT_READ.
According to OpenSSL docs this isn't supposed to happen, but it does
and I can't figure out where it would be intercepted in OpenSSL side.
So let's just handle it and retry reads when requestred to do so.
This allows EINTR detection to work, so no error happens when you
resize terminal anymore.
diff --git a/src/openssl.c b/src/openssl.c
index 0404d2d..99f7f8c 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -359,9 +359,11 @@ static void openssl_read_callback(void *arg)
int bufsize = args->bufsize;
int ret;
- do
+ do {
ret = SSL_read (conn, buf, bufsize);
- while (ret == -1 && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
+ } while (ret == -1
+ && (SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL
+ || SSL_get_error (conn, ret) == SSL_ERROR_WANT_READ)
&& errno == EINTR);
args->retval = ret;
}
--
2.7.0

View File

@@ -5,7 +5,7 @@ called from scripts."
HOMEPAGE="https://www.gnu.org/software/wget/"
COPYRIGHT="1996-2016 Free Software Foundation"
LICENSE="GNU GPL v3"
REVISION="1"
REVISION="2"
SOURCE_URI="http://ftpmirror.gnu.org/wget/wget-$portVersion.tar.gz"
CHECKSUM_SHA256="4f4a673b6d466efa50fbfba796bd84a46ae24e370fa562ede5b21ab53c11a920"
PATCHES="wget-$portVersion.patchset"