From: webmaster at wiedmann-online dot de Operating system: Windows_NT PHP version: 5.2.1 PHP Bug Type: FTP related Bug description: Problems with the ftps wrapper.
Description: ------------ I've played with the ftps wrapper, but some issues with it. - scandir() doesn't work at all. (test 1) - With file_get_contents() I get the content, but also a warning. (test 2) (the same behaviour I have with an older PHP (5.0.4) on *nix with both tests) - An additional test with ftp_ssl_connect() works only on *nix (PHP 5.0.4) but not on Windows (PHP 5.1.4, not an official build). (test 3) With some other ftp clients, I have no problems. Reproduce code: --------------- *** TEST 1 *** [php script] <?php error_reporting(E_ALL); print_r(scandir('ftps://foo:[EMAIL PROTECTED]:21/')); ?> *** TEST 2 *** [explorer.bat (file on ftp server)] cd \ cd Windows explorer.exe pause [php script] <?php error_reporting(E_ALL); print_r(file_get_contents('ftps://foo:[EMAIL PROTECTED]:21/anonymous/tmp/explorer.bat')); ?> *** TEST 3 *** [php script] <?php error_reporting(E_ALL); $conn_id = ftp_ssl_connect('bsdserver-1-node3', 21); $login_result = ftp_login($conn_id, 'foo', 'bar'); $contents = ftp_nlist($conn_id, '/'); var_dump($contents); ?> Expected result: ---------------- It should work (and without warnings) ;-) But I have logs with working connections from a ftp client (connect / list directory / disconnect) on the same windows box as PHP: [FTP over TLS explicit / ftp server log] Apr 07 21:07:30 mod_tls/2.0.7[39949]: TLS/TLS-C requested, starting TLS handshake Apr 07 21:07:32 mod_tls/2.0.7[39949]: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Apr 07 21:07:33 mod_tls/2.0.7[39949]: Protection set to Private Apr 07 21:07:33 mod_tls/2.0.7[39949]: starting TLS negotiation on data connection Apr 07 21:07:33 mod_tls/2.0.7[39949]: TLSv1/SSLv3 data connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) [FTP over SSL explicit / ftp server log] Apr 07 21:04:14 mod_tls/2.0.7[39934]: SSL/TLS-P requested, starting TLS handshake Apr 07 21:04:16 mod_tls/2.0.7[39934]: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Apr 07 21:04:17 mod_tls/2.0.7[39934]: Protection set to Private Apr 07 21:04:17 mod_tls/2.0.7[39934]: starting TLS negotiation on data connection Apr 07 21:04:18 mod_tls/2.0.7[39934]: TLSv1/SSLv3 data connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Actual result: -------------- *** TEST 1 *** [cli output] c:\php-5.2.1>php test.php Warning: scandir(): SSL/TLS already set-up for this stream in c:\php-5.2.1\test.php on line 3 Warning: scandir(ftps://[EMAIL PROTECTED]:21/): failed to open dir: Unable to activate SSL mode FTP server reports 150 Opening ASCII mode data connection for file list in c:\php-5.2.1\test.php on line 3 Warning: scandir(): (errno 11): Resource temporarily unavailable in c:\php-5.2.1\test.php on line 3 [ftp server log] Apr 07 20:51:36 mod_tls/2.0.7[39797]: TLS/TLS-C requested, starting TLS handshake Apr 07 20:51:38 mod_tls/2.0.7[39797]: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Apr 07 20:51:38 mod_tls/2.0.7[39797]: Protection set to Private Apr 07 20:51:38 mod_tls/2.0.7[39797]: starting TLS negotiation on data connection Apr 07 20:51:38 mod_tls/2.0.7[39797]: unable to accept TLS connection: received EOF that violates protocol Apr 07 20:51:38 mod_tls/2.0.7[39797]: unable to open data connection: TLS negotiation failed *** TEST 2 *** [cli output] c:\php-5.2.1>php test.php Warning: file_get_contents(): SSL: fatal protocol error in c:\php-5.2.1\test.php on line 3 cd \ cd Windows explorer.exe pause [ftp server log] Apr 07 20:55:48 mod_tls/2.0.7[39867]: TLS/TLS-C requested, starting TLS handshake Apr 07 20:55:50 mod_tls/2.0.7[39867]: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Apr 07 20:55:50 mod_tls/2.0.7[39867]: Protection set to Private Apr 07 20:55:50 mod_tls/2.0.7[39867]: starting TLS negotiation on data connection Apr 07 20:55:51 mod_tls/2.0.7[39867]: TLSv1/SSLv3 data connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits) Apr 07 20:55:51 mod_tls/2.0.7[39867]: unexpected OpenSSL error, disconnecting *** TEST 3 *** [cli output] c:\php-5.1.4>php test.php Warning: ftp_login(): SSL/TLS handshake failed in c:\php-5.1.4\test.php on line 4 Warning: ftp_login(): AUTH TLS successful in c:\php-5.1.4\test.php on line 4 bool(false) [ftp server log] Apr 08 04:06:50 mod_tls/2.0.7[43479]: TLS/TLS-C requested, starting TLS handshake Apr 08 04:06:52 mod_tls/2.0.7[43479]: unable to accept TLS connection: (1) error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number Apr 08 04:06:52 mod_tls/2.0.7[43479]: TLS/TLS-C negotiation failed on control channel -- Edit bug report at http://bugs.php.net/?id=41021&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=41021&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=41021&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=41021&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=41021&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=41021&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=41021&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=41021&r=needscript Try newer version: http://bugs.php.net/fix.php?id=41021&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=41021&r=support Expected behavior: http://bugs.php.net/fix.php?id=41021&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=41021&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=41021&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=41021&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=41021&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=41021&r=dst IIS Stability: http://bugs.php.net/fix.php?id=41021&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=41021&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=41021&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=41021&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=41021&r=mysqlcfg