Jakob Borg
8e060e23e3
lib/connections: Correctly add port to portless tcp:// URLs ( fixes #3115 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3116
2016-05-18 14:27:17 +00:00
aviau
6e07742fe9
gui, lib: Add missing licenses ( fixes #3100 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3108
2016-05-18 00:10:50 +00:00
Lars K.W. Gohlke
cd05282369
lib/connection: Remove unused functions
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3110
2016-05-17 20:07:18 +00:00
aviau
ee94d53bda
all: Remove execute bit for non-executable files
...
Skip-check: authors
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3105
2016-05-17 14:39:50 +00:00
Jakob Borg
922e1407c2
lib/config: Don't migrate non-HTTPS-URL discovery servers to new path ( fixes #3103 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3104
2016-05-17 13:43:35 +00:00
Jakob Borg
2c1323ece6
lib/connections: Un-deprecate relaysEnabled ( fixes #3074 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3098
2016-05-17 00:05:38 +00:00
Alex
d59fd9c22d
lib/config: use correct ReleasesURL when upgrading from v0.13-beta
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3096
2016-05-14 22:03:07 +00:00
Jakob Borg
6f743f3138
Revert "lib/model: Emit LocalDiskUpdated events on detecting local changes"
...
This reverts commit 5a7fad0bcd
.
2016-05-14 10:55:24 +02:00
Nate Morrison
5a7fad0bcd
lib/model: Emit LocalDiskUpdated events on detecting local changes
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3055
2016-05-14 08:37:07 +00:00
Jakob Borg
5d2414dfa9
lib/config: Bump config version to 14
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3092
2016-05-13 14:13:24 +00:00
Jakob Borg
bef2425025
cmd/syncthing: Set User-Agent on upgrade checks
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3093
2016-05-13 14:11:59 +00:00
Jakob Borg
e8b4286c93
lib/config: Change upgrade check URL ( fixes #3086 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3089
2016-05-13 09:17:10 +00:00
Jakob Borg
2e9bf0b67c
lib/upgrade: Increase size limits, send version header
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3088
2016-05-13 09:01:31 +00:00
Lars K.W. Gohlke
935c273c8f
cleanup: removed deadcode in connection/tcp_listen.go
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3084
2016-05-12 20:43:11 +00:00
Jakob Borg
b993b41847
lib/config: Minor attribute updates
...
As discussed in
https://github.com/syncthing/docs/pull/169
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3082
2016-05-12 08:23:18 +00:00
Jakob Borg
1be40cc4fa
lib/ignore: Revert comma handling, upgrade globbing package
...
This was fixed upstream due to our ticket, so we no longer need the
manual handling of commas. Keep the tests and better debug output around
though.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3081
2016-05-12 07:11:16 +00:00
Jakob Borg
21e116aa45
lib/scanner: Refactor scanner.Walk API
...
The old usage pattern was to create a Walker with a bunch of attributes,
then call Walk() on it and nothing else. This extracts the attributes
into a Config struct and exposes a Walk(cfg Config) method instead, as
there was no reason to expose the state-holding walker type.
Also creates a few no-op implementations of the necessary interfaces
so that we can skip nil checks and simiplify things here and there.
Definitely look at this diff without whitespace.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3060
2016-05-09 18:25:39 +00:00
Jakob Borg
d77d8ff803
lib/connections: Don't look at devices that are already optimally connected
...
Just an optimization. Required exposing the priority from the factory,
so made that an interface with an extra method instead of just a func
type.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3071
2016-05-09 15:33:25 +00:00
Jakob Borg
31f64186ae
lib/connections: More fine grained locking ( fixes #3066 )
...
This fixes the deadlock by reducing where we hold the various locks. To
start with it splits up the existing "mut" into a "listenersMut" and a
"curConMut" as these are the two things being protected and I can see no
relation between them that requires a shared lock. It also moves all
model calls outside of the lock, as I see no reason to hold the lock
while calling the model (and it's risky, as proven).
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3069
2016-05-09 15:03:12 +00:00
Jakob Borg
1a703efa78
lib/model: Fix accounting error in rescan with multiple subs ( fixes #3028 )
...
When doing prefix scans in the database, "foo" should not be considered
a prefix of "foo2". Instead, it should match "foo" exactly and also
strings with the prefix "foo/". This is more restrictive than what the
standard leveldb prefix scan does so we add some code to enforce it.
Also exposes the initialScanCompleted on the rwfolder for testing, and
change it to be a channel (so we can wait for it from another
goroutine). Otherwise we can't be sure when the initial scan has
completed, and we need to wait for that or it might pick up changes
we're doing at an unexpected time.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3067
2016-05-09 12:56:21 +00:00
Jakob Borg
8b7b0a03eb
lib/config: Don't require restart when adding folders/devices or changing listen address
...
The VersioningConfig change is because it defaults to nil but gets
deserialized to map[string]string{}. Now prepare() enforces a single
representation of the empty map.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3065
2016-05-09 11:30:19 +00:00
Jakob Borg
0761d804a4
cmd/syncthing: Use random folder ID for default folder, limit random charset
...
This uses the same charset as the Javascript code, excluding confusing
characters like 0, O, I, 1, l etc.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3064
2016-05-09 09:43:40 +00:00
Jakob Borg
3ad42d9279
lib/util: Should seed random number generator on startup
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3063
2016-05-09 09:36:42 +00:00
klemens
bd41e21c26
all: Correct spelling in comments
...
Skip-check: authors pr-build-mac
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3056
2016-05-08 10:54:22 +00:00
Jakob Borg
39899e40bf
cmd/syncthing: Use ReadAll + json.Unmarshal in places were we care about consuming the reader
...
Because json.NewDecoder(r).Decode(&v) doesn't necessarily consume all
data on the reader, that means an HTTP connection can't be reused. We
don't do a lot of HTTP traffic where we read JSON responses, but the
discovery is one such place. The other two are for POSTs from the GUI,
where it's not exactly critical but still nice if the connection still
can be keep-alive'd after the request as well.
Also ensure that we call req.Body.Close() for clarity, even though this
should by all accounts not really be necessary.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3050
2016-05-06 22:01:56 +00:00
Jakob Borg
5d337bb24f
lib/ignore: Handle bare commas in ignore patterns ( fixes #3042 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3048
2016-05-06 15:45:11 +00:00
Jakob Borg
dd5909568f
lib/upgrade: Don't attempt processing files larger than expected max binary size (ref #3045 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3047
2016-05-06 14:14:19 +00:00
Jakob Borg
38166e976f
lib/upgrade: Enforce limits on download archives ( fixes #3045 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3046
2016-05-06 13:58:34 +00:00
Jakob Borg
d6a7ffe0d4
lib/upgrade: Auto upgrade signature should cover version & arch ( fixes #3044 )
...
New signature is the HMAC of archive name (which includes the release
version and architecture) plus the contents of the binary. This is
expected in a new file "release.sig" which may be present in a
subdirectory. The new release tools put this in [.]metadata/release.sig.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3043
2016-05-06 13:30:35 +00:00
Jakob Borg
2e840134d2
lib/protocol: Add Request benchmarks over raw and TLS encrypted TCP channels
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3040
2016-05-04 23:07:07 +00:00
Jakob Borg
66e1be33cf
lib/protocol: Delete erroneously checked in test binary
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3039
2016-05-04 22:09:07 +00:00
Audrius Butkevicius
674fc566bb
lib/connections: Refactor
...
1. Removes separate relay lists and relay clients/services, just makes it a listen address
2. Easier plugging-in of other transports
3. Allows "hot" disabling and enabling NAT services
4. Allows "hot" listen address changes
5. Changes listen address list with a preferable "default" value just like for discovery
6. Debounces global discovery announcements as external addresses change (which it might alot upon starting)
7. Stops this whole "pick other peers relay by latency". This information is no longer available,
but I don't think it matters as most of the time other peer only has one relay.
8. Rename ListenAddress to ListenAddresses, as well as in javascript land.
9. Stop serializing deprecated values to JSON
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2982
2016-05-04 19:38:12 +00:00
Jakob Borg
09832abe50
lib/config: Change folder type attribute to a FolderType type
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3032
2016-05-04 11:26:36 +00:00
Audrius Butkevicius
eabd2fc936
lib/model: Use factories for creating folders
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3029
2016-05-04 10:47:33 +00:00
Jakob Borg
6720906ee5
lib/ignore: Refactor: notMatched should be one of the constants
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3031
2016-05-04 07:15:56 +00:00
Audrius Butkevicius
abb96802cb
lib/ignores: Use bitmask for result
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3030
2016-05-01 15:58:23 +00:00
Audrius Butkevicius
29fa05ae05
lib/model: Discard download progress upon receiving an index update ( fixes #2993 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3023
2016-05-01 06:49:29 +00:00
Audrius Butkevicius
49387f9494
lib/protocol: Clean up error values, unused flags
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3025
2016-04-30 04:35:38 +00:00
Audrius Butkevicius
8cf3a7aeda
lib/model: Prettify tests ( fixes #3014 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3016
2016-04-26 20:19:30 +00:00
Jakob Borg
b8c5cf1142
lib/model: Refactor: complete renaming of p -> f
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3015
2016-04-26 15:11:19 +00:00
Lars K.W. Gohlke
236f121c4e
lib/model: Refactor out folder and folderscan types, simplify somewhat
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3007
2016-04-26 14:01:46 +00:00
Audrius Butkevicius
2467678bd4
lib/dialer: Add env var to disable proxy fallback ( fixes #3006 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3009
2016-04-24 16:30:20 +00:00
Lars K.W. Gohlke
e87c1abd4e
all: Clean up dead code
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3005
2016-04-22 21:15:36 +00:00
Lars K.W. Gohlke
dffc34559b
lib/config: Remove dead code
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3004
2016-04-22 20:30:58 +00:00
Audrius Butkevicius
4aa6ecb122
lib/model: Do not use WRONLY (ref #2584 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2994
2016-04-22 08:12:10 +00:00
Jakob Borg
ccfcdf7f48
cmd/syncthing: Don't compact database at startup
...
This happens automatically in the background anyway, and it can take a
long time on low powered devices at an inconvenient time. We just want
to get up and running as quickly as possible.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3000
2016-04-22 07:34:11 +00:00
Audrius Butkevicius
ea54525a33
lib/connections: Try not to deadlock ( fixes #2987 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2991
2016-04-18 20:25:31 +00:00
Jakob Borg
b81c8d2e1b
lib/model: Drop incoming updates for ignored items ( fixes #1701 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2975
2016-04-18 18:35:31 +00:00
Audrius Butkevicius
1c7af1a72e
lib/upnp: Fix port order
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2980
2016-04-16 22:44:07 +00:00
Audrius Butkevicius
e61f424ade
lib/{nat,pmp}: Fix shadowing and nil IPs
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2979
2016-04-16 16:48:07 +00:00
Jakob Borg
fa1cfd94d0
lib/versioner: Refactor for testing, speed up test
...
Test now takes <1 second instead of 100 seconds
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2978
2016-04-15 14:26:39 +00:00
Jakob Borg
f6953624dd
lib/model: Test should pass go vet inspections
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2977
2016-04-15 11:41:18 +00:00
AudriusButkevicius
1a5f524ae4
lib/model, lib/protocol: Implement temporary indexes ( fixes #950 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2252
2016-04-15 10:59:41 +00:00
Audrius Butkevicius
c49453c519
lib/pmp: Add NAT-PMP support (ref #698 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2968
2016-04-13 18:50:40 +00:00
Jakob Borg
52c7804f32
lib/connections: Silence vet and lint warnings
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2971
2016-04-13 11:50:51 +00:00
Audrius Butkevicius
19b4f3bfb4
lib/nat: Add a nat package and service to track mappings on multiple IGDs
2016-04-10 19:36:38 +00:00
Jakob Borg
f3ac421266
lib/protocol: Comment the bit numbers for flags in IndexMessage
2016-04-10 10:47:30 +00:00
Michael Ploujnikov
7533a61203
unifySubs: add two trivial test cases
2016-04-10 02:41:28 +00:00
Michael Ploujnikov
467d338fe4
lib/model: Scanning unknown items is OK as long as the parent is known ( fixes #2915 )
2016-04-09 11:25:06 +00:00
Audrius Butkevicius
6130578d18
lib/db: Empty slice is not nil ( fixes #2872 )
2016-04-09 07:46:19 +00:00
Audrius Butkevicius
4389bb037d
lib/model: Add option for overwriting names on connect ( fixes #2912 )
2016-04-09 07:43:47 +00:00
Audrius Butkevicius
2eb8a9ef56
all: Dead code cleanup
2016-04-09 01:10:31 +00:00
Audrius Butkevicius
5a98af622d
lib/ignore: Implement deletable ignores using (?d) prefix ( fixes #1362 )
2016-04-07 09:34:07 +00:00
Jakob Borg
181939c841
lib/ignore: Correct case insensitive matching on Mac/Windows
...
There was a bug in that we only did the lowercase folding when the
pattern had an explicit (?i), which is not the case on Windows/Mac
necessarily.
2016-04-05 06:35:51 +00:00
Jakob Borg
1934b3a5b6
lib/ignore: Remove pattern for foo/** which is already covered by foo/
...
Actual speed difference according to benchmarks is hidden in the noise
Also make the "pattern" field for each entry match what is actually
evaluated.
2016-04-04 13:22:25 +01:00
Jakob Borg
cc1d122352
lib/model: Correctly detect deleted but previously ignored files as deleted
2016-04-04 11:53:55 +01:00
Jakob Borg
a4f0b85462
lib/config: Disable cacheIgnoredFiles, new default is disabled
2016-04-03 20:18:16 +01:00
Jakob Borg
4c3cd4c9e3
lib/ignore: Replace lib/fnmatch with github.com/gobwas/glob
...
Because it's literally ten times faster:
benchmark old ns/op new ns/op delta
BenchmarkMatch-8 13842 1200 -91.33%
BenchmarkMatchCached-8 139 147 +5.76%
benchmark old allocs new allocs delta
BenchmarkMatch-8 0 0 +0.00%
BenchmarkMatchCached-8 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkMatch-8 12 0 -100.00%
BenchmarkMatchCached-8 0 0 +0.00%
2016-04-02 20:03:24 +01:00
Jakob Borg
a551686d37
lib/discovery: Receiving a new announcement should be non-blocking
...
Pretty sure the intention of the select was for it to be non-blocking.
Not that it will matter almost ever.
2016-04-01 07:24:04 +00:00
Audrius Butkevicius
432c78079b
lib/connections: Increase lock periods to prevent races ( fixes #2899 )
2016-04-01 07:23:11 +00:00
Jakob Borg
f5f0e46016
lib: Use bytes.Equal instead of bytes.Compare where possible
2016-03-31 15:12:46 +00:00
Michael Ploujnikov
66f480519b
lib/model: Refactor out scanning method from rwfolder.Serve loop
2016-03-30 06:53:47 +00:00
Jakob Borg
6be4b49999
build: Generate gui.files.go on the fly, remove from repo
2016-03-28 10:03:13 +00:00
Audrius Butkevicius
68185dd93c
gui: Remove bootswatch
2016-03-27 14:08:17 +00:00
Jakob Borg
d01ea9d6fb
lib/discovery: Handle nil relayService ( fixes #2890 )
2016-03-27 11:37:43 +00:00
Jakob Borg
d91e6023eb
lib/sync: Skip the timing tests if the host timer is flaky
2016-03-27 10:41:38 +00:00
Jakob Borg
17ed01a0c9
lib/connections: Rename makeTcp -> makeTCP according to go vet's wishes
2016-03-27 07:18:33 +00:00
Audrius Butkevicius
4b6c2d0d3d
gui: Pretty theme names
2016-03-27 06:40:50 +00:00
norgeous
46c07bb207
gui: Clean up CSS
2016-03-27 00:43:07 +00:00
norgeous
eaa805b9f0
gui: add Bootswatch themes
2016-03-26 21:57:05 +00:00
Jakob Borg
f706d3c393
cmd/stbench: Add utility to run benchmark tests
2016-03-25 20:52:20 +00:00
Audrius Butkevicius
b4f9a55e6e
protocol: Add "Hello" message at connection start, also for unauthed peers
2016-03-25 20:29:07 +00:00
Audrius Butkevicius
1d17891286
lib/upnp: Refactor out methods to util with tests, refactor IGD
2016-03-25 20:22:29 +00:00
Audrius Butkevicius
6a3f3f5577
gui: Add theme.css, move dark theme, adjust popover advanced folder settings colors ( fixes #2878 )
2016-03-25 16:55:53 +00:00
Audrius Butkevicius
29913dd1e4
lib/connections: Refactor address listing into connection service
2016-03-25 07:35:18 +00:00
Audrius Butkevicius
690837dbe5
lib/connections: Allow "tcp4" and "tcp6" addresses
2016-03-25 07:15:32 +00:00
Jakob Borg
a492cfba13
cmd/syncthing: Extract interfaces for things the API depends on
...
Enables testing of the API service, in the long run.
2016-03-21 19:36:08 +00:00
Jakob Borg
aba2cc4db2
lib/model: Properly handle deleting multiple files when doing scans with subs ( fixes #2851 )
2016-03-18 12:16:33 +00:00
Jakob Borg
2df001fe5c
lib/model: Correct handling of multiple subs when scanning ( fixes #2851 )
...
Previously the code failed in that it would return top-level plus a sub,
i.e. ["", "foo"], and it would consider "usr/lib" a prefix of
"usr/libexec" which it is not.
2016-03-18 08:28:44 +00:00
Audrius Butkevicius
a49b8a2608
lib/relay/client: Log relay client messages ( fixes #2624 )
2016-03-18 07:25:37 +00:00
kc1212
bea272c40b
Confirmation box for when adding multiple folders on the same path ( #1960 )
2016-03-17 23:05:37 +00:00
Jakob Borg
9d522bd626
gui: Update translation files and assets
2016-03-17 21:05:55 +01:00
Jakob Borg
c952468e13
gui: Improve layout of footer on narrow screens ( fixes #2663 )
2016-03-17 16:39:50 +00:00
Jakob Borg
94b3ce44e6
connections: The Max{Send,Recv}Kbps variables are supposed to be in KiB/s
2016-03-17 08:18:23 +01:00
Jakob Borg
c439c543d0
tests: messagediff argument order should be expected, actual
...
So that the diff describes the changes that happened in actual as
compared to expected. The opposite is confusing.
2016-03-17 08:03:29 +01:00
Jakob Borg
3e218b146e
Add dinosore
2016-03-16 14:08:24 +01:00
Jakob Borg
17517bcc3d
Don't show restart prompt when changing folder label ( fixes #2840 )
2016-03-16 12:18:21 +01:00
Jakob Borg
8d53175c20
Compact and slightly reorder author list
...
More prominent positions are given to authors with more commits, in
steps of magnitude. Authors with 100-999 commits are listed before
authors with 10-99 commits. Yes, this puts me at the head of the list
and is a slight ego trip, but I still think it's the right thing to do.
2016-03-13 15:38:13 +01:00
Lars K.W. Gohlke
16c3d39fd2
Add folder label in addition to ID ( fixes #966 )
...
An auto generated ID is suggested on folder creation to reduce conflicts with
folders created on other devices.
2016-03-11 09:48:46 +00:00
Jakob Borg
710ddf7906
Rebuild assets
2016-03-10 16:56:24 +01:00