Re: cvs: php-src /ext/ftp/tests 005.phpt bug39583-2.phpt bug39583.phpt bug7216-2.phpt server.inc

From: Date: Sun, 26 Nov 2006 17:05:50 +0000
Subject: Re: cvs: php-src /ext/ftp/tests 005.phpt bug39583-2.phpt bug39583.phpt bug7216-2.phpt server.inc
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-41742@lists.php.net to get a copy of this message
Nuno, The test 005 does not seem to be entirely reliable and it may return different results depending on the ftp server implementation. For example on my system the errors you have returning FTP_ASCII are shown as Command not implemented. On 24-Nov-06, at 10:50 AM, Nuno Lopes wrote:
nlopess Fri Nov 24 15:50:46 2006 UTC Modified files:
    /php-src/ext/ftp/tests	bug39583-2.phpt bug39583.phpt 005.phpt
                          	bug7216-2.phpt server.inc
Log: MFB http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/bug39583-2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/ftp/tests/bug39583-2.phpt diff -u /dev/null php-src/ext/ftp/tests/bug39583-2.phpt:1.2 --- /dev/null Fri Nov 24 15:50:46 2006 +++ php-src/ext/ftp/tests/bug39583-2.phpt Fri Nov 24 15:50:45 2006 @@ -0,0 +1,34 @@ +--TEST-- +Bug #39583: FTP always transfers in binary mode +--SKIPIF-- +<?php +require 'skipif.inc'; +?> +--FILE-- +<?php +require 'server.inc'; + +$ftp = ftp_connect('127.0.0.1', $port); +if (!$ftp) die("Couldn't connect to the server"); + +var_dump(ftp_login($ftp, 'user', 'pass')); + +$source_file = __FILE__; +$destination_file = basename(__FILE__); + +// upload the file +$upload = ftp_put($ftp, $destination_file, $source_file, FTP_BINARY); + +// check upload status +if (!$upload) {
+       echo "FTP upload has failed!";
+ } else {
+       echo "Uploaded $source_file as $destination_file";
+ } + +// close the FTP stream +ftp_close($ftp); +?> +--EXPECTF-- +bool(true) +Uploaded %sbug39583-2.php as bug39583-2.php http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/bug39583.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/ftp/tests/bug39583.phpt diff -u /dev/null php-src/ext/ftp/tests/bug39583.phpt:1.2 --- /dev/null Fri Nov 24 15:50:46 2006 +++ php-src/ext/ftp/tests/bug39583.phpt Fri Nov 24 15:50:45 2006 @@ -0,0 +1,34 @@ +--TEST-- +Bug #39583: FTP always transfers in binary mode +--SKIPIF-- +<?php +require 'skipif.inc'; +?> +--FILE-- +<?php +require 'server.inc'; + +$ftp = ftp_connect('127.0.0.1', $port); +if (!$ftp) die("Couldn't connect to the server"); + +var_dump(ftp_login($ftp, 'user', 'pass')); + +$source_file = __FILE__; +$destination_file = basename(__FILE__); + +// upload the file +$upload = ftp_put($ftp, $destination_file, $source_file, FTP_ASCII); + +// check upload status +if (!$upload) {
+       echo "FTP upload has failed!";
+ } else {
+       echo "Uploaded $source_file as $destination_file";
+ } + +// close the FTP stream +ftp_close($ftp); +?> +--EXPECTF-- +bool(true) +Uploaded %sbug39583.php as bug39583.php http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/005.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/ftp/tests/005.phpt diff -u php-src/ext/ftp/tests/005.phpt:1.2 php-src/ext/ftp/tests/005.phpt:1.3 --- php-src/ext/ftp/tests/005.phpt:1.2 Thu Nov 23 17:37:16 2006 +++ php-src/ext/ftp/tests/005.phpt Fri Nov 24 15:50:45 2006 @@ -53,34 +53,34 @@ Warning: ftp_exec(): Command not implemented (5). in %s005.php on line 15 bool(false) -Warning: ftp_fget(): Command not implemented (6). in %s005.php on line 16 +Warning: ftp_fget(): Mode must be FTP_ASCII or FTP_BINARY in %s005.php on line 16 bool(false) -Warning: ftp_fput(): Command not implemented (7). in %s005.php on line 17 +Warning: ftp_fput(): Mode must be FTP_ASCII or FTP_BINARY in %s005.php on line 17 bool(false) -Warning: ftp_get(): Command not implemented (8). in %s005.php on line 18 +Warning: ftp_get(): Mode must be FTP_ASCII or FTP_BINARY in %s005.php on line 18 bool(false) int(-1) -Warning: ftp_mkdir(): Command not implemented (10). in %s005.php on line 20 +Warning: ftp_mkdir(): Command not implemented (7). in %s005.php on line 20 bool(false) Warning: ftp_nb_continue(): no nbronous transfer to continue. in %s005.php on line 21 int(0) -Warning: ftp_nb_fget(): Command not implemented (11). in %s005.php on line 22 -int(0) +Warning: ftp_nb_fget(): Mode must be FTP_ASCII or FTP_BINARY in %s005.php on line 22 +bool(false) -Warning: ftp_nb_fput(): Command not implemented (12). in %s005.php on line 23 -int(0) +Warning: ftp_nb_fput(): Mode must be FTP_ASCII or FTP_BINARY in %s005.php on line 23 +bool(false) -Warning: ftp_systype(): Command not implemented (13). in %s005.php on line 24 +Warning: ftp_systype(): Command not implemented (8). in %s005.php on line 24 bool(false) -Warning: ftp_pwd(): Command not implemented (14). in %s005.php on line 25 +Warning: ftp_pwd(): Command not implemented (9). in %s005.php on line 25 bool(false) int(-1) -Warning: ftp_rmdir(): Command not implemented (16). in %s005.php on line 27 +Warning: ftp_rmdir(): Command not implemented (11). in %s005.php on line 27 bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/bug7216-2.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/ftp/tests/bug7216-2.phpt diff -u php-src/ext/ftp/tests/bug7216-2.phpt:1.2 php-src/ext/ftp/tests/bug7216-2.phpt:1.3 --- php-src/ext/ftp/tests/bug7216-2.phpt:1.2 Thu Nov 23 20:48:21 2006 +++ php-src/ext/ftp/tests/bug7216-2.phpt Fri Nov 24 15:50:45 2006 @@ -16,6 +16,6 @@ var_dump(ftp_mkdir($ftp, 'CVS')); ?> ---EXPECTREGEX-- -bool\(true\) -string\(\d+\) ".+[\/\\]CVS" +--EXPECT-- +bool(true) +string(20) "/path/to/ftproot/CVS" http://cvs.php.net/viewvc.cgi/php-src/ext/ftp/tests/server.inc?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/ftp/tests/server.inc diff -u php-src/ext/ftp/tests/server.inc:1.4 php-src/ext/ftp/tests/server.inc:1.5 --- php-src/ext/ftp/tests/server.inc:1.4 Thu Nov 23 20:48:21 2006 +++ php-src/ext/ftp/tests/server.inc Fri Nov 24 15:50:45 2006 @@ -157,9 +157,46 @@ fputs($s, "215 UNIX Type: L8.\r\n"); } + } elseif ($buf === "TYPE A\r\n") { + $ascii = true; + fputs($s, "200 OK\r\n"); + + } elseif ($buf === "TYPE I\r\n") { + $ascii = false; + fputs($s, "200 OK\r\n"); + } elseif ($buf === "QUIT\r\n") { break; + } elseif (preg_match("~^PORT (\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\r\n$~", $buf, $m)) { + $host = "$m[1].$m[2].$m[3].$m[4]"; + $port = ((int)$m[5] << 8) + (int)$m[6]; + fputs($s, "200 OK.\r\n"); + + } elseif (preg_match("~^STOR ([\w/.-]+)\r\n$~", $buf, $m)) { + fputs($s, "150 File status okay; about to open data connection\r\n"); + + if (!$fs = stream_socket_client("tcp://$host:$port")) { + fputs($s, "425 Can't open data connection\r\n"); + continue; + } + + $data = stream_get_contents($fs); + $orig = file_get_contents(dirname(__FILE__).'/'.$m[1]); + + if (isset($ascii) && !$ascii && $orig === $data) { + fputs($s, "226 Closing data Connection.\r\n"); + + } elseif (!empty($ascii) && $data === strtr($orig, array("\r\n" => "\n", "\r" => "\n", "\n" => "\r\n"))) { + fputs($s, "226 Closing data Connection.\r\n"); + + } else { + var_dump($data); + var_dump($orig); + fputs($s, "552 Requested file action aborted.\r\n"); + } + fclose($fs); + } elseif (preg_match("~^CWD ([A-Za-z./]+)\r\n$~", $buf, $m)) { change_dir($m[1]); fputs($s, "250 CWD command successful.\r\n"); @@ -168,7 +205,7 @@ if (isset($bug7216)) { fputs($s, "257 OK.\r\n"); } else { - fputs($s, '257 "'.realpath($m[1])."\" created.\r\n"); + fputs($s, "257 \"/path/to/ftproot$cwd$m[1]\" created.\r\n"); } } elseif (preg_match('/^USER /', $buf)) { --PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Ilia Alshanetsky

« previous php.cvs (#41742) next »