Comparing version 0.2.6 to 0.2.7
@@ -329,3 +329,4 @@ var fs = require('fs'), | ||
return cb(err); | ||
cb(undefined, /"(.+)"(?: |$)/.exec(text)[1]); | ||
var m = /"(.+)"(?: |$)/.exec(text); | ||
cb(undefined, m ? m[1] : undefined); | ||
}); | ||
@@ -583,5 +584,12 @@ }; | ||
this._send('PWD', function(err, text, code) { | ||
if (code == 502) | ||
return self.cwd('.', cb, true); | ||
else if (err) | ||
if (code == 502) { | ||
return self.cwd('.', function(cwderr, cwd) { | ||
if (cwderr) | ||
return cb(cwderr); | ||
if (cwd === undefined) | ||
cb(err); | ||
else | ||
cb(undefined, cwd); | ||
}, true); | ||
} else if (err) | ||
return cb(err); | ||
@@ -800,3 +808,3 @@ cb(undefined, /^"(.+)"(?: |$)/.exec(text)[1]); | ||
var self = this, | ||
socket = new Socket(), ssocket, | ||
socket = new Socket(), | ||
sockerr, | ||
@@ -806,3 +814,3 @@ timedOut = false, | ||
timedOut = true; | ||
ssocket.destroy(); | ||
socket.destroy(); | ||
cb(new Error('Timed out while making data connection')); | ||
@@ -813,13 +821,14 @@ }, this.options.pasvTimeout); | ||
if (self.options.secure === true) | ||
ssocket = tls.connect({ socket: socket }, onconnect); | ||
else { | ||
socket.once('connect', onconnect); | ||
ssocket = socket; | ||
} | ||
function onconnect() { | ||
socket.once('connect', function() { | ||
if (self.options.secure === true) { | ||
socket = tls.connect({ | ||
socket: socket, | ||
session: self._socket.getSession() // re-use existing session | ||
}); | ||
socket.setTimeout(0); | ||
} | ||
clearTimeout(timer); | ||
self._pasvSocket = ssocket; | ||
cb(undefined, ssocket); | ||
}; | ||
self._pasvSocket = socket; | ||
cb(undefined, socket); | ||
}); | ||
socket.once('error', function(err) { | ||
@@ -981,5 +990,5 @@ sockerr = err; | ||
rights: { | ||
user: ret.permission.substring(0, 3).replace('-', ''), | ||
group: ret.permission.substring(3, 6).replace('-', ''), | ||
other: ret.permission.substring(6, 9).replace('-', '') | ||
user: ret.permission.substr(0, 3).replace(/\-/g, ''), | ||
group: ret.permission.substr(3, 3).replace(/\-/g, ''), | ||
other: ret.permission.substr(6, 3).replace(/\-/g, '') | ||
}, | ||
@@ -986,0 +995,0 @@ owner: ret.owner, |
{ "name": "ftp", | ||
"version": "0.2.6", | ||
"version": "0.2.7", | ||
"author": "Brian White <mscdex@mscdex.net>", | ||
@@ -4,0 +4,0 @@ "description": "An FTP client module for node.js", |
@@ -155,3 +155,3 @@ Description | ||
* **cwd**(< _string_ >path, < _function_ >callback) - _(void)_ - Changes the current working directory to `path`. `callback` has 2 parameters: < _Error_ >err, < _string_ >currentDir. | ||
* **cwd**(< _string_ >path, < _function_ >callback) - _(void)_ - Changes the current working directory to `path`. `callback` has 2 parameters: < _Error_ >err, < _string_ >currentDir. Note: `currentDir` is only given if the server replies with the path in the response text. | ||
@@ -158,0 +158,0 @@ * **abort**(< _function_ >callback) - _(void)_ - Aborts the current data transfer (e.g. from get(), put(), or list()). `callback` has 1 parameter: < _Error_ >err. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
40391
970