Nick Craig-Wood
78ca08ba8a
pcloud: fix initial config "Auth state doesn't match" message #4210
...
pCloud should be passing back the state parameter that rclone passed
in on config but it seems to have got lost somewhere.
This sets a work-around for the pCloud backend allowing an empty state
parameter.
See: https://forum.rclone.org/t/cannot-connect-to-pcloud/16592
See: https://forum.rclone.org/t/cannot-create-pcloud-config-file-on-osx/16583
2020-05-26 11:27:01 +01:00
Nick Craig-Wood
49ba4eeb86
oauthutil: tidy interface to Config to add Options struct
...
The interface was getting so that a new function was needed for every
Config variant. Adding an Options struct fixes this.
2020-05-26 11:27:01 +01:00
Martin Michlmayr
041b201abd
doc: fix typos throughout docs and code
2020-05-25 11:23:58 +01:00
Martin Michlmayr
4aee962233
doc: fix typos throughout docs and code
2020-05-20 15:54:51 +01:00
Nick Craig-Wood
4d431e94b9
oauth2: try to make token expiry messages more helpful - fixes #4250
...
See also: #4251
2020-05-19 16:19:35 +01:00
Nick Craig-Wood
5cb2a2fa3c
lib/file: add Implemented constants
2020-05-19 10:15:20 +01:00
Nick Craig-Wood
7f8d74e903
docs: refresh rclone authorize
help
2020-05-04 10:40:26 +01:00
Nick Craig-Wood
42f9f7fb5d
lib/cache: add Rename, Pin and Unpin
2020-05-01 17:11:45 +01:00
David
e56976839a
jwtutil: Fix error handling
2020-04-23 17:52:14 +01:00
Nick Craig-Wood
cd3c699f28
lib/readers: factor ErrorReader from multiple sources
2020-04-19 15:18:49 +01:00
Nick Craig-Wood
36d2c46bcf
local: factor PreAllocate and SetSparse to lib/file
2020-04-19 15:18:49 +01:00
Mark Spieth
45b63e2d45
oauth: Use custom http client so that --no-check-certificate is honored by oauth token fetch
...
Fixes #4085
2020-03-22 12:28:19 +00:00
Nick Craig-Wood
3855c003ce
build: update to use go1.14 for the build
2020-02-26 21:26:47 +00:00
Outvi V
4996edc030
oauthutil: make instructions for rclone authorize more robust
...
It appends "--" to the rclone authorize command line before client_id,
in case that the client_id or client_secret has a prefix of "-"
(OneDrive's does), which affects the argument parsing.
2020-02-13 10:18:23 +00:00
Lars Lehtonen
f1d9bd5eab
lib/oauthutil: replace deprecated oauth2.NoContext
2020-02-07 17:49:29 +00:00
Nick Craig-Wood
14e93bfd8a
rest: call the Signer with the mutex unlocked
...
This enables the signer to adjust rest parameters and call rest again
if necessary.
2020-01-17 15:00:23 +00:00
Nick Craig-Wood
65071599a2
rest: don't canonicalise headers starting with *
...
This leaves a way of adding headers which shouldn't be canonicalised.
2020-01-17 15:00:23 +00:00
Nick Craig-Wood
5403e1c79a
lib/encoder: remove noencode tag and update CONTRIBUTING
2020-01-17 15:00:01 +00:00
Nick Craig-Wood
c555dc71c2
lib/encoder: move definitions here and remove uint casts
2020-01-16 14:40:36 +00:00
Nick Craig-Wood
0a5c83ece1
lib/encoder: add string rendering and parsing for encodings
2020-01-16 14:40:36 +00:00
Xiaoxing Ye
520ddbcceb
config: do not open browser on headless if google fs
...
On google fs (drive, google photos, and google cloud storage), if
headless is selected, do not open browser.
This also supplies a new option "auth-no-open-browser" for authorize
if the user does not want it.
This should fix #3323 .
2019-10-30 14:12:42 +00:00
Nick Craig-Wood
593de059be
lib/terminal: factor from cmd/progress, swap Azure/go-ansiterm for mattn/go-colorable
2019-10-08 19:59:47 +01:00
Nick Craig-Wood
5cef5f8b49
lib/encoder: add LeftPeriod encoding
2019-09-30 22:00:25 +01:00
Nick Craig-Wood
4098907511
lib/encoder: add more encode symbols and split existing
2019-09-30 22:00:25 +01:00
Nick Craig-Wood
f55a99218c
lib/encoder: add CrLf encoding
2019-09-30 22:00:24 +01:00
Nick Craig-Wood
57c1284df7
fstests: make integration tests to check all backends can store any file name
...
This tests the encoder is working properly
2019-09-30 22:00:24 +01:00
Fabian Möller
f0c2249086
encoder: add edge control characters and fix edge test generation
2019-09-30 14:05:49 +01:00
Fabian Möller
d5cd026547
encoder: add option to encode . and .. names
2019-09-30 14:05:49 +01:00
Fabian Möller
c09b62a088
encodings: add all known backend encodings
2019-09-30 14:05:49 +01:00
Nick Craig-Wood
f29e5b6e7d
lib/oauthutil: refactor web server and allow an auth callback
2019-09-30 11:34:30 +01:00
Nick Craig-Wood
25a0e7e8aa
lib/oauthutil: add a new redirect URL for oauth.rclone.org
...
This is for use with oauth providers which won't accept http: links.
2019-09-30 11:23:21 +01:00
Richard Patel
44b603d2bd
lib: add plugin support
...
This enables loading plugins from RCLONE_PLUGIN_PATH if set.
2019-09-29 11:05:10 +01:00
Nick Craig-Wood
349112df6b
oauthutil: fix security problem when running with two users on the same machine
...
Before this change two users could run `rclone config` for the same
backend on the same machine at the same time.
User A would get as far as starting the web server. User B would then
fail to start the webserver, but it would open the browser on the
/auth URL which would redirect the user to the login. This would then
cause user B to authenticate to user A's rclone.
This changes fixes the problem in two ways.
Firstly it passes the state to the /auth call before redirecting and
checks it there, erroring with a 403 error if it doesn't match. This
would have fixed the problem on its own.
Secondly it delays the opening of the web browser until after the auth
webserver has started which prevents the user entering the credentials
if another auth server is running.
Fixes #3573
2019-09-29 10:42:02 +01:00
David
1934426789
jwtutil: functionality to get an access token via JWT authentication
2019-09-20 17:15:16 +01:00
Nick Craig-Wood
1164eed2af
lib/pacer: make tests more reliable
2019-09-20 16:07:55 +01:00
Nick Craig-Wood
b242b0a078
lib/cache,rc/jobs: make tests more reliable
2019-09-20 11:53:08 +01:00
Lars Lehtonen
c93e0ff8ee
rest: fix missing error check
2019-09-13 23:50:39 +01:00
Nick Craig-Wood
66c23723e3
Add context to all http.NewRequest #3257
...
When we drop support for go1.12 we can use http.NewRequestWithContext
2019-09-09 23:27:07 +01:00
Nick Craig-Wood
58a531a203
rest: add context propagation to rest library #3257
...
This fixes up the calling and propagates the contexts for the backends
which use lib/rest.
2019-09-09 23:27:07 +01:00
Nick Craig-Wood
ffa1dac10b
build: apply gofmt from go1.13 to change case of number literals
2019-09-05 13:59:06 +01:00
Nick Craig-Wood
0edbc9578d
googlephotos,onedrive: fix crash on error response - fixes #3491
...
This fixes a crash on the google photos backend when an error is
returned from the rest.Call function.
This turned out to be a mis-understanding of the rest docs so
- improved rest.Call docs
- fixed mis-understanding in google photos backend
- fixed similar mis-understading in onedrive backend
2019-08-28 12:11:03 +01:00
Nick Craig-Wood
a992a910ef
rest: use readers.NoCloser to stop body being closed
...
Before this change, if you passed a io.ReadCloser to opt.Body then the
transaction would close it. This happens as part of http.NewRequest
which documents that the io.Reader passed in will be upgraded to a
Closer if possible and closed as part of the Do call.
After this change, we wrap any io.ReadClosers to stop them being
upgraded. This means that they will never get closed and that the
caller should always close them.
This fixes a panic in the googlephotos integration tests.
2019-08-26 12:23:31 +01:00
Nick Craig-Wood
ce3340621f
lib/readers: add NoCloser to stop upgrades from io.Reader to io.ReadCloser
2019-08-26 12:23:31 +01:00
Nick Craig-Wood
193c30d570
Review random string/password generation
...
- factor password generation into lib/random.Password
- call from appropriate places
- choose appropriate use of random.String vs random.Password
2019-08-25 11:09:19 +01:00
Nick Craig-Wood
e339c9ff8f
lib/bucket: shorten locking window where possible
2019-08-22 23:06:59 +01:00
Nick Craig-Wood
40cc8180f0
lib/dircache: add a way to dump the DirCache for debugging
2019-08-22 11:57:35 +01:00
Nick Craig-Wood
d266a171c2
lib/bucket: utilities for dealing with bucket based backends #3421
2019-08-17 10:30:41 +01:00
Abhinav Sharma
4db742dc77
oauthutil: note that the same version is recommended for remote auth
2019-08-10 17:31:08 +01:00
Nick Craig-Wood
5065c422b4
lib/random: unify random string generation into random.String
...
This was factored from fstest as we were including the testing
enviroment into the main binary because of it.
This was causing opening the browser to fail because of 8243ff8bc8
.
2019-08-06 12:44:08 +01:00
Nick Craig-Wood
b3e94b018c
cache: factor fs cache into lib/cache
2019-08-06 11:43:42 +01:00