diff options
Diffstat (limited to 'addons/document/ftpserver/ftpserver.py')
| -rw-r--r-- | addons/document/ftpserver/ftpserver.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/document/ftpserver/ftpserver.py b/addons/document/ftpserver/ftpserver.py index 4ca5b06bb39..99b1c43abb3 100644 --- a/addons/document/ftpserver/ftpserver.py +++ b/addons/document/ftpserver/ftpserver.py @@ -2512,9 +2512,14 @@ class FTPHandler(asynchat.async_chat): path = self.fs.ftp2fs(line, datacr) self.run_as_current_user(self.fs.chdir, path) except OSError, err: - why = _strerror(err) - self.log('FAIL CWD "%s". %s.' %(self.fs.ftpnorm(line), why)) - self.respond('550 %s.' %why) + if err.errno==2: + why = 'Authentication Required or Failed' + self.log('FAIL CWD "%s". %s.' %(self.fs.ftpnorm(line), why)) + self.respond('530 %s.' %why) + else: + why = _strerror(err) + self.log('FAIL CWD "%s". %s.' %(self.fs.ftpnorm(line), why)) + self.respond('550 %s.' %why) else: self.log('OK CWD "%s".' %self.fs.cwd) self.respond('250 "%s" is the current directory.' %self.fs.cwd) |
