Commit Graph

123 Commits

Author SHA1 Message Date
Vahid Sohrabloo
468423d44a Change file Size type from int to int64 and add test for it 2017-02-20 00:13:08 +03:30
vahid-sohrabloo
7bbfa218f9 Add Size Command 2017-02-19 17:14:20 +03:30
Julien Laffaye
de604c9776 Expose disableEPSV
Fixes #71
2017-02-05 21:02:16 +01:00
Julian Kornberger
47d41e8ddd Switch to UTF-8 after login
closes #72
2017-02-04 12:24:16 +01:00
Julian Kornberger
04544dbe82 Use MLST if supported
closes #46
2017-01-29 16:38:35 +01:00
Julien Laffaye
5a8b8eeb12 Merge pull request #66 from zeast/master
use utf8 default
2017-01-20 09:08:54 +01:00
zeast
bb08d6425f use utf8 default 2017-01-09 11:45:58 +08:00
Julian Kornberger
8082b59766 Refactoring the line parsing 2016-12-31 18:20:29 +01:00
Svett Ralchev
08566066b1 Fix incorrect filename parsing
When the file creation year, file size and filename contains the same
substring the parsed filename should contains only the correct filename
2016-12-29 00:37:08 +00:00
Julien Laffaye
988909ab28 Disable EPSV for tests.
Also disable it for next attempts when it failed.
2016-11-24 14:49:16 +01:00
Julien Laffaye
17dda2a76c Merge pull request #59 from digineo/close-fix
Add missing Close() before return
2016-11-24 10:15:47 +01:00
Julian Kornberger
73c8ae2c86 Add missing Close() before return 2016-11-18 01:20:19 +01:00
codeman
6a290aff81 fix ls bug for file or folder name includes multiple spaces 2016-03-10 15:56:39 +08: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
Ludovic Fauvet
b8e5af955b Fix a crash with pasv invalid responses 2016-02-08 10:32:55 +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
ff69fe44f1 Make gofmt and golint happy. 2015-11-30 12:22:16 +01:00
Julian Kornberger
b9430bdb4a Avoid strings.Split
This results in less function calls.
2015-08-29 13:20:47 +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
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