the issue has been reported to upstream: #1505
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#1499
it's not clear to me what's going on here.
the thing is we fail with error:
not ok ERROR list_file_after_upload
/usr/perl5/site_perl/5.32/Error.pm:461 - list_file_after_upload(ProFTPD::Tests::Commands::LIST)
Expected response message 'Transfer complete', got 'Abort successful'
the session looks as follows:
Net::FTP=GLOB(0x75a0cadb0)<<< 220 ProFTPD Server (ProFTPD) [127.0.0.1]
Net::FTP=GLOB(0x75a0cadb0)>>> USER proftpd
Net::FTP=GLOB(0x75a0cadb0)<<< 331 Password required for proftpd
Net::FTP=GLOB(0x75a0cadb0)>>> PASS ....
Net::FTP=GLOB(0x75a0cadb0)<<< 230 User proftpd logged in
Net::FTP=GLOB(0x75a0cadb0)>>> TYPE I
Net::FTP=GLOB(0x75a0cadb0)<<< 200 Type set to I
# Logged in, sending STOR
Net::FTP=GLOB(0x75a0cadb0)>>> PASV
Net::FTP=GLOB(0x75a0cadb0)<<< 227 Entering Passive Mode (127,0,0,1,150,215).
Net::FTP=GLOB(0x75a0cadb0)>>> STOR test.dat
Net::FTP=GLOB(0x75a0cadb0)<<< 150 Opening BINARY mode data connection for test.dat
# Data connection opened, writing data
Net::FTP=GLOB(0x75a0cadb0)<<< 226 Transfer complete
# elapsed upload duration: 0.002922
# File uploaded, sending LIST
Net::FTP=GLOB(0x75a0cadb0)>>> PASV
Net::FTP=GLOB(0x75a0cadb0)<<< 227 Entering Passive Mode (127,0,0,1,163,192).
Net::FTP=GLOB(0x75a0cadb0)>>> LIST /tmp/proftpd-test-15073-test5-7LQxGI14H1/test.dat
Net::FTP=GLOB(0x75a0cadb0)<<< 150 Opening BINARY mode data connection for file list
Net::FTP=GLOB(0x75a0cadb0)>>> ABOR
Net::FTP=GLOB(0x75a0cadb0)<<< 226 Transfer complete
Net::FTP=GLOB(0x75a0cadb0)<<< 226 Abort successful
the 'ABOR' command seems to be sent on behalf of
eval { $conn->close() };
I don't know how to tell test to grab a 'Transfer complete'
in session record. not sure if moving conn->close() after
we read ret_code/ret_message is correct fix.
the measures range from slight code reshuffle (like to read response code before we call conn->close()/conn->abort(), adjusting expected value to take response to ABRT into account.
may be there is option to tune FTP client library, however I could not find it.
I have not checked other OS may be this ABRT is specific to Solaris.