From:             egor dot chernodarov at gmail dot com
Operating system: Debian GNU/Linux 6.0
PHP version:      5.3.18
Package:          FTP related
Bug Type:         Bug
Bug description:ftp_chmod returns false for response "250 Changed."

Description:
------------
NcFTPd server returns "250 Changed." (not 200 as many other servers):

[root@vps ~]# ftp ****.com
Connected to ****.com (64.***.***.***).
220 ****.com NcFTPd Server (licensed copy) ready.
Name (*****.com:root): ****
331 User test okay, need password.
Password:
230-You are user #1 of 20 simultaneous users allowed.
230-
230 Restricted user logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd public_html/test345
250 "/public_html/test345" is new cwd.
ftp> ls page9.php
227 Entering Passive Mode (***,***,**,***,***,**)
150 Data connection accepted from ***.***.***.**:****; transfer starting.
-rwxr-xr-x   1 test   test       14637 Jul 28 00:06 page9.php
226 Listing completed.
ftp> chmod 777 page9.php
250 Changed.
ftp> ls page9.php
227 Entering Passive Mode (*****)
150 Data connection accepted from ****:46124; transfer starting.
-rwxrwxrwx   1 test   test       14637 Jul 28 00:06 page9.php
226 Listing completed.

Code "250" looks as valid for such operations:
250 - Requested file action okay, completed.

But ftp_chmode returns "true" only for code 200.

Test script:
---------------
Just try ftp_chmod for any file on NcFTPd server. Permissions successfully
changed but result is "false".
Not sure if any other servers returns 250, but I've tested on
ncftpd-2.8.3-freebsd6.0-i386-export.tar.gz.

Expected result:
----------------
Expect "true" for successful ftp_chmod on NcFTPd server.

Actual result:
--------------
ftp_chmod always returns false.

As workaround:
ftp_site($connectHandler, sprintf('CHMOD %o %s', $mode, $absolutePath));

-- 
Edit bug report at https://bugs.php.net/bug.php?id=63509&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=63509&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=63509&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=63509&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=63509&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=63509&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=63509&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=63509&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=63509&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=63509&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=63509&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=63509&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=63509&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=63509&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63509&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=63509&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=63509&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=63509&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63509&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=63509&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=63509&r=mysqlcfg

Reply via email to