we try to remove the trailing double quote for user input such as this one
sftpgo.exe serve -c "C:\ProgramData\SFTPGO\"
the value for the -c flag is parsed as:
C:\ProgramData\SFTPGO"
this is what the user specified, but the user want this value:
C:\ProgramData\SFTPGO
so we try to remove the trailing double quote.
Please note that we cannot do anything for something like this:
-c "C:\ProgramData\SFTPGO\" -l "sftpgo.log"
in this case the -l flag will be ignored and the value for the c flag is:
C:\ProgramData\SFTPGO" -l sftpgo.log
and so probably it is invalid. This is definitely a bad user input
We use the system commands "git-receive-pack", "git-upload-pack" and
"git-upload-archive". they need to be installed and in your system's
PATH. Since we execute system commands we have no direct control on
file creation/deletion and so quota check is suboptimal: if quota is
enabled, the number of files is checked at the command begin and not
while new files are created.
The allowed size is calculated as the difference between the max quota
and the used one. The command is aborted if it uploads more bytes than
the remaining allowed size calculated at the command start. Quotas are
recalculated at the command end with a full home directory scan, this
could be heavy for big directories.