Commit Graph

118 Commits

Author SHA1 Message Date
Nick Craig-Wood
9f5200151c Delay FEAT command until after Login - fixes #200
Some servers require the user to be logged in to run FEAT

    ftp://serverftp:2121: Connecting to FTP server
    FTP Rx: "220 DrFTPD+ 2.0 (+STABLE+) $Revision: 1949 $ http://drftpd.org"
    FTP Tx: "AUTH TLS"
    FTP Rx: "234 AUTH TLS successful"
    FTP Tx: "FEAT"
    FTP Rx: "530 Not logged in."
2020-09-12 11:30:42 +01:00
Julien Laffaye
39e3779af0
Merge pull request #192 from drakkan/resp_error
try to read the server response after a failed upload
2020-08-12 10:35:50 -04:00
Nicola Murino
4a68979b89 always return the ReadResponse error after an upload 2020-08-06 16:44:05 +02:00
Julien Laffaye
c2ee4fa250
Merge pull request #178 from crazy-max/optional-utf8
Make "OPTS UTF8 ON" optional
2020-07-30 09:57:23 -04:00
Nicola Murino
08a1e2e380 try to read the server response after a failed upload
if the upload failed we still need to try to read the server
response otherwise if the failure is not due to a connection problem,
for example the server denied the upload for quota limits, we miss
the response and we cannot use the connection to send other commands

Here is what happen before this patch:

C->S STOR test_file1.dat
S->C 150 Using transfer connection
S->C 550 Could not transfer file: denying write due to space limit

the client does not read the above 550 response and send the next command, so
the response for the STOR response will be readed as response for the next
command
2020-07-30 14:55:31 +02:00
CrazyMax
696d865fa3
Opt-out 2020-07-28 21:13:33 +02:00
Julien Laffaye
e31b4effea
Merge pull request #188 from Techassi/typeentry-string
EntryType String() function
2020-07-28 13:54:05 -04:00
Nick Craig-Wood
6563ce9dff Workaround pure-ftpd connections failing with "Unknown command"
pure-ftpd 1.0.49-4 as supplied as part of Ubuntu 20.04 advertises UTF8
support in the FEAT command but the OPTS command fails to turn it on.

    OPTS UTF8 ON
    504 Unknown command

This patch introduces a workaround to ignore the error which enables
this library to work with this version of pure-ftpd. Filezilla appears
to ignore this error in a similar way.
2020-07-18 14:21:12 +01:00
Techassi
3e3979ddc6
Add String() function 2020-07-17 18:01:41 +02:00
CrazyMax
01c291065f
Move func 2020-05-05 21:04:03 +02:00
CrazyMax
60012218fd
Make "OPTS UTF8 ON" optional (#172) 2020-05-05 13:04:49 +02:00
Viorel Craescu
3b6697e5b6 fix_walk 2020-04-26 10:28:15 +03:00
Julien Laffaye
b9f3ade291 Merge branch 'master' of github.com:jlaffaye/ftp 2020-04-23 00:49:57 +02:00
Julien Laffaye
ac1574d383 Add DialWithExplicitTLS 2020-04-23 00:49:43 +02:00
Julien Laffaye
59f85871cf
Merge pull request #169 from flowrean/append-cmd
Add support for FTP append (APPE) command
2020-04-22 18:29:36 -04:00
Julien Laffaye
041eae9a3d
Merge pull request #141 from johnepiscopo/add-walk
Adds the ability to walk through a directory tree
2020-03-13 11:03:37 -04:00
Florian Goetghebeur
827e50c0bd Add support for append (APPE) command 2020-03-10 11:43:17 +01:00
Julien Laffaye
7cd8b0bcf3 Fix spelling errors 2019-07-21 21:44:32 +02:00
Julien Laffaye
1c9975e197 gofmt 2019-07-21 21:36:15 +02:00
Julian Kornberger
c1312a7102 Correctly parse symlink (#152)
fixes #151
2019-06-24 10:48:59 +02:00
Gary Kim
8f5b34ce00 Complete Implicit FTPS support (#143)
feat: complete implicit ftps support
2019-05-19 22:39:11 +02:00
John Episcopo
e6e290ca7f Added initial logic and tests for the Walker 2019-05-01 17:00:01 +01:00
Alexander Pevzner
6a014d5e22 Add DialWithDialFunc to specify dial function used for both control and data connections (#140)
Add DialWithDialFunc to specify dial function used for both control and data connections

If used DialWithNetConn, DialWithNetConn takes precedence for
the control connection, while data connections will be established
using function specified with the DialWithDialFunc option
2019-04-27 18:36:46 +02:00
Julien Laffaye
e6de3d35bf Replace DialWithOptions with Dial
No need for a dedicated function as Dial can take no options.
2019-04-23 14:04:25 +02:00
Julien Laffaye
8b7b512afb Add DialWithDebugOutput to log commands. 2019-04-17 13:16:26 +02:00
Julien Laffaye
52d3001130 Specify that a server conn is not concurrent safe.
Fixes #128
2019-04-11 17:57:07 +02:00
Julien Laffaye
04b1878733 Add DialWithOptions
DialWithOptions accept a variadic number of options, allowing to
introduce more options in the fure without breaking the API.
2019-04-10 20:25:16 +02:00
Julien Laffaye
f75dead520 error strings should not be capitalized (ST1005) 2019-01-22 14:50:39 +01:00
Julien Laffaye
509a294b60 Add missing error check in RemoveDirRecur 2019-01-22 14:47:31 +01:00
Vladimir Buyanov
3f6433f7ea Workaround for FTP servers, that does not support UTF8 option. (#120)
* Workaround for FTP servers, that does not support UTF8 option.
2018-08-08 23:16:05 +02:00
Shannon Wynter
4772add9d0 Make it possible to specify what timezone to parse timestamps in 2018-03-20 15:07:44 +10:00
Nick Craig-Wood
8aeb589fce Parse IP address returned with PASV to fix load balanced FTP servers
Fixes #114
2018-02-04 16:02:56 +00:00
Julien Laffaye
83891dbe00
Merge pull request #110 from digineo/time-parsing
Fix time parsing and reduce syscalls
2018-01-05 08:56:08 +01:00
Julian Kornberger
38ce06637b Fix golint warning 2018-01-04 15:23:55 +01:00
Julian Kornberger
352a1d8821 Fix time parsing and reduce syscalls
closes #109
2018-01-04 13:28:55 +01:00
Julian Kornberger
f5cdbb9f1e Use net.TCPAddr to extract remote IP address 2017-08-12 01:24:47 +02:00
Joe
479d87b91a added recursively deleting folders
added tests for recursive delete

added change dir to fix test + refactor

fixed path issues

changes directory now instead of deleting by path

proftpd fix

added file edge case + more tests

added directory does not exist test

added correct directory after delete test

fixed correct directory test

renamed test directories + files

missed a renamed
2017-06-13 21:21:50 +01:00
Davide D'Agostino
980e2e09a5 Document that closing two times doesn't do anything 2017-05-04 19:03:56 -07:00
Davide D'Agostino
cb362c4101 Rename connClosed -> closed 2017-05-04 17:46:41 -07:00
Davide D'Agostino
7e3820b35d Address comments 2017-05-04 13:03:00 -07:00
Davide D'Agostino
58864d889b Avoid forever lock
If we close the connection two times the second time will hang forever waiting for a server code.
2017-05-01 18:56:43 -07:00
Julian Kornberger
569481fc3b Add SetDeadline to Response
closes #70
2017-04-15 12:18:04 +02:00
Julien Laffaye
7b85eb4638 Document ServerConn is not safe for concurrent use.
Mention textproto.Error so users can access the error code via type
assertion (issue #78).
2017-03-04 13:34:31 +01:00
mappu
28c104197d ftp: fix OPTS UTF8 ON for Filezilla Server
Closes #77
2017-03-03 17:14:13 +13:00
Vahid Sohrabloo
7e0dbe8c48 Add more test in FileSize 2017-02-20 09:04:20 +03:30
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