diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-04-19 14:14:48 +0100 |
commit | 5cfef3c94cd7e82136c69a0322f5ba21f7e64632 (patch) | |
tree | 8f255dfacbacb657e3ac3654d01c1e11e651c066 /dev-libs/openssl | |
parent | 8aebb228036d5e2863b7eaa6e319ab41c1669269 (diff) |
gentoo resync : 19.04.2018
Diffstat (limited to 'dev-libs/openssl')
-rw-r--r-- | dev-libs/openssl/Manifest | 12 | ||||
-rw-r--r-- | dev-libs/openssl/files/openssl-1.1.0h-CVE-2018-0737.patch | 31 | ||||
-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.ebuild | 2 | ||||
-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 |