diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2019-10-04 15:43:28 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2019-10-04 17:48:14 +0200 |
commit | 584cf074dc8ef5f6aabf3130e5d590c5a331d7a8 (patch) | |
tree | 652616eab801ef5f11e24043c3f669cb1f476f07 /dev-libs | |
parent | dev-libs/efl: update 1.22 series with 6th release (diff) | |
download | gentoo-584cf074dc8ef5f6aabf3130e5d590c5a331d7a8.tar.gz gentoo-584cf074dc8ef5f6aabf3130e5d590c5a331d7a8.tar.bz2 gentoo-584cf074dc8ef5f6aabf3130e5d590c5a331d7a8.zip |
dev-libs/openssl: fix USE=zlib
Closes: https://bugs.gentoo.org/696166
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/openssl/files/openssl-1.1.1d-fix-zlib.patch | 52 | ||||
-rw-r--r-- | dev-libs/openssl/openssl-1.1.1d-r1.ebuild (renamed from dev-libs/openssl/openssl-1.1.1d.ebuild) | 1 |
2 files changed, 53 insertions, 0 deletions
diff --git a/dev-libs/openssl/files/openssl-1.1.1d-fix-zlib.patch b/dev-libs/openssl/files/openssl-1.1.1d-fix-zlib.patch new file mode 100644 index 000000000000..5d2f923a4872 --- /dev/null +++ b/dev-libs/openssl/files/openssl-1.1.1d-fix-zlib.patch @@ -0,0 +1,52 @@ +From 86ed78676c660b553696cc10c682962522dfeb6c Mon Sep 17 00:00:00 2001 +From: Tomas Mraz <tmraz@fedoraproject.org> +Date: Thu, 12 Sep 2019 12:27:36 +0200 +Subject: [PATCH] BIO_f_zlib: Properly handle BIO_CTRL_PENDING and + BIO_CTRL_WPENDING calls. + +There can be data to write in output buffer and data to read that were +not yet read in the input stream. + +Fixes #9866 + +Reviewed-by: Richard Levitte <levitte@openssl.org> +(Merged from https://github.com/openssl/openssl/pull/9877) + +(cherry picked from commit 6beb8b39ba8e4cb005c1fcd2586ba19e17f04b95) +--- + crypto/comp/c_zlib.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c +index d688deee5f2..7c1be358fd7 100644 +--- a/crypto/comp/c_zlib.c ++++ b/crypto/comp/c_zlib.c +@@ -598,6 +598,28 @@ static long bio_zlib_ctrl(BIO *b, int cmd, long num, void *ptr) + BIO_copy_next_retry(b); + break; + ++ case BIO_CTRL_WPENDING: ++ if (ctx->obuf == NULL) ++ return 0; ++ ++ if (ctx->odone) { ++ ret = ctx->ocount; ++ } else { ++ ret = ctx->ocount; ++ if (ret == 0) ++ /* Unknown amount pending but we are not finished */ ++ ret = 1; ++ } ++ if (ret == 0) ++ ret = BIO_ctrl(next, cmd, num, ptr); ++ break; ++ ++ case BIO_CTRL_PENDING: ++ ret = ctx->zin.avail_in; ++ if (ret == 0) ++ ret = BIO_ctrl(next, cmd, num, ptr); ++ break; ++ + default: + ret = BIO_ctrl(next, cmd, num, ptr); + break; diff --git a/dev-libs/openssl/openssl-1.1.1d.ebuild b/dev-libs/openssl/openssl-1.1.1d-r1.ebuild index dfb4be45e239..b9fd0c73a62b 100644 --- a/dev-libs/openssl/openssl-1.1.1d.ebuild +++ b/dev-libs/openssl/openssl-1.1.1d-r1.ebuild @@ -45,6 +45,7 @@ PDEPEND="app-misc/ca-certificates" PATCHES=( "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602 + "${FILESDIR}"/${P}-fix-zlib.patch ) S="${WORKDIR}/${MY_P}" |