Commit Graph

153 Commits

Author SHA1 Message Date
Andy Balholm
95346071de Add support for directory listings in MS-DOS DIR format. 2015-08-24 16:03:52 -07: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
Julian Kornberger
72db6844f1 Improve line parsing 2015-08-18 22:33:04 +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
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
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
Julien Laffaye
a6e47bb27d Merge branch 'ipv6' of https://github.com/stacktic/ftp into stacktic-ipv6
Conflicts:
	ftp.go
2015-08-18 18:52:29 +02:00
Julien Laffaye
a5b2614a99 Merge pull request #8 from dsluis/master
Changing expected status response for Logout call
2015-08-18 18:13:03 +02:00
Julien Laffaye
061d4ea288 Merge pull request #13 from stacktic/rest
Add support for the REST command
2015-08-18 18:05:20 +02:00
Dan Goldsmith
9a62d18b47 Copy Paste Error / Typo
Error Created in pasv() states EPSV rather than PASV
2015-04-23 14:02:53 +01:00
Julien Laffaye
a9410e3e51 Implements timeouts.
Added DialTimeout and Dial functions.
Fixes issue #27.
2015-03-16 23:45:56 +01:00
Julien Laffaye
5807e676a3 Add comments to make golint happy. 2015-03-05 11:57:38 +01:00
Julien Laffaye
816e28448f Specify the fields to make govet happy. 2015-03-05 11:49:26 +01:00
Peter Nguyen
a595f7d8e4 Changed to using ReadResponse instead of ReadCodeLine for cmdDataConn 2014-10-30 11:55:46 +01:00
jfbus
d54ea712cb Allow multi-line 226 responses to STOR commands - fixes #17 2014-03-25 09:35:34 +01:00
Ludovic Fauvet
fb61796944 Handle multi-line 226 status code 2014-02-18 17:01:20 +01:00
Ludovic Fauvet
7a3697af8c PASS command may be optional if the server answers 230 after issuing USER 2014-02-18 13:19:43 +01:00
Arnaud Ysmal
6bad3e176c Try EPSV when PASV fails 2013-12-05 19:29:22 +01:00
Arnaud Ysmal
8d3a48a8c7 The REST command must precede RETR/STOR 2013-12-05 00:09:55 +01:00
Arnaud Ysmal
a3bb5b8714 Use net.JoinHostPort and net.SplitHostPort 2013-12-04 23:58:02 +01:00
Arnaud Ysmal
691fac98af Force EPSV for IPv6 hosts and fix split of IPv6:port 2013-12-04 23:57:46 +01:00
Bob Uhl
a40f117d27 Added NLST-equivalent command 2013-12-03 17:09:55 -07:00
Daniel Sluis
169efda0b5 Changing expected status response for Logout call 2013-10-18 09:30:28 -07:00
Julien Laffaye
962edd16c2 Remove obsolete comment. 2013-09-07 18:49:50 +02:00
Julien Laffaye
1b161dcaad gofmt ftp.go 2013-09-07 18:48:40 +02:00
Gerben Castel
9fdb4d975a PASV support 2013-09-04 14:54:57 +02:00
SunRunAway
65a25a2848 do ReadCodeLine in Close() @ ReadCloser 2013-07-10 18:18:32 +08:00
SunRunAway
60f85a4eb0 Merge branch 'feature/connect' 2013-07-08 13:59:53 +08:00
SunRunAway
66a09f43d5 use ReadResponse @Connect 2013-07-08 13:48:11 +08:00
SunRunAway
6416febc89 add Time for Entry 2013-07-08 13:21:43 +08:00
Julien Laffaye
732309446f Use strings.TrimSpace() instead of strings.Trim(). 2013-05-20 01:30:03 +02:00
Julien Laffaye
b82b87bce2 Fix spelling. 2013-05-20 01:20:29 +02:00
Julien Laffaye
f23c3ddfab Added feature discovery as per RFC 2389. 2013-05-19 21:54:57 +02:00
Julien Laffaye
2257d14f75 Use ReadResponse instead of ReadCodeLine.
ReadResponse deals with multi-lines reponse, ReadCodeLine does not.
While I'm here, use the cmd() helper in epsv() method.
2013-05-19 21:23:29 +02:00
Julien Laffaye
91fc6ada34 Added Logout() method. 2013-05-19 21:15:23 +02:00
Julien Laffaye
e00e1f11a0 Revise godoc comments. 2013-05-19 19:54:14 +02:00
Julien Laffaye
ebf946ada5 Switch to binary mode once logged-in.
Data transfer in binary mode works for both ASCII and binary (such as JPEG
images) files. Therefore it should be the default.

Fixes #3
2013-05-08 17:46:48 +02:00
Julien Laffaye
d69e9326f4 Set the size of the entry in List() 2013-02-17 10:03:46 +01:00
jlaffaye
47b339b57b Update to latest Go weekly. 2011-12-27 22:50:50 +01:00
jlaffaye
6110501482 Added CurrentDir() and ChangeDirToParent()
Added more tests.
2011-09-07 16:52:52 +02:00
jlaffaye
68f080c45f Returns a textproto.Error
It easier for the client to extract the code and message with type assertions.
2011-09-06 19:15:39 +02:00
jlaffaye
af6f5aac6a Add helpers functions to cleanup code. 2011-09-06 19:12:22 +02:00
jlaffaye
6aaa275d08 Login() is a function on its own.
It allows to try multiple logins without closing the connection.
Drop the useless ConnectAnonymous.
2011-09-06 18:27:30 +02:00
jlaffaye
b70c76ed28 More commands and their tests.
Delete()
MakeDir()
RemoveDir()
2011-09-06 00:02:01 +02:00
jlaffaye
a87255661d Better error handling, new commands.
The code is no safer.
Added Stor(), Rename(), NoOp()
Improved Retr()
Added client tests (requires a ftp server on localhost)
2011-09-05 23:36:14 +02:00
jlaffaye
faca79d4ea List() takes an argument. 2011-05-08 13:08:31 +01:00
jlaffaye
7b2259fd5d Use net/textproto instead of net. 2011-05-07 12:56:42 +01:00
jlaffaye
3b5a440874 Rename ServerCon' to ServerConn' to be consistent with core packages. 2011-05-07 12:13:51 +01:00
jlaffaye
bcc332e95c First commit. 2011-05-07 00:29:10 +01:00