Bug #80880 [Opn->Ver]: SSL_read on shutdown, ftp/proc_open

From: Date: Wed, 24 Mar 2021 13:31:55 +0000
Subject: Bug #80880 [Opn->Ver]: SSL_read on shutdown, ftp/proc_open
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232967@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80880&edit=1 ID: 80880 Updated by: cmb@php.net Reported by: gajowy at agzeta dot pl Summary: SSL_read on shutdown, ftp/proc_open -Status: Open +Status: Verified Type: Bug Package: FTP related Operating System: Windows 10 64-bit PHP Version: 8.0.3 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: I can confirm the spurious warning regardless of a proc_open() with PHP-7.4 and IIS. It seems to me the SSL shutdown handling[1] is missing a case for SSL_ERROR_SYSCALL. errno 2 and 22 appear to correspond to WSAECONNABORTED. [1] <https://github.com/php/php-src/blob/php-7.4.16/ext/ftp/ftp.c#L1920-L1943> Previous Comments: ------------------------------------------------------------------------ [2021-03-18 02:19:58] gajowy at agzeta dot pl Description: ------------ Description: ------------ SSL_read on shutdown: No such file or directory (2) or (main): SSL_read on shutdown: Invalid argument (22) warining messages are issued if ftp code is executed after proc_open. Error is trigerred even if ftp-related code is run succesfully (ftp_open, ftp_login, ftp_put & ftp_close). Another strange thing is that the problem only occurs if proc_open has been run beforehand. 1. If ftp code is inside a function (test script 1): warning message is issued when return to the parent function. 2. If ftp code is inside the main() function (test script 2): warining message is issued when script execution terminates. Test script: --------------- Test script 1 ------------- dl('ftp'); proc_open('php.exe',[],$pipes,NULL,NULL,['bypass_shell'=>TRUE]); Send(); print("Last script line is here.\n"); function Send() { // replace ftp_server, user, password with actual values $ftp=ftp_ssl_connect(ftp_server,21,10); ftp_login($ftp, user, password); ftp_close($ftp); } Test script 2 ------------- dl('ftp'); proc_open('php.exe',[],$pipes,NULL,NULL,['bypass_shell'=>TRUE]); // replace ftp_server, user, password with actual values $ftp=ftp_ssl_connect(ftp_server,21,10); ftp_login($ftp, user, password); ftp_close($ftp); print("Last script line is here.\n"); Expected result: ---------------- No warning message is issued. Actual result: -------------- Various message warnings issued, like: SSL_read on shutdown: No such file or directory (2) (main): SSL_read on shutdown: Invalid argument (22) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=80880&edit=1

« previous php.bugs (#232967) next »