srinatar Sat, 23 Jan 2010 01:37:32 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=293862
Log: - Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist.) Bug: http://bugs.php.net/50756 (Open) CURLOPT_FTP_SKIP_PASV_IP does not exist Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/curl/interface.c A php/php-src/branches/PHP_5_3/ext/curl/tests/curl_ftp_pasv.phpt U php/php-src/trunk/ext/curl/interface.c A php/php-src/trunk/ext/curl/tests/curl_ftp_pasv.phpt Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-01-23 00:16:31 UTC (rev 293861) +++ php/php-src/branches/PHP_5_3/NEWS 2010-01-23 01:37:32 UTC (rev 293862) @@ -19,6 +19,7 @@ streams). (vnegrier at optilian dot com, Ilia) - Fixed bug #50761 (system.multiCall crashes in xmlrpc extension). (hiroaki dot kawai at gmail dot com, Ilia) +- Fixed bug #50756 (CURLOPT_FTP_SKIP_PASV_IP does not exist). (Sriram) - Fixed bug #50732 (exec() adds single byte twice to $output array). (Ilia) - Fixed bug #50728 (All PDOExceptions hardcode 'code' property to 0). (Joey, Ilia) Modified: php/php-src/branches/PHP_5_3/ext/curl/interface.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/curl/interface.c 2010-01-23 00:16:31 UTC (rev 293861) +++ php/php-src/branches/PHP_5_3/ext/curl/interface.c 2010-01-23 01:37:32 UTC (rev 293862) @@ -789,6 +789,7 @@ #if LIBCURL_VERSION_NUM >= 0x070f01 REGISTER_CURL_CONSTANT(CURLOPT_FTP_FILEMETHOD); + REGISTER_CURL_CONSTANT(CURLOPT_FTP_SKIP_PASV_IP); #endif #if LIBCURL_VERSION_NUM >= 0x071001 @@ -1657,6 +1658,7 @@ #endif #if LIBCURL_VERSION_NUM >= 0x070f01 case CURLOPT_FTP_FILEMETHOD: + case CURLOPT_FTP_SKIP_PASV_IP: #endif #if LIBCURL_VERSION_NUM > 0x071301 case CURLOPT_CERTINFO: Added: php/php-src/branches/PHP_5_3/ext/curl/tests/curl_ftp_pasv.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/curl/tests/curl_ftp_pasv.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/curl/tests/curl_ftp_pasv.phpt 2010-01-23 01:37:32 UTC (rev 293862) @@ -0,0 +1,59 @@ +--TEST-- +Test curl_exec() function with basic functionality +--CREDITS-- +--SKIPIF-- +<?php +if (!extension_loaded("curl")) exit("skip curl extension not loaded"); +if (false === getenv('PHP_CURL_FTP_REMOTE_SERVER')) exit("skip PHP_CURL_FTP_REMOTE_SERVER env variable is not defined"); +if (false === getenv('PHP_CURL_FTP_REMOTE_USER')) exit("skip PHP_CURL_FTP_REMOTE_USER env variable is not defined"); +if (false === getenv('PHP_CURL_FTP_REMOTE_PASSWD')) exit("skip PHP_CURL_FTP_REMOTE_PASSWD env variable is not defined"); +?> +--FILE-- +<?php + $host = getenv('PHP_CURL_FTP_REMOTE_SERVER'); + $username = getenv('PHP_CURL_FTP_REMOTE_USER'); + $password = getenv('PHP_CURL_FTP_REMOTE_PASSWD'); + + // FTP this script to a server + $fp = fopen ( __FILE__ , "r" ); + $url = "ftp://$username:$passw...@$host/test.phpt" ; + + $ch = curl_init (); + + // enable below to get the output in verbose mode. + // curl_setopt ( $ch , CURLOPT_VERBOSE, 1 ); + + /* Without enabling SKIP_PASV_IP flag, the following output will be seen.. + < 227 Entering Passive Mode (10,5,80,146,100,199) + * Trying 10.5.80.146... * connected + * Connecting to 10.5.80.146 (10.5.80.146) port 25799 + */ + + /* After enabling SKIP_PASV_IP flag, the following output will be seen.. + < 227 Entering Passive Mode (10,5,80,146,50,229) + * Skips 10.5.80.146 for data connection, uses 10.5.80.146 instead + * Trying 10.5.80.146... * connected + */ + + curl_setopt ( $ch , CURLOPT_URL, $url ); + curl_setopt ( $ch , CURLOPT_TRANSFERTEXT, 1 ); + + //force passive connection + curl_setopt ( $ch , CURLOPT_FTP_USE_EPSV, 0 ); + curl_setopt ( $ch , CURLOPT_FTP_SKIP_PASV_IP, 1 ); + + // mark the file for upload.. + curl_setopt ( $ch , CURLOPT_INFILE, $fp ); + curl_setopt ( $ch , CURLOPT_INFILESIZE, filesize(__FILE__) ); + curl_setopt ( $ch , CURLOPT_PUT, 1 ); + curl_setopt ( $ch , CURLOPT_UPLOAD, 1 ); + + $result = curl_exec ( $ch ); + var_dump ( $result ); + curl_close ( $ch ); + +?> +===DONE=== +--EXPECTF-- +bool(true) +===DONE=== Modified: php/php-src/trunk/ext/curl/interface.c =================================================================== --- php/php-src/trunk/ext/curl/interface.c 2010-01-23 00:16:31 UTC (rev 293861) +++ php/php-src/trunk/ext/curl/interface.c 2010-01-23 01:37:32 UTC (rev 293862) @@ -747,6 +747,7 @@ REGISTER_CURL_CONSTANT(CURLFTPSSL_CONTROL); REGISTER_CURL_CONSTANT(CURLFTPSSL_ALL); #endif + #if LIBCURL_VERSION_NUM > 0x071301 REGISTER_CURL_CONSTANT(CURLOPT_CERTINFO); #endif @@ -791,6 +792,7 @@ #if LIBCURL_VERSION_NUM >= 0x070f01 REGISTER_CURL_CONSTANT(CURLOPT_FTP_FILEMETHOD); + REGISTER_CURL_CONSTANT(CURLOPT_FTP_SKIP_PASV_IP); #endif #if LIBCURL_VERSION_NUM >= 0x071001 @@ -1675,6 +1677,7 @@ #endif #if LIBCURL_VERSION_NUM >= 0x070f01 case CURLOPT_FTP_FILEMETHOD: + case CURLOPT_FTP_SKIP_PASV_IP: #endif #if LIBCURL_VERSION_NUM > 0x071301 case CURLOPT_CERTINFO: Added: php/php-src/trunk/ext/curl/tests/curl_ftp_pasv.phpt =================================================================== --- php/php-src/trunk/ext/curl/tests/curl_ftp_pasv.phpt (rev 0) +++ php/php-src/trunk/ext/curl/tests/curl_ftp_pasv.phpt 2010-01-23 01:37:32 UTC (rev 293862) @@ -0,0 +1,59 @@ +--TEST-- +Test curl_exec() function with basic functionality +--CREDITS-- +--SKIPIF-- +<?php +if (!extension_loaded("curl")) exit("skip curl extension not loaded"); +if (false === getenv('PHP_CURL_FTP_REMOTE_SERVER')) exit("skip PHP_CURL_FTP_REMOTE_SERVER env variable is not defined"); +if (false === getenv('PHP_CURL_FTP_REMOTE_USER')) exit("skip PHP_CURL_FTP_REMOTE_USER env variable is not defined"); +if (false === getenv('PHP_CURL_FTP_REMOTE_PASSWD')) exit("skip PHP_CURL_FTP_REMOTE_PASSWD env variable is not defined"); +?> +--FILE-- +<?php + $host = getenv('PHP_CURL_FTP_REMOTE_SERVER'); + $username = getenv('PHP_CURL_FTP_REMOTE_USER'); + $password = getenv('PHP_CURL_FTP_REMOTE_PASSWD'); + + // FTP this script to a server + $fp = fopen ( __FILE__ , "r" ); + $url = "ftp://$username:$passw...@$host/test.phpt" ; + + $ch = curl_init (); + + // enable below to get the output in verbose mode. + // curl_setopt ( $ch , CURLOPT_VERBOSE, 1 ); + + /* Without enabling SKIP_PASV_IP flag, the following output will be seen.. + < 227 Entering Passive Mode (10,5,80,146,100,199) + * Trying 10.5.80.146... * connected + * Connecting to 10.5.80.146 (10.5.80.146) port 25799 + */ + + /* After enabling SKIP_PASV_IP flag, the following output will be seen.. + < 227 Entering Passive Mode (10,5,80,146,50,229) + * Skips 10.5.80.146 for data connection, uses 10.5.80.146 instead + * Trying 10.5.80.146... * connected + */ + + curl_setopt ( $ch , CURLOPT_URL, $url ); + curl_setopt ( $ch , CURLOPT_TRANSFERTEXT, 1 ); + + //force passive connection + curl_setopt ( $ch , CURLOPT_FTP_USE_EPSV, 0 ); + curl_setopt ( $ch , CURLOPT_FTP_SKIP_PASV_IP, 1 ); + + // mark the file for upload.. + curl_setopt ( $ch , CURLOPT_INFILE, $fp ); + curl_setopt ( $ch , CURLOPT_INFILESIZE, filesize(__FILE__) ); + curl_setopt ( $ch , CURLOPT_PUT, 1 ); + curl_setopt ( $ch , CURLOPT_UPLOAD, 1 ); + + $result = curl_exec ( $ch ); + var_dump ( $result ); + curl_close ( $ch ); + +?> +===DONE=== +--EXPECTF-- +bool(true) +===DONE===
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php