1 |
commit: a06e9e74689c4f3bc82716c870d9502b1349dc71 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Oct 31 18:13:40 2018 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Oct 31 18:13:40 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a06e9e74 |
7 |
|
8 |
net-libs/libssh: Security cleanup |
9 |
|
10 |
Bug: https://bugs.gentoo.org/668788 |
11 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
12 |
Package-Manager: Portage-2.3.51, Repoman-2.3.11 |
13 |
|
14 |
net-libs/libssh/Manifest | 2 - |
15 |
net-libs/libssh/files/libssh-0.5.0-tests.patch | 11 -- |
16 |
.../files/libssh-0.7.5-add-macro-for-MAX.patch | 30 ---- |
17 |
.../libssh-0.7.5-fix-config-buffer-underflow.patch | 25 ---- |
18 |
.../files/libssh-0.7.5-fix-config-parsing.patch | 32 ----- |
19 |
.../libssh-0.7.5-fix-internal-algo-selection.patch | 156 --------------------- |
20 |
net-libs/libssh/libssh-0.7.4.ebuild | 100 ------------- |
21 |
net-libs/libssh/libssh-0.7.5-r2.ebuild | 103 -------------- |
22 |
net-libs/libssh/metadata.xml | 1 - |
23 |
9 files changed, 460 deletions(-) |
24 |
|
25 |
diff --git a/net-libs/libssh/Manifest b/net-libs/libssh/Manifest |
26 |
index c0cd95c47bb..76c95b0b2c8 100644 |
27 |
--- a/net-libs/libssh/Manifest |
28 |
+++ b/net-libs/libssh/Manifest |
29 |
@@ -1,4 +1,2 @@ |
30 |
-DIST libssh-0.7.4.tar.xz 351892 BLAKE2B 5427faa04eac7b57f73909f113d933daf667f8311c30364bbf06d4f01121a58f5b560e0a1d9071655ce9b310fa3f3f801e11e880ca3eacde66efa0f49dc51b2b SHA512 94b8183e5c83e339303c1a160c92ccff6159471ac7d189ab66cf6d606d2e803fd616519f079aef1577c947d3a14e315332b05ea08e44d0ab550edbcb768dbea7 |
31 |
-DIST libssh-0.7.5.tar.xz 351632 BLAKE2B b41cccb6215c5b7e66742171d91e1081d3c1bf44455b65a5992093d31b28db7a6375e815303e115e02b2458c734d9c61e4b1528ba905bf8a421ca2bbb7221ce6 SHA512 6c7f539899caaedf13d66fa2e0fac1a475ecdfe389131abcbdf908bdebc50a0b9e6b0d43e67e52aea85c32f6aa68e46ca2f50695992f82ded83489f445a8e775 |
32 |
DIST libssh-0.8.4.tar.xz 425848 BLAKE2B 8ca913e4c9e2ffa231bb437ac6a4de695bbdf8720a7619f3fc310a3d724cb7e85bcf81d31761c3fe4e3c29010b67d3fc81cf391d5c2f7e051cb8cc2400763248 SHA512 73d685bab2e88ff6b03c95cc13f1bd341bce4c527353c7e4870865d236cfbe23dfd2d198a1ec1531aed1afd700ce8e5b738ec68ca9152a4b6ae63dd6cbbf0d51 |
33 |
DIST libssh-0.8.5.tar.xz 427372 BLAKE2B d1cd94a50f09b1562f7267ff435b2d180b84d4132a589e053f43f5de64bb764d9263910837a53be594e64595483ed9516dcbf20abc5071e9a8154b8bb75f6f4c SHA512 f1e90a5046e006d44a48ab36675167761d8e308ada7a1d7a1f7ba2825d222a2fab7e19dbc78b1371fee9ba74d9c55d9856a623f97842c9b9ad4c79215e344124 |
34 |
|
35 |
diff --git a/net-libs/libssh/files/libssh-0.5.0-tests.patch b/net-libs/libssh/files/libssh-0.5.0-tests.patch |
36 |
deleted file mode 100644 |
37 |
index dde770ce5b2..00000000000 |
38 |
--- a/net-libs/libssh/files/libssh-0.5.0-tests.patch |
39 |
+++ /dev/null |
40 |
@@ -1,11 +0,0 @@ |
41 |
---- a/tests/unittests/torture_misc.c |
42 |
-+++ b/tests/unittests/torture_misc.c |
43 |
-@@ -195,7 +195,7 @@ |
44 |
- #ifdef _WIN32 |
45 |
- unit_test(torture_path_expand_tilde_win), |
46 |
- #else |
47 |
-- unit_test(torture_path_expand_tilde_unix), |
48 |
-+ //unit_test(torture_path_expand_tilde_unix), |
49 |
- #endif |
50 |
- unit_test_setup_teardown(torture_path_expand_escape, setup, teardown), |
51 |
- unit_test_setup_teardown(torture_path_expand_known_hosts, setup, teardown), |
52 |
|
53 |
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 |
54 |
deleted file mode 100644 |
55 |
index d9226d69700..00000000000 |
56 |
--- a/net-libs/libssh/files/libssh-0.7.5-add-macro-for-MAX.patch |
57 |
+++ /dev/null |
58 |
@@ -1,30 +0,0 @@ |
59 |
-From 310d423d36ae7bb6dac5a2ae2fb7b57bda72dcb5 Mon Sep 17 00:00:00 2001 |
60 |
-From: Andreas Schneider <asn@××××××××××.org> |
61 |
-Date: Thu, 24 Aug 2017 17:27:08 +0200 |
62 |
-Subject: [PATCH 1/2] priv: Add macro for MAX |
63 |
- |
64 |
-Signed-off-by: Andreas Schneider <asn@××××××××××.org> |
65 |
-(cherry picked from commit de35212789d11086621e176a11399de0d75ab3a6) |
66 |
-Signed-off-by: Mihai Moldovan <ionic@×××××.de> |
67 |
---- |
68 |
- include/libssh/priv.h | 4 ++++ |
69 |
- 1 file changed, 4 insertions(+) |
70 |
- |
71 |
-diff --git a/include/libssh/priv.h b/include/libssh/priv.h |
72 |
-index 5a74915e..c3373c00 100644 |
73 |
---- a/include/libssh/priv.h |
74 |
-+++ b/include/libssh/priv.h |
75 |
-@@ -263,6 +263,10 @@ int match_hostname(const char *host, const char *pattern, unsigned int len); |
76 |
- #define MIN(a,b) ((a) < (b) ? (a) : (b)) |
77 |
- #endif |
78 |
- |
79 |
-+#ifndef MAX |
80 |
-+#define MAX(a,b) ((a) > (b) ? (a) : (b)) |
81 |
-+#endif |
82 |
-+ |
83 |
- /** Free memory space */ |
84 |
- #define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0) |
85 |
- |
86 |
--- |
87 |
-2.15.1 |
88 |
- |
89 |
|
90 |
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 |
91 |
deleted file mode 100644 |
92 |
index 7ff03263d19..00000000000 |
93 |
--- a/net-libs/libssh/files/libssh-0.7.5-fix-config-buffer-underflow.patch |
94 |
+++ /dev/null |
95 |
@@ -1,25 +0,0 @@ |
96 |
-From 0cffb88b80b1e8b7e292646b955e9b9ca02315c4 Mon Sep 17 00:00:00 2001 |
97 |
-From: Aris Adamantiadis <aris@×××××××××.be> |
98 |
-Date: Thu, 8 Jun 2017 00:22:02 +0200 |
99 |
-Subject: config: fix buffer underflow with unrecognized opcodes |
100 |
- |
101 |
---- |
102 |
- src/config.c | 2 +- |
103 |
- 1 file changed, 1 insertion(+), 1 deletion(-) |
104 |
- |
105 |
-diff --git a/src/config.c b/src/config.c |
106 |
-index 519926e7..6187c90f 100644 |
107 |
---- a/src/config.c |
108 |
-+++ b/src/config.c |
109 |
-@@ -218,7 +218,7 @@ static int ssh_config_parse_line(ssh_session session, const char *line, |
110 |
- } |
111 |
- |
112 |
- opcode = ssh_config_get_opcode(keyword); |
113 |
-- if (*parsing == 1 && opcode != SOC_HOST) { |
114 |
-+ if (*parsing == 1 && opcode != SOC_HOST && opcode != SOC_UNSUPPORTED) { |
115 |
- if (seen[opcode] != 0) { |
116 |
- return 0; |
117 |
- } |
118 |
--- |
119 |
-cgit v1.1 |
120 |
- |
121 |
|
122 |
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 |
123 |
deleted file mode 100644 |
124 |
index 3596cf02105..00000000000 |
125 |
--- a/net-libs/libssh/files/libssh-0.7.5-fix-config-parsing.patch |
126 |
+++ /dev/null |
127 |
@@ -1,32 +0,0 @@ |
128 |
-From 5333be5988c3789e7011598995f4df90d50d84d0 Mon Sep 17 00:00:00 2001 |
129 |
-From: "Artyom V. Poptsov" <poptsov.artyom@×××××.com> |
130 |
-Date: Sun, 4 Jun 2017 11:54:55 +0300 |
131 |
-Subject: config: Bugfix: Don't skip unseen opcodes |
132 |
- |
133 |
-libssh fails to read the configuration from a config file due to a |
134 |
-wrong check in 'ssh_config_parse_line' procedure in 'config.c'; it's |
135 |
-effectively skipping every opcode (and therefore every option) from |
136 |
-the file. The change fixes that behaviour. |
137 |
- |
138 |
-Signed-off-by: Artyom V. Poptsov <poptsov.artyom@×××××.com> |
139 |
-Reviewed-by: Andreas Schneider <asn@××××××××××.org> |
140 |
---- |
141 |
- src/config.c | 2 +- |
142 |
- 1 file changed, 1 insertion(+), 1 deletion(-) |
143 |
- |
144 |
-diff --git a/src/config.c b/src/config.c |
145 |
-index 6478fc5f..519926e7 100644 |
146 |
---- a/src/config.c |
147 |
-+++ b/src/config.c |
148 |
-@@ -219,7 +219,7 @@ static int ssh_config_parse_line(ssh_session session, const char *line, |
149 |
- |
150 |
- opcode = ssh_config_get_opcode(keyword); |
151 |
- if (*parsing == 1 && opcode != SOC_HOST) { |
152 |
-- if (seen[opcode] == 0) { |
153 |
-+ if (seen[opcode] != 0) { |
154 |
- return 0; |
155 |
- } |
156 |
- seen[opcode] = 1; |
157 |
--- |
158 |
-cgit v1.1 |
159 |
- |
160 |
|
161 |
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 |
162 |
deleted file mode 100644 |
163 |
index 931d63360a1..00000000000 |
164 |
--- a/net-libs/libssh/files/libssh-0.7.5-fix-internal-algo-selection.patch |
165 |
+++ /dev/null |
166 |
@@ -1,156 +0,0 @@ |
167 |
-From 4893f9515da2696490e6bbe9aaf51f2ef9678b0f Mon Sep 17 00:00:00 2001 |
168 |
-From: Nikos Mavrogiannopoulos <nmav@××××××.com> |
169 |
-Date: Thu, 24 Aug 2017 16:28:39 +0200 |
170 |
-Subject: [PATCH 2/2] ssh_options_set_algo: ensure we only set known algorithms |
171 |
- internally |
172 |
- |
173 |
-That way, we will not fail later on key exchange phase when something |
174 |
-unknown is negotiated. |
175 |
- |
176 |
-Fixes T37 |
177 |
- |
178 |
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@××××××.com> |
179 |
-Reviewed-by: Andreas Schneider <asn@×××××.org> |
180 |
-(cherry picked from commit 895055ab38e7716390019aae5e11771a88b99d26) |
181 |
-Signed-off-by: Mihai Moldovan <ionic@×××××.de> |
182 |
---- |
183 |
- include/libssh/kex.h | 1 + |
184 |
- src/kex.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ |
185 |
- src/options.c | 11 ++++---- |
186 |
- 3 files changed, 81 insertions(+), 6 deletions(-) |
187 |
- |
188 |
-diff --git a/include/libssh/kex.h b/include/libssh/kex.h |
189 |
-index 1a5b6d41..23594985 100644 |
190 |
---- a/include/libssh/kex.h |
191 |
-+++ b/include/libssh/kex.h |
192 |
-@@ -41,6 +41,7 @@ void ssh_list_kex(struct ssh_kex_struct *kex); |
193 |
- int set_client_kex(ssh_session session); |
194 |
- int ssh_kex_select_methods(ssh_session session); |
195 |
- int verify_existing_algo(int algo, const char *name); |
196 |
-+char *keep_known_algos(int algo, const char *list); |
197 |
- char **space_tokenize(const char *chain); |
198 |
- int ssh_get_kex1(ssh_session session); |
199 |
- char *ssh_find_matching(const char *in_d, const char *what_d); |
200 |
-diff --git a/src/kex.c b/src/kex.c |
201 |
-index 519d79ce..f0c9d067 100644 |
202 |
---- a/src/kex.c |
203 |
-+++ b/src/kex.c |
204 |
-@@ -281,6 +281,71 @@ char *ssh_find_matching(const char *available_d, const char *preferred_d){ |
205 |
- return NULL; |
206 |
- } |
207 |
- |
208 |
-+static char *ssh_find_all_matching(const char *available_d, |
209 |
-+ const char *preferred_d) |
210 |
-+{ |
211 |
-+ char **tok_available, **tok_preferred; |
212 |
-+ int i_avail, i_pref; |
213 |
-+ char *ret; |
214 |
-+ unsigned max, len, pos = 0; |
215 |
-+ |
216 |
-+ if ((available_d == NULL) || (preferred_d == NULL)) { |
217 |
-+ return NULL; /* don't deal with null args */ |
218 |
-+ } |
219 |
-+ |
220 |
-+ max = MAX(strlen(available_d), strlen(preferred_d)); |
221 |
-+ |
222 |
-+ ret = malloc(max+1); |
223 |
-+ if (ret == NULL) { |
224 |
-+ return NULL; |
225 |
-+ } |
226 |
-+ ret[0] = 0; |
227 |
-+ |
228 |
-+ tok_available = tokenize(available_d); |
229 |
-+ if (tok_available == NULL) { |
230 |
-+ SAFE_FREE(ret); |
231 |
-+ return NULL; |
232 |
-+ } |
233 |
-+ |
234 |
-+ tok_preferred = tokenize(preferred_d); |
235 |
-+ if (tok_preferred == NULL) { |
236 |
-+ SAFE_FREE(ret); |
237 |
-+ SAFE_FREE(tok_available[0]); |
238 |
-+ SAFE_FREE(tok_available); |
239 |
-+ return NULL; |
240 |
-+ } |
241 |
-+ |
242 |
-+ for (i_pref = 0; tok_preferred[i_pref] ; ++i_pref) { |
243 |
-+ for (i_avail = 0; tok_available[i_avail]; ++i_avail) { |
244 |
-+ int cmp = strcmp(tok_available[i_avail],tok_preferred[i_pref]); |
245 |
-+ if (cmp == 0) { |
246 |
-+ /* match */ |
247 |
-+ if (pos != 0) { |
248 |
-+ ret[pos] = ','; |
249 |
-+ pos++; |
250 |
-+ } |
251 |
-+ |
252 |
-+ len = strlen(tok_available[i_avail]); |
253 |
-+ memcpy(&ret[pos], tok_available[i_avail], len); |
254 |
-+ pos += len; |
255 |
-+ ret[pos] = '\0'; |
256 |
-+ } |
257 |
-+ } |
258 |
-+ } |
259 |
-+ |
260 |
-+ if (ret[0] == '\0') { |
261 |
-+ SAFE_FREE(ret); |
262 |
-+ ret = NULL; |
263 |
-+ } |
264 |
-+ |
265 |
-+ SAFE_FREE(tok_available[0]); |
266 |
-+ SAFE_FREE(tok_preferred[0]); |
267 |
-+ SAFE_FREE(tok_available); |
268 |
-+ SAFE_FREE(tok_preferred); |
269 |
-+ |
270 |
-+ return ret; |
271 |
-+} |
272 |
-+ |
273 |
- /** |
274 |
- * @internal |
275 |
- * @brief returns whether the first client key exchange algorithm or |
276 |
-@@ -668,4 +733,14 @@ int verify_existing_algo(int algo, const char *name){ |
277 |
- return 0; |
278 |
- } |
279 |
- |
280 |
-+/* returns a copy of the provided list if everything is supported, |
281 |
-+ * otherwise a new list of the supported algorithms */ |
282 |
-+char *keep_known_algos(int algo, const char *list) |
283 |
-+{ |
284 |
-+ if ((algo > 9) || (algo < 0)) { |
285 |
-+ return NULL; |
286 |
-+ } |
287 |
-+ |
288 |
-+ return ssh_find_all_matching(supported_methods[algo], list); |
289 |
-+} |
290 |
- /* vim: set ts=2 sw=2 et cindent: */ |
291 |
-diff --git a/src/options.c b/src/options.c |
292 |
-index aed2dda5..34fe9cc7 100644 |
293 |
---- a/src/options.c |
294 |
-+++ b/src/options.c |
295 |
-@@ -164,7 +164,10 @@ int ssh_options_copy(ssh_session src, ssh_session *dest) { |
296 |
- |
297 |
- int ssh_options_set_algo(ssh_session session, int algo, |
298 |
- const char *list) { |
299 |
-- if (!verify_existing_algo(algo, list)) { |
300 |
-+ char *p = NULL; |
301 |
-+ |
302 |
-+ p = keep_known_algos(algo, list); |
303 |
-+ if (p == NULL) { |
304 |
- ssh_set_error(session, SSH_REQUEST_DENIED, |
305 |
- "Setting method: no algorithm for method \"%s\" (%s)\n", |
306 |
- ssh_kex_get_description(algo), list); |
307 |
-@@ -172,11 +175,7 @@ int ssh_options_set_algo(ssh_session session, int algo, |
308 |
- } |
309 |
- |
310 |
- SAFE_FREE(session->opts.wanted_methods[algo]); |
311 |
-- session->opts.wanted_methods[algo] = strdup(list); |
312 |
-- if (session->opts.wanted_methods[algo] == NULL) { |
313 |
-- ssh_set_error_oom(session); |
314 |
-- return -1; |
315 |
-- } |
316 |
-+ session->opts.wanted_methods[algo] = p; |
317 |
- |
318 |
- return 0; |
319 |
- } |
320 |
--- |
321 |
-2.15.1 |
322 |
- |
323 |
|
324 |
diff --git a/net-libs/libssh/libssh-0.7.4.ebuild b/net-libs/libssh/libssh-0.7.4.ebuild |
325 |
deleted file mode 100644 |
326 |
index f3308692332..00000000000 |
327 |
--- a/net-libs/libssh/libssh-0.7.4.ebuild |
328 |
+++ /dev/null |
329 |
@@ -1,100 +0,0 @@ |
330 |
-# Copyright 1999-2018 Gentoo Foundation |
331 |
-# Distributed under the terms of the GNU General Public License v2 |
332 |
- |
333 |
-EAPI=6 |
334 |
- |
335 |
-MY_P=${PN}-${PV/_rc/rc} |
336 |
-inherit eutils cmake-multilib multilib |
337 |
- |
338 |
-DESCRIPTION="Access a working SSH implementation by means of a library" |
339 |
-HOMEPAGE="http://www.libssh.org/" |
340 |
-SRC_URI="https://red.libssh.org/attachments/download/210/${MY_P}.tar.xz -> ${P}.tar.xz" |
341 |
- |
342 |
-LICENSE="LGPL-2.1" |
343 |
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux" |
344 |
-SLOT="0/4" # subslot = soname major version |
345 |
-IUSE="debug doc examples gcrypt gssapi libressl pcap +sftp ssh1 server static-libs test zlib" |
346 |
-# Maintainer: check IUSE-defaults at DefineOptions.cmake |
347 |
- |
348 |
-RDEPEND=" |
349 |
- zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) |
350 |
- !gcrypt? ( |
351 |
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) |
352 |
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] ) |
353 |
- ) |
354 |
- gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) |
355 |
- gssapi? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) |
356 |
-" |
357 |
-DEPEND=" |
358 |
- ${RDEPEND} |
359 |
- doc? ( app-doc/doxygen ) |
360 |
- test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] ) |
361 |
-" |
362 |
- |
363 |
-DOCS=( AUTHORS README ChangeLog ) |
364 |
- |
365 |
-S=${WORKDIR}/${MY_P} |
366 |
- |
367 |
-PATCHES=( |
368 |
- "${FILESDIR}"/${PN}-0.5.0-tests.patch |
369 |
-) |
370 |
- |
371 |
-src_prepare() { |
372 |
- # just install the examples do not compile them |
373 |
- sed -i \ |
374 |
- -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' \ |
375 |
- CMakeLists.txt || die |
376 |
- |
377 |
- # keyfile torture test is currently broken |
378 |
- sed \ |
379 |
- -e '/torture_keyfiles/d' \ |
380 |
- -i tests/unittests/CMakeLists.txt || die |
381 |
- |
382 |
- cmake-utils_src_prepare |
383 |
-} |
384 |
- |
385 |
-multilib_src_configure() { |
386 |
- local mycmakeargs=( |
387 |
- -DWITH_DEBUG_CALLTRACE="$(usex debug)" |
388 |
- -DWITH_DEBUG_CRYPTO="$(usex debug)" |
389 |
- -DWITH_GCRYPT="$(usex gcrypt)" |
390 |
- -DWITH_GSSAPI="$(usex gssapi)" |
391 |
- -DWITH_NACL=no |
392 |
- -DWITH_PCAP="$(usex pcap)" |
393 |
- -DWITH_SERVER="$(usex server)" |
394 |
- -DWITH_SFTP="$(usex sftp)" |
395 |
- -DWITH_SSH1="$(usex ssh1)" |
396 |
- -DWITH_STACK_PROTECTOR=OFF |
397 |
- -DWITH_STATIC_LIB="$(usex static-libs)" |
398 |
- -DWITH_STATIC_LIB="$(usex test)" |
399 |
- -DWITH_TESTING="$(usex test)" |
400 |
- -DWITH_ZLIB="$(usex zlib)" |
401 |
- ) |
402 |
- |
403 |
- cmake-utils_src_configure |
404 |
-} |
405 |
- |
406 |
-multilib_src_compile() { |
407 |
- cmake-utils_src_compile |
408 |
- multilib_is_native_abi && use doc && cmake-utils_src_compile doc |
409 |
-} |
410 |
- |
411 |
-multilib_src_install() { |
412 |
- cmake-utils_src_install |
413 |
- |
414 |
- if multilib_is_native_abi && use doc ; then |
415 |
- docinto html |
416 |
- dodoc -r doc/html/. |
417 |
- fi |
418 |
- |
419 |
- use static-libs || rm -f "${D}"/usr/$(get_libdir)/libssh{,_threads}.a |
420 |
-} |
421 |
- |
422 |
-multilib_src_install_all() { |
423 |
- einstalldocs |
424 |
- |
425 |
- if use examples; then |
426 |
- docinto examples |
427 |
- dodoc examples/*.{c,h,cpp} |
428 |
- fi |
429 |
-} |
430 |
|
431 |
diff --git a/net-libs/libssh/libssh-0.7.5-r2.ebuild b/net-libs/libssh/libssh-0.7.5-r2.ebuild |
432 |
deleted file mode 100644 |
433 |
index 95aba9f77ea..00000000000 |
434 |
--- a/net-libs/libssh/libssh-0.7.5-r2.ebuild |
435 |
+++ /dev/null |
436 |
@@ -1,103 +0,0 @@ |
437 |
-# Copyright 1999-2018 Gentoo Foundation |
438 |
-# Distributed under the terms of the GNU General Public License v2 |
439 |
- |
440 |
-EAPI=6 |
441 |
- |
442 |
-MY_P="${PN}-${PV/_rc/rc}" |
443 |
-inherit cmake-multilib |
444 |
- |
445 |
-DESCRIPTION="Access a working SSH implementation by means of a library" |
446 |
-HOMEPAGE="https://www.libssh.org/" |
447 |
-SRC_URI="https://red.libssh.org/attachments/download/218/${MY_P}.tar.xz -> ${P}.tar.xz" |
448 |
- |
449 |
-LICENSE="LGPL-2.1" |
450 |
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux" |
451 |
-SLOT="0/4" # subslot = soname major version |
452 |
-IUSE="debug doc examples gcrypt gssapi libressl pcap server +sftp ssh1 static-libs test zlib" |
453 |
-# Maintainer: check IUSE-defaults at DefineOptions.cmake |
454 |
- |
455 |
-RDEPEND=" |
456 |
- !gcrypt? ( |
457 |
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) |
458 |
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] ) |
459 |
- ) |
460 |
- gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0[${MULTILIB_USEDEP}] ) |
461 |
- gssapi? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) |
462 |
- zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) |
463 |
-" |
464 |
-DEPEND="${RDEPEND} |
465 |
- doc? ( app-doc/doxygen ) |
466 |
- test? ( >=dev-util/cmocka-0.3.1[${MULTILIB_USEDEP}] ) |
467 |
-" |
468 |
- |
469 |
-DOCS=( AUTHORS README ChangeLog ) |
470 |
- |
471 |
-S="${WORKDIR}/${MY_P}" |
472 |
- |
473 |
-PATCHES=( |
474 |
- "${FILESDIR}"/${PN}-0.5.0-tests.patch |
475 |
- "${FILESDIR}"/${P}-fix-config-parsing.patch |
476 |
- "${FILESDIR}"/${P}-fix-config-buffer-underflow.patch |
477 |
- "${FILESDIR}"/${P}-add-macro-for-MAX.patch |
478 |
- "${FILESDIR}"/${P}-fix-internal-algo-selection.patch |
479 |
-) |
480 |
- |
481 |
-src_prepare() { |
482 |
- cmake-utils_src_prepare |
483 |
- |
484 |
- # just install the examples do not compile them |
485 |
- sed -i \ |
486 |
- -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' \ |
487 |
- CMakeLists.txt || die |
488 |
- |
489 |
- # keyfile torture test is currently broken |
490 |
- sed -i \ |
491 |
- -e '/torture_keyfiles/d' \ |
492 |
- tests/unittests/CMakeLists.txt || die |
493 |
-} |
494 |
- |
495 |
-multilib_src_configure() { |
496 |
- local mycmakeargs=( |
497 |
- -DWITH_DEBUG_CALLTRACE="$(usex debug)" |
498 |
- -DWITH_DEBUG_CRYPTO="$(usex debug)" |
499 |
- -DWITH_GCRYPT="$(usex gcrypt)" |
500 |
- -DWITH_GSSAPI="$(usex gssapi)" |
501 |
- -DWITH_NACL=no |
502 |
- -DWITH_PCAP="$(usex pcap)" |
503 |
- -DWITH_SERVER="$(usex server)" |
504 |
- -DWITH_SFTP="$(usex sftp)" |
505 |
- -DWITH_SSH1="$(usex ssh1)" |
506 |
- -DWITH_STACK_PROTECTOR=OFF |
507 |
- -DWITH_STATIC_LIB="$(usex static-libs)" |
508 |
- -DWITH_STATIC_LIB="$(usex test)" |
509 |
- -DWITH_TESTING="$(usex test)" |
510 |
- -DWITH_ZLIB="$(usex zlib)" |
511 |
- ) |
512 |
- |
513 |
- cmake-utils_src_configure |
514 |
-} |
515 |
- |
516 |
-multilib_src_compile() { |
517 |
- cmake-utils_src_compile |
518 |
- multilib_is_native_abi && use doc && cmake-utils_src_compile doc |
519 |
-} |
520 |
- |
521 |
-multilib_src_install() { |
522 |
- cmake-utils_src_install |
523 |
- |
524 |
- if multilib_is_native_abi && use doc ; then |
525 |
- docinto html |
526 |
- dodoc -r doc/html/. |
527 |
- fi |
528 |
- |
529 |
- use static-libs || rm -f "${D}"/usr/$(get_libdir)/libssh{,_threads}.a |
530 |
-} |
531 |
- |
532 |
-multilib_src_install_all() { |
533 |
- einstalldocs |
534 |
- |
535 |
- if use examples; then |
536 |
- docinto examples |
537 |
- dodoc examples/*.{c,h,cpp} |
538 |
- fi |
539 |
-} |
540 |
|
541 |
diff --git a/net-libs/libssh/metadata.xml b/net-libs/libssh/metadata.xml |
542 |
index fa9ac337d5e..6eba5670e2e 100644 |
543 |
--- a/net-libs/libssh/metadata.xml |
544 |
+++ b/net-libs/libssh/metadata.xml |
545 |
@@ -11,7 +11,6 @@ |
546 |
<flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as TLS provider</flag> |
547 |
<flag name="pcap">Build with PCAP output support</flag> |
548 |
<flag name="sftp">Build with SFTP support</flag> |
549 |
- <flag name="ssh1">Build with SSH1 support</flag> |
550 |
<flag name="server">Build with SSH server support</flag> |
551 |
</use> |
552 |
</pkgmetadata> |