transfer logs: add FTP mode

This commit is contained in:
Nicola Murino
2021-08-10 13:07:38 +02:00
parent 0de0d3308c
commit 555dc3b0c0
6 changed files with 63 additions and 8 deletions

View File

@@ -30,6 +30,19 @@ type Connection struct {
clientContext ftpserver.ClientContext
}
func (c *Connection) getFTPMode() string {
if c.clientContext == nil {
return ""
}
switch c.clientContext.GetLastDataChannel() {
case ftpserver.DataChannelActive:
return "active"
case ftpserver.DataChannelPassive:
return "passive"
}
return ""
}
// GetClientVersion returns the connected client's version.
// It returns "Unknown" if the client does not advertise its
// version
@@ -325,6 +338,7 @@ func (c *Connection) downloadFile(fs vfs.Fs, fsPath, ftpPath string, offset int6
baseTransfer := common.NewBaseTransfer(file, c.BaseConnection, cancelFn, fsPath, fsPath, ftpPath, common.TransferDownload,
0, 0, 0, false, fs)
baseTransfer.SetFtpMode(c.getFTPMode())
t := newTransfer(baseTransfer, nil, r, offset)
return t, nil
@@ -390,6 +404,7 @@ func (c *Connection) handleFTPUploadToNewFile(fs vfs.Fs, resolvedPath, filePath,
baseTransfer := common.NewBaseTransfer(file, c.BaseConnection, cancelFn, resolvedPath, filePath, requestPath,
common.TransferUpload, 0, 0, maxWriteSize, true, fs)
baseTransfer.SetFtpMode(c.getFTPMode())
t := newTransfer(baseTransfer, w, nil, 0)
return t, nil
@@ -466,6 +481,7 @@ func (c *Connection) handleFTPUploadToExistingFile(fs vfs.Fs, flags int, resolve
baseTransfer := common.NewBaseTransfer(file, c.BaseConnection, cancelFn, resolvedPath, filePath, requestPath,
common.TransferUpload, minWriteOffset, initialSize, maxWriteSize, false, fs)
baseTransfer.SetFtpMode(c.getFTPMode())
t := newTransfer(baseTransfer, w, nil, 0)
return t, nil