Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

the issue has been reported to upstream: #1505

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Sashan
Copy link
Contributor

@Sashan Sashan commented Aug 18, 2022

#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.

proftpd#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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant