php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77957 some FTP function show inappropriate error message "Operation now in progress"
Submitted: 2019-05-01 15:28 UTC Modified: 2019-05-01 15:29 UTC
From: sadaakikawata at gmail dot com Assigned:
Status: Open Package: FTP related
PHP Version: 7.3.4 OS: Fedora
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: sadaakikawata at gmail dot com
New email:
PHP Version: OS:

 

 [2019-05-01 15:28 UTC] 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

Patches

fix-inappropriate-ftp-data-connection-failure-error-message (last revision 2019-05-01 15:28 UTC by sadaakikawata at sencorp dot co dot jp)

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-05-01 15:29 UTC] sadaakikawata at gmail dot com
-: sadaakikawata at sencorp dot co dot jp +: sadaakikawata at gmail dot com
 [2019-05-01 15:29 UTC] sadaakikawata at gmail dot com
fixed my email address
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Dec 11 16:01:28 2024 UTC