Jakob Borg
c4ba580cbb
all: Remove symlink support on Windows, SymlinksEnabled config
...
After this change,
- Symlinks on Windows are always unsupported. Sorry.
- Symlinks are always enabled on other platforms. They are just a small
file like anything else. There is no need to special case them. If you
don't want to sync some symlinks, ignore them.
- The protocol doesn't differentiate between different "types" of
symlinks. If that distinction ever does become relevant the individual
devices can figure it out by looking at the destination when they
create the link.
It's backwards compatible in that all the old symlink types are still
understood to be symlinks, and the new SYMLINK type is equivalent to the
old SYMLINK_UNKNOWN which was always a valid way to do it.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3962
LGTM: AudriusButkevicius
2017-02-07 08:34:24 +00:00
Audrius Butkevicius
67acef1794
lib/weakhash, lib/model, cmd/syncthing: Decide if to use weakhash on startup ( fixes #3938 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3949
2017-02-06 10:27:11 +00:00
Audrius Butkevicius
dd78177ae0
scanner: Allow disabling weak hash in scanning ( fixes #3891 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3905
2017-01-23 13:50:32 +00:00
Simon Frei
dbb3a34887
lib/ignore: Centralize handling of temporary filenames ( fixes #3899 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3901
LGTM: calmh, AudriusButkevicius
2017-01-17 07:33:48 +00:00
Audrius Butkevicius
1a1e35d998
lib/osutil: Replace IsDir with TraversesSymlink ( fixes #3839 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3883
LGTM: calmh
2017-01-10 07:09:31 +00:00
Adel Qalieh
8d2a31e38e
lib/model: Remove syncthing-specific files ( fixes #3819 )
...
Syncthing adds some hidden files when a folder is added, but there is currently
no equivalent cleanup procedure. This change is conservative as not to
accidentally cause data loss.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3874
2017-01-07 17:05:30 +00:00
Audrius Butkevicius
29d010ec0e
lib/model, lib/weakhash: Hash using adler32, add heuristic in puller
...
Adler32 is much faster, and the heuristic avoid the obvious cases where it
will not help.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3872
2017-01-04 21:04:13 +00:00
Jakob Borg
ec62888539
lib/connections: Allow on the fly changes to rate limits ( fixes #3846 )
...
Also replaces github.com/juju/ratelimit with golang.org/x/time/rate as
the latter supports changing the rate on the fly.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3862
2017-01-02 11:29:20 +00:00
Jakob Borg
0a118d2979
lib/config, lib/model: Temporarily disable bad tests (ref #3834 , #3843 )
2017-01-01 13:27:18 +01:00
Jakob Borg
f5a310ad64
Revert "lib/model: Handle filename conflicts on Windows."
...
This reverts commit 01e50eb3fa
.
2016-12-23 11:10:58 +01:00
Unrud
01e50eb3fa
lib/model: Handle filename conflicts on Windows.
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3810
LGTM: calmh
2016-12-22 23:04:53 +00:00
Audrius Butkevicius
bab7c8ebbf
all: Add folder pause, make pauses permanent ( fixes #3407 , fixes #215 , fixes #3001 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3520
2016-12-21 18:41:25 +00:00
Nathan Morrison
0725e3af38
all: Add a global change list
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3694
2016-12-21 16:35:20 +00:00
Jakob Borg
dd7bb6c4b8
lib/model: Fix tests, clean up pool usage in protocol
2016-12-21 14:53:45 +01:00
Jakob Borg
d41c131364
build: Enable gometalinter "gosimple" check, improve build.go
2016-12-21 14:53:45 +01:00
Jakob Borg
744c2e82b5
build: Enable gometalinter "staticcheck" check
2016-12-21 14:53:45 +01:00
Jakob Borg
ead7281c20
build: Enable gometalinter "unused" check
2016-12-21 14:53:45 +01:00
AudriusButkevicius
aa3ef49dd7
lib/model: Fix lock order
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3823
2016-12-21 12:22:18 +00:00
Jakob Borg
5c067661f4
lib/model: Consistently show folder description in startup messages
...
Since we anyway need the folderConfig for this I'm skipping the copying
of all it's attributes that rwfolder did and just keeping the original
around instead.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3825
2016-12-21 11:23:20 +00:00
Jakob Borg
226da976dc
lib/model: Allow empty subdirs in scan request ( fixes #3829 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3833
2016-12-21 10:33:07 +00:00
Jakob Borg
2f770f8bfb
lib/config, lib/protocol: Improve folder description with empty label
2016-12-19 10:12:06 +01:00
Jakob Borg
f67c5a2fd6
lib/model: Don't send symlinks to old devices that can't handle them ( fixes #3802 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3811
2016-12-17 19:48:33 +00:00
Heiko Zuerker
398c356f22
lib/model: Clarify master terminology ( fixes #2679 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3793
2016-12-16 22:23:35 +00:00
Audrius Butkevicius
542b76f687
lib/model: Moar sleep
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3807
2016-12-16 12:05:27 +00:00
Jakob Borg
abb8a1914a
lib/model: Accept scan requests of paths ending in slash ( fixes #3804 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3805
2016-12-16 11:21:22 +00:00
Audrius Butkevicius
0582836820
lib/model, lib/scanner: Efficient inserts/deletes in the middle of the file
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3527
2016-12-14 23:30:29 +00:00
Jakob Borg
3582783972
lib/model, lib/osutil: Verify target directory before pulling / requesting
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3798
2016-12-13 10:24:10 +00:00
Jakob Borg
5070d52f2f
lib/model: Add benchmark for model.Request()
2016-12-09 23:14:56 +01:00
Jakob Borg
7b07ed6580
lib/model, lib/protocol, lib/scanner: Include symlink target in index, pull symlinks synchronously
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3792
2016-12-09 18:02:18 +00:00
Lars K.W. Gohlke
8ce9b026e9
lib/model: Minor cleanups
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3765
2016-12-06 08:54:04 +00:00
Jakob Borg
e3cf718998
lib/ignore: Add central check for internal files, used in scanning, pulling and requests
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3779
2016-12-01 14:00:11 +00:00
Jakob Borg
63194a37f6
lib/model: Double check results in filepath.Join where needed
...
Wherever we have untrusted relative paths, make sure they are not
escaping their folder root.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3776
2016-12-01 12:35:11 +00:00
Unrud
cabe94552a
lib/model: Prevent collisions in the progressemitter registry
...
Using filepath.Join can cause collisions. The folder ID could be something
like ".." or "../..".
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3778
2016-12-01 12:34:20 +00:00
Jakob Borg
48a229a0cd
lib/model: Temp names from all platforms should be recognized as such
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3777
LGTM: AudriusButkevicius
2016-11-30 21:23:24 +00:00
Jakob Borg
e4db86836b
lib/model: Locking in the request test
2016-11-30 13:11:06 +01:00
Jakob Borg
913a85c571
lib/model: Add simple file syncing test
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3772
2016-11-30 09:32:28 +00:00
Jakob Borg
ed4f6fc4b3
lib/connections, lib/model: Connection service should expose a single interface
...
Makes testing easier, which we'll need
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3771
2016-11-30 07:54:20 +00:00
Jakob Borg
91568a173a
lib/model: Remove ineffectual assignment in test
2016-11-24 11:33:27 +01:00
Jakob Borg
8559e20237
lib/osutil: Don't chmod in atomic file creation ( fixes #2472 )
...
Instead, trust (and test) that the temp file has appropriate permissions
from the start. The only place where this changes our behavior is for
ignores which go from 0644 to 0600. I'm OK with that.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3756
2016-11-23 14:06:08 +00:00
Jakob Borg
26730eb083
lib/model: Fix test that relies on ignore reloading
2016-11-23 14:42:29 +01:00
Simon Frei
4160ce674d
model: consistently use cfg when referring to config instance and not package
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3755
2016-11-22 23:14:20 +00:00
Jakob Borg
cc9a9fb390
lib/model, lib/protocol: Add Folder.Description() for logging (ref #3741 )
2016-11-22 08:36:14 +01:00
Roman Zaynetdinov
d3a251e6d9
lib/model: Log folder IDs and labels ( fixes #3724 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3741
2016-11-21 20:09:18 +01:00
Unrud
1574b7d834
lib/model: Add fsync of files and directories, option to disable ( fixes #3711 )
2016-11-21 18:09:51 +01:00
Jakob Borg
a8a0bc356a
lib/model: Minor cleanup to not fondle cfg.Raw things in handleDeintroductions
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3739
2016-11-17 08:56:55 +00:00
Jakob Borg
faee1d5a8d
lib/model: Fix locking around introduction handling ( fixes #3737 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3738
2016-11-17 08:50:24 +00:00
Jakob Borg
3088dac33b
lib/model: Clean up generateClusterConfig, fix spurious test failure by sorting
2016-11-17 07:45:45 +01:00
Audrius Butkevicius
f60b424d70
lib/config: Raw() -> RawCopy()
2016-11-13 09:29:35 +01:00
Audrius Butkevicius
a1a91d5ef4
lib/model: Introducer can remove stuff it introduced ( fixes #1015 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3522
2016-11-13 09:29:33 +01:00
Jakob Borg
59f3d1445f
Revert "lib/model: Introducer can remove stuff it introduced ( fixes #1015 )"
...
This reverts commit 0b88cf1d03
.
2016-11-12 08:38:29 +01:00