mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-08 07:10:56 +03:00
sftpd: improve truncate
quota usage and max allowed write size are now properly updated after a truncate
This commit is contained in:
@@ -353,8 +353,8 @@ func (c *sshCommand) executeSystemCommand(command systemCommand) error {
|
||||
go func() {
|
||||
defer stdin.Close()
|
||||
baseTransfer := common.NewBaseTransfer(nil, c.connection.BaseConnection, nil, command.fsPath, sshDestPath,
|
||||
common.TransferUpload, 0, 0, false)
|
||||
transfer := newTransfer(baseTransfer, nil, nil, remainingQuotaSize)
|
||||
common.TransferUpload, 0, 0, remainingQuotaSize, false, c.connection.Fs)
|
||||
transfer := newTransfer(baseTransfer, nil, nil)
|
||||
|
||||
w, e := transfer.copyFromReaderToWriter(stdin, c.connection.channel)
|
||||
c.connection.Log(logger.LevelDebug, "command: %#v, copy from remote command to sdtin ended, written: %v, "+
|
||||
@@ -366,8 +366,8 @@ func (c *sshCommand) executeSystemCommand(command systemCommand) error {
|
||||
|
||||
go func() {
|
||||
baseTransfer := common.NewBaseTransfer(nil, c.connection.BaseConnection, nil, command.fsPath, sshDestPath,
|
||||
common.TransferDownload, 0, 0, false)
|
||||
transfer := newTransfer(baseTransfer, nil, nil, 0)
|
||||
common.TransferDownload, 0, 0, 0, false, c.connection.Fs)
|
||||
transfer := newTransfer(baseTransfer, nil, nil)
|
||||
|
||||
w, e := transfer.copyFromReaderToWriter(c.connection.channel, stdout)
|
||||
c.connection.Log(logger.LevelDebug, "command: %#v, copy from sdtout to remote command ended, written: %v err: %v",
|
||||
@@ -380,8 +380,8 @@ func (c *sshCommand) executeSystemCommand(command systemCommand) error {
|
||||
|
||||
go func() {
|
||||
baseTransfer := common.NewBaseTransfer(nil, c.connection.BaseConnection, nil, command.fsPath, sshDestPath,
|
||||
common.TransferDownload, 0, 0, false)
|
||||
transfer := newTransfer(baseTransfer, nil, nil, 0)
|
||||
common.TransferDownload, 0, 0, 0, false, c.connection.Fs)
|
||||
transfer := newTransfer(baseTransfer, nil, nil)
|
||||
|
||||
w, e := transfer.copyFromReaderToWriter(c.connection.channel.Stderr(), stderr)
|
||||
c.connection.Log(logger.LevelDebug, "command: %#v, copy from sdterr to remote command ended, written: %v err: %v",
|
||||
|
||||
Reference in New Issue
Block a user