[curl/curl] 77444b: data_pending: check only SECONDARY socket for FTP(...

Joel Depooter <[email protected]> Tue, 18 May 2021 04:21:31 -0700
Newsgroups gmane.comp.web.curl.cvs
Message-ID <curl/curl/push/refs/heads/master/[email protected]>
  Branch: refs/heads/master
  Home:   https://github.com/curl/curl
  Commit: 77444b84f3299786f956ed0f7a4a6ddf039a0962
      https://github.com/curl/curl/commit/77444b84f3299786f956ed0f7a4a6ddf039a0962
  Author: Joel Depooter <[email protected]>
  Date:   2021-05-18 (Tue, 18 May 2021)

  Changed paths:
    M lib/transfer.c

  Log Message:
  -----------
  data_pending: check only SECONDARY socket for FTP(S) transfers

Check the FIRST for all other protocols.

This fixes a timeout in an ftps download. The server sends a TLS
close_notify message in the same packet as the file data. The
close_notify seems to not be handled in the schannel_recv function, so
libcurl is not aware that the server has closed the connection. Thus
libcurl ends up waiting for action on the socket until a timeout is
reached. With the secondary socket check added to the data_pending
function, the close_notify is properly handled, and the ftps transfer
terminates as expected.

Fixes #7068
Closes #7069


_______________________________________________
curl-commits mailing list
[email protected]
https://cool.haxx.se/cgi-bin/mailman/listinfo/curl-commits