net-libs/libssh: Security bump to version 0.9.3 (CVE-2019-14889)
authorLars Wendler <polynomial-c@gentoo.org>
Thu, 12 Dec 2019 17:00:22 +0000 (18:00 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Thu, 12 Dec 2019 17:00:51 +0000 (18:00 +0100)
Bug: https://bugs.gentoo.org/701598
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
net-libs/libssh/Manifest
net-libs/libssh/libssh-0.9.3.ebuild [new file with mode: 0644]

index 38232228d2ca12194f0e1187cce1d2e39e2dc48b..699fef0103e4a798ad3d7b5aadb412b41a491337 100644 (file)
@@ -1,2 +1,3 @@
 DIST libssh-0.9.0.tar.xz 487628 BLAKE2B 43c9c889160089f8ab4ce9d486e1892ef9fb7941d7473baf2c27e3fe05da0299bd8a7fa5c4392f24411ec0970f61fc302fbe18b8c807efe07d65f6fc326467e3 SHA512 8c91b31e49652d93c295ca62c2ff1ae30f26c263195a8bc2390e44f6e688959507f609125d342ee8180fc03cec2d73258ac72f864696281b53ba9ad244060865
 DIST libssh-0.9.2.tar.xz 495876 BLAKE2B 82bdf6edcd99b49717c0f0d01c308422e0c7838828efd4958bb62516dd504069df09f007ab38fcac6fe501eb8270728691944f868cc285a63ddbc2adf6f2cb79 SHA512 93b689cd7f3bd32716d7821219e25f91214f71be3867c622ae0ae73cdb2d20af2daa9c3c8180b71434915154f2bc374df7193b3a67a9b9e8bf06e955419285d0
+DIST libssh-0.9.3.tar.xz 500068 BLAKE2B 9532db5f0fd9a6f4167f57dc25a1131f7483aff2f0fa659d967b21a7eff8507843c09dae1fe8161c9b41aed1bb1dae6d619a35122812d3d9b4c71f78ff1817e2 SHA512 6e59718565daeca6d224426cc1095a112deff9af8e0b021917e04f08bb7409263c35724de95f591f38e26f0fb3bbbbc69b679b6775edc21dec158d241b076c6f
diff --git a/net-libs/libssh/libssh-0.9.3.ebuild b/net-libs/libssh/libssh-0.9.3.ebuild
new file mode 100644 (file)
index 0000000..dc04b6a
--- /dev/null
@@ -0,0 +1,116 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-multilib
+
+DESCRIPTION="Access a working SSH implementation by means of a library"
+HOMEPAGE="https://www.libssh.org/"
+
+if [[ "${PV}" == *9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://git.libssh.org/projects/libssh.git"
+else
+       SRC_URI="https://www.libssh.org/files/$(ver_cut 1-2)/${P}.tar.xz"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/4" # subslot = soname major version
+IUSE="debug doc examples gcrypt gssapi libressl mbedtls pcap server +sftp static-libs test zlib"
+# Maintainer: check IUSE-defaults at DefineOptions.cmake
+
+REQUIRED_USE="?? ( gcrypt mbedtls ) test? ( static-libs )"
+
+BDEPEND="
+       doc? ( app-doc/doxygen[dot] )
+"
+RDEPEND="
+       !gcrypt? (
+               !mbedtls? (
+                       !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+                       libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
+               )
+       )
+       gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] )
+       gssapi? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+       mbedtls? ( net-libs/mbedtls[${MULTILIB_USEDEP}] )
+       zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+       test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
+"
+
+DOCS=( AUTHORS README ChangeLog )
+
+PATCHES=( "${FILESDIR}/${PN}-0.8.0-tests.patch" )
+
+RESTRICT+=" !test? ( test )"
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # just install the examples, do not compile them
+       cmake_comment_add_subdirectory examples
+
+       # keyfile torture test is currently broken
+       sed -e "/torture_keyfiles/d" \
+               -i tests/unittests/CMakeLists.txt || die
+
+       # disable tests that take too long (bug #677006)
+       if use sparc; then
+               sed -e "/torture_threads_pki_rsa/d" -e "/torture_pki_dsa/d" \
+                       -i tests/unittests/CMakeLists.txt || die
+       fi
+
+       sed -e "/^check_include_file.*HAVE_VALGRIND_VALGRIND_H/s/^/#DONT /" \
+               -i ConfigureChecks.cmake || die
+}
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DWITH_NACL=OFF
+               -DWITH_STACK_PROTECTOR=OFF
+               -DWITH_STACK_PROTECTOR_STRONG=OFF
+               -DWITH_DEBUG_CALLTRACE="$(usex debug)"
+               -DWITH_DEBUG_CRYPTO="$(usex debug)"
+               -DWITH_GCRYPT="$(usex gcrypt)"
+               -DWITH_GSSAPI="$(usex gssapi)"
+               -DWITH_MBEDTLS="$(usex mbedtls)"
+               -DWITH_PCAP="$(usex pcap)"
+               -DWITH_SERVER="$(usex server)"
+               -DWITH_SFTP="$(usex sftp)"
+               -DBUILD_SHARED_LIBS="$(usex !static-libs)"
+               -DUNIT_TESTING="$(usex test)"
+               -DWITH_ZLIB="$(usex zlib)"
+       )
+
+       multilib_is_native_abi || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON )
+
+       cmake-utils_src_configure
+}
+
+multilib_src_compile() {
+       cmake-utils_src_compile
+       multilib_is_native_abi && use doc && cmake-utils_src_compile docs
+}
+
+multilib_src_install() {
+       cmake-utils_src_install
+       multilib_is_native_abi && use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+
+       # compatibility symlink until all consumers have been updated
+       # to no longer use libssh_threads.so
+       dosym libssh.so /usr/$(get_libdir)/libssh_threads.so
+}
+
+multilib_src_install_all() {
+       use mbedtls && DOCS+=( README.mbedtls )
+       einstalldocs
+
+       if use examples; then
+               docinto examples
+               dodoc examples/*.{c,h,cpp}
+       fi
+}