diff --git a/exec/load/ftp.js b/exec/load/ftp.js index decf16b9230bf5f5d276d4627243b8aa6e8fc91b..dfec27b886c03cd302dc43eb2b80e5b1e33cf607 100644 --- a/exec/load/ftp.js +++ b/exec/load/ftp.js @@ -417,9 +417,16 @@ FTP.prototype.data_socket = function(cmd) } rstr = this.cmd(cmd, true); - if (parseInt(rstr, 10) !== 150) { - ds.close(); - throw(cmd+" failed: " + rstr); + switch (parseInt(rstr, 10)) { + case 150: + break; + case 125: + if (ds.is_connected) + break; + // Fall-through + default: + ds.close(); + throw(cmd+" failed: " + rstr); } if (!this.passive) {