Fix bug (#144)
All checks were successful
continuous-integration/drone/push Build is passing

Fix bug

Reviewed-on: #144
Co-Authored-By: Lunny Xiao <xiaolunwen@gmail.com>
Co-Committed-By: Lunny Xiao <xiaolunwen@gmail.com>
This commit was merged in pull request #144.
This commit is contained in:
2020-12-06 20:15:41 +08:00
parent 92190b5902
commit 64381d0a5e
2 changed files with 15 additions and 5 deletions

12
cmd.go
View File

@@ -1006,7 +1006,17 @@ func (cmd commandRnfr) RequireAuth() bool {
}
func (cmd commandRnfr) Execute(sess *Session, param string) {
sess.renameFrom = sess.buildPath(param)
sess.renameFrom = ""
p := sess.buildPath(param)
if _, err := sess.server.Driver.Stat(&Context{
Sess: sess,
Cmd: "RNFR",
Param: param,
}, p); err != nil {
sess.writeMessage(550, fmt.Sprint("Action not taken: ", err))
return
}
sess.renameFrom = p
sess.writeMessage(350, "Requested file action pending further information.")
}

View File

@@ -206,14 +206,14 @@ func (socket *passiveSocket) ListenAndServe() (err error) {
laddr, err := net.ResolveTCPAddr("tcp", net.JoinHostPort("", strconv.Itoa(socket.port)))
if err != nil {
socket.sess.log(err)
return
return err
}
var tcplistener *net.TCPListener
tcplistener, err = net.ListenTCP("tcp", laddr)
if err != nil {
socket.sess.log(err)
return
return err
}
// The timeout, for a remote client to establish connection
@@ -222,7 +222,7 @@ func (socket *passiveSocket) ListenAndServe() (err error) {
err = tcplistener.SetDeadline(time.Now().Add(acceptTimeout))
if err != nil {
socket.sess.log(err)
return
return err
}
var listener net.Listener = tcplistener
@@ -231,7 +231,7 @@ func (socket *passiveSocket) ListenAndServe() (err error) {
port, err := strconv.Atoi(parts[len(parts)-1])
if err != nil {
socket.sess.log(err)
return
return err
}
socket.port = port