-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
FTP file upload to MS FTP server fails in libcurl 8.13 #17130
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
Can you produce a trace of such a failed upload with |
Yes, I am able to reproduce it with a simple curl binary call:
The file is written to the server (a very short textfile, so dont know if it holds for larger files), but it seems as if curl still fails. See the following output for the details
|
@rmja thanks. The problem here is a bug in Microsoft's FTP server handling of the TLS DATA connection:
I am not certain what we can do in curl about this... |
This seem related to the issue I had in #14843 which was fixed in #14848 where the close notify from the server had a 2 second timeout window. Is it possible to restore this behavior, instead of waiting for the server to time out? Something like this:
|
Sounds promising! I can try it when it gets merged and is availble at https://github.com/curl/curl-for-win/actions/workflows/daily.yml. |
Ref #15300, which sounds related. |
@icing I can confirm that the curl binary now works and that replacing the dll library in the daily build resolves this issue. |
Lovely, thanks a lot for confirming! |
Fix a bug in timeout handling for connection shutdowns that led to default timeout of 2 seconds not being in effect. Only set the shutdown timeout expiry when operating on a non-admin transfers. Admin handles are only temproarily tied to a connection. Fixes curl#17130 Reported-by: Rasmus Melchior Jacobsen Closes curl#17135
Fix a bug in timeout handling for connection shutdowns that led to default timeout of 2 seconds not being in effect. Only set the shutdown timeout expiry when operating on a non-admin transfers. Admin handles are only temproarily tied to a connection. Fixes curl#17130 Reported-by: Rasmus Melchior Jacobsen Closes curl#17135
Uh oh!
There was an error while loading. Please reload this page.
I did this
I am using libcurl to upload a file to a Microsoft FTP Server, but the upload fails in the recent libcurl 8.13. This has previously worked fine. The call to
perform()
finally returnsCURL_PARTIAL_FILE
as the error after a while.The file is actually written to the FTP server - but if I add a
POSTQUOTE
sequence, then it is not executed.Click here to see the output from the curl trace
I expected the following
I expect
CURL_OK=0
to be returned fromperform()
and if aPOSTQUOTE
is included in the perform operation, I expect it to be executed.curl/libcurl version
libcurl/8.13.0 LibreSSL/4.0.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 WinIDN libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.65.0 ngtcp2/1.12.0 nghttp3/1.9.0
operating system
Windows 11
The text was updated successfully, but these errors were encountered: