Commit Graph
116 Commits
Author SHA1 Message Date
Brian Foshee 133b78e1c2 update readme with concurrency notes 2016-03-04 00:34:31 -05:00
Brian Foshee 025459f901 Make ServerConn safe for concurrent use
ServerConn's textproto.Conn is safe for concurrent access. This adds
calls to StartResponse() and EndResponse() to put that to use wherever
Cmd() is called.
https://golang.org/pkg/net/textproto/#Conn.Cmd

Additionally, this adds a sync.Mutex on ServerConn to provide
concurrency protection for data commands such as STOR and RETR that need
to run through synchronous steps.
2016-03-03 14:30:28 -05:00
Julien Laffaye 025815df64 Merge pull request #51 from brianfoshee/update-go-version
Add Go 1.6 test target as well as most recent 1.5 release
2016-02-29 22:52:38 +01:00
Brian Foshee 6b13969ac9 Add Go 1.6 test target and bump 1.5 to 1.5.3 2016-02-29 15:44:32 -05:00
Julien Laffaye 0e072be722 Merge pull request #43 from HnH/master
ServerConn::openDataConn() recursively tries to use EPSV and PASV.
2016-02-27 11:10:24 +01:00
Julien Laffaye 3e92923fa0 Merge pull request #48 from ezeql/patch-1
Update README.md
2016-02-10 22:23:03 +01:00
Ezequiel Moreno e53011540c Update README.md
add go get lib
2016-02-10 15:38:39 -03:00
Julien Laffaye fc06ecffd6 Merge pull request #47 from etix/hotfix
Fix a crash with pasv invalid responses
2016-02-08 20:19:59 +01:00
Ludovic Fauvet b8e5af955b Fix a crash with pasv invalid responses 2016-02-08 10:32:55 +01:00
Julien Laffaye 8b4b15b841 Merge pull request #44 from digineo/fix_time_parsing
Do not crash on invalid lines
2015-12-28 18:04:02 +01:00
Julian Kornberger e077f90365 Fix Travis CI 2015-12-28 12:44:51 +01:00
Julian Kornberger 1fc6b70adc Another fix for the line parser 2015-12-28 12:17:09 +01:00
Julian Kornberger 107079411b Do not crash on invalid lines 2015-12-28 00:12:10 +01:00
Сергей Трейнис e252713eb1 ServerConn::openDataConn() recursively tries to use EPSV and PASV. 2015-12-02 15:06:05 +02:00
Julien Laffaye f780314026 Use latest Go version.
Remove cover tool, it is now part of Go.
2015-12-01 23:05:03 +01:00
Julien Laffaye ff69fe44f1 Make gofmt and golint happy. 2015-11-30 12:22:16 +01:00
Julien Laffaye a104f27d44 Merge pull request #41 from digineo/avoid_strings_split
Avoid strings.Split
2015-09-01 23:31:23 +02:00
Julien Laffaye 5260d41db2 Merge pull request #42 from digineo/multiline_mock
Create mock for multiline test
2015-09-01 23:28:59 +02:00
Julian Kornberger ff557cea69 Create mock for multiline test
This removes the dependency to ftp.mozilla.org
2015-08-29 15:26:40 +02:00
Julian Kornberger b9430bdb4a Avoid strings.Split
This results in less function calls.
2015-08-29 13:20:47 +02:00
Julien Laffaye 1b24570309 Add ReportCard badge. 2015-08-28 15:52:55 +02:00
Julien Laffaye db9aa14e61 Merge pull request #40 from andybalholm/master
Add support for directory listings in MS-DOS DIR format.
2015-08-25 09:22:57 +02:00
Andy Balholm 95346071de Add support for directory listings in MS-DOS DIR format. 2015-08-24 16:03:52 -07:00
Julien Laffaye 7acded32b2 Add a test for the legacy Connect function. 2015-08-21 18:47:44 +02:00
Julien Laffaye d640995c66 Add tests for timeout and wrong login. 2015-08-21 18:36:56 +02:00
Julien Laffaye 7534ffcb97 Add a test for RetrFrom method. 2015-08-20 22:47:09 +02:00
Julien Laffaye 4cb43e6615 Merge pull request #39 from digineo/increase_test_coverage
Increase test coverage
2015-08-20 11:06:57 +02:00
Julian Kornberger 6f8509b5d6 Increase test coverage 2015-08-20 10:37:56 +02:00
Julien Laffaye fb305c5912 Merge pull request #38 from digineo/test_pasv
Test PASV as well
2015-08-20 09:37:12 +02:00
Julian Kornberger 5bb86ee66f Test PASV as well 2015-08-20 01:51:00 +02:00
Julien Laffaye 201b5505ae Merge pull request #37 from digineo/coveralls
Add coveralls.io to display test coverage
2015-08-19 21:18:42 +02:00
Julian Kornberger 5cfd9ea586 Add coveralls.io to display test coverage 2015-08-19 11:09:52 +02:00
Julien Laffaye 519b366223 Silence StatusNotImplemented error for Logout() 2015-08-19 00:17:44 +02:00
Julien Laffaye c741076986 Merge pull request #35 from digineo/code_optimizations
Some code optimizations
2015-08-18 23:43:34 +02:00
Julien Laffaye b33f6e0005 Fix EPSV for domains with multiple A entries.
We can not use the DNS name to open the data connection, as we might get
another IP than the current host from the DNS resolution.
2015-08-18 23:38:53 +02:00
Julian Kornberger 3a78f26034 Some code optimizations 2015-08-18 23:34:52 +02:00
Julien Laffaye 23b395751d Merge pull request #33 from digineo/ipv6
Use localhost to test IPv6 connectivity
2015-08-18 23:07:04 +02:00
Julian Kornberger dd7e903125 Use localhost to test IPv6 connectivity 2015-08-18 22:58:00 +02:00
Julien Laffaye 994e6a4239 Merge pull request #34 from digineo/improve_parsing
Improve line parsing
2015-08-18 22:50:39 +02:00
Julian Kornberger 72db6844f1 Improve line parsing 2015-08-18 22:33:04 +02:00
Julien Laffaye c69930155d Merge pull request #32 from digineo/travis
Add Travis CI
2015-08-18 21:22:31 +02:00
Julian Kornberger 77206a0866 Add Travis CI 2015-08-18 20:56:31 +02:00
Julien Laffaye e6587b1638 Merge pull request #31 from digineo/listings
Add support for more listing formats
2015-08-18 19:17:10 +02:00
Julien Laffaye 0ae5d598fa Use prefered API function. 2015-08-18 19:03:26 +02:00
Julien Laffaye 3e21d70d53 Skip TestConnIPv6 in short mode. 2015-08-18 19:02:23 +02:00
Julien Laffaye e987451f99 SplitHostPort before connecting to the remote.
This, way, we dont have to cleanup the tcp connection if SplitHostPort fails.
2015-08-18 19:00:56 +02:00
Julien Laffaye aae10f216b Merge branch 'stacktic-ipv6' 2015-08-18 18:59:16 +02:00
Julian Kornberger d827b56882 Unexport SetTime and SetSize 2015-08-18 18:54:40 +02:00
Julian Kornberger 4c910c8b22 Add support for a third listing format 2015-08-18 18:54:40 +02:00
Julian Kornberger 94120171fb Add support for another listing format 2015-08-18 18:54:40 +02:00