-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
MULTI state machine error in FTP STOR #17394
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
Comments
This looks like the right way to fix it. Although, I am not the expert on the FTP state machine either. |
Any chance you can provide a detailed log showing what happens when it does not work, i.e without this patch? It looks to me that the FTP state machine gets "stuck" somewhere before this point that looks like it could be the real problem that this suggested fix mostly "paints over". But I would like more info first before I can tell for sure. |
|
This transfer failed; we fell out of DOING_MORE to DID. It seems its dependent on how we fall out of "DO" whether or not it works or not. |
|
This transfer worked as intended. The error is intermittent; depends on timing. If I start writing my logs to disk instead of capturing them in memory it is less likely to occur. |
Let me know if you need anything more. |
When TYPE was skipped for an immediate STORE command and the server replied fast and the EPRT data connection was not ready, the transfer was not initated, leading to no upload. refs curl#17394
@JoelAtWisetech your original suggestion was correct. I analysed what was going wrong and made #17428 as a fix. It would be great if you could verify that in your system. |
Uh oh!
There was an error while loading. Please reload this page.
I did this
Implemented a FTP client using TLS uploads. The ftp_do_more() does not properly handle the case where it goes out of upload with the completion set, BUT the wait_data_conn has been reassigned to TRUE in the processing. It leaves the DO_MORE state and terminates the upload.
My workaround for this problem is as follows; it may or may not be correct depending on my limited understanding on the internal state machines.
I expected the following
The UPLOAD should complete successfully regardless the way the client takes through the state machine,
curl/libcurl version
curl 8.13.0
operating system
Windows 10
The text was updated successfully, but these errors were encountered: