Go to file
Dave Cheney 9e66bf3ae2 Merge pull request #72 from mdlayher/master
client: make Client.{Lstat,Open,Stat} satisfy os.IsNotExist
2016-01-04 12:14:20 +01:00
examples Updates to code style 2015-11-08 12:36:10 +00:00
server_standalone Updates to code style 2015-11-08 12:36:10 +00:00
.gitignore Created working example SFTP server 2015-11-07 19:21:42 +00:00
.travis.yml Add -testserver permutation 2016-01-02 10:28:56 +01:00
CONTRIBUTORS Update CONTRIBUTORS 2014-04-18 12:31:59 +03:00
LICENSE Rename LICENCE to LICENSE 2014-10-27 21:31:41 +00:00
README.md s/wercker/travis 2015-12-25 18:24:07 +01:00
attrs.go fix broken windows build 2015-09-19 19:09:03 -07:00
attrs_stubs.go add windows as a build target to _stubs.go files 2015-09-19 19:16:50 -07:00
attrs_test.go Refactored attribute test to deal with new types. 2014-06-23 02:03:55 -04:00
attrs_unix.go fix broken windows build 2015-09-19 19:09:03 -07:00
client.go client: add normaliseError, make Client.{Lstat,Open,Stat} satisfy os.IsNotExist 2016-01-03 16:10:58 -05:00
client_integration_darwin_test.go Add -testserver permutation 2016-01-02 10:28:56 +01:00
client_integration_linux_test.go Add -testserver permutation 2016-01-02 10:28:56 +01:00
client_integration_test.go Merge pull request #72 from mdlayher/master 2016-01-04 12:14:20 +01:00
client_test.go client: add normaliseError, make Client.{Lstat,Open,Stat} satisfy os.IsNotExist 2016-01-03 16:10:58 -05:00
debug.go added debug option, build/test with -tags debug to activate 2014-09-28 12:32:34 +10:00
example_test.go Address review comments; about to change decodePacket() 2015-09-06 23:55:15 -07:00
other_test.go Handle osx returning EPERM not ENOTDIR 2015-12-22 13:34:21 +09:00
packet.go Add Getwd to client 2015-12-22 09:04:46 -05:00
packet_test.go version, lstat 2015-07-25 01:19:29 -07:00
release.go added debug option, build/test with -tags debug to activate 2014-09-28 12:32:34 +10:00
server.go Add -testserver permutation 2016-01-02 10:28:56 +01:00
server_integration_test.go s/wercker/travis 2015-12-25 18:24:07 +01:00
server_stubs.go add windows as a build target to _stubs.go files 2015-09-19 19:16:50 -07:00
server_unix.go add more tests; bug setting S_IFREG caused openssh sftp to refuse to get the file 2015-09-08 17:03:18 -07:00
sftp.go Add reference to draft-ietf-secsh-filexfer-13 2015-12-23 20:26:29 +01:00

README.md

sftp

The sftp package provides support for file system operations on remote ssh servers using the SFTP subsystem.

!"unix status")

usage and examples

See godoc.org/github.com/pkg/sftp for examples and usage.

The basic operation of the package mirrors the facilities of the os package.

The Walker interface for directory traversal is heavily inspired by Keith Rarick's fs package.

roadmap

  • Currently all traffic with the server is serialized, this can be improved by allowing overlapping requests/responses.
  • There is way too much duplication in the Client methods. If there was an unmarshal(interface{}) method this would reduce a heap of the duplication.
  • Implement integration tests by talking directly to a real opensftp-server process. This shouldn't be too difficult to implement with a small refactoring to the sftp.NewClient method. These tests should be gated on an -sftp.integration test flag. in progress

contributing

We welcome pull requests, bug fixes and issue reports.

Before proposing a large change, first please discuss your change by raising an issue.