summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2017-07-04 22:27:36 -0400
committerBrian Evans <grknight@gentoo.org>2017-07-04 22:27:36 -0400
commite8e572057cf5e76ae91507d103caf29096eedf52 (patch)
tree05e311100a1b0e9f224dc7416338e7bdc6fd70ec
parentdev-php/pecl-ssh2: Version bump to 1.1.1 fixes bug 603290 (diff)
downloadgentoo-e8e572057cf5e76ae91507d103caf29096eedf52.tar.gz
gentoo-e8e572057cf5e76ae91507d103caf29096eedf52.tar.bz2
gentoo-e8e572057cf5e76ae91507d103caf29096eedf52.zip
dev-php/pecl-ssh2: Revbump to include upstream patch for 5.6; wrt bug 603290
Package-Manager: Portage-2.3.6, Repoman-2.3.2
-rw-r--r--dev-php/pecl-ssh2/files/0.13-parse_url-fix.patch49
-rw-r--r--dev-php/pecl-ssh2/pecl-ssh2-0.13-r3.ebuild31
2 files changed, 80 insertions, 0 deletions
diff --git a/dev-php/pecl-ssh2/files/0.13-parse_url-fix.patch b/dev-php/pecl-ssh2/files/0.13-parse_url-fix.patch
new file mode 100644
index 000000000000..c9c052fd32db
--- /dev/null
+++ b/dev-php/pecl-ssh2/files/0.13-parse_url-fix.patch
@@ -0,0 +1,49 @@
+From 093906ec1c065e86ad1cd4dabbc89b1ccae11938 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@php.net>
+Date: Thu, 10 Nov 2016 09:16:02 +0100
+Subject: [PATCH] fix for PHP 7.0.13 where php_url_parse fails
+
+---
+ ssh2_fopen_wrappers.c | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c
+index 8472ddd..89b34eb 100644
+--- a/ssh2_fopen_wrappers.c
++++ b/ssh2_fopen_wrappers.c
+@@ -198,10 +198,20 @@ php_url *php_ssh2_fopen_wraper_parse_path( char *path, char *type, php_stream_co
+ php_url *resource;
+ zval *methods = NULL, *callbacks = NULL, zsession, **tmpzval;
+ long resource_id;
+- char *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL;
++ char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL;
+ int username_len = 0, password_len = 0;
+
+- resource = php_url_parse(path);
++ h = strstr(path, "Resource id #");
++ if (h) {
++ /* Starting with 5.6.28, 7.0.13 need to be clean, else php_url_parse will fail */
++ char *tmp = estrdup(path);
++
++ strncpy(tmp + (h-path), h + sizeof("Resource id #")-1, strlen(tmp)-sizeof("Resource id #"));
++ resource = php_url_parse(tmp);
++ efree(tmp);
++ } else {
++ resource = php_url_parse(path);
++ }
+ if (!resource || !resource->path) {
+ return NULL;
+ }
+@@ -232,9 +242,6 @@ php_url *php_ssh2_fopen_wraper_parse_path( char *path, char *type, php_stream_co
+
+ /* Look for a resource ID to reuse a session */
+ s = resource->host;
+- if (strncmp(resource->host, "Resource id #", sizeof("Resource id #") - 1) == 0) {
+- s = resource->host + sizeof("Resource id #") - 1;
+- }
+ if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) {
+ php_ssh2_sftp_data *sftp_data;
+
+--
+2.1.4
+
diff --git a/dev-php/pecl-ssh2/pecl-ssh2-0.13-r3.ebuild b/dev-php/pecl-ssh2/pecl-ssh2-0.13-r3.ebuild
new file mode 100644
index 000000000000..ad10daaf227b
--- /dev/null
+++ b/dev-php/pecl-ssh2/pecl-ssh2-0.13-r3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PHP_EXT_NAME="ssh2"
+
+USE_PHP="php5-6 php7-0 php7-1"
+
+inherit php-ext-pecl-r3
+
+USE_PHP="php5-6"
+
+DESCRIPTION="PHP bindings for the libssh2 library"
+LICENSE="PHP-3.01"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~x86"
+DEPEND="net-libs/libssh2"
+RDEPEND="${DEPEND}"
+PDEPEND="php_targets_php7-0? ( dev-php/pecl-ssh2:7 )
+ php_targets_php7-1? ( dev-php/pecl-ssh2:7 )"
+
+src_prepare(){
+ if use php_targets_php5-6 ; then
+ local PATCHES=( "${FILESDIR}/0.13-parse_url-fix.patch" )
+ php-ext-source-r3_src_prepare
+ else
+ default_src_prepare
+ fi
+}