public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2016-02-27  7:44 Jeroen Roovers
  0 siblings, 0 replies; 9+ messages in thread
From: Jeroen Roovers @ 2016-02-27  7:44 UTC (permalink / raw
  To: gentoo-commits

commit:     e49aa71844018901ffc7a641855693742ac5fa96
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 27 07:42:16 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Feb 27 07:42:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e49aa718

net-libs/libssh: Store patch locally instead of hot-linking.

Package-Manager: portage-2.2.27

 net-libs/libssh/Manifest                           |  1 -
 .../libssh/files/libssh-0.6.5-compilefix.patch     | 29 ++++++++++++++++++++++
 net-libs/libssh/libssh-0.6.5.ebuild                |  5 ++--
 3 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index a35a89f..c94a38d 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,4 +1,3 @@
-DIST libssh-0.6.5-compilefix.patch 737 SHA256 952c6a617791c35fe8d44a47d1252aebd2d844f40480170b14391c80f2092fff SHA512 fa9d8322778ca93b6ae62e0012722a2df94179891f5bafefc67a7502f4bc96ec86768e07f374f37486641614298472227eb48aa5747dabf840636e9f1ce9cbde WHIRLPOOL 575bca37a3dbe892e44b362c02f370cc13f94ef2706c435a9d3e2604941cece285637dd6831c27337ab5fc76c4e8588092f106e2ea963dc15d46129cecd1f2cb
 DIST libssh-0.6.5.tar.xz 281564 SHA256 0fd52763e033d5e9b1cd55f60a74e619731c5ba630938eec95682dbe4cf7dc2c SHA512 55d614ff311a29a20b93094ac1dd16a2ad1345368b874a0e385f0c235e8defde8816948ab04eab68ade477a0a6901b317c7884df1ba3078cf12db89dfc4169cc WHIRLPOOL 9801eee45a178306b0645d75c268df381d206a8c566695d8b6c228ea7f5638a313bdbdf990ad7bd299c24d280595007b44fd16449ee3a0643b6e2084bb148d09
 DIST libssh-0.7.2.tar.xz 350540 SHA256 a32c45b9674141cab4bde84ded7d53e931076c6b0f10b8fd627f3584faebae62 SHA512 9cb15254478e2522e736688052e0862c856e2c1321d090c9b9d9562504fcb59cee344c07576eeee9c6d0ac5ead137d9ff05216d973c457c6a17ffa9fba475f5a WHIRLPOOL bf878264b900bfbbfe76f08d1c22e5ca2f1300024fc561841ed3fbef374ceab7a08ba0211c093d90d7e4047a896cce9f73e78268300362beaec194025eda1ed8
 DIST libssh-0.7.3.tar.xz 350464 SHA256 26ef46be555da21112c01e4b9f5e3abba9194485c8822ab55ba3d6496222af98 SHA512 6797ea9492c9d07e0169163e6559a7880dd368ee763eff297b3cbddda5e892703cf32506f9513e7d9b5135984e1e888c4893b342df07da1b7ee30968c9185869 WHIRLPOOL f22c3f4ef8c3cbf4e93c5603224ae4d0f598639a471bc002c0917243c487e1de61a79db09308bcb570791cd1ab3b95f43d44f92652a7f0ec596d552cab0031c5

diff --git a/net-libs/libssh/files/libssh-0.6.5-compilefix.patch b/net-libs/libssh/files/libssh-0.6.5-compilefix.patch
new file mode 100644
index 0000000..658c159
--- /dev/null
+++ b/net-libs/libssh/files/libssh-0.6.5-compilefix.patch
@@ -0,0 +1,29 @@
+From 6e0dee7845cea22f59bd353ef42b31cb67170030 Mon Sep 17 00:00:00 2001
+From: Andreas Schneider <asn@cryptomilk.org>
+Date: Thu, 2 Apr 2015 15:02:29 +0200
+Subject: poll: Fix compilation with struct ssh_timestamp
+
+Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
+(cherry picked from commit e0a73d3dbe909f8e2cb486ed344e5beb8148032e)
+---
+ src/poll.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/poll.c b/src/poll.c
+index dfa687a..05faba7 100644
+--- a/src/poll.c
++++ b/src/poll.c
+@@ -35,9 +35,9 @@
+ #include "libssh/poll.h"
+ #include "libssh/socket.h"
+ #include "libssh/session.h"
++#include "libssh/misc.h"
+ #ifdef WITH_SERVER
+ #include "libssh/server.h"
+-#include "libssh/misc.h"
+ #endif
+ 
+ 
+-- 
+cgit v0.12
+

diff --git a/net-libs/libssh/libssh-0.6.5.ebuild b/net-libs/libssh/libssh-0.6.5.ebuild
index 46cce2b..30b9ff4 100644
--- a/net-libs/libssh/libssh-0.6.5.ebuild
+++ b/net-libs/libssh/libssh-0.6.5.ebuild
@@ -9,8 +9,7 @@ inherit eutils cmake-multilib multilib
 
 DESCRIPTION="Access a working SSH implementation by means of a library"
 HOMEPAGE="http://www.libssh.org/"
-SRC_URI="https://red.libssh.org/attachments/download/121/${MY_P}.tar.xz -> ${P}.tar.xz
-	https://git.libssh.org/projects/libssh.git/patch/?id=6e0dee7845cea22f59bd353ef42b31cb67170030 -> ${PN}-0.6.5-compilefix.patch"
+SRC_URI="https://red.libssh.org/attachments/download/121/${MY_P}.tar.xz -> ${P}.tar.xz"
 
 LICENSE="LGPL-2.1"
 KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
@@ -35,7 +34,7 @@ S=${WORKDIR}/${MY_P}
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-0.5.0-tests.patch
-	"${DISTDIR}"/${P}-compilefix.patch
+	"${FILESDIR}"/${P}-compilefix.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2018-10-02 13:33 Jeroen Roovers
  0 siblings, 0 replies; 9+ messages in thread
From: Jeroen Roovers @ 2018-10-02 13:33 UTC (permalink / raw
  To: gentoo-commits

commit:     c191801ff491f6e9058e7c2fc511c9672b04f1dc
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  2 13:32:01 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Tue Oct  2 13:33:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c191801f

net-libs/libssh: Fix compile error on HPPA

Package-Manager: Portage-2.3.50, Repoman-2.3.11
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 .../files/libssh-0.8.3-strict-overflow.patch       |  21 ++++
 net-libs/libssh/libssh-0.8.3-r1.ebuild             | 111 +++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch b/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch
new file mode 100644
index 00000000000..93b15ec061b
--- /dev/null
+++ b/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch
@@ -0,0 +1,21 @@
+Neither i nor j are ever counted downward for the array pointers, so assume
+they were intended to be signed integers.
+
+Fixes a compiler warning on HPPA triggering an error because of
+-Werror=strict-overflow -Wstrict-overflow=2:
+
+src/connect.c:509:7: error: assuming signed overflow does not occur when
+simplifying conditional to constant [-Werror=strict-overflow]
+     if(j != 0)
+	        ^
+--- a/src/connect.c
++++ b/src/connect.c
+@@ -471,7 +471,7 @@
+     fd_set *readfds, struct timeval *timeout) {
+   fd_set origfds;
+   socket_t fd;
+-  int i,j;
++  unsigned int i,j;
+   int rc;
+   int base_tm, tm;
+   struct ssh_timestamp ts;

diff --git a/net-libs/libssh/libssh-0.8.3-r1.ebuild b/net-libs/libssh/libssh-0.8.3-r1.ebuild
new file mode 100644
index 00000000000..7b660604f3a
--- /dev/null
+++ b/net-libs/libssh/libssh-0.8.3-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN}-${PV/_rc/rc}"
+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
+	inherit eapi7-ver
+	SRC_URI="https://www.libssh.org/files/$(ver_cut 1-2)/${MY_P}.tar.xz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~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 )"
+
+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}
+	doc? ( app-doc/doxygen[dot] )
+	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
+"
+
+DOCS=( AUTHORS README ChangeLog )
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.8.0-tests.patch"
+	"${FILESDIR}/${PN}-0.8.3-strict-overflow.patch"
+)
+
+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 -i \
+		-e '/torture_keyfiles/d' \
+		tests/unittests/CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+	local mycmakeargs=(
+		-DUNIT_TESTING="$(usex test)"
+		-DWITH_DEBUG_CALLTRACE="$(usex debug)"
+		-DWITH_DEBUG_CRYPTO="$(usex debug)"
+		-DWITH_GCRYPT="$(usex gcrypt)"
+		-DWITH_GSSAPI="$(usex gssapi)"
+		-DWITH_MBEDTLS="$(usex mbedtls)"
+		-DWITH_NACL=no
+		-DWITH_PCAP="$(usex pcap)"
+		-DWITH_SERVER="$(usex server)"
+		-DWITH_SFTP="$(usex sftp)"
+		-DWITH_STACK_PROTECTOR=OFF
+		-DWITH_STACK_PROTECTOR_STRONG=OFF
+		-DWITH_STATIC_LIB="$(usex static-libs)"
+		-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
+	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
+}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2018-10-31 18:15 Andreas Sturmlechner
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2018-10-31 18:15 UTC (permalink / raw
  To: gentoo-commits

commit:     a06e9e74689c4f3bc82716c870d9502b1349dc71
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 31 18:13:40 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 31 18:13:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a06e9e74

net-libs/libssh: Security cleanup

Bug: https://bugs.gentoo.org/668788
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 net-libs/libssh/Manifest                           |   2 -
 net-libs/libssh/files/libssh-0.5.0-tests.patch     |  11 --
 .../files/libssh-0.7.5-add-macro-for-MAX.patch     |  30 ----
 .../libssh-0.7.5-fix-config-buffer-underflow.patch |  25 ----
 .../files/libssh-0.7.5-fix-config-parsing.patch    |  32 -----
 .../libssh-0.7.5-fix-internal-algo-selection.patch | 156 ---------------------
 net-libs/libssh/libssh-0.7.4.ebuild                | 100 -------------
 net-libs/libssh/libssh-0.7.5-r2.ebuild             | 103 --------------
 net-libs/libssh/metadata.xml                       |   1 -
 9 files changed, 460 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index c0cd95c47bb..76c95b0b2c8 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,4 +1,2 @@
-DIST libssh-0.7.4.tar.xz 351892 BLAKE2B 5427faa04eac7b57f73909f113d933daf667f8311c30364bbf06d4f01121a58f5b560e0a1d9071655ce9b310fa3f3f801e11e880ca3eacde66efa0f49dc51b2b SHA512 94b8183e5c83e339303c1a160c92ccff6159471ac7d189ab66cf6d606d2e803fd616519f079aef1577c947d3a14e315332b05ea08e44d0ab550edbcb768dbea7
-DIST libssh-0.7.5.tar.xz 351632 BLAKE2B b41cccb6215c5b7e66742171d91e1081d3c1bf44455b65a5992093d31b28db7a6375e815303e115e02b2458c734d9c61e4b1528ba905bf8a421ca2bbb7221ce6 SHA512 6c7f539899caaedf13d66fa2e0fac1a475ecdfe389131abcbdf908bdebc50a0b9e6b0d43e67e52aea85c32f6aa68e46ca2f50695992f82ded83489f445a8e775
 DIST libssh-0.8.4.tar.xz 425848 BLAKE2B 8ca913e4c9e2ffa231bb437ac6a4de695bbdf8720a7619f3fc310a3d724cb7e85bcf81d31761c3fe4e3c29010b67d3fc81cf391d5c2f7e051cb8cc2400763248 SHA512 73d685bab2e88ff6b03c95cc13f1bd341bce4c527353c7e4870865d236cfbe23dfd2d198a1ec1531aed1afd700ce8e5b738ec68ca9152a4b6ae63dd6cbbf0d51
 DIST libssh-0.8.5.tar.xz 427372 BLAKE2B d1cd94a50f09b1562f7267ff435b2d180b84d4132a589e053f43f5de64bb764d9263910837a53be594e64595483ed9516dcbf20abc5071e9a8154b8bb75f6f4c SHA512 f1e90a5046e006d44a48ab36675167761d8e308ada7a1d7a1f7ba2825d222a2fab7e19dbc78b1371fee9ba74d9c55d9856a623f97842c9b9ad4c79215e344124

diff --git a/net-libs/libssh/files/libssh-0.5.0-tests.patch b/net-libs/libssh/files/libssh-0.5.0-tests.patch
deleted file mode 100644
index dde770ce5b2..00000000000
--- a/net-libs/libssh/files/libssh-0.5.0-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/unittests/torture_misc.c
-+++ b/tests/unittests/torture_misc.c
-@@ -195,7 +195,7 @@
- #ifdef _WIN32
-         unit_test(torture_path_expand_tilde_win),
- #else
--        unit_test(torture_path_expand_tilde_unix),
-+        //unit_test(torture_path_expand_tilde_unix),
- #endif
-         unit_test_setup_teardown(torture_path_expand_escape, setup, teardown),
-         unit_test_setup_teardown(torture_path_expand_known_hosts, setup, teardown),

diff --git a/net-libs/libssh/files/libssh-0.7.5-add-macro-for-MAX.patch b/net-libs/libssh/files/libssh-0.7.5-add-macro-for-MAX.patch
deleted file mode 100644
index d9226d69700..00000000000
--- a/net-libs/libssh/files/libssh-0.7.5-add-macro-for-MAX.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 310d423d36ae7bb6dac5a2ae2fb7b57bda72dcb5 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Thu, 24 Aug 2017 17:27:08 +0200
-Subject: [PATCH 1/2] priv: Add macro for MAX
-
-Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-(cherry picked from commit de35212789d11086621e176a11399de0d75ab3a6)
-Signed-off-by: Mihai Moldovan <ionic@ionic.de>
----
- include/libssh/priv.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/include/libssh/priv.h b/include/libssh/priv.h
-index 5a74915e..c3373c00 100644
---- a/include/libssh/priv.h
-+++ b/include/libssh/priv.h
-@@ -263,6 +263,10 @@ int match_hostname(const char *host, const char *pattern, unsigned int len);
- #define MIN(a,b) ((a) < (b) ? (a) : (b))
- #endif
- 
-+#ifndef MAX
-+#define MAX(a,b) ((a) > (b) ? (a) : (b))
-+#endif
-+
- /** Free memory space */
- #define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
- 
--- 
-2.15.1
-

diff --git a/net-libs/libssh/files/libssh-0.7.5-fix-config-buffer-underflow.patch b/net-libs/libssh/files/libssh-0.7.5-fix-config-buffer-underflow.patch
deleted file mode 100644
index 7ff03263d19..00000000000
--- a/net-libs/libssh/files/libssh-0.7.5-fix-config-buffer-underflow.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0cffb88b80b1e8b7e292646b955e9b9ca02315c4 Mon Sep 17 00:00:00 2001
-From: Aris Adamantiadis <aris@0xbadc0de.be>
-Date: Thu, 8 Jun 2017 00:22:02 +0200
-Subject: config: fix buffer underflow with unrecognized opcodes
-
----
- src/config.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/config.c b/src/config.c
-index 519926e7..6187c90f 100644
---- a/src/config.c
-+++ b/src/config.c
-@@ -218,7 +218,7 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
-   }
- 
-   opcode = ssh_config_get_opcode(keyword);
--  if (*parsing == 1 && opcode != SOC_HOST) {
-+  if (*parsing == 1 && opcode != SOC_HOST && opcode != SOC_UNSUPPORTED) {
-       if (seen[opcode] != 0) {
-           return 0;
-       }
--- 
-cgit v1.1
-

diff --git a/net-libs/libssh/files/libssh-0.7.5-fix-config-parsing.patch b/net-libs/libssh/files/libssh-0.7.5-fix-config-parsing.patch
deleted file mode 100644
index 3596cf02105..00000000000
--- a/net-libs/libssh/files/libssh-0.7.5-fix-config-parsing.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5333be5988c3789e7011598995f4df90d50d84d0 Mon Sep 17 00:00:00 2001
-From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
-Date: Sun, 4 Jun 2017 11:54:55 +0300
-Subject: config: Bugfix: Don't skip unseen opcodes
-
-libssh fails to read the configuration from a config file due to a
-wrong check in 'ssh_config_parse_line' procedure in 'config.c'; it's
-effectively skipping every opcode (and therefore every option) from
-the file.  The change fixes that behaviour.
-
-Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com>
-Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
----
- src/config.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/config.c b/src/config.c
-index 6478fc5f..519926e7 100644
---- a/src/config.c
-+++ b/src/config.c
-@@ -219,7 +219,7 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
- 
-   opcode = ssh_config_get_opcode(keyword);
-   if (*parsing == 1 && opcode != SOC_HOST) {
--      if (seen[opcode] == 0) {
-+      if (seen[opcode] != 0) {
-           return 0;
-       }
-       seen[opcode] = 1;
--- 
-cgit v1.1
-

diff --git a/net-libs/libssh/files/libssh-0.7.5-fix-internal-algo-selection.patch b/net-libs/libssh/files/libssh-0.7.5-fix-internal-algo-selection.patch
deleted file mode 100644
index 931d63360a1..00000000000
--- a/net-libs/libssh/files/libssh-0.7.5-fix-internal-algo-selection.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From 4893f9515da2696490e6bbe9aaf51f2ef9678b0f Mon Sep 17 00:00:00 2001
-From: Nikos Mavrogiannopoulos <nmav@redhat.com>
-Date: Thu, 24 Aug 2017 16:28:39 +0200
-Subject: [PATCH 2/2] ssh_options_set_algo: ensure we only set known algorithms
- internally
-
-That way, we will not fail later on key exchange phase when something
-unknown is negotiated.
-
-Fixes T37
-
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-Reviewed-by: Andreas Schneider <asn@samba.org>
-(cherry picked from commit 895055ab38e7716390019aae5e11771a88b99d26)
-Signed-off-by: Mihai Moldovan <ionic@ionic.de>
----
- include/libssh/kex.h |  1 +
- src/kex.c            | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/options.c        | 11 ++++----
- 3 files changed, 81 insertions(+), 6 deletions(-)
-
-diff --git a/include/libssh/kex.h b/include/libssh/kex.h
-index 1a5b6d41..23594985 100644
---- a/include/libssh/kex.h
-+++ b/include/libssh/kex.h
-@@ -41,6 +41,7 @@ void ssh_list_kex(struct ssh_kex_struct *kex);
- int set_client_kex(ssh_session session);
- int ssh_kex_select_methods(ssh_session session);
- int verify_existing_algo(int algo, const char *name);
-+char *keep_known_algos(int algo, const char *list);
- char **space_tokenize(const char *chain);
- int ssh_get_kex1(ssh_session session);
- char *ssh_find_matching(const char *in_d, const char *what_d);
-diff --git a/src/kex.c b/src/kex.c
-index 519d79ce..f0c9d067 100644
---- a/src/kex.c
-+++ b/src/kex.c
-@@ -281,6 +281,71 @@ char *ssh_find_matching(const char *available_d, const char *preferred_d){
-     return NULL;
- }
- 
-+static char *ssh_find_all_matching(const char *available_d,
-+                                   const char *preferred_d)
-+{
-+    char **tok_available, **tok_preferred;
-+    int i_avail, i_pref;
-+    char *ret;
-+    unsigned max, len, pos = 0;
-+
-+    if ((available_d == NULL) || (preferred_d == NULL)) {
-+        return NULL; /* don't deal with null args */
-+    }
-+
-+    max = MAX(strlen(available_d), strlen(preferred_d));
-+
-+    ret = malloc(max+1);
-+    if (ret == NULL) {
-+      return NULL;
-+    }
-+    ret[0] = 0;
-+
-+    tok_available = tokenize(available_d);
-+    if (tok_available == NULL) {
-+        SAFE_FREE(ret);
-+        return NULL;
-+    }
-+
-+    tok_preferred = tokenize(preferred_d);
-+    if (tok_preferred == NULL) {
-+        SAFE_FREE(ret);
-+        SAFE_FREE(tok_available[0]);
-+        SAFE_FREE(tok_available);
-+        return NULL;
-+    }
-+
-+    for (i_pref = 0; tok_preferred[i_pref] ; ++i_pref) {
-+        for (i_avail = 0; tok_available[i_avail]; ++i_avail) {
-+            int cmp = strcmp(tok_available[i_avail],tok_preferred[i_pref]);
-+            if (cmp == 0) {
-+                /* match */
-+                if (pos != 0) {
-+                    ret[pos] = ',';
-+                    pos++;
-+                }
-+
-+                len = strlen(tok_available[i_avail]);
-+                memcpy(&ret[pos], tok_available[i_avail], len);
-+                pos += len;
-+                ret[pos] = '\0';
-+            }
-+        }
-+    }
-+
-+    if (ret[0] == '\0') {
-+        SAFE_FREE(ret);
-+        ret = NULL;
-+    }
-+
-+    SAFE_FREE(tok_available[0]);
-+    SAFE_FREE(tok_preferred[0]);
-+    SAFE_FREE(tok_available);
-+    SAFE_FREE(tok_preferred);
-+
-+    return ret;
-+}
-+
- /**
-  * @internal
-  * @brief returns whether the first client key exchange algorithm or
-@@ -668,4 +733,14 @@ int verify_existing_algo(int algo, const char *name){
-     return 0;
- }
- 
-+/* returns a copy of the provided list if everything is supported,
-+ * otherwise a new list of the supported algorithms */
-+char *keep_known_algos(int algo, const char *list)
-+{
-+    if ((algo > 9) || (algo < 0)) {
-+        return NULL;
-+    }
-+
-+    return ssh_find_all_matching(supported_methods[algo], list);
-+}
- /* vim: set ts=2 sw=2 et cindent: */
-diff --git a/src/options.c b/src/options.c
-index aed2dda5..34fe9cc7 100644
---- a/src/options.c
-+++ b/src/options.c
-@@ -164,7 +164,10 @@ int ssh_options_copy(ssh_session src, ssh_session *dest) {
- 
- int ssh_options_set_algo(ssh_session session, int algo,
-     const char *list) {
--  if (!verify_existing_algo(algo, list)) {
-+  char *p = NULL;
-+
-+  p = keep_known_algos(algo, list);
-+  if (p == NULL) {
-     ssh_set_error(session, SSH_REQUEST_DENIED,
-         "Setting method: no algorithm for method \"%s\" (%s)\n",
-         ssh_kex_get_description(algo), list);
-@@ -172,11 +175,7 @@ int ssh_options_set_algo(ssh_session session, int algo,
-   }
- 
-   SAFE_FREE(session->opts.wanted_methods[algo]);
--  session->opts.wanted_methods[algo] = strdup(list);
--  if (session->opts.wanted_methods[algo] == NULL) {
--    ssh_set_error_oom(session);
--    return -1;
--  }
-+  session->opts.wanted_methods[algo] = p;
- 
-   return 0;
- }
--- 
-2.15.1
-

diff --git a/net-libs/libssh/libssh-0.7.4.ebuild b/net-libs/libssh/libssh-0.7.4.ebuild
deleted file mode 100644
index f3308692332..00000000000
--- a/net-libs/libssh/libssh-0.7.4.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${PN}-${PV/_rc/rc}
-inherit eutils cmake-multilib multilib
-
-DESCRIPTION="Access a working SSH implementation by means of a library"
-HOMEPAGE="http://www.libssh.org/"
-SRC_URI="https://red.libssh.org/attachments/download/210/${MY_P}.tar.xz -> ${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
-SLOT="0/4" # subslot = soname major version
-IUSE="debug doc examples gcrypt gssapi libressl pcap +sftp ssh1 server static-libs test zlib"
-# Maintainer: check IUSE-defaults at DefineOptions.cmake
-
-RDEPEND="
-	zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-	!gcrypt? (
-		!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}] )
-"
-DEPEND="
-	${RDEPEND}
-	doc? ( app-doc/doxygen )
-	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.5.0-tests.patch
-)
-
-src_prepare() {
-	# just install the examples do not compile them
-	sed -i \
-		-e '/add_subdirectory(examples)/s/^/#DONOTWANT/' \
-		CMakeLists.txt || die
-
-	# keyfile torture test is currently broken
-	sed \
-		-e '/torture_keyfiles/d' \
-		-i tests/unittests/CMakeLists.txt || die
-
-	cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DWITH_DEBUG_CALLTRACE="$(usex debug)"
-		-DWITH_DEBUG_CRYPTO="$(usex debug)"
-		-DWITH_GCRYPT="$(usex gcrypt)"
-		-DWITH_GSSAPI="$(usex gssapi)"
-		-DWITH_NACL=no
-		-DWITH_PCAP="$(usex pcap)"
-		-DWITH_SERVER="$(usex server)"
-		-DWITH_SFTP="$(usex sftp)"
-		-DWITH_SSH1="$(usex ssh1)"
-		-DWITH_STACK_PROTECTOR=OFF
-		-DWITH_STATIC_LIB="$(usex static-libs)"
-		-DWITH_STATIC_LIB="$(usex test)"
-		-DWITH_TESTING="$(usex test)"
-		-DWITH_ZLIB="$(usex zlib)"
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-	multilib_is_native_abi && use doc && cmake-utils_src_compile doc
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-
-	if multilib_is_native_abi && use doc ; then
-		docinto html
-		dodoc -r doc/html/.
-	fi
-
-	use static-libs || rm -f "${D}"/usr/$(get_libdir)/libssh{,_threads}.a
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if use examples; then
-		docinto examples
-		dodoc examples/*.{c,h,cpp}
-	fi
-}

diff --git a/net-libs/libssh/libssh-0.7.5-r2.ebuild b/net-libs/libssh/libssh-0.7.5-r2.ebuild
deleted file mode 100644
index 95aba9f77ea..00000000000
--- a/net-libs/libssh/libssh-0.7.5-r2.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P="${PN}-${PV/_rc/rc}"
-inherit cmake-multilib
-
-DESCRIPTION="Access a working SSH implementation by means of a library"
-HOMEPAGE="https://www.libssh.org/"
-SRC_URI="https://red.libssh.org/attachments/download/218/${MY_P}.tar.xz -> ${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-SLOT="0/4" # subslot = soname major version
-IUSE="debug doc examples gcrypt gssapi libressl pcap server +sftp ssh1 static-libs test zlib"
-# Maintainer: check IUSE-defaults at DefineOptions.cmake
-
-RDEPEND="
-	!gcrypt? (
-		!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}] )
-	zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
-	doc? ( app-doc/doxygen )
-	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.5.0-tests.patch
-	"${FILESDIR}"/${P}-fix-config-parsing.patch
-	"${FILESDIR}"/${P}-fix-config-buffer-underflow.patch
-	"${FILESDIR}"/${P}-add-macro-for-MAX.patch
-	"${FILESDIR}"/${P}-fix-internal-algo-selection.patch
-)
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# just install the examples do not compile them
-	sed -i \
-		-e '/add_subdirectory(examples)/s/^/#DONOTWANT/' \
-		CMakeLists.txt || die
-
-	# keyfile torture test is currently broken
-	sed -i \
-		-e '/torture_keyfiles/d' \
-		tests/unittests/CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DWITH_DEBUG_CALLTRACE="$(usex debug)"
-		-DWITH_DEBUG_CRYPTO="$(usex debug)"
-		-DWITH_GCRYPT="$(usex gcrypt)"
-		-DWITH_GSSAPI="$(usex gssapi)"
-		-DWITH_NACL=no
-		-DWITH_PCAP="$(usex pcap)"
-		-DWITH_SERVER="$(usex server)"
-		-DWITH_SFTP="$(usex sftp)"
-		-DWITH_SSH1="$(usex ssh1)"
-		-DWITH_STACK_PROTECTOR=OFF
-		-DWITH_STATIC_LIB="$(usex static-libs)"
-		-DWITH_STATIC_LIB="$(usex test)"
-		-DWITH_TESTING="$(usex test)"
-		-DWITH_ZLIB="$(usex zlib)"
-	)
-
-	cmake-utils_src_configure
-}
-
-multilib_src_compile() {
-	cmake-utils_src_compile
-	multilib_is_native_abi && use doc && cmake-utils_src_compile doc
-}
-
-multilib_src_install() {
-	cmake-utils_src_install
-
-	if multilib_is_native_abi && use doc ; then
-		docinto html
-		dodoc -r doc/html/.
-	fi
-
-	use static-libs || rm -f "${D}"/usr/$(get_libdir)/libssh{,_threads}.a
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if use examples; then
-		docinto examples
-		dodoc examples/*.{c,h,cpp}
-	fi
-}

diff --git a/net-libs/libssh/metadata.xml b/net-libs/libssh/metadata.xml
index fa9ac337d5e..6eba5670e2e 100644
--- a/net-libs/libssh/metadata.xml
+++ b/net-libs/libssh/metadata.xml
@@ -11,7 +11,6 @@
   <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as TLS provider</flag>
   <flag name="pcap">Build with PCAP output support</flag>
   <flag name="sftp">Build with SFTP support</flag>
-  <flag name="ssh1">Build with SSH1 support</flag>
   <flag name="server">Build with SSH server support</flag>
 </use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2019-09-01 20:43 Andreas Sturmlechner
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2019-09-01 20:43 UTC (permalink / raw
  To: gentoo-commits

commit:     5d77e9543c460f403fdae1832cd47b5505b02aa3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  1 20:05:17 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Sep  1 20:43:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d77e954

net-libs/libssh: Drop 0.8.6 and 0.8.7

Package-Manager: Portage-2.3.74, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-libs/libssh/Manifest                           |   2 -
 .../files/libssh-0.8.3-strict-overflow.patch       |  21 ----
 net-libs/libssh/libssh-0.8.6.ebuild                | 110 -------------------
 net-libs/libssh/libssh-0.8.7.ebuild                | 117 ---------------------
 4 files changed, 250 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index 5364d75e205..9d1285b15bf 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,3 +1 @@
-DIST libssh-0.8.6.tar.xz 433680 BLAKE2B f222e67676a90a2d2431463dc71859ad336a23a519b54e08fe368efe6322d0b9c8e393ec92d5246cb4721cd57bb955856fa6a2d92ffe71b6c35e2c94cde28762 SHA512 e91d1f4c1343aa232ade0fe4b5e9a92ca65e3716f4ebe2ec25b04def4fae5a3774349f05a6919836551f66fb0288ed6a3e19e0ab786c081616218be973356522
-DIST libssh-0.8.7.tar.xz 430104 BLAKE2B 8ad9455d81120726434a418abb74bfee53279040541cda50117909d43088ea992b9dbc7164b079dbe970b4348b967ed0d3f6352df98f60d1e6d9f14a086b5a40 SHA512 13c3dccad81d521edf29c8a5e2c5f7fdd90507a0eda652b2b040a0a17bab88860873e089a46e181907ea3f449ca1847b1c84453b1960f456e391eefe5be983c5
 DIST libssh-0.9.0.tar.xz 487628 BLAKE2B 43c9c889160089f8ab4ce9d486e1892ef9fb7941d7473baf2c27e3fe05da0299bd8a7fa5c4392f24411ec0970f61fc302fbe18b8c807efe07d65f6fc326467e3 SHA512 8c91b31e49652d93c295ca62c2ff1ae30f26c263195a8bc2390e44f6e688959507f609125d342ee8180fc03cec2d73258ac72f864696281b53ba9ad244060865

diff --git a/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch b/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch
deleted file mode 100644
index 93b15ec061b..00000000000
--- a/net-libs/libssh/files/libssh-0.8.3-strict-overflow.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Neither i nor j are ever counted downward for the array pointers, so assume
-they were intended to be signed integers.
-
-Fixes a compiler warning on HPPA triggering an error because of
--Werror=strict-overflow -Wstrict-overflow=2:
-
-src/connect.c:509:7: error: assuming signed overflow does not occur when
-simplifying conditional to constant [-Werror=strict-overflow]
-     if(j != 0)
-	        ^
---- a/src/connect.c
-+++ b/src/connect.c
-@@ -471,7 +471,7 @@
-     fd_set *readfds, struct timeval *timeout) {
-   fd_set origfds;
-   socket_t fd;
--  int i,j;
-+  unsigned int i,j;
-   int rc;
-   int base_tm, tm;
-   struct ssh_timestamp ts;

diff --git a/net-libs/libssh/libssh-0.8.6.ebuild b/net-libs/libssh/libssh-0.8.6.ebuild
deleted file mode 100644
index 65d029e138f..00000000000
--- a/net-libs/libssh/libssh-0.8.6.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-${PV/_rc/rc}"
-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)/${MY_P}.tar.xz"
-	KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-fbsd ~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 )"
-
-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}
-	doc? ( app-doc/doxygen[dot] )
-	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.8.0-tests.patch"
-	"${FILESDIR}/${PN}-0.8.3-strict-overflow.patch"
-)
-
-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 -i \
-		-e '/torture_keyfiles/d' \
-		tests/unittests/CMakeLists.txt || die
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DUNIT_TESTING="$(usex test)"
-		-DWITH_DEBUG_CALLTRACE="$(usex debug)"
-		-DWITH_DEBUG_CRYPTO="$(usex debug)"
-		-DWITH_GCRYPT="$(usex gcrypt)"
-		-DWITH_GSSAPI="$(usex gssapi)"
-		-DWITH_MBEDTLS="$(usex mbedtls)"
-		-DWITH_NACL=no
-		-DWITH_PCAP="$(usex pcap)"
-		-DWITH_SERVER="$(usex server)"
-		-DWITH_SFTP="$(usex sftp)"
-		-DWITH_STACK_PROTECTOR=OFF
-		-DWITH_STACK_PROTECTOR_STRONG=OFF
-		-DWITH_STATIC_LIB="$(usex static-libs)"
-		-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
-	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
-}

diff --git a/net-libs/libssh/libssh-0.8.7.ebuild b/net-libs/libssh/libssh-0.8.7.ebuild
deleted file mode 100644
index a2353f90c6b..00000000000
--- a/net-libs/libssh/libssh-0.8.7.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-${PV/_rc/rc}"
-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)/${MY_P}.tar.xz"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~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 )"
-
-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}
-	doc? ( app-doc/doxygen[dot] )
-	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.8.0-tests.patch"
-)
-
-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 -i \
-		-e '/torture_keyfiles/d' \
-		tests/unittests/CMakeLists.txt || die
-
-	# disable tests that take too long (bug #677006)
-	if use sparc; then
-		sed -i \
-			-e '/torture_threads_pki_rsa/d' \
-			-e '/torture_pki_dsa/d' \
-			tests/unittests/CMakeLists.txt || die
-	fi
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DUNIT_TESTING="$(usex test)"
-		-DWITH_DEBUG_CALLTRACE="$(usex debug)"
-		-DWITH_DEBUG_CRYPTO="$(usex debug)"
-		-DWITH_GCRYPT="$(usex gcrypt)"
-		-DWITH_GSSAPI="$(usex gssapi)"
-		-DWITH_MBEDTLS="$(usex mbedtls)"
-		-DWITH_NACL=no
-		-DWITH_PCAP="$(usex pcap)"
-		-DWITH_SERVER="$(usex server)"
-		-DWITH_SFTP="$(usex sftp)"
-		-DWITH_STACK_PROTECTOR=OFF
-		-DWITH_STACK_PROTECTOR_STRONG=OFF
-		-DWITH_STATIC_LIB="$(usex static-libs)"
-		-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
-	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
-}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2020-01-26 10:55 Andreas Sturmlechner
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2020-01-26 10:55 UTC (permalink / raw
  To: gentoo-commits

commit:     78a2814f6e83699b6d46d6d28097e5a5d0fbecc4
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 26 10:53:50 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 26 10:54:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78a2814f

net-libs/libssh: Drop 0.9.0

Bug: https://bugs.gentoo.org/701598
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-libs/libssh/Manifest                          |   1 -
 net-libs/libssh/files/libssh-0.9.0-libressl.patch |  33 ------
 net-libs/libssh/libssh-0.9.0.ebuild               | 117 ----------------------
 3 files changed, 151 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index 514dfeaaa99..46c2c2c9b3f 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,2 +1 @@
-DIST libssh-0.9.0.tar.xz 487628 BLAKE2B 43c9c889160089f8ab4ce9d486e1892ef9fb7941d7473baf2c27e3fe05da0299bd8a7fa5c4392f24411ec0970f61fc302fbe18b8c807efe07d65f6fc326467e3 SHA512 8c91b31e49652d93c295ca62c2ff1ae30f26c263195a8bc2390e44f6e688959507f609125d342ee8180fc03cec2d73258ac72f864696281b53ba9ad244060865
 DIST libssh-0.9.3.tar.xz 500068 BLAKE2B 9532db5f0fd9a6f4167f57dc25a1131f7483aff2f0fa659d967b21a7eff8507843c09dae1fe8161c9b41aed1bb1dae6d619a35122812d3d9b4c71f78ff1817e2 SHA512 6e59718565daeca6d224426cc1095a112deff9af8e0b021917e04f08bb7409263c35724de95f591f38e26f0fb3bbbbc69b679b6775edc21dec158d241b076c6f

diff --git a/net-libs/libssh/files/libssh-0.9.0-libressl.patch b/net-libs/libssh/files/libssh-0.9.0-libressl.patch
deleted file mode 100644
index 355e832308e..00000000000
--- a/net-libs/libssh/files/libssh-0.9.0-libressl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 08bdd5b26388f92867ab03e36d73e32481faed88 Mon Sep 17 00:00:00 2001
-From: Stefan Strogin <steils@gentoo.org>
-Date: Mon, 1 Jul 2019 13:35:09 +0300
-Subject: [PATCH] libcrypto: fix compilation with LibreSSL
-
-LibreSSL does not support FIPS, so do not check it.
-
-Signed-off-by: Stefan Strogin <steils@gentoo.org>
-Upstream-Status: Submitted
-[https://www.libssh.org/archive/libssh/2019-07/0000000.html]
----
- include/libssh/libcrypto.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/include/libssh/libcrypto.h b/include/libssh/libcrypto.h
-index 541912b5..1a1df635 100644
---- a/include/libssh/libcrypto.h
-+++ b/include/libssh/libcrypto.h
-@@ -112,7 +112,11 @@ typedef BN_CTX* bignum_CTX;
- 
- 
- /* Returns true if the OpenSSL is operating in FIPS mode */
-+#ifndef LIBRESSL_VERSION_NUMBER
- #define ssh_fips_mode() (FIPS_mode() != 0)
-+#else
-+#define ssh_fips_mode() false
-+#endif
- 
- #endif /* HAVE_LIBCRYPTO */
- 
--- 
-2.22.0
-

diff --git a/net-libs/libssh/libssh-0.9.0.ebuild b/net-libs/libssh/libssh-0.9.0.ebuild
deleted file mode 100644
index 32102181030..00000000000
--- a/net-libs/libssh/libssh-0.9.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-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"
-RESTRICT="!test? ( test )"
-# Maintainer: check IUSE-defaults at DefineOptions.cmake
-
-REQUIRED_USE="?? ( gcrypt mbedtls ) test? ( static-libs )"
-
-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}
-	doc? ( app-doc/doxygen[dot] )
-	test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.8.0-tests.patch"
-	"${FILESDIR}/${PN}-0.9.0-libressl.patch"
-)
-
-src_prepare() {
-	cmake_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)"
-		-DWITH_STATIC_LIB="$(usex static-libs)"
-		-DUNIT_TESTING="$(usex test)"
-		-DWITH_ZLIB="$(usex zlib)"
-	)
-
-	multilib_is_native_abi || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON )
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-	multilib_is_native_abi && use doc && cmake_src_compile docs
-}
-
-multilib_src_install() {
-	cmake_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
-}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2022-08-30 20:30 Sam James
  0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2022-08-30 20:30 UTC (permalink / raw
  To: gentoo-commits

commit:     53106843b6fec1b6a390bf6f3953ae49452407dc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 30 20:30:09 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 30 20:30:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53106843

net-libs/libssh: fix build with musl

Revbump as GNU_SOURCE can change runtime behaviour
(and indeed that was partly the issue in contention here,
although a build failure prevented it getting that far
usually.)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libssh-0.10.0-fix-musl-gnu-source.patch  | 58 ++++++++++++++++++++++
 ...ibssh-0.10.0.ebuild => libssh-0.10.0-r1.ebuild} |  4 ++
 2 files changed, 62 insertions(+)

diff --git a/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch b/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch
new file mode 100644
index 000000000000..be234bab53c9
--- /dev/null
+++ b/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch
@@ -0,0 +1,58 @@
+https://gitlab.com/libssh/libssh-mirror/-/commit/8cf9c8162fc317761f19c35f60fc0cae7337ceea
+https://gitlab.com/libssh/libssh-mirror/-/issues/141
+
+From: Jakub Jelen <jjelen@redhat.com>
+Date: Mon, 29 Aug 2022 12:48:34 +0200
+Subject: [PATCH] Do not force GNU_SOURCE during build to fix #141
+
+Signed-off-by: Jakub Jelen <jjelen@redhat.com>
+Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -348,10 +348,6 @@ endif (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND)
+ # This gets built as a static library, if -DBUILD_SHARED_LIBS=OFF is passed to
+ # cmake.
+ add_library(ssh ${libssh_SRCS})
+-target_compile_options(ssh
+-                       PRIVATE
+-                           ${DEFAULT_C_COMPILE_FLAGS}
+-                           -D_GNU_SOURCE)
+ target_include_directories(ssh
+                            PUBLIC
+                                $<BUILD_INTERFACE:${libssh_SOURCE_DIR}/include>
+@@ -408,10 +404,6 @@ install(EXPORT libssh-config
+ 
+ if (BUILD_STATIC_LIB)
+   add_library(ssh-static STATIC ${libssh_SRCS})
+-  target_compile_options(ssh-static
+-                         PRIVATE
+-                            ${DEFAULT_C_COMPILE_FLAGS}
+-                            -D_GNU_SOURCE)
+ 
+   target_include_directories(ssh-static
+                              PUBLIC
+--- a/src/misc.c
++++ b/src/misc.c
+@@ -1956,7 +1956,7 @@ char *ssh_strerror(int err_num, char *buf, size_t buflen)
+ #if defined(_WIN32)
+     strerror_s(buf, buflen, err_num);
+     return buf;
+-#elif defined(__linux__) && defined(_GNU_SOURCE)
++#elif defined(__linux__) && defined(__GLIBC__) && defined(_GNU_SOURCE)
+     /* GNU extension on Linux */
+     return strerror_r(err_num, buf, buflen);
+ #else
+--- a/tests/torture.h
++++ b/tests/torture.h
+@@ -24,10 +24,6 @@
+ #ifndef _TORTURE_H
+ #define _TORTURE_H
+ 
+-#ifndef _GNU_SOURCE
+-#define _GNU_SOURCE
+-#endif
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
+GitLab

diff --git a/net-libs/libssh/libssh-0.10.0.ebuild b/net-libs/libssh/libssh-0.10.0-r1.ebuild
similarity index 98%
rename from net-libs/libssh/libssh-0.10.0.ebuild
rename to net-libs/libssh/libssh-0.10.0-r1.ebuild
index 9b897cf8885e..0a5989b9a16b 100644
--- a/net-libs/libssh/libssh-0.10.0.ebuild
+++ b/net-libs/libssh/libssh-0.10.0-r1.ebuild
@@ -47,6 +47,10 @@ DOCS=( AUTHORS CHANGELOG README )
 
 PATCHES=( "${FILESDIR}/${PN}-0.8.0-tests.patch" )
 
+PATCHES=(
+	"${FILESDIR}"/${P}-fix-musl-gnu-source.patch
+)
+
 src_prepare() {
 	cmake_src_prepare
 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2022-08-30 22:21 Sam James
  0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2022-08-30 22:21 UTC (permalink / raw
  To: gentoo-commits

commit:     ebc896b71d4c22a1ed82a068845d682fdc55a3ed
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 30 22:21:11 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 30 22:21:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ebc896b7

net-libs/libssh: drop 0.10.0-r1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libssh/Manifest                           |   1 -
 .../files/libssh-0.10.0-fix-musl-gnu-source.patch  |  58 ----------
 net-libs/libssh/libssh-0.10.0-r1.ebuild            | 126 ---------------------
 3 files changed, 185 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index f4d48d1a6473..4a35ffc7b747 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,3 +1,2 @@
-DIST libssh-0.10.0.tar.xz 553384 BLAKE2B 4a57e2095a4f56d06b2be591e02c9b9ded5e1fa28ed2774389a2902a8277f6e6b99014f8868f0740ca2900409d33b968f65c9eaa312e259926436afb49fc108c SHA512 d97235f78b94a980aabc844ee7614108944967441219f0c2417b207734d5200eb26efd5fd6de0da97a34fb612b843dc0a3b32a3364c1d8333e4c49680212aaaa
 DIST libssh-0.10.1.tar.xz 553808 BLAKE2B 1e0a648153122619e473481484af70b9c388e75a6586a7b5ea605fede4a592f2f1ae2978c19762ac396d3dff2a3dd03451ee293c9fbd4f861a1bb5668e2489b7 SHA512 d56b2809527d4f3c1d88881b8f7a7cd49321df8abe4fde011dfe7323e7552641b36a607f3b1b37c26703adae01d0176fc3d71c6c207598aaae5ebdf10237742e
 DIST libssh-0.9.6.tar.xz 1053056 BLAKE2B e8565279a430786b8877386a26700a39386e908546a209815b135a2bf4ef42c37b9890dc29cda9ce6c8bfe3f3bae4942097dc794302aec767d106a45c44b811d SHA512 4040ec4af937e95be2e41313ef6d4db60b46b8d4dea10c09402398127c1d1ca8843392d207088aeee3c7ef631c6ae7b66861327dcebf78ed3af0723777619fd1

diff --git a/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch b/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch
deleted file mode 100644
index be234bab53c9..000000000000
--- a/net-libs/libssh/files/libssh-0.10.0-fix-musl-gnu-source.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-https://gitlab.com/libssh/libssh-mirror/-/commit/8cf9c8162fc317761f19c35f60fc0cae7337ceea
-https://gitlab.com/libssh/libssh-mirror/-/issues/141
-
-From: Jakub Jelen <jjelen@redhat.com>
-Date: Mon, 29 Aug 2022 12:48:34 +0200
-Subject: [PATCH] Do not force GNU_SOURCE during build to fix #141
-
-Signed-off-by: Jakub Jelen <jjelen@redhat.com>
-Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -348,10 +348,6 @@ endif (WITH_SYMBOL_VERSIONING AND HAVE_LD_VERSION_SCRIPT AND ABIMAP_FOUND)
- # This gets built as a static library, if -DBUILD_SHARED_LIBS=OFF is passed to
- # cmake.
- add_library(ssh ${libssh_SRCS})
--target_compile_options(ssh
--                       PRIVATE
--                           ${DEFAULT_C_COMPILE_FLAGS}
--                           -D_GNU_SOURCE)
- target_include_directories(ssh
-                            PUBLIC
-                                $<BUILD_INTERFACE:${libssh_SOURCE_DIR}/include>
-@@ -408,10 +404,6 @@ install(EXPORT libssh-config
- 
- if (BUILD_STATIC_LIB)
-   add_library(ssh-static STATIC ${libssh_SRCS})
--  target_compile_options(ssh-static
--                         PRIVATE
--                            ${DEFAULT_C_COMPILE_FLAGS}
--                            -D_GNU_SOURCE)
- 
-   target_include_directories(ssh-static
-                              PUBLIC
---- a/src/misc.c
-+++ b/src/misc.c
-@@ -1956,7 +1956,7 @@ char *ssh_strerror(int err_num, char *buf, size_t buflen)
- #if defined(_WIN32)
-     strerror_s(buf, buflen, err_num);
-     return buf;
--#elif defined(__linux__) && defined(_GNU_SOURCE)
-+#elif defined(__linux__) && defined(__GLIBC__) && defined(_GNU_SOURCE)
-     /* GNU extension on Linux */
-     return strerror_r(err_num, buf, buflen);
- #else
---- a/tests/torture.h
-+++ b/tests/torture.h
-@@ -24,10 +24,6 @@
- #ifndef _TORTURE_H
- #define _TORTURE_H
- 
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
--
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
-GitLab

diff --git a/net-libs/libssh/libssh-0.10.0-r1.ebuild b/net-libs/libssh/libssh-0.10.0-r1.ebuild
deleted file mode 100644
index 0a5989b9a16b..000000000000
--- a/net-libs/libssh/libssh-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 ~loong ~mips ~ppc ~ppc64 ~riscv ~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 mbedtls pcap server +sftp static-libs test zlib"
-# Maintainer: check IUSE-defaults at DefineOptions.cmake
-
-REQUIRED_USE="?? ( gcrypt mbedtls )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	!gcrypt? (
-		!mbedtls? (
-			>=dev-libs/openssl-1.0.1h-r2:0=[${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}]
-		elibc_musl? ( sys-libs/argp-standalone )
-	)
-"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
-
-DOCS=( AUTHORS CHANGELOG README )
-
-PATCHES=( "${FILESDIR}/${PN}-0.8.0-tests.patch" )
-
-PATCHES=(
-	"${FILESDIR}"/${P}-fix-musl-gnu-source.patch
-)
-
-src_prepare() {
-	cmake_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
-
-	if use test && use elibc_musl; then
-		sed -e "/SOLARIS/d" \
-			-i tests/CMakeLists.txt || die
-	fi
-}
-
-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_STATIC_LIB=$(usex static-libs)
-		-DUNIT_TESTING=$(usex test)
-		-DWITH_ZLIB=$(usex zlib)
-	)
-
-	multilib_is_native_abi || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON )
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-	multilib_is_native_abi && use doc && cmake_src_compile docs
-}
-
-multilib_src_install() {
-	cmake_src_install
-	multilib_is_native_abi && use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
-
-	use static-libs && dolib.a src/libssh.a
-
-	# 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
-}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2022-09-30 13:34 Andreas Sturmlechner
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2022-09-30 13:34 UTC (permalink / raw
  To: gentoo-commits

commit:     06f2d87af6e41e33a345f1bf494444173f682ff8
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 30 11:51:03 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 30 13:33:59 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06f2d87a

net-libs/libssh: drop 0.9.6

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-libs/libssh/Manifest                       |   1 -
 net-libs/libssh/files/libssh-0.8.0-tests.patch |  11 ---
 net-libs/libssh/libssh-0.9.6.ebuild            | 124 -------------------------
 3 files changed, 136 deletions(-)

diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest
index 5ba4cc28088f..a4166a8ad16b 100644
--- a/net-libs/libssh/Manifest
+++ b/net-libs/libssh/Manifest
@@ -1,2 +1 @@
 DIST libssh-0.10.4.tar.xz 554920 BLAKE2B 9349a688bdbd7c0d3bc93d6d0d6d55122ae9f918b922baeae8a7c6d4ae3ec340e6607afdd8a47055176f31531aefa94b6cc2bda25d59625fe1a7f83823dd75f9 SHA512 01ee52d480201d9886c15e81137c185334b404d1c8e8b743ddf58e95fe8619c8c013616a49807bd1111fde72fa177cd35f3c22b66cbf5d720b5abfacdf7601ed
-DIST libssh-0.9.6.tar.xz 1053056 BLAKE2B e8565279a430786b8877386a26700a39386e908546a209815b135a2bf4ef42c37b9890dc29cda9ce6c8bfe3f3bae4942097dc794302aec767d106a45c44b811d SHA512 4040ec4af937e95be2e41313ef6d4db60b46b8d4dea10c09402398127c1d1ca8843392d207088aeee3c7ef631c6ae7b66861327dcebf78ed3af0723777619fd1

diff --git a/net-libs/libssh/files/libssh-0.8.0-tests.patch b/net-libs/libssh/files/libssh-0.8.0-tests.patch
deleted file mode 100644
index 7ce84f89983b..000000000000
--- a/net-libs/libssh/files/libssh-0.8.0-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libssh-0.8.0/tests/unittests/torture_misc.c
-+++ libssh-0.8.0/tests/unittests/torture_misc.c
-@@ -361,7 +361,7 @@
- #ifdef _WIN32
-         cmocka_unit_test(torture_path_expand_tilde_win),
- #else
--        cmocka_unit_test(torture_path_expand_tilde_unix),
-+        //cmocka_unit_test(torture_path_expand_tilde_unix),
- #endif
-         cmocka_unit_test_setup_teardown(torture_path_expand_escape, setup, teardown),
-         cmocka_unit_test_setup_teardown(torture_path_expand_known_hosts, setup, teardown),

diff --git a/net-libs/libssh/libssh-0.9.6.ebuild b/net-libs/libssh/libssh-0.9.6.ebuild
deleted file mode 100644
index e90e4d2cfed3..000000000000
--- a/net-libs/libssh/libssh-0.9.6.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2022 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 ~loong ~mips ppc ppc64 ~riscv ~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 mbedtls pcap server +sftp static-libs test zlib"
-# Maintainer: check IUSE-defaults at DefineOptions.cmake
-
-REQUIRED_USE="?? ( gcrypt mbedtls )"
-
-BDEPEND="
-	doc? ( app-doc/doxygen[dot] )
-"
-RDEPEND="
-	!gcrypt? (
-		!mbedtls? (
-			>=dev-libs/openssl-1.0.1h-r2:0=[${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}]
-		elibc_musl? ( sys-libs/argp-standalone ) )
-"
-
-DOCS=( AUTHORS README ChangeLog )
-
-PATCHES=( "${FILESDIR}/${PN}-0.8.0-tests.patch" )
-
-RESTRICT+=" !test? ( test )"
-
-src_prepare() {
-	cmake_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
-
-	if use test && use elibc_musl; then
-		sed -e "/SOLARIS/d" \
-			-i tests/CMakeLists.txt || die
-	fi
-}
-
-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_STATIC_LIB="$(usex static-libs)"
-		-DUNIT_TESTING="$(usex test)"
-		-DWITH_ZLIB="$(usex zlib)"
-	)
-
-	multilib_is_native_abi || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON )
-
-	cmake_src_configure
-}
-
-multilib_src_compile() {
-	cmake_src_compile
-	multilib_is_native_abi && use doc && cmake_src_compile docs
-}
-
-multilib_src_install() {
-	cmake_src_install
-	multilib_is_native_abi && use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
-
-	use static-libs && dolib.a src/libssh.a
-
-	# 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
-}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/
@ 2024-06-07 18:10 Andreas Sturmlechner
  0 siblings, 0 replies; 9+ messages in thread
From: Andreas Sturmlechner @ 2024-06-07 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6283f9180d0c4b97ebafe3676c0a23be23889391
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  7 18:03:58 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  7 18:10:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6283f918

net-libs/libssh: Fix build w/ modern C, fix IPv6 regression

Closes: https://bugs.gentoo.org/932715
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../libssh-0.10.6-ipv6-hostname-parsing.patch      | 135 ++++++++++++++++++++
 .../libssh-0.10.6-libgcrypt-type-mismatches.patch  |  60 +++++++++
 net-libs/libssh/libssh-0.10.6-r1.ebuild            | 140 +++++++++++++++++++++
 3 files changed, 335 insertions(+)

diff --git a/net-libs/libssh/files/libssh-0.10.6-ipv6-hostname-parsing.patch b/net-libs/libssh/files/libssh-0.10.6-ipv6-hostname-parsing.patch
new file mode 100644
index 000000000000..4d62ca5e9459
--- /dev/null
+++ b/net-libs/libssh/files/libssh-0.10.6-ipv6-hostname-parsing.patch
@@ -0,0 +1,135 @@
+From 4f997aee7c7d7ea346b3e8ba505da0b7601ff318 Mon Sep 17 00:00:00 2001
+From: Jakub Jelen <jjelen@redhat.com>
+Date: Fri, 22 Dec 2023 10:32:40 +0100
+Subject: [PATCH] Fix regression in IPv6 addresses in hostname parsing
+
+Signed-off-by: Jakub Jelen <jjelen@redhat.com>
+Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
+---
+ include/libssh/config_parser.h | 11 ++++++++---
+ src/config.c                   |  4 ++--
+ src/config_parser.c            | 16 +++++++++++-----
+ src/options.c                  | 10 ++--------
+ 4 files changed, 23 insertions(+), 18 deletions(-)
+
+diff --git a/include/libssh/config_parser.h b/include/libssh/config_parser.h
+index a7dd42a2c..ca353432b 100644
+--- a/include/libssh/config_parser.h
++++ b/include/libssh/config_parser.h
+@@ -30,6 +30,8 @@
+ extern "C" {
+ #endif
+ 
++#include <stdbool.h>
++
+ char *ssh_config_get_cmd(char **str);
+ 
+ char *ssh_config_get_token(char **str);
+@@ -49,14 +51,17 @@ int ssh_config_get_yesno(char **str, int notfound);
+  *                       be stored or NULL if we do not care about the result.
+  * @param[out]  port     Pointer to the location, where the new port will
+  *                       be stored or NULL if we do not care about the result.
++ * @param[in]   ignore_port Set to true if the we should not attempt to parse
++ *                       port number.
+  *
+  * @returns     SSH_OK if the provided string is in format of SSH URI,
+  *              SSH_ERROR on failure
+  */
+ int ssh_config_parse_uri(const char *tok,
+-        char **username,
+-        char **hostname,
+-        char **port);
++                         char **username,
++                         char **hostname,
++                         char **port,
++                         bool ignore_port);
+ 
+ #ifdef __cplusplus
+ }
+diff --git a/src/config.c b/src/config.c
+index 5eedbce96..7135c3b19 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -464,7 +464,7 @@ ssh_config_parse_proxy_jump(ssh_session session, const char *s, bool do_parsing)
+         }
+         if (parse_entry) {
+             /* We actually care only about the first item */
+-            rv = ssh_config_parse_uri(cp, &username, &hostname, &port);
++            rv = ssh_config_parse_uri(cp, &username, &hostname, &port, false);
+             /* The rest of the list needs to be passed on */
+             if (endp != NULL) {
+                 next = strdup(endp + 1);
+@@ -475,7 +475,7 @@ ssh_config_parse_proxy_jump(ssh_session session, const char *s, bool do_parsing)
+             }
+         } else {
+             /* The rest is just sanity-checked to avoid failures later */
+-            rv = ssh_config_parse_uri(cp, NULL, NULL, NULL);
++            rv = ssh_config_parse_uri(cp, NULL, NULL, NULL, false);
+         }
+         if (rv != SSH_OK) {
+             goto out;
+diff --git a/src/config_parser.c b/src/config_parser.c
+index 9ffc8b8b0..5f30cd3e1 100644
+--- a/src/config_parser.c
++++ b/src/config_parser.c
+@@ -162,9 +162,10 @@ int ssh_config_get_yesno(char **str, int notfound)
+ }
+ 
+ int ssh_config_parse_uri(const char *tok,
+-        char **username,
+-        char **hostname,
+-        char **port)
++                         char **username,
++                         char **hostname,
++                         char **port,
++                         bool ignore_port)
+ {
+     char *endp = NULL;
+     long port_n;
+@@ -210,12 +211,17 @@ int ssh_config_parse_uri(const char *tok,
+         if (endp == NULL) {
+             goto error;
+         }
+-    } else {
+-        /* Hostnames or aliases expand to the last colon or to the end */
++    } else if (!ignore_port) {
++        /* Hostnames or aliases expand to the last colon (if port is requested)
++         * or to the end */
+         endp = strrchr(tok, ':');
+         if (endp == NULL) {
+             endp = strchr(tok, '\0');
+         }
++    } else {
++        /* If no port is requested, expand to the end of line
++         * (to accommodate the IPv6 addresses) */
++        endp = strchr(tok, '\0');
+     }
+     if (tok == endp) {
+         /* Zero-length hostnames are not valid */
+diff --git a/src/options.c b/src/options.c
+index 2e73be462..676c49e7a 100644
+--- a/src/options.c
++++ b/src/options.c
+@@ -634,17 +634,11 @@ int ssh_options_set(ssh_session session, enum ssh_options_e type,
+                 ssh_set_error_invalid(session);
+                 return -1;
+             } else {
+-                char *username = NULL, *hostname = NULL, *port = NULL;
+-                rc = ssh_config_parse_uri(value, &username, &hostname, &port);
++                char *username = NULL, *hostname = NULL;
++                rc = ssh_config_parse_uri(value, &username, &hostname, NULL, true);
+                 if (rc != SSH_OK) {
+                     return -1;
+                 }
+-                if (port != NULL) {
+-                    SAFE_FREE(username);
+-                    SAFE_FREE(hostname);
+-                    SAFE_FREE(port);
+-                    return -1;
+-                }
+                 if (username != NULL) {
+                     SAFE_FREE(session->opts.username);
+                     session->opts.username = username;
+-- 
+GitLab
+

diff --git a/net-libs/libssh/files/libssh-0.10.6-libgcrypt-type-mismatches.patch b/net-libs/libssh/files/libssh-0.10.6-libgcrypt-type-mismatches.patch
new file mode 100644
index 000000000000..89e6d012240e
--- /dev/null
+++ b/net-libs/libssh/files/libssh-0.10.6-libgcrypt-type-mismatches.patch
@@ -0,0 +1,60 @@
+From c01377081fc60132fd3e256ad56eab6b329f5493 Mon Sep 17 00:00:00 2001
+From: Gerald Combs <gerald@zing.org>
+Date: Thu, 1 Jun 2023 12:42:50 -0700
+Subject: [PATCH] libgcrypt.c: Fix type mismatches
+
+Fix
+
+    /build/libssh-0.10.5/src/libgcrypt.c:903:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned long long)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
+        .encrypt     = des3_encrypt,
+                       ^~~~~~~~~~~~
+    /build/libssh-0.10.5/src/libgcrypt.c:904:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned long long)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
+        .decrypt     = des3_decrypt
+                       ^~~~~~~~~~~~
+
+Fixes: #196
+
+Signed-off-by: Gerald Combs <gerald@zing.org>
+Reviewed-by: Jakub Jelen <jjelen@redhat.com>
+Reviewed-by: Norbert Pocs <npocs@redhat.com>
+---
+ src/libgcrypt.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/libgcrypt.c b/src/libgcrypt.c
+index cea20370b..58f510954 100644
+--- a/src/libgcrypt.c
++++ b/src/libgcrypt.c
+@@ -198,12 +198,12 @@ static int blowfish_set_key(struct ssh_cipher_struct *cipher, void *key, void *I
+ }
+ 
+ static void blowfish_encrypt(struct ssh_cipher_struct *cipher, void *in,
+-    void *out, unsigned long len) {
++    void *out, size_t len) {
+   gcry_cipher_encrypt(cipher->key[0], out, len, in, len);
+ }
+ 
+ static void blowfish_decrypt(struct ssh_cipher_struct *cipher, void *in,
+-    void *out, unsigned long len) {
++    void *out, size_t len) {
+   gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
+ }
+ #endif /* WITH_BLOWFISH_CIPHER */
+@@ -469,12 +469,12 @@ static int des3_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
+ }
+ 
+ static void des3_encrypt(struct ssh_cipher_struct *cipher, void *in,
+-    void *out, unsigned long len) {
++    void *out, size_t len) {
+   gcry_cipher_encrypt(cipher->key[0], out, len, in, len);
+ }
+ 
+ static void des3_decrypt(struct ssh_cipher_struct *cipher, void *in,
+-    void *out, unsigned long len) {
++    void *out, size_t len) {
+   gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
+ }
+ 
+-- 
+GitLab
+

diff --git a/net-libs/libssh/libssh-0.10.6-r1.ebuild b/net-libs/libssh/libssh-0.10.6-r1.ebuild
new file mode 100644
index 000000000000..fcdd767eddc4
--- /dev/null
+++ b/net-libs/libssh/libssh-0.10.6-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 ~loong ~mips ~ppc ~ppc64 ~riscv ~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 mbedtls pcap server +sftp static-libs test zlib"
+# Maintainer: check IUSE-defaults at DefineOptions.cmake
+
+REQUIRED_USE="?? ( gcrypt mbedtls )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	!gcrypt? (
+		!mbedtls? (
+			>=dev-libs/openssl-1.0.1h-r2:0=[${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}]
+		elibc_musl? ( sys-libs/argp-standalone )
+	)
+"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+DOCS=( AUTHORS CHANGELOG README )
+
+PATCHES=(
+	"${FILESDIR}/${P}-libgcrypt-type-mismatches.patch" # bug 932715
+	"${FILESDIR}/${P}-ipv6-hostname-parsing.patch"
+)
+
+src_prepare() {
+	cmake_src_prepare
+
+	# just install the examples, do not compile them
+	cmake_comment_add_subdirectory examples
+
+	sed -e "/^check_include_file.*HAVE_VALGRIND_VALGRIND_H/s/^/#DONT /" \
+		-i ConfigureChecks.cmake || die
+
+	if use test; then
+		local skip_tests=(
+			# keyfile torture test is currently broken
+			-e "/torture_keyfiles/d"
+
+			# Tries to expand ~ which fails w/ portage homedir
+			# (torture_path_expand_tilde_unix and torture_config_make_absolute_no_sshdir)
+			-e "/torture_misc/d"
+			-e "/torture_config/d"
+		)
+
+		# Disable tests that take too long (bug #677006)
+		if use sparc; then
+			skip_tests+=(
+				-e "/torture_threads_pki_rsa/d"
+				-e "/torture_pki_dsa/d"
+			)
+		fi
+
+		if (( ${#skip_tests[@]} )) ; then
+			sed -i "${skip_tests[@]}" tests/unittests/CMakeLists.txt || die
+		fi
+
+		if use elibc_musl; then
+			sed -e "/SOLARIS/d" \
+				-i tests/CMakeLists.txt || die
+		fi
+	fi
+}
+
+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_STATIC_LIB=$(usex static-libs)
+		# TODO: try enabling {CLIENT,SERVER}_TESTING
+		-DUNIT_TESTING=$(usex test)
+		-DWITH_ZLIB=$(usex zlib)
+	)
+
+	multilib_is_native_abi || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON )
+
+	cmake_src_configure
+}
+
+multilib_src_compile() {
+	cmake_src_compile
+	multilib_is_native_abi && use doc && cmake_src_compile docs
+}
+
+multilib_src_install() {
+	cmake_src_install
+	multilib_is_native_abi && use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+
+	use static-libs && dolib.a src/libssh.a
+
+	# 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
+}


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-06-07 18:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-01 20:43 [gentoo-commits] repo/gentoo:master commit in: net-libs/libssh/, net-libs/libssh/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2024-06-07 18:10 Andreas Sturmlechner
2022-09-30 13:34 Andreas Sturmlechner
2022-08-30 22:21 Sam James
2022-08-30 20:30 Sam James
2020-01-26 10:55 Andreas Sturmlechner
2018-10-31 18:15 Andreas Sturmlechner
2018-10-02 13:33 Jeroen Roovers
2016-02-27  7:44 Jeroen Roovers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox