Explorar o código

SSH system command: add os separator to the resolved path when appropriate

Fixes #327
Nicola Murino %!s(int64=4) %!d(string=hai) anos
pai
achega
895117718e
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      sftpd/ssh_cmd.go

+ 4 - 0
sftpd/ssh_cmd.go

@@ -470,6 +470,10 @@ func (c *sshCommand) getSystemCommand() (systemCommand, error) {
 			// so we need to check the quota for this directory and not its parent dir
 			// so we need to check the quota for this directory and not its parent dir
 			quotaPath = path.Join(sshPath, "fakecontent")
 			quotaPath = path.Join(sshPath, "fakecontent")
 		}
 		}
+		if strings.HasSuffix(sshPath, "/") && !strings.HasSuffix(fsPath, string(os.PathSeparator)) {
+			fsPath += string(os.PathSeparator)
+			c.connection.Log(logger.LevelDebug, "path separator added to fsPath %#v", fsPath)
+		}
 		args = args[:len(args)-1]
 		args = args[:len(args)-1]
 		args = append(args, fsPath)
 		args = append(args, fsPath)
 	}
 	}