All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit branch/next] package/php-ssh2: bump version to 1.3.1
@ 2021-07-03 19:56 Thomas Petazzoni
  0 siblings, 0 replies; only message in thread
From: Thomas Petazzoni @ 2021-07-03 19:56 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=dcefb778ec04a97d5e34185db52866d467fb317d
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next

Other changes:
  - Remove both upstream patches

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 ...0001-fix-php_url-fields-usage-for-PHP-7-3.patch | 302 ---------
 ...ort-Restored-commented-reference-counting.patch | 746 ---------------------
 package/php-ssh2/php-ssh2.hash                     |   2 +-
 package/php-ssh2/php-ssh2.mk                       |   2 +-
 4 files changed, 2 insertions(+), 1050 deletions(-)

diff --git a/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch b/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch
deleted file mode 100644
index afc5de9915..0000000000
--- a/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-From a8835aab2c15e794fce13bd927295719e384ad2d Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@php.net>
-Date: Thu, 28 Jun 2018 07:10:35 +0200
-Subject: [PATCH] fix php_url fields usage for PHP 7.3
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/php/pecl-networking-ssh2/commit/a8835aab2c15e794fce13bd927295719e384ad2d]
----
- php_ssh2.h            |  8 +++++++
- ssh2_fopen_wrappers.c | 55 +++++++++++++++++++++++++++----------------
- ssh2_sftp.c           | 20 ++++++++--------
- 3 files changed, 53 insertions(+), 30 deletions(-)
-
-diff --git a/php_ssh2.h b/php_ssh2.h
-index 734b795..d010ff9 100644
---- a/php_ssh2.h
-+++ b/php_ssh2.h
-@@ -166,6 +166,14 @@ extern php_stream_wrapper php_ssh2_sftp_wrapper;
- extern int le_ssh2_session;
- extern int le_ssh2_sftp;
- 
-+#if PHP_VERSION_ID < 70300
-+#define SSH2_URL_STR(a) (a)
-+#define SSH2_URL_LEN(a) strlen(a)
-+#else
-+#define SSH2_URL_STR(a) ZSTR_VAL(a)
-+#define SSH2_URL_LEN(a) ZSTR_LEN(a)
-+#endif
-+
- #endif	/* PHP_SSH2_H */
- 
- /*
-diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c
-index 2f96ca4..f2f3475 100644
---- a/ssh2_fopen_wrappers.c
-+++ b/ssh2_fopen_wrappers.c
-@@ -215,7 +215,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 	php_url *resource;
- 	zval *methods = NULL, *callbacks = NULL, zsession, *tmpzval;
- 	zend_long resource_id;
--	char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL;
-+	char *h, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL;
- 	int username_len = 0, password_len = 0;
- 
- 	h = strstr(path, "Resource id #");
-@@ -233,13 +233,13 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		return NULL;
- 	}
- 
--	if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) {
-+	if (strncmp(SSH2_URL_STR(resource->scheme), "ssh2.", sizeof("ssh2.") - 1)) {
- 		/* Not an ssh wrapper */
- 		php_url_free(resource);
- 		return NULL;
- 	}
- 
--	if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) {
-+	if (strcmp(SSH2_URL_STR(resource->scheme) + sizeof("ssh2.") - 1, type)) {
- 		/* Wrong ssh2. wrapper type */
- 		php_url_free(resource);
- 		return NULL;
-@@ -253,13 +253,27 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		Find resource->path in the path string, then copy the entire string from the original path.
- 		This includes ?query#fragment in the path string
- 	*/
-+// TODO copy seems uneeded
-+#if PHP_VERSION_ID < 70300
-+	{
-+	char * s;
-+
- 	s = resource->path;
- 	resource->path = estrdup(strstr(path, resource->path));
- 	efree(s);
-+	}
-+#else
-+	{
-+	zend_string *tmp;
-+
-+	tmp = resource->path;
-+	resource->path = zend_string_init(ZSTR_VAL(resource->path), ZSTR_LEN(resource->path), 0);
-+	zend_string_release(tmp);
-+	}
-+#endif
- 
- 	/* Look for a resource ID to reuse a session */
--	s = resource->host;
--	if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) {
-+	if (is_numeric_string(SSH2_URL_STR(resource->host), SSH2_URL_LEN(resource->host), &resource_id, NULL, 0) == IS_LONG) {
- 		php_ssh2_sftp_data *sftp_data;
- 		zval *zresource;
- 
-@@ -309,7 +323,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 	}
- 
- 	/* Fallback on finding it in the context */
--	if (resource->host[0] == 0 && context && psftp &&
-+	if (SSH2_URL_STR(resource->host)[0] == 0 && context && psftp &&
- 		(tmpzval = php_stream_context_get_option(context, "ssh2", "sftp")) != NULL &&
- 		Z_TYPE_P(tmpzval) == IS_RESOURCE) {
- 		php_ssh2_sftp_data *sftp_data;
-@@ -323,7 +337,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 			return resource;
- 		}
- 	}
--	if (resource->host[0] == 0 && context &&
-+	if (SSH2_URL_STR(resource->host)[0] == 0 && context &&
- 		(tmpzval = php_stream_context_get_option(context, "ssh2", "session")) != NULL &&
- 		Z_TYPE_P(tmpzval) == IS_RESOURCE) {
- 		session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
-@@ -399,19 +413,19 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 	}
- 
- 	if (resource->user) {
--		int len = strlen(resource->user);
-+		int len = SSH2_URL_LEN(resource->user);
- 
- 		if (len) {
--			username = resource->user;
-+			username = SSH2_URL_STR(resource->user);
- 			username_len = len;
- 		}
- 	}
- 
- 	if (resource->pass) {
--		int len = strlen(resource->pass);
-+		int len = SSH2_URL_LEN(resource->pass);
- 
- 		if (len) {
--			password = resource->pass;
-+			password = SSH2_URL_STR(resource->pass);
- 			password_len = len;
- 		}
- 	}
-@@ -422,7 +436,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		return NULL;
- 	}
- 
--	session = php_ssh2_session_connect(resource->host, resource->port, methods, callbacks);
-+	session = php_ssh2_session_connect(SSH2_URL_STR(resource->host), resource->port, methods, callbacks);
- 	if (!session) {
- 		/* Unable to connect! */
- 		php_url_free(resource);
-@@ -482,6 +496,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		*psftp = sftp;
- 	}
- 
-+	//TODO may be undefined
- 	*presource_id = Z_LVAL(zsession);
- 	*psession = session;
- 
-@@ -527,7 +542,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id
- 					zval_copy_ctor(&copyval);
- 					convert_to_string(&copyval);
- 					if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) {
--						php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval));
-+						php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval));
- 					}
- 					zval_dtor(&copyval);
- 				}
-@@ -631,7 +646,7 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con
- 		zval_ptr_dtor(&copyval);
- 	}
- 
--	s = resource->path ? resource->path : NULL;
-+	s = resource->path ? SSH2_URL_STR(resource->path) : NULL;
- 
- 	if (s && s[0] == '/') {
- 		/* Terminal type encoded into URL overrides context terminal type */
-@@ -766,7 +781,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_
- 					zval_copy_ctor(&copyval);
- 					convert_to_string(&copyval);
- 					if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) {
--						php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval));
-+						php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval));
- 					}
- 					zval_dtor(&copyval);
- 				}
-@@ -878,7 +893,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons
- 		zval_ptr_dtor(copyval);
- 	}
- 
--	stream = php_ssh2_exec_command(session, resource_id, resource->path + 1, terminal, terminal_len, environment, width, height, type);
-+	stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type);
- 	if (!stream) {
- 		// TODO Sean-Der
- 		//zend_list_delete(resource_id);
-@@ -1021,7 +1036,7 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const
- 		return NULL;
- 	}
- 
--	stream = php_ssh2_scp_xfer(session, resource_id, resource->path);
-+	stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path));
- 	if (!stream) {
- 		//TODO Sean-Der
- 		//zend_list_delete(resource_id);
-@@ -1147,7 +1162,7 @@ PHP_FUNCTION(ssh2_scp_send)
- 		char *error_msg = NULL;
- 
- 		last_error = libssh2_session_last_error(session, &error_msg, NULL, 0);
--		php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s", error_msg);
-+		php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s (%d)", error_msg, last_error);
- 		php_stream_close(local_file);
- 		RETURN_FALSE;
- 	}
-@@ -1262,10 +1277,10 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co
- 		return NULL;
- 	}
- 
--	if (resource->path && resource->path[0] == '/') {
-+	if (resource->path && SSH2_URL_STR(resource->path)[0] == '/') {
- 		char *colon;
- 
--		host = resource->path + 1;
-+		host = SSH2_URL_STR(resource->path) + 1;
- 		if (*host == '[') {
- 			/* IPv6 Encapsulated Format */
- 			host++;
-diff --git a/ssh2_sftp.c b/ssh2_sftp.c
-index 13f89f0..6332be8 100644
---- a/ssh2_sftp.c
-+++ b/ssh2_sftp.c
-@@ -238,7 +238,7 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons
- 
- 	flags = php_ssh2_parse_fopen_modes((char *)mode);
- 
--	handle = libssh2_sftp_open(sftp, resource->path, flags, perms);
-+	handle = libssh2_sftp_open(sftp, SSH2_URL_STR(resource->path), flags, perms);
- 	if (!handle) {
- 		php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename);
- 		php_url_free(resource);
-@@ -341,7 +341,7 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c
- 		return NULL;
- 	}
- 
--	handle = libssh2_sftp_opendir(sftp, resource->path);
-+	handle = libssh2_sftp_opendir(sftp, SSH2_URL_STR(resource->path));
- 	if (!handle) {
- 		php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename);
- 		php_url_free(resource);
-@@ -386,7 +386,7 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i
- 		return -1;
- 	}
- 
--	if (libssh2_sftp_stat_ex(sftp, resource->path, strlen(resource->path),
-+	if (libssh2_sftp_stat_ex(sftp, SSH2_URL_STR(resource->path), SSH2_URL_LEN(resource->path),
- 		(flags & PHP_STREAM_URL_STAT_LINK) ? LIBSSH2_SFTP_LSTAT : LIBSSH2_SFTP_STAT, &attrs)) {
- 		php_url_free(resource);
- 		//zend_list_delete(sftp_rsrcid);
-@@ -420,7 +420,7 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in
- 		return 0;
- 	}
- 
--	result = libssh2_sftp_unlink(sftp, resource->path);
-+	result = libssh2_sftp_unlink(sftp, SSH2_URL_STR(resource->path));
- 	php_url_free(resource);
- 
- 	//zend_list_delete(sftp_rsrcid);
-@@ -462,7 +462,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro
- 		return 0;
- 	}
- 
--	result = libssh2_sftp_rename(sftp, resource->path, resource_to->path);
-+	result = libssh2_sftp_rename(sftp, SSH2_URL_STR(resource->path), SSH2_URL_STR(resource_to->path));
- 	php_url_free(resource);
- 	php_url_free(resource_to);
- 
-@@ -493,13 +493,13 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int
- 
- 	if (options & PHP_STREAM_MKDIR_RECURSIVE) {
- 		/* Just attempt to make every directory, some will fail, but we only care about the last success/failure */
--		char *p = resource->path;
-+		char *p = SSH2_URL_STR(resource->path);
- 		while ((p = strchr(p + 1, '/'))) {
--			libssh2_sftp_mkdir_ex(sftp, resource->path, p - resource->path, mode);
-+			libssh2_sftp_mkdir_ex(sftp, SSH2_URL_STR(resource->path), p - SSH2_URL_STR(resource->path), mode);
- 		}
- 	}
- 
--	result = libssh2_sftp_mkdir(sftp, resource->path, mode);
-+	result = libssh2_sftp_mkdir(sftp, SSH2_URL_STR(resource->path), mode);
- 	php_url_free(resource);
- 
- 	//zend_list_delete(sftp_rsrcid);
-@@ -527,7 +527,7 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int
- 		return 0;
- 	}
- 
--	result = libssh2_sftp_rmdir(sftp, resource->path);
-+	result = libssh2_sftp_rmdir(sftp, SSH2_URL_STR(resource->path));
- 	php_url_free(resource);
- 
- 	//zend_list_delete(sftp_rsrcid);
-@@ -836,7 +836,7 @@ PHP_FUNCTION(ssh2_sftp_readlink)
- 	}
- 
- 	if ((targ_len = libssh2_sftp_symlink_ex(data->sftp, link->val, link->len, targ, 8192, LIBSSH2_SFTP_READLINK)) < 0) {
--		php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", link);
-+		php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", ZSTR_VAL(link));
- 		RETURN_FALSE;
- 	}
- 
diff --git a/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch b/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch
deleted file mode 100644
index d6d62947f7..0000000000
--- a/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch
+++ /dev/null
@@ -1,746 +0,0 @@
-From 073067ba96ac99ed5696d27f13ca6c8124986e74 Mon Sep 17 00:00:00 2001
-From: Jan-E <github@ehrhardt.nl>
-Date: Thu, 28 Jun 2018 08:43:48 +0200
-Subject: [PATCH] @dstogov Fixed PHP7 port. Restored commented reference
- counting.
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/php/pecl-networking-ssh2/commit/073067ba96ac99ed5696d27f13ca6c8124986e74]
----
- php_ssh2.h            |  14 ++---
- ssh2.c                |  26 ++++-----
- ssh2_fopen_wrappers.c | 129 ++++++++++++++++++------------------------
- ssh2_sftp.c           |  59 +++++++++----------
- 4 files changed, 102 insertions(+), 126 deletions(-)
-
-diff --git a/php_ssh2.h b/php_ssh2.h
-index d010ff9..2bbaa26 100644
---- a/php_ssh2.h
-+++ b/php_ssh2.h
-@@ -73,14 +73,14 @@ typedef struct _php_ssh2_sftp_data {
- 	LIBSSH2_SESSION *session;
- 	LIBSSH2_SFTP *sftp;
- 
--	int session_rsrcid;
-+	zend_resource *session_rsrc;
- } php_ssh2_sftp_data;
- 
- typedef struct _php_ssh2_listener_data {
- 	LIBSSH2_SESSION *session;
- 	LIBSSH2_LISTENER *listener;
- 
--	int session_rsrcid;
-+	zend_resource *session_rsrc;
- } php_ssh2_listener_data;
- 
- #include "libssh2_publickey.h"
-@@ -89,7 +89,7 @@ typedef struct _php_ssh2_pkey_subsys_data {
- 	LIBSSH2_SESSION *session;
- 	LIBSSH2_PUBLICKEY *pkey;
- 
--	int session_rsrcid;
-+	zend_resource *session_rsrc;
- } php_ssh2_pkey_subsys_data;
- 
- #define SSH2_FETCH_NONAUTHENTICATED_SESSION(session, zsession) \
-@@ -118,8 +118,8 @@ typedef struct _php_ssh2_channel_data {
- 	char is_blocking;
- 	long timeout;
- 
--	/* Resource ID */
--	int session_rsrcid;
-+	/* Resource */
-+	zend_resource *session_rsrc;
- 
- 	/* Allow one stream to be closed while the other is kept open */
- 	unsigned char *refcount;
-@@ -151,8 +151,8 @@ PHP_FUNCTION(ssh2_sftp_realpath);
- LIBSSH2_SESSION *php_ssh2_session_connect(char *host, int port, zval *methods, zval *callbacks);
- void php_ssh2_sftp_dtor(zend_resource *rsrc);
- php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context,
--											LIBSSH2_SESSION **psession, int *presource_id,
--											LIBSSH2_SFTP **psftp, int *psftp_rsrcid);
-+											LIBSSH2_SESSION **psession, zend_resource **presource,
-+											LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc);
- 
- extern php_stream_ops php_ssh2_channel_stream_ops;
- 
-diff --git a/ssh2.c b/ssh2.c
-index e73867e..849766b 100644
---- a/ssh2.c
-+++ b/ssh2.c
-@@ -772,9 +772,8 @@ PHP_FUNCTION(ssh2_forward_listen)
- 
- 	data = emalloc(sizeof(php_ssh2_listener_data));
- 	data->session = session;
--	data->session_rsrcid = Z_LVAL_P(zsession);
--	//TODO Sean-Der
--	//zend_list_addref(data->session_rsrcid);
-+	data->session_rsrc = Z_RES_P(zsession);
-+	Z_ADDREF_P(zsession);
- 	data->listener = listener;
- 
- 	RETURN_RES(zend_register_resource(data, le_ssh2_listener));
-@@ -810,7 +809,7 @@ PHP_FUNCTION(ssh2_forward_accept)
- 	channel_data->channel = channel;
- 	channel_data->streamid = 0;
- 	channel_data->is_blocking = 0;
--	channel_data->session_rsrcid = data->session_rsrcid;
-+	channel_data->session_rsrc = data->session_rsrc;
- 	channel_data->refcount = NULL;
- 
- 	stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+");
-@@ -820,8 +819,12 @@ PHP_FUNCTION(ssh2_forward_accept)
- 		libssh2_channel_free(channel);
- 		RETURN_FALSE;
- 	}
--	//TODO Sean-Der
--	//zend_list_addref(channel_data->session_rsrcid);
-+
-+#if PHP_VERSION_ID < 70300
-+	GC_REFCOUNT(channel_data->session_rsrc)++;
-+#else
-+	GC_ADDREF(channel_data->session_rsrc);
-+#endif
- 
- 	php_stream_to_zval(stream, return_value);
- }
-@@ -975,9 +978,8 @@ PHP_FUNCTION(ssh2_publickey_init)
- 
- 	data = emalloc(sizeof(php_ssh2_pkey_subsys_data));
- 	data->session = session;
--	data->session_rsrcid = Z_RES_P(zsession)->handle;
--	//TODO Sean-Der
--	//zend_list_addref(data->session_rsrcid);
-+	data->session_rsrc = Z_RES_P(zsession);
-+	Z_ADDREF_P(zsession);
- 	data->pkey = pkey;
- 
- 	RETURN_RES(zend_register_resource(data, le_ssh2_pkey_subsys));
-@@ -1280,8 +1282,7 @@ static void php_ssh2_listener_dtor(zend_resource *rsrc)
- 	LIBSSH2_LISTENER *listener = data->listener;
- 
- 	libssh2_channel_forward_cancel(listener);
--	// TODO Sean-Der
--	//zend_list_delete(data->session_rsrcid);
-+	zend_list_delete(data->session_rsrc);
- 	efree(data);
- }
- 
-@@ -1291,8 +1292,7 @@ static void php_ssh2_pkey_subsys_dtor(zend_resource *rsrc)
- 	LIBSSH2_PUBLICKEY *pkey = data->pkey;
- 
- 	libssh2_publickey_shutdown(pkey);
--	// TODO Sean-Der
--	//zend_list_delete(data->session_rsrcid);
-+	zend_list_delete(data->session_rsrc);
- 	efree(data);
- }
- 
-diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c
-index f2f3475..c4eb9dc 100644
---- a/ssh2_fopen_wrappers.c
-+++ b/ssh2_fopen_wrappers.c
-@@ -47,11 +47,9 @@ static size_t php_ssh2_channel_stream_write(php_stream *stream, const char *buf,
- 	php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract;
- 	size_t writestate;
- 	LIBSSH2_SESSION *session;
--	zval *zresource;
- 
- 	libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking);
--	zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid);
--	session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
-+	session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
- 
- 
- 
-@@ -90,12 +88,10 @@ static size_t php_ssh2_channel_stream_read(php_stream *stream, char *buf, size_t
- 	php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract;
- 	ssize_t readstate;
- 	LIBSSH2_SESSION *session;
--	zval *zresource;
- 
- 	stream->eof = libssh2_channel_eof(abstract->channel);
- 	libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking);
--	zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid);
--	session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
-+	session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session);
- 
- #ifdef PHP_SSH2_SESSION_TIMEOUT
- 	if (abstract->is_blocking) {
-@@ -137,8 +133,7 @@ static int php_ssh2_channel_stream_close(php_stream *stream, int close_handle)
- 		}
- 		libssh2_channel_eof(abstract->channel);
- 		libssh2_channel_free(abstract->channel);
--		//TODO Sean-Der
--		//zend_list_delete(abstract->session_rsrcid);
-+		zend_list_delete(abstract->session_rsrc);
- 	}
- 	efree(abstract);
- 
-@@ -207,8 +202,8 @@ php_stream_ops php_ssh2_channel_stream_ops = {
-  * Parse an ssh2.*:// path
-  */
- php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context,
--											LIBSSH2_SESSION **psession, int *presource_id,
--											LIBSSH2_SFTP **psftp, int *psftp_rsrcid)
-+											LIBSSH2_SESSION **psession, zend_resource **presource,
-+											LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc)
- {
- 	php_ssh2_sftp_data *sftp_data = NULL;
- 	LIBSSH2_SESSION *session;
-@@ -283,11 +278,10 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 			sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp);
- 			if (sftp_data) {
- 				/* Want the sftp layer */
--				//TODO Sean-Der
--				//zend_list_addref(resource_id);
--				*psftp_rsrcid = resource_id;
-+				Z_ADDREF_P(zresource);
-+				*psftp_rsrc = Z_RES_P(zresource);
- 				*psftp = sftp_data->sftp;
--				*presource_id = sftp_data->session_rsrcid;
-+				*presource = sftp_data->session_rsrc;
- 				*psession = sftp_data->session;
- 				return resource;
- 			}
-@@ -305,18 +299,16 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 				sftp_data = emalloc(sizeof(php_ssh2_sftp_data));
- 				sftp_data->sftp = sftp;
- 				sftp_data->session = session;
--				sftp_data->session_rsrcid = resource_id;
--				//TODO Sean-Der
--				//zend_list_addref(resource_id);
--				*psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle;
-+				sftp_data->session_rsrc = Z_RES_P(zresource);
-+				Z_ADDREF_P(zresource);
-+				*psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp);
- 				*psftp = sftp;
--				*presource_id = resource_id;
-+				*presource = Z_RES_P(zresource);
- 				*psession = session;
- 				return resource;
- 			}
--			//TODO Sean-Der
--			//zend_list_addref(resource_id);
--			*presource_id = resource_id;
-+			Z_ADDREF_P(zresource);
-+			*presource = Z_RES_P(zresource);
- 			*psession = session;
- 			return resource;
- 		}
-@@ -330,9 +322,9 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp);
- 		if (sftp_data) {
- 			Z_ADDREF_P(tmpzval);
--			*psftp_rsrcid = Z_LVAL_P(tmpzval);
-+			*psftp_rsrc = Z_RES_P(tmpzval);
- 			*psftp = sftp_data->sftp;
--			*presource_id = sftp_data->session_rsrcid;
-+			*presource = sftp_data->session_rsrc;
- 			*psession = sftp_data->session;
- 			return resource;
- 		}
-@@ -354,17 +346,17 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 				sftp_data = emalloc(sizeof(php_ssh2_sftp_data));
- 				sftp_data->sftp = sftp;
- 				sftp_data->session = session;
--				sftp_data->session_rsrcid = Z_LVAL_P(tmpzval);
-+				sftp_data->session_rsrc = Z_RES_P(tmpzval);
- 				Z_ADDREF_P(tmpzval);
--				*psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle;
-+				*psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp);
- 				*psftp = sftp;
--				*presource_id = Z_RES_P(tmpzval)->handle;
-+				*presource = Z_RES_P(tmpzval);
- 				*psession = session;
- 				return resource;
- 			}
- 			Z_ADDREF_P(tmpzval);
- 			*psession = session;
--			*presource_id = Z_LVAL_P(tmpzval);
-+			*presource = Z_RES_P(tmpzval);
- 			return resource;
- 		}
- 	}
-@@ -465,8 +457,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 
- 	/* Auth failure */
- 	php_url_free(resource);
--	//TODO Sean-Der
--	//zend_list_delete(Z_LVAL(zsession));
-+	zend_list_delete(Z_RES(zsession));
- 	return NULL;
- 
- session_authed:
-@@ -480,24 +471,22 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- 		sftp = libssh2_sftp_init(session);
- 		if (!sftp) {
- 			php_url_free(resource);
--			//TODO Sean-Der
--			//zend_list_delete(Z_LVAL(zsession));
-+			zend_list_delete(Z_RES(zsession));
- 			return NULL;
- 		}
- 
- 		sftp_data = emalloc(sizeof(php_ssh2_sftp_data));
- 		sftp_data->session = session;
- 		sftp_data->sftp = sftp;
--		sftp_data->session_rsrcid = Z_LVAL(zsession);
-+		sftp_data->session_rsrc = Z_RES(zsession);
- 
- 		//TODO Sean-Der
- 		//ZEND_REGISTER_RESOURCE(sftp_data, le_ssh2_sftp);
--		*psftp_rsrcid = Z_LVAL(zsftp);
-+		*psftp_rsrc = Z_RES(zsftp);
- 		*psftp = sftp;
- 	}
- 
--	//TODO may be undefined
--	*presource_id = Z_LVAL(zsession);
-+	*presource = Z_RES(zsession);
- 	*psession = session;
- 
- 	return resource;
-@@ -511,7 +500,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre
- /* {{{ php_ssh2_shell_open
-  * Make a stream from a session
-  */
--static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id, char *term, int term_len, zval *environment, long width, long height, long type)
-+static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, zend_resource *resource, char *term, int term_len, zval *environment, long width, long height, long type)
- {
- 	LIBSSH2_CHANNEL *channel;
- 	php_ssh2_channel_data *channel_data;
-@@ -578,7 +567,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id
- 	channel_data->streamid = 0;
- 	channel_data->is_blocking = 0;
- 	channel_data->timeout = 0;
--	channel_data->session_rsrcid = resource_id;
-+	channel_data->session_rsrc = resource;
- 	channel_data->refcount = NULL;
- 
- 	stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+");
-@@ -599,11 +588,12 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con
- 	zend_long width = PHP_SSH2_DEFAULT_TERM_WIDTH;
- 	zend_long height = PHP_SSH2_DEFAULT_TERM_HEIGHT;
- 	zend_long type = PHP_SSH2_DEFAULT_TERM_UNIT;
--	int resource_id = 0, terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1;
-+	zend_resource *rsrc = NULL;
-+	int terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1;
- 	php_url *resource;
- 	char *s;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &resource_id, NULL, NULL);
-+	resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &rsrc, NULL, NULL);
- 	if (!resource || !session) {
- 		return NULL;
- 	}
-@@ -677,10 +667,9 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con
- 	/* TODO: Accept resolution and environment vars as URL style parameters
- 	 * ssh2.shell://hostorresource/terminal/99x99c?envvar=envval&envvar=envval....
- 	 */
--	stream = php_ssh2_shell_open(session, resource_id, terminal, terminal_len, environment, width, height, type);
-+	stream = php_ssh2_shell_open(session, rsrc, terminal, terminal_len, environment, width, height, type);
- 	if (!stream) {
--		//TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 	}
- 	php_url_free(resource);
- 
-@@ -730,7 +719,7 @@ PHP_FUNCTION(ssh2_shell)
- 
- 	SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession);
- 
--	stream = php_ssh2_shell_open(session, Z_RES_P(zsession)->handle, term, term_len, environment, width, height, type);
-+	stream = php_ssh2_shell_open(session, Z_RES_P(zsession), term, term_len, environment, width, height, type);
- 	if (!stream) {
- 		RETURN_FALSE;
- 	}
-@@ -749,7 +738,7 @@ PHP_FUNCTION(ssh2_shell)
- /* {{{ php_ssh2_exec_command
-  * Make a stream from a session
-  */
--static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_id, char *command, char *term, int term_len, zval *environment, long width, long height, long type)
-+static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, zend_resource *rsrc, char *command, char *term, int term_len, zval *environment, long width, long height, long type)
- {
- 	LIBSSH2_CHANNEL *channel;
- 	php_ssh2_channel_data *channel_data;
-@@ -819,7 +808,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_
- 	channel_data->streamid = 0;
- 	channel_data->is_blocking = 0;
- 	channel_data->timeout = 0;
--	channel_data->session_rsrcid = resource_id;
-+	channel_data->session_rsrc = rsrc;
- 	channel_data->refcount = NULL;
- 
- 	stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+");
-@@ -836,7 +825,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons
- 	LIBSSH2_SESSION *session = NULL;
- 	php_stream *stream;
- 	zval *tmpzval, *environment = NULL;
--	int resource_id = 0;
-+	zend_resource *rsrc = NULL;
- 	php_url *resource;
- 	char *terminal = NULL;
- 	int terminal_len = 0;
-@@ -844,14 +833,13 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons
- 	long height = PHP_SSH2_DEFAULT_TERM_HEIGHT;
- 	long type = PHP_SSH2_DEFAULT_TERM_UNIT;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &resource_id, NULL, NULL);
-+	resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &rsrc, NULL, NULL);
- 	if (!resource || !session) {
- 		return NULL;
- 	}
- 	if (!resource->path) {
- 		php_url_free(resource);
--		//TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 		return NULL;
- 	}
- 
-@@ -893,10 +881,9 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons
- 		zval_ptr_dtor(copyval);
- 	}
- 
--	stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type);
-+	stream = php_ssh2_exec_command(session, rsrc, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type);
- 	if (!stream) {
--		// TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 	}
- 	php_url_free(resource);
- 
-@@ -963,7 +950,7 @@ PHP_FUNCTION(ssh2_exec)
- 
- 	SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession);
- 
--	stream = php_ssh2_exec_command(session, Z_RES_P(zsession)->handle, command, term, term_len, environment, width, height, type);
-+	stream = php_ssh2_exec_command(session, Z_RES_P(zsession), command, term, term_len, environment, width, height, type);
- 	if (!stream) {
- 		RETURN_FALSE;
- 	}
-@@ -982,7 +969,7 @@ PHP_FUNCTION(ssh2_exec)
- /* {{{ php_ssh2_scp_xfer
-  * Make a stream from a session
-  */
--static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, char *filename)
-+static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, zend_resource *rsrc, char *filename)
- {
- 	LIBSSH2_CHANNEL *channel;
- 	php_ssh2_channel_data *channel_data;
-@@ -1002,7 +989,7 @@ static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id,
- 	channel_data->streamid = 0;
- 	channel_data->is_blocking = 0;
- 	channel_data->timeout = 0;
--	channel_data->session_rsrcid = resource_id;
-+	channel_data->session_rsrc = rsrc;
- 	channel_data->refcount = NULL;
- 
- 	stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r");
-@@ -1018,28 +1005,26 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const
- {
- 	LIBSSH2_SESSION *session = NULL;
- 	php_stream *stream;
--	int resource_id = 0;
-+	zend_resource *rsrc = NULL;
- 	php_url *resource;
- 
- 	if (strchr(mode, '+') || strchr(mode, 'a') || strchr(mode, 'w')) {
- 		return NULL;
- 	}
- 
--	resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &resource_id, NULL, NULL);
-+	resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &rsrc, NULL, NULL);
- 	if (!resource || !session) {
- 		return NULL;
- 	}
- 	if (!resource->path) {
- 		php_url_free(resource);
--		//TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 		return NULL;
- 	}
- 
--	stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path));
-+	stream = php_ssh2_scp_xfer(session, rsrc, SSH2_URL_STR(resource->path));
- 	if (!stream) {
--		//TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 	}
- 	php_url_free(resource);
- 
-@@ -1231,7 +1216,7 @@ PHP_FUNCTION(ssh2_scp_send)
- /* {{{ php_ssh2_direct_tcpip
-  * Make a stream from a session
-  */
--static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_id, char *host, int port)
-+static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, zend_resource *rsrc, char *host, int port)
- {
- 	LIBSSH2_CHANNEL *channel;
- 	php_ssh2_channel_data *channel_data;
-@@ -1251,7 +1236,7 @@ static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_
- 	channel_data->streamid = 0;
- 	channel_data->is_blocking = 0;
- 	channel_data->timeout = 0;
--	channel_data->session_rsrcid = resource_id;
-+	channel_data->session_rsrc = rsrc;
- 	channel_data->refcount = NULL;
- 
- 	stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+");
-@@ -1270,9 +1255,9 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co
- 	php_url *resource;
- 	char *host = NULL;
- 	int port = 0;
--	int resource_id = 0;
-+	zend_resource *rsrc;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &resource_id, NULL, NULL);
-+	resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &rsrc, NULL, NULL);
- 	if (!resource || !session) {
- 		return NULL;
- 	}
-@@ -1303,15 +1288,13 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co
- 	if ((port <= 0) || (port > 65535) || !host || (strlen(host) == 0)) {
- 		/* Invalid connection criteria */
- 		php_url_free(resource);
--		//TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 		return NULL;
- 	}
- 
--	stream = php_ssh2_direct_tcpip(session, resource_id, host, port);
-+	stream = php_ssh2_direct_tcpip(session, rsrc, host, port);
- 	if (!stream) {
--		// TODO Sean-Der
--		//zend_list_delete(resource_id);
-+		zend_list_delete(rsrc);
- 	}
- 	php_url_free(resource);
- 
-@@ -1352,7 +1335,7 @@ PHP_FUNCTION(ssh2_tunnel)
- 
- 	SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession);
- 
--	stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession)->handle, host, port);
-+	stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession), host, port);
- 	if (!stream) {
- 		RETURN_FALSE;
- 	}
-diff --git a/ssh2_sftp.c b/ssh2_sftp.c
-index 6332be8..256fc70 100644
---- a/ssh2_sftp.c
-+++ b/ssh2_sftp.c
-@@ -40,8 +40,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc)
- 
- 	libssh2_sftp_shutdown(data->sftp);
- 
--	// TODO Sean-Der
--	//zend_list_delete(data->session_rsrcid);
-+	zend_list_delete(data->session_rsrc);
- 
- 	efree(data);
- }
-@@ -50,7 +49,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc)
-    * SFTP File Ops *
-    ***************** */
- 
--inline unsigned long php_ssh2_parse_fopen_modes(char *openmode) {
-+unsigned long php_ssh2_parse_fopen_modes(char *openmode) {
- 	unsigned long flags = 0;
- 
- 	if (strchr(openmode, 'a')) {
-@@ -101,7 +100,7 @@ inline int php_ssh2_sftp_attr2ssb(php_stream_statbuf *ssb, LIBSSH2_SFTP_ATTRIBUT
- typedef struct _php_ssh2_sftp_handle_data {
- 	LIBSSH2_SFTP_HANDLE *handle;
- 
--	long sftp_rsrcid;
-+	zend_resource *sftp_rsrc;
- } php_ssh2_sftp_handle_data;
- 
- /* {{{ php_ssh2_sftp_stream_write
-@@ -139,8 +138,7 @@ static int php_ssh2_sftp_stream_close(php_stream *stream, int close_handle)
- 	php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract;
- 
- 	libssh2_sftp_close(data->handle);
--	//TODO Sean-Der
--	//zend_list_delete(data->sftp_rsrcid);
-+	zend_list_delete(data->sftp_rsrc);
- 	efree(data);
- 
- 	return 0;
-@@ -226,12 +224,12 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons
- 	LIBSSH2_SFTP *sftp = NULL;
- 	LIBSSH2_SFTP_HANDLE *handle;
- 	php_stream *stream;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 	unsigned long flags;
- 	long perms = 0644;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp) {
- 		return NULL;
- 	}
-@@ -242,20 +240,18 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons
- 	if (!handle) {
- 		php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename);
- 		php_url_free(resource);
--		//TODO Sean-Der
--		//zend_list_delete(sftp_rsrcid);
-+		zend_list_delete(sftp_rsrc);
- 		return NULL;
- 	}
- 
- 	data = emalloc(sizeof(php_ssh2_sftp_handle_data));
- 	data->handle = handle;
--	data->sftp_rsrcid = sftp_rsrcid;
-+	data->sftp_rsrc = sftp_rsrc;
- 
- 	stream = php_stream_alloc(&php_ssh2_sftp_stream_ops, data, 0, mode);
- 	if (!stream) {
- 		libssh2_sftp_close(handle);
--		// TODO Sean-Der
--		//zend_list_delete(sftp_rsrcid);
-+		zend_list_delete(sftp_rsrc);
- 		efree(data);
- 	}
- 	php_url_free(resource);
-@@ -303,8 +299,7 @@ static int php_ssh2_sftp_dirstream_close(php_stream *stream, int close_handle)
- 	php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract;
- 
- 	libssh2_sftp_close(data->handle);
--	//TODO Sean_der
--	//zend_list_delete(data->sftp_rsrcid);
-+	zend_list_delete(data->sftp_rsrc);
- 	efree(data);
- 
- 	return 0;
-@@ -333,10 +328,10 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c
- 	LIBSSH2_SFTP *sftp = NULL;
- 	LIBSSH2_SFTP_HANDLE *handle;
- 	php_stream *stream;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp) {
- 		return NULL;
- 	}
-@@ -345,20 +340,18 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c
- 	if (!handle) {
- 		php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename);
- 		php_url_free(resource);
--		//TODO Sean-Der
--		//zend_list_delete(sftp_rsrcid);
-+		zend_list_delete(sftp_rsrc);
- 		return NULL;
- 	}
- 
- 	data = emalloc(sizeof(php_ssh2_sftp_handle_data));
- 	data->handle = handle;
--	data->sftp_rsrcid = sftp_rsrcid;
-+	data->sftp_rsrc = sftp_rsrc;
- 
- 	stream = php_stream_alloc(&php_ssh2_sftp_dirstream_ops, data, 0, mode);
- 	if (!stream) {
- 		libssh2_sftp_close(handle);
--		//TODO Sean-Der
--		//zend_list_delete(sftp_rsrcid);
-+		zend_list_delete(sftp_rsrc);
- 		efree(data);
- 	}
- 	php_url_free(resource);
-@@ -378,10 +371,10 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i
- 	LIBSSH2_SFTP_ATTRIBUTES attrs;
- 	LIBSSH2_SESSION *session = NULL;
- 	LIBSSH2_SFTP *sftp = NULL;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp || !resource->path) {
- 		return -1;
- 	}
-@@ -408,11 +401,11 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in
- {
- 	LIBSSH2_SESSION *session = NULL;
- 	LIBSSH2_SFTP *sftp = NULL;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 	int result;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp || !resource->path) {
- 		if (resource) {
- 			php_url_free(resource);
-@@ -436,7 +429,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro
- {
- 	LIBSSH2_SESSION *session = NULL;
- 	LIBSSH2_SFTP *sftp = NULL;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource, *resource_to;
- 	int result;
- 
-@@ -453,7 +446,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro
- 		return 0;
- 	}
- 
--	resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp || !resource->path) {
- 		if (resource) {
- 			php_url_free(resource);
-@@ -479,11 +472,11 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int
- {
- 	LIBSSH2_SESSION *session = NULL;
- 	LIBSSH2_SFTP *sftp = NULL;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 	int result;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp || !resource->path) {
- 		if (resource) {
- 			php_url_free(resource);
-@@ -515,11 +508,11 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int
- {
- 	LIBSSH2_SESSION *session = NULL;
- 	LIBSSH2_SFTP *sftp = NULL;
--	int resource_id = 0, sftp_rsrcid = 0;
-+	zend_resource *rsrc = NULL, *sftp_rsrc = NULL;
- 	php_url *resource;
- 	int result;
- 
--	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid);
-+	resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc);
- 	if (!resource || !session || !sftp || !resource->path) {
- 		if (resource) {
- 			php_url_free(resource);
-@@ -591,7 +584,7 @@ PHP_FUNCTION(ssh2_sftp)
- 	data = emalloc(sizeof(php_ssh2_sftp_data));
- 	data->session = session;
- 	data->sftp = sftp;
--	data->session_rsrcid = Z_RES_P(zsession)->handle;
-+	data->session_rsrc = Z_RES_P(zsession);
- 	Z_ADDREF_P(zsession);
- 
- 	RETURN_RES(zend_register_resource(data, le_ssh2_sftp));
diff --git a/package/php-ssh2/php-ssh2.hash b/package/php-ssh2/php-ssh2.hash
index 36e04f471f..3fbb0b24c8 100644
--- a/package/php-ssh2/php-ssh2.hash
+++ b/package/php-ssh2/php-ssh2.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256  87618d6a0981afe8c24b36d6b38c21a0aa0237b62e60347d0170bd86b51f79fb  ssh2-1.1.2.tgz
+sha256  9093a1f8d24dc65836027b0e239c50de8d5eaebf8396bc3331fdd38c5d69afd9  ssh2-1.3.1.tgz
 sha256  ac7c56f1e416ce6e60abcf26269395128bc9e5a2e4f3293e5dcc124aac606508  LICENSE
diff --git a/package/php-ssh2/php-ssh2.mk b/package/php-ssh2/php-ssh2.mk
index c9c13010dd..b79ac04179 100644
--- a/package/php-ssh2/php-ssh2.mk
+++ b/package/php-ssh2/php-ssh2.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PHP_SSH2_VERSION = 1.1.2
+PHP_SSH2_VERSION = 1.3.1
 PHP_SSH2_SOURCE = ssh2-$(PHP_SSH2_VERSION).tgz
 PHP_SSH2_SITE = https://pecl.php.net/get
 PHP_SSH2_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-03 23:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-03 19:56 [Buildroot] [git commit branch/next] package/php-ssh2: bump version to 1.3.1 Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.