summaryrefslogtreecommitdiff
path: root/dev-libs/openssl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/openssl')
-rw-r--r--dev-libs/openssl/Manifest12
-rw-r--r--dev-libs/openssl/files/openssl-1.1.0h-CVE-2018-0737.patch31
-rw-r--r--dev-libs/openssl/openssl-1.0.2o-r1.ebuild (renamed from dev-libs/openssl/openssl-1.1.0g-r3.ebuild)134
-rw-r--r--dev-libs/openssl/openssl-1.0.2o.ebuild2
-rw-r--r--dev-libs/openssl/openssl-1.1.0h-r1.ebuild (renamed from dev-libs/openssl/openssl-1.1.0h.ebuild)20
5 files changed, 98 insertions, 101 deletions
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index d56af767ccab..1491ccadfeb3 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -6,17 +6,15 @@ AUX openssl-0.9.8m-binutils.patch 684 BLAKE2B 35650e98595910d2e6b6fc846b49fecbb2
AUX openssl-0.9.8z_p8-perl-5.26.patch 310 BLAKE2B 29c46391d127cd2b1cb3943f1bb162a8b931e455f35f9e045372102d1461e3e3fd4cf4e4f544ec06a0b46a573d2009c8decf22678df03707c2487bade64f27b5 SHA512 b8e745ff90e447b000ace9cfd5f746c1bc8f3bb8249064d1d2f1072a1a628f5a89c405c7f384c73f0310f2a2f7af672950a9b7adbc583b1ee94b41d911b8a708
AUX openssl-1.0.2a-x32-asm.patch 1561 BLAKE2B ee5e5b91e4babacff71edf36cce80fbcb2b8dbb9a7ea63a816d3a5de544fbffd8b4216d7a95bd44e718c7a83dd8b8b5ad85caed4205eab5de566b0b7e5054fc1 SHA512 fbb23393e68776e9d34953f85ba3cbb285421d50f06bd297b485c7cffc8d89ca8caff6783f21038ae668b5c75056c89dc652217ac8609b5328e2c28e70ac294c
AUX openssl-1.1.0g-CVE-2017-3738.patch 2317 BLAKE2B 93ec481b15075ecb94c175659314d6e5a90c1a513d8e82948823bce8c51214e7e27f72a56f9043f0771d5458159f1844e4ac8f6d12d0ed78cbc75a1b9630094b SHA512 4b033443d49d385d6ef9e89975af0e1d8108b97d28492239a427ac15ecc4e9c995b6a0df324361baefbe3ae04ecb97508ad7c80eb22b5b4a157a1a1b5c875b61
+AUX openssl-1.1.0h-CVE-2018-0737.patch 996 BLAKE2B 4b4d6e619a508f36f4fdc00c0066d1160ff7f6cd301cd799405d37b3236ebb69b11a4ccf9baa9ea3a69f21c6fe8550b440c1a3503ec27a5a9c5d1e4d472e2b57 SHA512 833712f0ae355aed6547ccf49447d50bdb7be1ea3c3b3b51f182f6e0eb17692c78ca90341a151985b35b86800cf6229926f3e3af936741d437ab9ac5444987c0
DIST openssl-0.9.8zh.tar.gz 3818524 BLAKE2B 610bb4858900983cf4519fa8b63f1e03b3845e39e68884fd8bebd738cd5cd6c2c75513643af49bf9e2294adc446a6516480fe9b62de55d9b6379bf9e7c5cd364 SHA512 b97fa2468211f86c0719c68ad1781eff84f772c479ed5193d6da14bac086b4ca706e7d851209d9df3f0962943b5e5333ab0def00110fb2e517caa73c0c6674c6
DIST openssl-1.0.2-patches-1.0.tar.xz 11572 BLAKE2B bdb9d2b8388f1aadf3a9274133aa8f86b0029fae1ce86d005baa39a7347657f8d4d84395b54e8ccd67944356ee197dfb527f843b4f146e305533e2ad5450721d SHA512 15234ade359a0acf001cf10c7a7fc05f54603a44c67831529c2a6eda03342f9ba1cf40664ac782b5b73c50b23ec5649fb48ccff2aea8f0df2ef634959c47e3e9
DIST openssl-1.0.2-patches-1.2.tar.xz 12208 BLAKE2B 99b7a3538aeeecf8e1939fb08d26e2ce6aa4140488f0f6fc382a4f0dbdd67a0204c4689809e9d170148ad6686d4dbf0c8fc95802712270b0ea5720bc06c8fbbf SHA512 5e5739ab7132e986abe9704739dab2ccd16df9696318ed29762d4ee0245fd2645f9435f7340ba36edd5531a83e48489fc659ad78c09ded0e0d021dd5a3906ea6
+DIST openssl-1.0.2-patches-1.3.tar.xz 12592 BLAKE2B bce0c289ae689091fe62e9c0d7d631cd915fd17beb81b0879931e0414f25c8a08425a08514e28ea7e81c1be23cf162f3bcad7cc3933f2378f53decabd3a7903d SHA512 3ad3efa45eddb733e3db9c406f9f651dbf939bbb13debbcab12b49ecf72490a4868b1563de60ee106483c1b23bd2092fc58c8fc911fe62a019cb97d738163723
DIST openssl-1.0.2n.tar.gz 5375802 BLAKE2B 2e04f8c3d5e2296859b8474d7e100e270f53f18a26c6d37a4cf5e01cd14f44d24d334b4e705da05d77c33b5dc91cffea0feea9f7c83c77ba16c9b6d5f5085894 SHA512 144bf0d6aa27b4af01df0b7b734c39962649e1711554247d42e05e14d8945742b18745aefdba162e2dfc762b941fd7d3b2d5dc6a781ae4ba10a6f5a3cadb0687
DIST openssl-1.0.2o.tar.gz 5329472 BLAKE2B 30226db49be04317da3a76cce68d5aa401decd198f92505bddb0c72a7ef6a79f3c9c06d4a816db734e2a0991ebcab8b207feced26d83639e50c821d9e76ddc45 SHA512 8a2c93657c85143e76785bb32ee836908c31a6f5f8db993fa9777acba6079e630cdddd03edbad65d1587199fc13a1507789eacf038b56eb99139c2091d9df7fd
DIST openssl-1.1.0-build.patch 3028 BLAKE2B f8cf981ed3717af234ce02fa50f27cdbcbf2b766968a5957fc6f0a4ea997549505fa77398444d7f3b9a75f66048447fe62542b9cb1d5f0268add87c44915a6fd SHA512 b19a912900970052f80c67f28975e793ae9e70ebfc62efae0544e09931079e98c4cd29ce1cc8d937ceca97aff9a12fdc1ff9ce6c2b47fea68c79e7065464a0f0
DIST openssl-1.1.0-ec-curves.patch 2967 BLAKE2B 1c639514445ea85cf731732aa7901b5a03ddb5f637b0483ab2ec6825433ad978723c5a07316db684bdaca4a12fc673b4e049a49c0cd4dbe5f25a5e2bd3b75cf5 SHA512 8fb9c6759ae2077ad3697ba77e85ab3970fd8b3f64b21eb260b4f6333b7ebf2f5a53c7eee311229edfbd96a2b904ec5e5e00dfa5b62cf1105fece13069077bd2
-DIST openssl-1.1.0g.tar.gz 5404748 BLAKE2B 23daf80e4143aad4654ae86f8e96042dd7328a9d1186b4922e284fcfe0f68259ea12d21c4472d92d65a7fcef21e049cf9371cc9bdad11b66a3df11286418ed42 SHA512 6c76f698fc2a4540f3977d97c889e139acf7d3f9eb85f349974175e8a7707b19743ef91c5ce32839310b6ea06ca88a03d9709ee011687b4634c5c50b5814f42a
-DIST openssl-1.1.0g_ec_curve.c 18393 BLAKE2B 49dca7ddbc23270e5927454925df7bb18c8d9eb58f79e3a4fbcd8b7fc22fad36e2cb54ff9b63c2beeeea15c0c075a96e4ce8d03991355419af41fa9dc2aed3ad SHA512 ee3e576825bccdf02cede4205ab92c42ae9dd3a8e75ce58617a3a5980a61d144eb3c5197d9dcd378a5d49bf34c4b2f591aa6a619fee92b7a22825d72681ab879
-DIST openssl-1.1.0g_ectest.c 29907 BLAKE2B 73dc800c1de5449f14d7753f7f7b8e672cd36bd4570e6df07f246d1d823c7dbbeef492f25cdd0ebfd693f5956732bc84c9d91fc6a22c854fe4b245ecf3890bda SHA512 90cec9d46326cb7216236811c8e963032b6fa7500117cea36f28534eb50a5ab1260c7f9a5c8c490d845236b0769576a8d97bc7471f970e9c5e70cb3408c20dae
-DIST openssl-1.1.0g_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826
DIST openssl-1.1.0h.tar.gz 5422717 BLAKE2B 11de1468855c0bb1836fb346c8efdfedd06139a774fc4dbae1b0e95fea7a33aa39b541e3d2d27f83f2b5f4dd3846cca2356020aa6ec81793085842ab78b3a127 SHA512 fb7750fcd98e6126eb5b92e7ed63d811a5cfa3391d98572003d925f6c7b477690df86a9aa1fa6bf6bf33d02c6c7aee6cff50a38faa8911409f310645898fda39
DIST openssl-1.1.0h_ec_curve.c 18393 BLAKE2B 49dca7ddbc23270e5927454925df7bb18c8d9eb58f79e3a4fbcd8b7fc22fad36e2cb54ff9b63c2beeeea15c0c075a96e4ce8d03991355419af41fa9dc2aed3ad SHA512 ee3e576825bccdf02cede4205ab92c42ae9dd3a8e75ce58617a3a5980a61d144eb3c5197d9dcd378a5d49bf34c4b2f591aa6a619fee92b7a22825d72681ab879
DIST openssl-1.1.0h_ectest.c 29907 BLAKE2B 73dc800c1de5449f14d7753f7f7b8e672cd36bd4570e6df07f246d1d823c7dbbeef492f25cdd0ebfd693f5956732bc84c9d91fc6a22c854fe4b245ecf3890bda SHA512 90cec9d46326cb7216236811c8e963032b6fa7500117cea36f28534eb50a5ab1260c7f9a5c8c490d845236b0769576a8d97bc7471f970e9c5e70cb3408c20dae
@@ -24,7 +22,7 @@ DIST openssl-1.1.0h_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131e
EBUILD openssl-0.9.8z_p8-r1.ebuild 5067 BLAKE2B bbe98db5565577ca9bffa9224a8e1ac2903ec8fdadf23b2f59a8b82a7e71c2c4fb049abdd64ba00966ffbe037f7f9d396667ee61f548c6b4415ed9d055c49602 SHA512 c747f5f2dabd1705cb3dea9f22c5999dca4afab0623eae581137efbb537402cace75a76f3b7751809108fe00959e7b4d30475a6b9002291804149a78bb4e332b
EBUILD openssl-0.9.8z_p8.ebuild 4990 BLAKE2B 58f2db31a50db3b2053a0d375eb40efbb78cd0f593f0ae2ea8a86c7d477385291e3b40407cefde9dd80e087ca9ef35bbd220e74762fb3d2a36834b3dec019ab0 SHA512 3d2236951d4fabdf29493d5dfe5a104aa32bbc938a003f3b46d793873da6cfb513408b321a96adc3f2b23630e7ef1aa84f61171024d6effdf72c9f57eff28282
EBUILD openssl-1.0.2n.ebuild 8029 BLAKE2B 03b66a7d81e954f811b87314dd56bce86ba3e2dd4b15678d3a72ee40f03cf8d27fe70493c0727c640c96cf21dcab8b8a6a0f022af8505d68f49e6e024d2166c5 SHA512 0da731451be5903656e4035f7eb30b1565b0b5a9fe277e300e9272bc2bebcd97a1043a5e8ebcf62808f50e7a2f8c9433e15f4a6fa44aa86d5efee94fffce8a54
-EBUILD openssl-1.0.2o.ebuild 8035 BLAKE2B 9f9e9859e7b1996b804e475b60079416e00fdaa9a6e63a07aacd3262202c4924e8798c4ccbea26912ba1e4da688e632780a873e8468fde0e4a106d4ce04f939d SHA512 aa5ce464c717c3014983c045990f59ee831d39c0086ca0ebdcc8e17b997b3bf68408b8e29a2482c1cea81297d97b2e45b2333e0978a786ed8ee5e03c0ee7fa3a
-EBUILD openssl-1.1.0g-r3.ebuild 9123 BLAKE2B ed3a8a8bbbfeadecba97d3a3724b7013967ace24b8a2de53ec8824638ed342e688c411f5edad812f21340a6a42632768c0537edd3d2ae88e9b8f2947fb2ac917 SHA512 422f242d0ad025bf204baa377395f7e57c514c42eb137bf6d75266b9bc97c64f85225f7a1b77881a67e8b2185ad963443bde55c5465aa50eef91d00037c7b92b
-EBUILD openssl-1.1.0h.ebuild 9060 BLAKE2B a826a13c07eb8781e8de306aaaa211688017cd5d9b0ef76a51e4d347bda1c4c7b7e9bd544c10a3724288f2737093527da1585e6c0379f42ae18f78f17722f208 SHA512 8180398aed74bb25baa456d1e993c96af0b0ea4b3f5fc23daaf6d5c6a961c4e4f28f23c67584b871a03a7d98b8d322fec657e7109da619194a23a8df18f46b10
+EBUILD openssl-1.0.2o-r1.ebuild 8042 BLAKE2B 8e8f266dad8dac9192f3484d3334a2253c23858e9fadc7cb20e3c1d9742c65e9b1f072cc65ba82f329c94b45d8bdaf33576cfba90ff13bdaf65535910f867a03 SHA512 af301ed141db94a1a3095458219ac1daf1b9d0fb9d9bb0dddfb01249fe436d64f9e0adba83f3ef818952397d39755dd413bd2d8e8c4f9dd31024107d5c1e40b4
+EBUILD openssl-1.0.2o.ebuild 8034 BLAKE2B 8cbec51376dd42bca5f1d766228c1f0b2f6bb07aabd86b7c528fa6ee101b3051b916878c529028a666cb1e53fd941d70b7def83d6494c52ecd97c9b68273c132 SHA512 3d53563596f4c3e8a39affeae274a919d036fd25a328c1671046c3858bc096df98f2ca843633554a609f7def5ba6df05c10088d4191f593a645f3b2b3a79ad46
+EBUILD openssl-1.1.0h-r1.ebuild 9158 BLAKE2B c0c4257218e9ef0a2460d5b19a9d43741d3c67a4cbed2714f352951c6d051973a6851bb9a33733e539ad98f0f5be6051b4da157adb421fb79704f995b119f894 SHA512 b1e6dec42afd6c9ca00697cc7942c6b192aebf6ef914c45949c8e3592a11162ce3954b07b484166331035ce421a4dd0a6d463652ab21c25fb3bcfc14239a4cac
MISC metadata.xml 1273 BLAKE2B 8eb61c2bfd56f428fa4c262972c0b140662a68c95fdf5e3101624b307985f83dc6d757fc13565e467c99188de93d90ec2db6de3719e22495da67155cbaa91aa9 SHA512 3ffb56f8bc35d71c2c67b4cb97d350825260f9d78c97f4ba9462c2b08b8ef65d7f684139e99bb2f7f32698d3cb62404567b36ce849e7dc4e7f7c5b6367c723a7
diff --git a/dev-libs/openssl/files/openssl-1.1.0h-CVE-2018-0737.patch b/dev-libs/openssl/files/openssl-1.1.0h-CVE-2018-0737.patch
new file mode 100644
index 000000000000..34c9cc02fa71
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.1.0h-CVE-2018-0737.patch
@@ -0,0 +1,31 @@
+From 349a41da1ad88ad87825414752a8ff5fdd6a6c3f Mon Sep 17 00:00:00 2001
+From: Billy Brumley <bbrumley@gmail.com>
+Date: Wed, 11 Apr 2018 10:10:58 +0300
+Subject: [PATCH] RSA key generation: ensure BN_mod_inverse and BN_mod_exp_mont
+ both get called with BN_FLG_CONSTTIME flag set.
+
+CVE-2018-0737
+
+Reviewed-by: Rich Salz <rsalz@openssl.org>
+Reviewed-by: Matt Caswell <matt@openssl.org>
+(cherry picked from commit 6939eab03a6e23d2bd2c3f5e34fe1d48e542e787)
+---
+ crypto/rsa/rsa_gen.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/crypto/rsa/rsa_gen.c b/crypto/rsa/rsa_gen.c
+index 9ca5dfe..42b89a8 100644
+--- a/crypto/rsa/rsa_gen.c
++++ b/crypto/rsa/rsa_gen.c
+@@ -156,6 +156,8 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value,
+ if (BN_copy(rsa->e, e_value) == NULL)
+ goto err;
+
++ BN_set_flags(rsa->p, BN_FLG_CONSTTIME);
++ BN_set_flags(rsa->q, BN_FLG_CONSTTIME);
+ BN_set_flags(r2, BN_FLG_CONSTTIME);
+ /* generate p and q */
+ for (;;) {
+--
+2.7.4
+
diff --git a/dev-libs/openssl/openssl-1.1.0g-r3.ebuild b/dev-libs/openssl/openssl-1.0.2o-r1.ebuild
index 61e2b4b945c6..256e230d7cfb 100644
--- a/dev-libs/openssl/openssl-1.1.0g-r3.ebuild
+++ b/dev-libs/openssl/openssl-1.0.2o-r1.ebuild
@@ -5,19 +5,24 @@ EAPI="6"
inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+PATCH_SET="openssl-1.0.2-patches-1.3"
MY_P=${P/_/-}
DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
-HOMEPAGE="http://www.openssl.org/"
-SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
+HOMEPAGE="https://www.openssl.org/"
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
+ mirror://gentoo/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz"
LICENSE="openssl"
-SLOT="0/1.1" # .so version of libssl/libcrypto
+SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
-IUSE="+asm bindist elibc_musl rfc3779 sctp cpu_flags_x86_sse2 static-libs test tls-heartbeat vanilla zlib"
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
RESTRICT="!bindist? ( bindist )"
RDEPEND=">=app-misc/c_rehash-1.7-r1
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
+ gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
>=dev-lang/perl-5
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
@@ -27,56 +32,13 @@ DEPEND="${RDEPEND}
)"
PDEPEND="app-misc/ca-certificates"
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f27'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
S="${WORKDIR}/${MY_P}"
MULTILIB_WRAPPED_HEADERS=(
usr/include/openssl/opensslconf.h
)
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
- "${FILESDIR}"/${PN}-1.1.0g-CVE-2017-3738.patch
-)
-
src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
- for i in "${FEDORA_PATCH[@]}" ; do
- epatch "${DISTDIR}"/"${i}"
- done
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
-
- fi
# keep this in sync with app-misc/c_rehash
SSL_CNF_DIR="/etc/ssl"
@@ -85,26 +47,30 @@ src_prepare() {
rm -f Makefile
if ! use vanilla ; then
- epatch "${PATCHES[@]}"
+ eapply "${WORKDIR}"/patch/*.patch
fi
- eapply_user #332661
+ eapply_user
+ # disable fips in the build
# make sure the man pages are suffixed #302165
# don't bother building man pages if they're disabled
- # Make DOCDIR Gentoo compliant
sed -i \
+ -e '/DIRS/s: fips : :g' \
-e '/^MANSUFFIX/s:=.*:=ssl:' \
-e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
-e $(has noman FEATURES \
&& echo '/^install:/s:install_docs::' \
|| echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
- -e "/^DOCDIR/s@\$(BASENAME)@&-${PF}@" \
- Configurations/unix-Makefile.tmpl \
+ Makefile.org \
|| die
-
# show the actual commands in the log
- sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
# quiet out unknown driver argument warnings since openssl
# doesn't have well-split CFLAGS and we're making it even worse
@@ -113,22 +79,13 @@ src_prepare() {
# allow openssl to be cross-compiled
cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config
+ chmod a+rx gentoo.config || die
append-flags -fno-strict-aliasing
append-flags $(test-flags-CC -Wa,--noexecstack)
append-cppflags -DOPENSSL_NO_BUF_FREELISTS
- # Prefixify Configure shebang (#141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
# The config script does stupid stuff to prompt the user. Kill it.
sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
./config --test-sanity || die "I AM NOT SANE"
@@ -166,32 +123,35 @@ multilib_src_configure() {
# fi
#fi
+ # https://github.com/openssl/openssl/issues/2286
+ if use ia64 ; then
+ replace-flags -g3 -g2
+ replace-flags -ggdb3 -ggdb2
+ fi
+
local sslout=$(./gentoo.config)
einfo "Use configuration ${sslout:-(openssl knows best)}"
local config="Configure"
[[ -z ${sslout} ]] && config="config"
- # Fedora hobbled-EC needs 'no-ec2m'
- # 'srp' was restricted until early 2017 as well.
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
echoit \
./${config} \
${sslout} \
- --api=1.0.0 \
$(use cpu_flags_x86_sse2 || echo "no-sse2") \
enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
+ $(use_ssl !bindist ec) \
${ec_nistp_64_gcc_128} \
enable-idea \
enable-mdc2 \
enable-rc5 \
+ enable-tlsext \
$(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
$(use_ssl rfc3779) \
$(use_ssl sctp) \
+ $(use_ssl sslv2 ssl2) \
+ $(use_ssl sslv3 ssl3) \
$(use_ssl tls-heartbeat heartbeats) \
$(use_ssl zlib) \
--prefix="${EPREFIX}"/usr \
@@ -201,19 +161,17 @@ multilib_src_configure() {
|| die
# Clean out hardcoded flags that openssl uses
- # Fix quoting for sed
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
+ local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
-e 's:-fomit-frame-pointer ::g' \
-e 's:-O[0-9] ::g' \
-e 's:-march=[-a-z0-9]* ::g' \
-e 's:-mcpu=[-a-z0-9]* ::g' \
-e 's:-m[a-z0-9]* ::g' \
- -e 's:\\:\\\\:g' \
)
sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
+ -e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
+ -e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
Makefile || die
}
@@ -222,6 +180,9 @@ multilib_src_compile() {
# that it's -j1 as the code itself serializes subdirs
emake -j1 depend
emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
}
multilib_src_test() {
@@ -229,7 +190,7 @@ multilib_src_test() {
}
multilib_src_install() {
- emake DESTDIR="${D}" install
+ emake INSTALL_PREFIX="${D}" install
}
multilib_src_install_all() {
@@ -237,7 +198,10 @@ multilib_src_install_all() {
# we provide a shell version via app-misc/c_rehash
rm "${ED}"/usr/bin/c_rehash || die
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
+ local -a DOCS=( CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el )
+ einstalldocs
+
+ use rfc3779 && dodoc engines/ccgost/README.gost
# This is crappy in that the static archives are still built even
# when USE=static-libs. But this is due to a failing in the openssl
@@ -247,7 +211,9 @@ multilib_src_install_all() {
use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
# create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
# Namespace openssl programs to prevent conflicts with other man pages
cd "${ED}"/usr/share/man
diff --git a/dev-libs/openssl/openssl-1.0.2o.ebuild b/dev-libs/openssl/openssl-1.0.2o.ebuild
index b19312505a65..0c7d4a84c0d9 100644
--- a/dev-libs/openssl/openssl-1.0.2o.ebuild
+++ b/dev-libs/openssl/openssl-1.0.2o.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
LICENSE="openssl"
SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
RESTRICT="!bindist? ( bindist )"
diff --git a/dev-libs/openssl/openssl-1.1.0h.ebuild b/dev-libs/openssl/openssl-1.1.0h-r1.ebuild
index e3426c78ba39..6e38d19eaf54 100644
--- a/dev-libs/openssl/openssl-1.1.0h.ebuild
+++ b/dev-libs/openssl/openssl-1.1.0h-r1.ebuild
@@ -3,7 +3,7 @@
EAPI="6"
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+inherit flag-o-matic toolchain-funcs multilib multilib-minimal
MY_P=${P/_/-}
DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
@@ -56,6 +56,7 @@ MULTILIB_WRAPPED_HEADERS=(
PATCHES=(
"${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
+ "${FILESDIR}"/${P}-CVE-2018-0737.patch
)
src_prepare() {
@@ -69,7 +70,7 @@ src_prepare() {
cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
for i in "${FEDORA_PATCH[@]}" ; do
- epatch "${DISTDIR}"/"${i}"
+ eapply "${DISTDIR}"/"${i}"
done
# Also see the configure parts below:
# enable-ec \
@@ -84,7 +85,7 @@ src_prepare() {
rm -f Makefile
if ! use vanilla ; then
- epatch "${PATCHES[@]}"
+ eapply "${PATCHES[@]}"
fi
eapply_user #332661
@@ -103,7 +104,7 @@ src_prepare() {
|| die
# show the actual commands in the log
- sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared
+ sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared || die
# quiet out unknown driver argument warnings since openssl
# doesn't have well-split CFLAGS and we're making it even worse
@@ -112,7 +113,7 @@ src_prepare() {
# allow openssl to be cross-compiled
cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config
+ chmod a+rx gentoo.config || die
append-flags -fno-strict-aliasing
append-flags $(test-flags-CC -Wa,--noexecstack)
@@ -233,7 +234,7 @@ multilib_src_install() {
multilib_src_install_all() {
# openssl installs perl version of c_rehash by default, but
# we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
+ rm "${ED%/}"/usr/bin/c_rehash || die
dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
@@ -242,13 +243,13 @@ multilib_src_install_all() {
# build system: the static archives are built as PIC all the time.
# Only way around this would be to manually configure+compile openssl
# twice; once with shared lib support enabled and once without.
- use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
+ use static-libs || rm -f "${ED%/}"/usr/lib*/lib*.a
# create the certs directory
keepdir ${SSL_CNF_DIR}/certs
# Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man
+ cd "${ED%/}"/usr/share/man || die
local m d s
for m in $(find . -type f | xargs grep -L '#include') ; do
d=${m%/*} ; d=${d#./} ; m=${m##*/}
@@ -263,6 +264,7 @@ multilib_src_install_all() {
for s in $(find -L ${d} -type l) ; do
s=${s##*/}
rm -f ${d}/${s}
+ # We don't want to "|| die" here
ln -s ssl-${m} ${d}/ssl-${s}
ln -s ssl-${s} ${d}/openssl-${s}
done
@@ -270,7 +272,7 @@ multilib_src_install_all() {
[[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
dodir /etc/sandbox.d #254521
- echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED%/}"/etc/sandbox.d/10openssl
diropts -m0700
keepdir ${SSL_CNF_DIR}/private