Explorar o código

Use IP address of data connection to connect to the remote server in
passive mode.

Tatsuhiro Tsujikawa %!s(int64=14) %!d(string=hai) anos
pai
achega
1ea01e84b2
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      src/FtpNegotiationCommand.cc

+ 4 - 2
src/FtpNegotiationCommand.cc

@@ -636,8 +636,10 @@ bool FtpNegotiationCommand::recvPasv() {
     throw DL_ABORT_EX2(fmt(EX_BAD_STATUS, status),
                        error_code::FTP_PROTOCOL_ERROR);
   }
-  dataConnAddr_ = dest;
-
+  std::pair<std::string, uint16_t> peerInfo;
+  getSocket()->getPeerInfo(peerInfo);
+  peerInfo.second = dest.second;;
+  dataConnAddr_ = peerInfo;
   return preparePasvConnect();
 }