"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
Go to file
Leo Luan 5f1d5a1897 vfs: Fix a deadlock vulnerability in downloaders.Close
The downloaders.Close() call acquires the downloaders' mutex before
calling the wait group wait and the main downloaders thread has a
periodical (5 seconds interval) call to kick its waiters and the
waiter dispatch function tries to get the mutex. So a deadlock can
occur if the Close() call starts, gets the mutex, while the main
downloader thread already got the timer's tick and proceeded to
call kickWaiters. The deadlock happens when the Close call gets
the mutex between the timer's kick and the main downloader thread
gets the mutex first. So it's a pretty short period of time and
it probably explains why the problem has not surfaced, maybe
something like tens of nanoseconds out of 5 seconds (~10^^-8).
It took 5 days of continued stressing the Close calls for the
deadlock to appear.
2020-10-06 16:35:23 +01:00
.github build: build with go1.15.x by default now that it is released 2020-08-12 09:51:22 +01:00
backend sftp: Allow user to optionally check server hosts key to add security 2020-10-06 16:27:42 +01:00
bin build: update not-in-stable after semver changes 2020-09-12 12:49:16 +01:00
cmd cmd: add --progress-terminal-title to print ETA to terminal title 2020-10-06 16:34:26 +01:00
contrib/docker Contrib: Add sample WebDAV server Docker Compose manifest. 2019-09-15 16:06:54 +01:00
docs cmd: add --progress-terminal-title to print ETA to terminal title 2020-10-06 16:34:26 +01:00
fs cmd: add --progress-terminal-title to print ETA to terminal title 2020-10-06 16:34:26 +01:00
fstest Merge pull request #4608 from ivandeex/pr-chunker-crypt 2020-09-18 17:58:44 +03:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib cmd: add --progress-terminal-title to print ETA to terminal title 2020-10-06 16:34:26 +01:00
vfs vfs: Fix a deadlock vulnerability in downloaders.Close 2020-10-06 16:35:23 +01:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore lib: Add file name compression 2020-08-13 16:14:11 +01:00
.golangci.yml build: move linter build tags into Makefile to fix golangci-lint 2019-04-12 15:48:36 +01:00
CONTRIBUTING.md Stop doing vendoring - fixes #4032 2020-07-21 16:09:53 +01:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: fix custom timezone in Docker image 2020-06-17 10:43:03 +01:00
go.mod enhance systemd integration 2020-10-06 16:21:30 +01:00
go.sum enhance systemd integration 2020-10-06 16:21:30 +01:00
MAINTAINERS.md doc: fix typos throughout docs and code 2020-05-25 11:23:58 +01:00
Makefile build: update build for stable branch 2020-09-03 11:30:23 +01:00
MANUAL.html Version v1.53.0 2020-09-02 17:00:18 +01:00
MANUAL.md Version v1.53.0 2020-09-02 17:00:18 +01:00
MANUAL.txt Version v1.53.0 2020-09-02 17:00:18 +01:00
notes.txt Replace test_all.sh with test_all.go which is cross platform and parallel 2015-12-30 09:26:34 +00:00
rclone.1 Version v1.53.0 2020-09-02 17:00:18 +01:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00
README.md docs: add Tencent COS to s3 provider list - fixes #4468 2020-09-08 16:34:25 +01:00
RELEASE.md Changelog updates from Version v1.53.1 2020-09-13 10:27:24 +01:00
VERSION Start v1.54.0-DEV development 2020-09-02 17:52:58 +01:00

rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional encryption (Crypt)
  • Optional cache (Cache)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of MIT the license (check the COPYING file included in this package).