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

Reply via email to