vendor: update github.com/goftp/server - fixes #2845

This commit is contained in:
Nick Craig-Wood 2019-01-12 17:09:11 +00:00
parent 781142a73f
commit 8d16a5693c
4 changed files with 17 additions and 4 deletions

View file

@ -14,6 +14,7 @@ import (
"strings"
"sync"
"syscall"
"time"
)
// DataSocket describes a data socket is used to send non-control data between the client and
@ -208,13 +209,23 @@ func (socket *ftpPassiveSocket) GoListenAndServe(sessionID string) (err error) {
return
}
var listener net.Listener
listener, err = net.ListenTCP("tcp", laddr)
var tcplistener *net.TCPListener
tcplistener, err = net.ListenTCP("tcp", laddr)
if err != nil {
socket.logger.Print(sessionID, err)
return
}
// The timeout, for a remote client to establish connection
// with a PASV style data connection.
const acceptTimeout = 60 * time.Second
err = tcplistener.SetDeadline(time.Now().Add(acceptTimeout))
if err != nil {
socket.logger.Print(sessionID, err)
return
}
var listener net.Listener = tcplistener
add := listener.Addr()
parts := strings.Split(add.String(), ":")
port, err := strconv.Atoi(parts[len(parts)-1])