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

Reply via email to