Commit 99e71e6a authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

FTP: if EPSV fails on IPV6 connections, bail out

... instead of trying PASV, since PASV can't work with IPv6.

Reported-by: Vojtěch Král
parent 9a452ba3
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1815,6 +1815,13 @@ static CURLcode ftp_state_quote(struct connectdata *conn,
static CURLcode ftp_epsv_disable(struct connectdata *conn)
{
  CURLcode result = CURLE_OK;

  if(conn->bits.ipv6) {
    /* We can't disable EPSV when doing IPv6, so this is instead a fail */
    failf(conn->data, "Failed EPSV attempt, exiting\n");
    return CURLE_FTP_WEIRD_SERVER_REPLY;
  }

  infof(conn->data, "Failed EPSV attempt. Disabling EPSV\n");
  /* disable it for next transfer */
  conn->bits.ftp_use_epsv = FALSE;