commit
1244bff399
|
@ -98,7 +98,7 @@ type Config struct {
|
||||||
NoPty bool
|
NoPty bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a new packer.Communicator implementation over SSH. This takes
|
// New creates a new packer.Communicator implementation over SSH. This takes
|
||||||
// an already existing TCP connection and SSH configuration.
|
// an already existing TCP connection and SSH configuration.
|
||||||
func New(address string, config *Config) (result *SSHCommunicator, err error) {
|
func New(address string, config *Config) (result *SSHCommunicator, err error) {
|
||||||
// Establish an initial connection and connect
|
// Establish an initial connection and connect
|
||||||
|
@ -182,19 +182,19 @@ func (c *SSHCommunicator) Start(cmd *RemoteCmd) (err error) {
|
||||||
|
|
||||||
func (c *SSHCommunicator) Upload(path string, input io.Reader) error {
|
func (c *SSHCommunicator) Upload(path string, input io.Reader) error {
|
||||||
// The target directory and file for talking the SCP protocol
|
// The target directory and file for talking the SCP protocol
|
||||||
target_dir := filepath.Dir(path)
|
targetDir := filepath.Dir(path)
|
||||||
target_file := filepath.Base(path)
|
targetFile := filepath.Base(path)
|
||||||
|
|
||||||
// On windows, filepath.Dir uses backslash separators (ie. "\tmp").
|
// On windows, filepath.Dir uses backslash separators (ie. "\tmp").
|
||||||
// This does not work when the target host is unix. Switch to forward slash
|
// This does not work when the target host is unix. Switch to forward slash
|
||||||
// which works for unix and windows
|
// which works for unix and windows
|
||||||
target_dir = filepath.ToSlash(target_dir)
|
targetDir = filepath.ToSlash(targetDir)
|
||||||
|
|
||||||
scpFunc := func(w io.Writer, stdoutR *bufio.Reader) error {
|
scpFunc := func(w io.Writer, stdoutR *bufio.Reader) error {
|
||||||
return scpUploadFile(target_file, input, w, stdoutR)
|
return scpUploadFile(targetFile, input, w, stdoutR)
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.scpSession("scp -vt "+target_dir, scpFunc)
|
return c.scpSession("scp -vt "+targetDir, scpFunc)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *SSHCommunicator) UploadDir(dst string, src string, excl []string) error {
|
func (c *SSHCommunicator) UploadDir(dst string, src string, excl []string) error {
|
||||||
|
|
Loading…
Reference in New Issue