Bug #78708 [Opn->Fbk]: ftp_login doesn't work with colon (:) in password

From: Date: Fri, 19 Feb 2021 17:31:11 +0000
Subject: Bug #78708 [Opn->Fbk]: ftp_login doesn't work with colon (:) in password
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232291@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78708&edit=1 ID: 78708 Updated by: cmb@php.net Reported by: julien dot chavee at gmail dot com Summary: ftp_login doesn't work with colon (:) in password -Status: Open +Status: Feedback Type: Bug Package: FTP related Operating System: CentOS PHP Version: 7.3.10 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: After having a closer look, I fail to see why that would fail (unless the username/password combination is invalid). ftp_login() just sends the following commands USER [USERNAME] PASS abc:def What would happen if you send these commands via ftp_raw() or via telnet? Also, can you please inspect the network traffic to see whether the colon gets mangled somehow? And which FTP server do you use? Previous Comments: ------------------------------------------------------------------------ [2019-10-21 12:21:42] cmb@php.net Thanks for checking, anyway! ------------------------------------------------------------------------ [2019-10-21 12:13:43] julien dot chavee at gmail dot com Hello, I tried but unfortunately it doesn't work. The warning is not the same but we still can't connect: "PHP Warning: ftp_login(): Login authentication failed" ------------------------------------------------------------------------ [2019-10-21 10:02:52] cmb@php.net Would it work, if you passed the following as $password: urlencode('abc:def') ------------------------------------------------------------------------ [2019-10-21 09:16:41] julien dot chavee at gmail dot com Description: ------------ The PHP function ftp_login() return false with the following warning when the password contains the character colon (:): "PHP Warning: ftp_login(): 500" Test script: --------------- <?php $connection = ftp_connect( '[SERVER]', '[PORT]', '[TIMEOUT]' ); if($connection !== false) { $login = ftp_login( $connection, '[USERNAME]', 'abc:def' ); if($login === true) { echo 'Success'; } else { echo 'Failed'; } Expected result: ---------------- Display 'Success' Actual result: -------------- Display 'Failed' with the warning "PHP Warning: ftp_login(): 500" ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78708&edit=1

« previous php.bugs (#232291) next »