فهرست منبع

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

Tatsuhiro Tsujikawa 14 سال پیش
والد
کامیت
1ea01e84b2
1فایلهای تغییر یافته به همراه4 افزوده شده و 2 حذف شده
  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();
 }