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