com php-src: Implement FR #55651 (Option to ignore the returned FTP PASV address): ext/ftp/ftp.c ext/ftp/ftp.h ext/ftp/php_ftp.c e xt/ftp/php_ftp.h

From: Date: Tue, 15 Dec 2015 09:51:32 +0000
Subject: com php-src: Implement FR #55651 (Option to ignore the returned FTP PASV address): ext/ftp/ftp.c ext/ftp/ftp.h ext/ftp/php_ftp.c e xt/ftp/php_ftp.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-90285@lists.php.net to get a copy of this message
Commit: 71e468e14149169b28439a552f5924330580acab Author: Avi Brender <abrender@elitehosts.com> Tue, 15 Dec 2015 11:51:32 +0200 Committer: Lior Kaplan <kaplanlior@gmail.com> Tue, 15 Dec 2015 11:51:32 +0200 Parents: e048b3fc6b482d19c3f21e6691b2e0188fc83a77 838e4039d7fc8f79fe71091725ab0a13a5f4ad2a Branches: PHP-7.0 Link: http://git.php..net/?p=php-src.git;a=commitdiff;h=71e468e14149169b28439a552f5924330580acab Log: Implement FR #55651 (Option to ignore the returned FTP PASV address) Bugs: https://bugs.php.net/55651 Changed paths: MM ext/ftp/ftp.c MM ext/ftp/ftp.h MM ext/ftp/php_ftp.c MM ext/ftp/php_ftp.h Diff: diff --cc ext/ftp/ftp.h index 546c69c,201ec5d..aed4165 --- a/ext/ftp/ftp.h +++ b/ext/ftp/ftp.h @@@ -69,8 -70,9 +70,9 @@@ typedef struct ftpbu ftptype_t type; /* current transfer type */ int pasv; /* 0=off; 1=pasv; 2=ready */ php_sockaddr_storage pasvaddr; /* passive mode address */ - long timeout_sec; /* User configurable timeout (seconds) */ + zend_long timeout_sec; /* User configurable timeout (seconds) */ int autoseek; /* User configurable autoseek flag */ + int usepasvaddress; /* Use the address returned by the pasv command */ int nb; /* "nonblocking" transfer in progress */ databuf_t *data; /* Data connection for "nonblocking" transfers */ diff --cc ext/ftp/php_ftp.c index eaed5c6,dc474df..ca62720 --- a/ext/ftp/php_ftp.c +++ b/ext/ftp/php_ftp.c @@@ -379,7 -364,8 +380,8 @@@ PHP_FUNCTION(ftp_connect /* autoseek for resuming */ ftp->autoseek = FTP_DEFAULT_AUTOSEEK; + ftp->usepasvaddress = FTP_DEFAULT_USEPASVADDRESS; -#if HAVE_OPENSSL_EXT +#ifdef HAVE_FTP_SSL /* disable ssl */ ftp->use_ssl = 0; #endif @@@ -1475,11 -1399,20 +1478,20 @@@ PHP_FUNCTION(ftp_set_option zend_zval_type_name(z_value)); RETURN_FALSE; } - ftp->autoseek = Z_LVAL_P(z_value); + ftp->autoseek = Z_TYPE_P(z_value) == IS_TRUE ? 1 : 0; RETURN_TRUE; break; + case PHP_FTP_OPT_USEPASVADDRESS: - if (Z_TYPE_P(z_value) != IS_BOOL) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Option USEPASVADDRESS expects value of type boolean, %s given", ++ if (Z_TYPE_P(z_value) != IS_TRUE && Z_TYPE_P(z_value) != IS_FALSE) { ++ php_error_docref(NULL, E_WARNING, "Option USEPASVADDRESS expects value of type boolean, %s given", + zend_zval_type_name(z_value)); + RETURN_FALSE; + } - ftp->usepasvaddress = Z_LVAL_P(z_value); ++ ftp->usepasvaddress = Z_TYPE_P(z_value) == IS_TRUE ? 1 : 0; + RETURN_TRUE; + break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown option '%ld'", option); + php_error_docref(NULL, E_WARNING, "Unknown option '%pd'", option); RETURN_FALSE; break; } @@@ -1509,8 -1440,11 +1521,11 @@@ PHP_FUNCTION(ftp_get_option case PHP_FTP_OPT_AUTOSEEK: RETURN_BOOL(ftp->autoseek); break; + case PHP_FTP_OPT_USEPASVADDRESS: + RETURN_BOOL(ftp->usepasvaddress); + break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown option '%ld'", option); + php_error_docref(NULL, E_WARNING, "Unknown option '%pd'", option); RETURN_FALSE; break; } diff --cc ext/ftp/php_ftp.h index 3ddc76f,6b52fa6..8000a3e --- a/ext/ftp/php_ftp.h +++ b/ext/ftp/php_ftp.h @@@ -27,11 -27,9 +27,12 @@@ extern zend_module_entry php_ftp_module_entry; #define php_ftp_module_ptr &php_ftp_module_entry +#include "php_version.h" +#define PHP_FTP_VERSION PHP_VERSION + #define PHP_FTP_OPT_TIMEOUT_SEC 0 #define PHP_FTP_OPT_AUTOSEEK 1 + #define PHP_FTP_OPT_USEPASVADDRESS 2 #define PHP_FTP_AUTORESUME -1 PHP_MINIT_FUNCTION(ftp);

« previous php.cvs (#90285) next »