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