Bug #77957 [Opn]: some FTP function show inappropriate error message "Operation now in progress"

From: Date: Wed, 01 May 2019 15:29:47 +0000
Subject: Bug #77957 [Opn]: some FTP function show inappropriate error message "Operation now in progress"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-220670@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77957&edit=1 ID: 77957 User updated by: sadaakikawata at gmail dot com Reported by: sadaakikawata at gmail dot com Summary: some FTP function show inappropriate error message "Operation now in progress" Status: Open Type: Bug Package: FTP related Operating System: Fedora PHP Version: 7.3.4 Block user comment: N Private report: N New Comment: fixed my email address Previous Comments: ------------------------------------------------------------------------ [2019-05-01 15:28:05] sadaakikawata at gmail dot com Description: ------------ Some FTP function (ftp_nlist, ftp_put, ..etc) show error message "failed: Operation now in progress (115)" when failed to establish FTP data connection. This error message comes from EINPROGRESS, and EINPROGRESS comes from connect because sockfd is non-blocking. https://github.com/php/php-src/blob/PHP-7.3.4/main/network.c#L308 Therefore, this error message not show the root cause of connection failure. I think result from SO_ERROR should be used for displaying error message. https://github.com/php/php-src/blob/PHP-7.3.4/main/network.c#L352 Test script: --------------- <?php // Assume that there is a FTP server on localhost whose port for control connection(21) is reachable, but ports for data connection is unreachable. // eg. // sudo docker run -d -e FTP_USER_PASS=pass -e FTP_USER_NAME=test -e FTP_USER_HOME=/home/test --name ftpd_server -p 21:21 -e "PUBLICHOST=localhost" --rm stilliard/pure-ftpd:hardened $c = ftp_connect('localhost', 21); ftp_login($c, 'test', 'pass'); ftp_pasv($c, true); ftp_nlist($c, './'); Expected result: ---------------- more appropriate error message is displayed. Actual result: -------------- Warning: ftp_nlist(): php_connect_nonb() failed: Operation now in progress (115) in /***/test.php on line 8 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=77957&edit=1

« previous php.bugs (#220670) next »