Nick Craig-Wood
24ef00a258
build: implement a framework for starting test servers during tests
...
Test servers are implemented by docker containers and run real servers
for rclone to test against.
2020-01-18 16:47:37 +00:00
Nick Craig-Wood
bafe7d5a73
backends: move encoding definitions from fs/encodings
2020-01-16 14:40:36 +00:00
Nick Craig-Wood
3c620d521d
backend: adjust backends to have encoding parameter
...
Fixes #3761
Fixes #3836
Fixes #3841
2020-01-16 14:40:36 +00:00
Jon Fautley
5d33236050
ftp: allow disabling EPSV mode
2019-10-10 21:00:41 +01:00
Nick Craig-Wood
32af4cd6f3
ftp: use lib/encoder
2019-09-30 22:00:24 +01:00
Nick Craig-Wood
fef8b98be2
ftp: fix listing of an empty root returning: error dir not found
...
Before this change if rclone listed an empty root directory then it
would return an error dir not found.
After this change we assume the root directory exists and don't
attempt to check it which was failing before.
See: https://forum.rclone.org/t/ftp-empty-directory-yields-directory-not-found-error/12069/
2019-09-28 18:01:12 +01:00
Nick Craig-Wood
57d5de6fba
build: fix up package paths after repo move
...
git grep -l github.com/ncw/rclone | xargs -d'\n' perl -i~ -lpe 's|github.com/ncw/rclone|github.com/rclone/rclone|g'
goimports -w `find . -name \*.go`
2019-07-28 18:47:38 +01:00
Aleksandar Jankovic
f78cd1e043
Add context propagation to rclone
...
- Change rclone/fs interfaces to accept context.Context
- Update interface implementations to use context.Context
- Change top level usage to propagate context to lover level functions
Context propagation is needed for stopping transfers and passing other
request-scoped values.
2019-06-19 11:59:46 +01:00
Gary Kim
db8cd1a993
ftp: Add no_check_certificate option for FTPS
2019-06-09 16:06:39 +01:00
Gary Kim
2890b69c48
ftp: Add FTP over TLS support
2019-06-09 16:06:39 +01:00
Jeff Quinn
c809334b3d
ftp: add FTP List timeout, fixes #3086
...
The timeout is controlled by the --timeout flag
2019-05-11 17:26:23 +01:00
Nick Craig-Wood
3bfde5f52a
ftp: add --ftp-concurrency to limit maximum number of connections
...
Fixes #2166
2019-03-17 09:57:14 +00:00
Fabian Möller
a0d4c04687
backend: fix misspellings
2019-02-07 19:51:03 +01:00
Nick Craig-Wood
4846d9393d
ftp: wait for 60 seconds for connection Close then declare it dead
...
This helps with indefinite hangs when transferring very large files on
some ftp server.
Fixes #2912
2019-01-15 17:32:14 +00:00
Nick Craig-Wood
c473c7cb53
ftp: add a small pause after failed upload before deleting file #2517
...
This fixes the integration tests for `serve ftp` which uses the ftp
backend tests.
2018-09-17 08:51:50 +01:00
Nick Craig-Wood
f3f48d7d49
Implement new backend config system
...
This unifies the 3 methods of reading config
* command line
* environment variable
* config file
And allows them all to be configured in all places. This is done by
making the []fs.Option in the backend registration be the master
source of what the backend options are.
The backend changes are:
* Use the new configmap.Mapper parameter
* Use configstruct to parse it into an Options struct
* Add all config to []fs.Option including defaults and help
* Remove all uses of pflag
* Remove all uses of config.FileGet
2018-07-16 21:20:47 +01:00
Nick Craig-Wood
b9b9bce0db
ftp: fix Put mkParentDir failed: 521 for BunnyCDN - fixes #2363
...
According to RFC 959, error 521 is the correct error return to mean
"dir already exists", so add support for this.
2018-06-30 14:29:47 +01:00
Nick Craig-Wood
ae562b5a4f
ftp: more workarounds for FTP servers to fix mkParentDir - fixes #2181
2018-04-26 14:58:04 +01:00
Nick Craig-Wood
c01177bc28
ftp: work around strange response from box FTP server
...
The Box FTP server seems to send 450 instead of 550 - work around that.
See: https://forum.rclone.org/t/using-box-com-over-ftp-problems/5313
2018-04-26 14:58:04 +01:00
Nick Craig-Wood
da7a77ef2e
ftp: Fix no error on listing non-existent directory
2018-04-20 23:22:46 +01:00
Nick Craig-Wood
0fa700b3cf
Make integration tests use go1.7+ nested tests #2154
...
* Removed generated code and code generator
* Updated docs on how to write integration tests
* Tidied up the actual integration tests
2018-04-08 15:04:14 +01:00
Stefan
a8267d1628
link: allow creating public link to files and folders - closes #1562
2018-03-29 09:10:19 +02:00
Remus Bunduc
70f07fd3ac
fs: add ChangeNotify and backend support for it ( #2094 )
...
* fs: rename DirChangeNotify to ChangeNotify
* cache: switch to ChangeNotify
* ChangeNotify: keep order of notifications
2018-03-08 22:03:34 +02:00
Fabian Möller
aeefa34f62
fstests: add TestInternal ( #2085 )
...
TestInternal allows to perform a custom test on the backend using the
optional InternalTester interface.
2018-02-25 10:58:06 +01:00
Nick Craig-Wood
fe52502f19
fs: Adjust RangeOption.Decode to return -1 for read to end
...
A Range request can never request 0 bytes however this change was made
to make a clearer signal that the limit means read to the end.
Add test and more documentation and fixup uses
2018-01-27 14:31:29 +00:00
Fabian Möller
17dabf7a99
ftp: fix RangeOption support in Open #1825
2018-01-25 10:21:00 +00:00
Nick Craig-Wood
8653944a6d
Make RangeOption manadatory for Open - #1825
...
Add an integration test to make sure all backends implement
RangeOption correctly.
2018-01-21 17:09:12 +00:00
Nick Craig-Wood
97c414f025
config/hash: rename more symbols after factoring into own package
2018-01-18 20:27:52 +00:00
Nick Craig-Wood
71722b5b95
config: factor Obscure and Reveal into its own package
2018-01-18 20:19:55 +00:00
Nick Craig-Wood
11da2a6c9b
Break the fs package up into smaller parts.
...
The purpose of this is to make it easier to maintain and eventually to
allow the rclone backends to be re-used in other projects without
having to use the rclone configuration system.
The new code layout is documented in CONTRIBUTING.
2018-01-15 17:51:14 +00:00
Nick Craig-Wood
b8b620f5c2
Move all backends into backend directory
2018-01-12 17:07:38 +00:00