Jakob Borg
d507126101
lib/protocol: Understand older/newer Hello messages ( fixes #3287 )
...
This is in preparation for future changes, but also improves the
handling when talking to pre-v0.13 clients. It breaks out the Hello
message and magic from the rest of the protocol implementation, with the
intention that this small part of the protocol will survive future
changes.
To enable this, and future testing, the new ExchangeHello function takes
an interface that can be implemented by future Hello versions and
returns a version indendent result type. It correctly detects pre-v0.13
protocols and returns a "too old" error message which gets logged to the
user at warning level:
[I6KAH] 09:21:36 WARNING: Connecting to [...]:
the remote device speaks an older version of the protocol (v0.12) not
compatible with this version
Conversely, something entirely unknown will generate:
[I6KAH] 09:40:27 WARNING: Connecting to [...]:
the remote device speaks an unknown (newer?) version of the protocol
The intention is that in future iterations the Hello exchange will
succeed on at least one side and ExchangeHello will return the actual
data from the Hello together with ErrTooOld and an even more precise
message can be generated.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3289
2016-06-09 10:50:14 +00:00
perewa
11b9212948
cmd/syncthing: Increase timeout in hello message exchange
...
Required to establish connections on high latency links
Skip-check: authors
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3286
2016-06-08 19:46:54 +00:00
scienmind
bc794e7c15
lib/connections: Relay failures should be informative, not warning
...
Skip-check: authors
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3263
2016-06-04 10:41:36 +00:00
Jakob Borg
6a67921e40
vendor: Revert to github.com/jackpal/gateway instead of fork
...
It now includes all the fixes
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3246
2016-06-02 20:40:30 +00:00
Majed Abdulaziz
48245effdf
lib/model, lib/stats: Keep track of folder's last scan time (ref #3143 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3250
LGTM: calmh, AudriusButkevicius
2016-06-02 19:26:52 +00:00
Audrius Butkevicius
6f63909c65
lib/db,cmd/stindex: Expose VersionList and use it in stindex
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3231
2016-05-31 19:29:26 +00:00
Audrius Butkevicius
1612baca92
gui: /rest/system/browse with no arguments returns drives on Windows (ref #3201 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3203
2016-05-31 19:27:07 +00:00
Jakob Borg
4970bd7f65
lib/relay: Correctly get IP from remote addr via proxy ( fixes #3223 )
...
Correctly handles addresses, and fixes one more panicing place.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3230
2016-05-31 14:42:10 +00:00
Jakob Borg
ac40b27c79
lib/connections: Handle wrapped connection in SetTCPOptions ( fixes #3223 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3225
2016-05-31 08:11:57 +00:00
Jakob Borg
4453236949
vendor: Update github.com/gobwas/glob ( fixes #3174 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3207
2016-05-28 04:43:54 +00:00
Audrius Butkevicius
c2dc4a8e06
lib/db: Have prefix should be normalized
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3206
2016-05-28 04:18:31 +00:00
Audrius Butkevicius
92a23da3ec
lib/model: Make the (?d) prefix actually work
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3205
2016-05-28 04:17:34 +00:00
Audrius Butkevicius
242db26343
lib/osutil: Fix globbing at root ( fixes #3201 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3202
2016-05-28 04:13:34 +00:00
Audrius Butkevicius
87701339fe
lib/nat, lib/connections: Fix a few issues with NAT traversal
...
1. For the same internal port we ask for the same external port on all devices. This can be a problem if one device speaks over two protocols.
2. Always add a nil address even if we managed to get external address of the gateway, just because the gateway might be in DMZ behind another gateway.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3196
2016-05-27 06:28:46 +00:00
Jakob Borg
9bb5988b4e
lib/model: Don't deadlock when returning temp index block counts
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3194
2016-05-26 09:16:08 +00:00
Jakob Borg
e6b78e5d56
lib/rand: Break out random functions into separate package
...
The intention for this package is to provide a combination of the
security of crypto/rand and the convenience of math/rand. It should be
the first choice of random data unless ultimate performance is required
and the usage is provably irrelevant from a security standpoint.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3186
2016-05-26 07:02:56 +00:00
Audrius Butkevicius
fc173bf679
lib/model: Fix wild completion percentages
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3188
2016-05-26 06:53:27 +00:00
Jakob Borg
72154aa668
lib/upgrade: Prefer a minor upgrade over a major ( fixes #3163 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3184
2016-05-25 14:01:52 +00:00
Jakob Borg
31b5156191
lib/util: Add secure random numbers source ( fixes #3178 )
...
The math/rand package contains lots of convenient functions, for example
to get an integer in a specified range without running into issues
caused by just truncating a number from a different distribution and so
on. But it's insecure, and we use if for things that benefit from being
more secure like session IDs, CSRF tokens and API keys.
This implements a math/rand.Source that reads from crypto/rand.Reader,
this bridging the gap between them. It also updates our RandomString to
use the new source, thus giving us secure session IDs and CSRF tokens.
Some future work remains:
- Fix API keys by making the generation in the UI use this code as well
- Refactor out these things into an actual random package, and audit
our use of randomness everywhere
I'll leave both of those for the future in order to not muddy the waters
on this diff...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3180
2016-05-25 06:38:38 +00:00
Lars K.W. Gohlke
ebce5d07ac
lib/connections: Shorten connection limiting lines
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3177
2016-05-24 21:57:56 +00:00
Audrius Butkevicius
915e1ac7de
lib/model: Handle (?d) deletes of directories ( fixes #3164 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3170
2016-05-23 23:32:08 +00:00
Audrius Butkevicius
00be2bf18d
lib/model: Track puller creation times ( fixes #3145 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3150
2016-05-22 10:16:09 +00:00
Jakob Borg
44290a66b7
lib/model: Leave temp file in place when final rename fails ( fixes #3146 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3148
2016-05-22 09:06:07 +00:00
Jakob Borg
f6cc344623
vendor: Replace github.com/jackpal/gateway with github.com/calmh/gateway ( fixes #3142 )
...
Switch to my forked version which contains a fix for this issue. I'll
track upstream in the future if things update there, and attempt to
contribute back fixes...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3149
2016-05-22 09:04:27 +00:00
Jakob Borg
a0ec4467fd
cmd/syncthing: Emit new RemoteDownloadProgress event to track remote download progress
...
Without this the summary service doesn't know to recalculate completion
percentage for remote devices when DownloadProgress messages come in.
That means that completion percentage isn't updated in the GUI while
transfers of large files are ongoing. With this change, it updates
correctly.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3144
2016-05-22 07:52:08 +00:00
Audrius Butkevicius
fddca3d2d6
lib/connections: Do not resolve addresses ( fixes #3129 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3133
2016-05-21 01:31:23 +00:00
Jakob Borg
1dbc310c9b
cmd/syncthing: Rename event LocalDiskUpdated -> LocalChangeDetected
...
I think this better reflects what it means. Also tweaks the verbose
format to be more like our other things and lightly refactors the code
to not have the boolean and include the folder in the event.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3121
2016-05-19 07:01:43 +00:00
Nate Morrison
86ca58e2a9
lib/model: Emit LocalDiskUpdated events on detecting local changes
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3055
2016-05-19 00:19:26 +00:00
Lars K.W. Gohlke
22280db5db
lib: simplify code
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3119
2016-05-18 22:47:11 +00:00
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
Lars K.W. Gohlke
3abb80885e
Collapse advanced settings in folder editor modal
2016-03-10 15:54:33 +00:00
Lars K.W. Gohlke
9b1bebc9b2
Correct path to genxdr after the change to Go1.5+ vendoring
2016-03-09 12:43:16 +00:00
Jakob Borg
83c29e1945
Fix tests on Go 1.3
2016-03-08 09:07:18 +01:00
Jakob Borg
09ebc33b30
Fix tests on 32 bit
2016-03-08 09:06:59 +01:00
Audrius Butkevicius
a8ffde6f21
Add deps
2016-03-06 20:32:10 +00:00
Laurent Etiemble
c8b6e6fd9b
Increase maximum allowed file size to 10 Mblocks
...
Upgrade FileInfo up to 10000000 blocks. 1310 GB files can be shared.
Increase limit when unmarshaling XDR.
Increase the size of message.
2016-03-04 16:24:54 +01:00
Jakob Borg
a6a9af4f02
Fix marshalling tests for Go 1.6
2016-03-04 14:16:42 +01:00
Jakob Borg
e1ac740ac4
Use v2 of XDR package (actual changes)
2016-02-02 15:33:46 +01:00
Jakob Borg
4feeaf1641
Use v2 of XDR package (auto generated)
2016-02-02 12:44:33 +01:00
Jakob Borg
e93c766c42
Rename RawAPIKey -> APIKey in GUIConfiguration
2016-02-02 11:12:25 +01:00
Jakob Borg
eb55d19786
Clean up error handling a bit in protocol.readMessage
2016-02-02 10:18:19 +01:00
Audrius Butkevicius
60ca7784ba
Merge pull request #2748 from canton7/feature/multiple-api-keys
...
Support multiple API keys (command-line and config) (fixed #2747 )
2016-02-01 09:20:51 +00:00
Jakob Borg
7e8db13854
Update docs & translations
2016-01-31 10:38:05 +01:00
Antony Male
5971c00a4f
Support multiple API keys (command-line and config) ( fixes #2747 )
2016-01-30 15:18:09 +00:00
Audrius Butkevicius
f59e1ad854
Use dialer in relay checks ( fixes #2732 )
2016-01-30 12:33:42 +00:00
Jakob Borg
79680b1d5e
Benchmark for single database update
2016-01-28 09:12:01 +01:00
Jakob Borg
56db1d3dfa
Update docs and translations
2016-01-24 17:35:33 +01:00
Michael Ploujnikov
49601a63c8
Model.internalScanFolder: Don't ignore special .stfolder and .stignore files.
...
Fixes #2151 .
Since Walk.walkAndHashFiles ignores .stfolder and .stignore, they will
never be found by fs.Get(protocol.LocalDeviceID, sub) in
Model.internalScanFolder. As a result, when asked to scan those subs
we end up scanning the whole folder.
2016-01-22 23:27:47 -05:00
Michael Ploujnikov
6c33188af3
Model.internalScanFolderSubs: Scan only requested subs.
...
This reverts the change introduced in 9b9fe0d
Reduce scanning effort.
That commit caused us to automatically ignore the basename of the
specified subs and instead scan closest known root folder. For
example, in a folder that looks like:
Sync/
├── 00
│ ├── one
│ ├── three
│ └── two
├── 01
│ ├── one
│ ├── three
│ └── two
├── 02
│ ├── one
│ ├── three
│ └── two
└── one
calling '/rest/db/scan?folder=default&sub=01' called filepath.Walk on
the whole Sync/ folder instead of just the desired subfolder. This
contradicts the scan behavior promised by the documentation.
This is related to #2151 .
2016-01-22 23:27:38 -05:00
Jakob Borg
1353e3916f
A couple of protocol tests
2016-01-20 11:37:48 -08:00
Jakob Borg
11d4986517
Humanize serialization of version vectors (again)
2016-01-20 11:14:08 -08:00
Michael Ploujnikov
39c5c8c1d1
FetchLatestReleases: fix the error log message
2016-01-19 21:32:33 -05:00
Audrius Butkevicius
1880284bde
Merge pull request #2711 from calmh/fix2704
...
Don't require restart for usage reporting changes (fixes #2704 )
2016-01-18 18:12:58 +00:00
Jakob Borg
6c1faa4bdb
Don't require restart for usage reporting changes ( fixes #2704 )
2016-01-18 10:06:31 -08:00
Lode Hoste
82e033942e
RLimit comment typo
...
Thanks @plouj
2016-01-17 12:54:44 +01:00
Jakob Borg
2919b76947
The "OK" log level is silly and should not exist
2016-01-16 23:04:41 +01:00
Jakob Borg
acaf134dfe
Don't crash on folder remove while pulling ( fixes #2705 )
2016-01-16 21:42:32 +01:00
Audrius Butkevicius
c4c6df179b
Handle race within the job queue ( fixes #1263 )
2016-01-16 17:20:21 +00:00
kluppy
7c42b5cb17
Update 'Edit' menu to 'Action' menu ( fixes #2662 )
2016-01-13 20:09:32 +10:00
Audrius Butkevicius
5fa8b42fac
Merge pull request #2690 from calmh/fix2665
...
Always run relaying when enabled (fixes #2665 )
2016-01-12 13:48:22 +00:00
Jakob Borg
8b3d75b339
Undo the hash algorithm additions; retain flag checks
2016-01-12 14:35:00 +01:00
Jakob Borg
357089a438
Mend protocol tests, for sure
2016-01-12 14:35:00 +01:00
Jakob Borg
f741066466
Always run relaying when enabled ( fixes #2665 )
2016-01-12 14:15:47 +01:00
Jakob Borg
9595687bce
Improve protocol tests, close handling
2016-01-12 09:30:02 +01:00
Jakob Borg
acdddc0b79
Don't leak sendIndexes on disconnect ( fixes #2589 )
...
Adds a Closed() method on protocol.Connection and clears up
wireformatConnection a little too.
2016-01-11 17:57:25 +01:00
Audrius Butkevicius
ff4bab4c07
Silence the linter
2016-01-10 18:00:52 +00:00
alessandro.g89
5c36029274
Add dark theme by alessandro.g89
...
Source: https://userstyles.org/styles/122502/syncthing-dark
2016-01-10 18:00:44 +00:00
Audrius Butkevicius
cd54186113
Add support for themes ( fixes #1925 )
2016-01-10 17:57:27 +00:00
Audrius Butkevicius
6c0a973ac3
Merge pull request #2480 from calmh/shortdblabels
...
Change database folder label format
2016-01-10 01:33:56 +00:00
Jakob Borg
837fde70ae
Add XUnit compatible test output
2016-01-10 00:50:43 +01:00
Jakob Borg
370b0fc5da
More fine grained locking in discovery cache ( fixes #2667 )
...
We only need to protect the integrity of the "finders" and "caches"
slices, and for that we only need an RLock except while actually
appending to them. The actual finders and caches are concurrency safe on
their own.
2016-01-09 00:56:03 +01:00
Jakob Borg
576c365753
Don't resolve destination address until we need to ( fixes #2671 )
2016-01-07 12:32:10 +01:00
Jakob Borg
a4385100c4
HTML attribute typo
2016-01-05 11:19:27 +01:00
Jakob Borg
1df924f4f8
Add relaying to main settings dialog ( fixes #2433 )
2016-01-05 10:08:56 +01:00
Jakob Borg
096b2d73cd
Don't conflict copy conflict copies ( fixes #2605 )
2016-01-03 21:16:31 +01:00
Jakob Borg
ac190b2e39
Change DB label format (index folders, devices)
2016-01-03 19:32:40 +01:00
Jakob Borg
4673862981
Update docs & translations
2016-01-03 09:56:33 +01:00
Jakob Borg
212d7257e9
Pretty print the new architectures
2016-01-01 21:19:15 +01:00
Jakob Borg
0db80710aa
Detect nonstandard hash algo and stop folder (ref #2314 )
2016-01-01 20:14:31 +01:00
Jakob Borg
7c47eff112
Update lang-en.json for translations
2016-01-01 20:13:44 +01:00
Jakob Borg
d81849ab3b
Merge pull request #2631 from AudriusButkevicius/igwarn
...
Don't warn about failed ignores if folder unhealthy (fixes #2630 )
2016-01-01 16:48:31 +01:00
Audrius Butkevicius
dbb3f80995
Merge pull request #2193 from AudriusButkevicius/lans
...
Remove windows specialisation from osutil.GetLans (fixes #2192 )
2016-01-01 15:01:23 +00:00
Audrius Butkevicius
80b9a3e00b
Don't warn about failed ignores if folder unhealthy ( fixes #2630 )
2016-01-01 12:59:13 +00:00
Kevin Allen
ffc4a60bc6
Show device ID QR code from edit dialog ( fixes #1494 )
2016-01-01 11:24:09 +01:00
Jakob Borg
18e70f4e79
Ensure loaded config is free of duplicate devices ( fixes #2627 )
2015-12-31 09:17:17 +01:00
Jakob Borg
62a81cfdd1
Update lang-en.json and assets
2015-12-30 08:54:09 +01:00
Jakob Borg
7b3fa8da60
Update translations & docs
2015-12-27 13:26:14 +01:00
Anderson Mesquita
219ece22fc
Remove fixed footer at first media break ( fixes #2454 )
...
After the first media break (under 1200px), the footer is too long to
fit in a single line, taking up too much space in small screen devices.
This makes it so that it will stop being fixed at the bottom, freeing up
valuable screen real estate.
2015-12-23 22:19:41 -05:00
Jakob Borg
4874301615
Merge pull request #2618 from AudriusButkevicius/svc
...
Svc -> Service
2015-12-23 21:33:42 +01:00
Audrius Butkevicius
1827dda0c6
Svc -> Service
2015-12-23 15:31:12 +00:00
Jakob Borg
d088b01f75
Rebuild assets
2015-12-23 16:09:42 +01:00
Jakob Borg
00c5062eab
Merge branch 'pr/2613'
...
* pr/2613:
Add an icon for Safari's pinned tabs
2015-12-23 16:09:31 +01:00
Anderson Mesquita
6d94a3be05
Refactor rwfolder tests
...
This creates a few utility functions to avoid repetition and removes
some redundant checks.
2015-12-22 23:43:07 -05:00
Jaakko Hannikainen
c300015ac2
Add an icon for Safari's pinned tabs
...
Safari has its own standard for handling icons for pinned tabs,
which requires a black-and-white .svg and a special tag.
Without using this, pinning a tab to localhost will show just
a blank square, instead of a pre-generated letter.
2015-12-22 12:29:59 +02:00
Jakob Borg
c7aec839ae
Merge pull request #2614 from andersonvom/issue-2598
...
WIP: Consider tempfile when checking for free space (fixes #2598 )
2015-12-22 09:42:34 +01:00
Anderson Mesquita
3f94e70488
WIP: Consider tempfile when checking for free space ( fixes #2598 )
...
Checks the existing blocks that can be reused when downloading a file so
that it only requires the space corresponding to the missing blocks.
This will prevent syncthing from claiming the folder doesn't have enough
space when resuming download of large files after they have been
partially downloaded.
2015-12-21 13:36:08 -05:00
Audrius Butkevicius
c9e67fb460
Log when we fail to connect to relay
2015-12-20 22:14:13 +00:00
Audrius Butkevicius
cec87be4e3
Remove windows specialisation from osutil.GetLans ( fixes #2192 )
2015-12-20 18:10:02 +00:00
Jakob Borg
eb1a234a77
Translation & docs update
2015-12-20 10:05:17 +01:00
Jakob Borg
394c2b67d6
Merge pull request #2595 from AudriusButkevicius/leaks
...
Always exit via error select, making sure reader routine is exits (fi…
2015-12-20 10:03:34 +01:00
Jakob Borg
e5cf99e31c
Move event timestamp to header for share folder prompt
2015-12-20 09:52:59 +01:00
Anderson Mesquita
8120535a35
Edit device after accepting new connection ( fixes #1929 )
...
This will open the "edit device" dialogue after accepting a new device
connection. This will allow the user to specify the name of the device
or leave it blank in case they want to accept whatever the device
advertises once it connects.
2015-12-19 09:48:27 -05:00
Audrius Butkevicius
e7b71f8743
Merge pull request #2601 from calmh/fix2600
...
Don't verify free space for files when folder MinDiskFreePct==0 (fixes #2600 )
2015-12-19 13:02:57 +00:00
Jakob Borg
03935b2d64
Don't verify free space for files when folder MinDiskFreePct==0 ( fixes #2600 )
2015-12-19 13:59:08 +01:00
Jakob Borg
9c82a4ca60
Merge pull request #2593 from AudriusButkevicius/httpfoo
...
Only override TLS settings if scheme is specified
2015-12-19 08:47:46 +01:00
Anderson Mesquita
69b35b2ede
Fix alignment of settings fields
...
When upgrade info is not available and the "Automatic Upgrades" options
is hidden, then "Global Discovery Server" wraps around and gets
misaligned. This fixes all that.
2015-12-18 22:40:56 -05:00
AudriusButkevicius
e8016abd97
Always exit via error select, making sure reader routine is exits ( fixes #2547 )
2015-12-18 22:29:04 +00:00
AudriusButkevicius
33a87f54bb
Only override TLS settings if scheme is specified
2015-12-18 19:42:39 +00:00
Audrius Butkevicius
f208e6f0b6
Fix typos
2015-12-15 20:11:07 +00:00
Jakob Borg
7c8c131e1a
Merge pull request #2582 from Zillode/debug-2580
...
Additional output on insufficient error (ref #2580 )
2015-12-15 10:19:59 +01:00
Jakob Borg
81e71d7275
Merge pull request #2576 from AudriusButkevicius/reconn
...
More debug to reconnect loop
2015-12-15 10:18:47 +01:00
Jakob Borg
2280566bca
Better error messages for globbing errors
2015-12-15 10:04:13 +01:00
Lode Hoste
cc0b9e5088
Additional output on insufficient error (ref #2580 )
2015-12-15 08:45:33 +01:00
Audrius Butkevicius
403583cfbb
More debug to reconnect loop
2015-12-13 12:20:25 +00:00
Jakob Borg
29bff06cd6
Translation update
2015-12-13 10:39:09 +01:00
Jakob Borg
2b80057ac9
Minimal error handling refactor
2015-12-13 10:38:21 +01:00
William A. Kennington III
5bdf4c6143
upnp: Use a separate error for the error unmarshalling
...
Previously, when unmarshing the SOAP error code data we would overwrite
the original err, typically with null since the parsing of the error
code information succeeds. If we don't have a upnp 725 error, we would fall
back to returning null or no error. This broke our upnp error handling
logic for AddPortMappings as it would think it succeeds if it gets a 718
permission error.
2015-12-12 09:58:23 -08:00
Jakob Borg
3025caf932
Also remove IP per disco server
2015-12-08 10:10:34 +01:00
Jakob Borg
95cfc50fbd
Remove Android hacks ( fixes #2505 )
...
Also fixes what I think migh thave been a bug where we did not use the
proxy for usage reports. And removes the BuildEnv field that we don't
need any more.
2015-12-08 10:10:06 +01:00
Jakob Borg
1b6e4645b1
Update docs & translations
2015-12-06 13:09:22 +01:00
Antony Male
345d727936
staticClient.connect(): don't handshake twice ( fixes #2547 , #2548 )
...
The first handshake occurred before setting the Deadline, which could
cause an unintended hang.
2015-12-04 12:01:01 +00:00
Nate Morrison
86e8e5199e
Filenames added to audit log in the LocalIndexUpdated event ( fixes #2549 )
2015-12-04 08:42:00 +01:00
Jakob Borg
739979a116
Add nrm21
2015-12-04 08:38:45 +01:00
Jakob Borg
ab1962934d
Docs & translations update
2015-12-01 11:24:30 +01:00
Jakob Borg
cb0d739daf
New key for discovery-*-3
2015-12-01 11:20:16 +01:00
Jakob Borg
a937fcc477
Lol shadowing :(
2015-12-01 11:20:16 +01:00
Jakob Borg
9f2dc4554d
Accept Retry-After header on discovery lookup failures
2015-12-01 11:10:03 +01:00
Jakob Borg
3008dc76d3
Add buinsky
2015-11-30 18:30:36 +01:00
buinsky
05a31c2686
Fix deleting folders on WinXP ( fixes #2522 )
2015-11-30 19:09:36 +03:00
Antony Male
4bd0dd2123
Allow #urPreview to scroll in the browser ( fixes #2537 )
...
This is the same issue as #2014/#2062. Bootstrap doesn't like having two dialogs
open at once: it marks the body has having no dialogs open when the first dialog
is closed, regardless of whether the second dialog is still open.
This means that scrolling doesn't happen properly, and the user cannot
scroll to the dialog's 'close' button.
Work around this by making sure the first dialog (the settings page) is fully closed
before the second dialog (usage preview) is opened.
2015-11-30 13:27:07 +00:00
Jakob Borg
9b2a643626
Update docs and translations
2015-11-29 08:55:38 +01:00
Jakob Borg
1ebc9a9a88
Merge pull request #2525 from kluppy/master
...
Don't chmod in Atomic on android (fixes #2472 )
2015-11-28 22:57:00 +01:00
Jakob Borg
f0c8b7ce40
Add kluppy
2015-11-28 22:17:05 +01:00
Audrius Butkevicius
4474d200b0
Fix symlinks ( fixes #2524 )
2015-11-28 20:23:08 +00:00
kluppy
f062e35641
Don't chmod in Atomic on android (fixes #2472 )
2015-11-28 02:46:06 +10:00
Jakob Borg
321ef9816c
Merge pull request #2521 from AudriusButkevicius/dialtimeout
...
Add dialer.DialTimeout, use that when connecting to relays
2015-11-27 10:01:21 +01:00
Jakob Borg
6d11006b54
Generate ECDSA keys instead of RSA
...
This replaces the current 3072 bit RSA certificates with 384 bit ECDSA
certificates. The advantage is these certificates are smaller and
essentially instantaneous to generate. According to RFC4492 (ECC Cipher
Suites for TLS), Table 1: Comparable Key Sizes, ECC has comparable
strength to 3072 bit RSA at 283 bits - so we exceed that.
There is no compatibility issue with existing Syncthing code - this is
verified by the integration test ("h2" instance has the new
certificate).
There are browsers out there that don't understand ECC certificates yet,
although I think they're dying out. In the meantime, I've retained the
RSA code for the HTTPS certificate, but pulled it down to 2048 bits. I
don't think a higher security level there is motivated, is this matches
current industry standard for HTTPS certificates.
2015-11-27 09:15:12 +01:00
Audrius Butkevicius
ed792b97c0
Take timeout into account when dialing
2015-11-26 23:41:11 +00:00
Audrius Butkevicius
a4b8c2298a
Add dialer.DialTimeout support
2015-11-26 23:31:37 +00:00
Jakob Borg
e5b33ce9f6
Regenerate XDR for empty struct types
2015-11-24 20:54:49 +01:00
Michael Ploujnikov
9edf8233f7
Improve upgrade error messages
2015-11-24 08:29:42 -05:00
Michael Ploujnikov
bd4a14519c
FetchLatestReleases: just log the error here
...
Since the return value is being ignored by the caller.
2015-11-24 08:29:42 -05:00
Michael Ploujnikov
f12bf8c09a
Rename LatestGithubReleases -> FetchLatestReleases
2015-11-24 08:29:42 -05:00
Jakob Borg
fa4b4dece1
Compact database on startup (ref #2400 )
2015-11-24 13:17:30 +01:00
Jakob Borg
02f044a2a1
Add plouj
2015-11-24 08:35:25 +01:00
Audrius Butkevicius
431d51f5c4
Add timeouts to relay methods
2015-11-23 21:14:46 +00:00
Jakob Borg
5136675fae
Docs & translation update
2015-11-22 16:05:20 +01:00
Audrius Butkevicius
6ff02761a9
Merge pull request #2500 from calmh/sparse
...
Handle sparse files (fixes #245 )
2015-11-21 17:21:11 +00:00
Jakob Borg
d46f267663
Handle sparse files ( fixes #245 )
2015-11-21 17:58:09 +01:00
Audrius Butkevicius
eeb5d99942
Sort relays in 50ms latency increments, shuffle relays within the same increment
2015-11-21 13:23:49 +00:00
Audrius Butkevicius
9047d56aa0
Add RelayFull message
2015-11-20 23:42:49 +00:00
Jakob Borg
bed6155c79
Refactor: multiple-if to switch
2015-11-20 11:24:50 +01:00
Jakob Borg
f2459e61dd
Refactor: break out walkRegular method
2015-11-20 10:32:16 +01:00
Jakob Borg
69dcdafb3d
Refactor: break out walkDir method
2015-11-20 09:54:12 +01:00
Jakob Borg
6dbb072d11
Refactor: break out walkSymlink method
2015-11-20 09:50:46 +01:00
Jakob Borg
dc96849718
Refactor: break out normalizePath method
2015-11-20 09:41:44 +01:00
Jakob Borg
d7a3cc505c
Refactor: rename p->absPath, rn->relPath
2015-11-20 09:38:45 +01:00
Jakob Borg
ba9448bdd7
Add remaining scanning time ( fixes #2484 )
2015-11-18 12:09:10 +01:00
Jakob Borg
aa853ac833
Fix tests
2015-11-17 21:23:17 +01:00
Jakob Borg
a8a2192cf9
Show scan rate in web GUI
2015-11-17 21:23:17 +01:00
Jakob Borg
37f866b47f
Use pause/resume device to ensure TestConflictsDefault can run
2015-11-17 13:32:57 +01:00
Jakob Borg
9cf653d673
Rename Model.clusterConfig to Model.generateClusterConfig
2015-11-17 12:10:08 +01:00
Jakob Borg
0167b4b4a3
Don't cause rare spurious event timeout
...
Correctly resetting timers is surprisingly tricky.
2015-11-17 12:05:22 +01:00
Jakob Borg
b1a86fbc98
Warn the user if they're running with an insecure looking setup ( fixes #2139 )
2015-11-16 21:58:08 +01:00
Jakob Borg
ad8c266f76
Update docs & translation
2015-11-15 18:15:10 +01:00
Audrius Butkevicius
62efbd17de
Revert "Don't show "Rescan" button for stopped folders"
2015-11-14 14:01:22 -05:00
Jakob Borg
40c70a9a2a
Don't show "Rescan" button for stopped folders
2015-11-14 12:14:09 +01:00
Audrius Butkevicius
8fb7f40a6a
Merge pull request #2468 from calmh/removefolder
...
Remove folder without restart (fixes #2262 )
2015-11-13 09:51:58 -05:00
Jakob Borg
2f12d41d9d
Don't dirty blockmap key between lookups ( fixes #2455 )
2015-11-13 15:44:30 +01:00
Jakob Borg
9fbdb6b305
Cancel a running scan
2015-11-13 15:30:21 +01:00
Jakob Borg
73285cadb6
Remove folder without restart ( fixes #2262 )
2015-11-13 13:32:52 +01:00
AudriusButkevicius
f7edd36931
Use virtualMtime when deciding if a file is up to date
2015-11-12 03:40:06 +00:00
Mike Boone
342036408e
Fix typos.
2015-11-11 21:20:34 -05:00
Jakob Borg
f4904fce17
Merge pull request #2449 from Stefan-Code/upgrade-system
...
made upgrade-system smarter (fixes #2446 )
2015-11-10 21:15:02 +01:00
Stefan Kuntz
2abb2de753
Made upgrade-system smarter ( fixes #2446 )
2015-11-10 17:41:50 +01:00
Jakob Borg
ef0a0db07e
More local discovery URL debugging (ref #2444 )
2015-11-10 10:16:55 +01:00
Jakob Borg
88ae353aef
Merge pull request #2443 from tylerbrazier/master
...
Audit logins with new Login event (fixes #2377 )
2015-11-10 08:19:03 +01:00
Tyler Brazier
97b9690711
Audit logins with new LoginAttempt event ( fixes #2377 )
2015-11-10 00:49:51 -05:00
Audrius Butkevicius
48ce356d5c
Merge pull request #2448 from calmh/connhandling
...
Refactor out methods resolveAddresses, connectDirect, connectViaRelay
2015-11-09 22:01:06 -05:00
Zillode
593632045d
Correct commentary for ConnectionStats
...
Related to https://github.com/syncthing/syncthing-android/issues/473 and 944d9c84a0
ConnectionStats returns connection information for all devices, even when disconnected.
2015-11-09 23:58:06 +01:00
Jakob Borg
e3c55ef307
Fix address list in DeviceDiscovered, add debug prints (ref #2444 )
2015-11-09 21:36:17 +01:00
Alexander Graf
34cd8e3f95
Add default-v4 and default-v6 as options for discovery
2015-11-09 15:56:46 +01:00
Jakob Borg
242cce022a
Refactor out methods resolveAddresses, connectDirect, connectViaRelay
2015-11-09 15:35:32 +01:00
Jakob Borg
74a2e80142
Update docs & translations
2015-11-09 14:00:10 +01:00
Jakob Borg
b9b630e3b6
Change certificate on discovery-2
2015-11-09 13:58:44 +01:00
Jakob Borg
59565fd1d1
Woops
2015-11-07 11:25:00 +01:00
Jakob Borg
55592137a2
Use constructor functions for FolderConfiguration and DeviceConfiguration
2015-11-07 09:50:04 +01:00
Jakob Borg
58523060f0
Actually do negative caching on failed discovery lookups ( fixes #2434 )
2015-11-06 17:14:20 +01:00
Jakob Borg
34aa41e17b
Cache the Path() call, as it's quite expensive and called a lot
2015-11-06 07:11:22 +00:00
Jakob Borg
36f6a9347c
Benchmark must use *db.Instance
2015-11-05 17:46:53 +00:00
Jakob Borg
d49d386ef2
Docs and translation update
2015-11-05 15:47:06 +00:00
Jakob Borg
00c363829c
Refactor: move folder prepare to it's own function
2015-11-05 08:01:47 +00:00
Jakob Borg
9df701906f
Run JSON decoding through the usual setting of defaults and fixing up
...
I see no reason not to do this, and it gives a unified place (the prepare()
call) to initialize cached attributes and so on.
2015-11-04 20:33:10 +00:00
Jakob Borg
283671fa9d
Remove old dead code
2015-11-04 20:15:36 +00:00
Jakob Borg
435c29755d
We haven't had cleartext passwords in the config for ages
2015-11-04 20:15:11 +00:00
Jakob Borg
686f91777c
Don't force rescan dirs and symlinks
...
We can't look for changed modtime on these as we don't track the modtime
to start with.
2015-11-04 19:53:07 +00:00
Audrius Butkevicius
2aa028facb
Add user-agent header, capitalize headers as others seems to do it ( fixes #2422 )
2015-10-31 15:36:08 +00:00
Jakob Borg
2a4fc28318
We should pass around db.Instance instead of leveldb.DB
...
We're going to need the db.Instance to keep some state, and for that to
work we need the same one passed around everywhere. Hence this moves the
leveldb-specific file opening stuff into the db package and exports the
dbInstance type.
2015-10-31 12:35:30 +01:00
Jakob Borg
313485e406
Remove file that snuck in by mistake
2015-10-31 11:38:59 +01:00
Jakob Borg
faf4267c73
Refactor: the various db key functions should be instance methods
2015-10-31 11:27:04 +01:00
Jakob Borg
cdbc8004fb
Comment pedantry
2015-10-31 11:16:07 +01:00
Jakob Borg
08c8d679ac
Create a correct URL is more difficult than just slapping on a scheme ( fixes #2316 )
2015-10-30 21:22:40 +01:00
Jakob Borg
48c34b7234
Translation update
2015-10-30 10:23:09 +01:00
Jakob Borg
e1a8ea7dec
Rescan changed files before pulling on top of them ( fixes #2416 )
2015-10-29 09:12:37 +01:00
Jakob Borg
c4ad97136f
Move leveldb instance and transactions into separate files
2015-10-29 08:07:51 +01:00
Jakob Borg
fd7b8ec77e
Neater transaction handling
2015-10-28 22:04:00 +01:00
Jakob Borg
e28c991331
Create an instance type to tie database methods to
2015-10-28 21:03:05 +01:00
Jakob Borg
9e210d705d
The PublicKey() method is an addition in Go 1.4
2015-10-27 16:03:14 +01:00
Jakob Borg
c42f1b53ab
pulorder.go -> pullorder.go
2015-10-27 12:14:14 +01:00
Jakob Borg
d171173e90
AlwaysLocalNets should not default to null
2015-10-27 12:04:51 +01:00
Jakob Borg
679f0f9363
Fix some config Copy() things we had forgotten
2015-10-27 11:53:42 +01:00
Jakob Borg
724c1e297f
Remove handling of config versions < 10 (v0.11.0)
2015-10-27 11:46:33 +01:00
Jakob Borg
83154569b1
Refactor config types into separate files
2015-10-27 11:37:03 +01:00
Jakob Borg
e3c0fba34b
Must not call hex.Dump in non-debug mode...
2015-10-27 10:27:18 +01:00
Jakob Borg
2b6a6b91f3
Remove unused struct field
2015-10-27 09:55:05 +01:00
Jakob Borg
dc32f7f0a3
Reduce allocations in HashFile
...
By using copyBuffer we avoid a buffer allocation for each block we hash,
and by allocating space for the hashes up front we get one large backing
array instead of a small one for each block. For a 17 MiB file this
makes quite a difference in the amount of memory allocated:
benchmark old ns/op new ns/op delta
BenchmarkHashFile-8 102045110 100459158 -1.55%
benchmark old allocs new allocs delta
BenchmarkHashFile-8 415 144 -65.30%
benchmark old bytes new bytes delta
BenchmarkHashFile-8 4504296 48104 -98.93%
2015-10-27 09:37:27 +01:00
Jakob Borg
1efd8d6c75
Add benchmark of HashFile
2015-10-27 09:30:34 +01:00
Jakob Borg
464e6bec95
Log lines in REST should have lower case keys
2015-10-27 08:22:35 +01:00
Audrius Butkevicius
5b03c2d949
Remove dead code
2015-10-25 20:46:09 +00:00
Audrius Butkevicius
f629a998a0
Change errNoDevice message to something more human
2015-10-25 13:27:26 +00:00
Audrius Butkevicius
73236e58c5
Close channel after the client is stopped
2015-10-22 23:09:02 +01:00
Jakob Borg
32414853c6
Fix Raleway font
2015-10-22 21:08:24 +02:00
Jakob Borg
f3dc78d457
Don't deadlock after checking relay client status ( fixes #2404 )
2015-10-22 20:32:15 +02:00
Jakob Borg
a32ac62208
Don't expect ending slash on Windows
2015-10-22 13:49:41 +02:00
Jakob Borg
d7a934cf0e
Paths must not end with slash on Windows
2015-10-22 11:39:34 +02:00
Jakob Borg
503491392d
Correct amount of stack unwinding for debug prints
2015-10-22 11:38:45 +02:00
Jakob Borg
c19eff4872
Revive remote client version in the GUI
2015-10-22 08:53:28 +02:00
Jakob Borg
2941a813c2
Fix upgrade tests
2015-10-22 08:35:48 +02:00
Jakob Borg
0a022d38fa
Upgrade lib should use same criteria for beta check as main
2015-10-22 08:28:35 +02:00
Jakob Borg
7ed3b3dd3a
Docs update
2015-10-22 08:14:43 +02:00
Jakob Borg
9a1922fdc6
Merge pull request #2385 from AudriusButkevicius/you-are-next
...
Add separate client for dynamic relays (fixes #2368 )
2015-10-22 08:01:22 +02:00
Jakob Borg
83131103cf
Don't load block list in ...Truncated methods
...
Speeds up and reduces allocations on those operations, at the price of
having a manually tweaked XDR decoder for FileInfoTruncated.
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 1868198122 1880206886 +0.64%
BenchmarkUpdateOneChanged-8 231852 172695 -25.51%
BenchmarkUpdateOneUnchanged-8 230624 179341 -22.24%
BenchmarkNeedHalf-8 104601744 109461427 +4.65%
BenchmarkHave-8 29102480 34105026 +17.19%
BenchmarkGlobal-8 150547687 172778045 +14.77%
BenchmarkNeedHalfTruncated-8 102471355 76564986 -25.28%
BenchmarkHaveTruncated-8 28758368 14277481 -50.35%
BenchmarkGlobalTruncated-8 151192913 106070136 -29.84%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 555577 557554 +0.36%
BenchmarkUpdateOneChanged-8 1135 587 -48.28%
BenchmarkUpdateOneUnchanged-8 1135 587 -48.28%
BenchmarkNeedHalf-8 374780 374775 -0.00%
BenchmarkHave-8 151992 152085 +0.06%
BenchmarkGlobal-8 530033 530135 +0.02%
BenchmarkNeedHalfTruncated-8 374699 22160 -94.09%
BenchmarkHaveTruncated-8 151834 4904 -96.77%
BenchmarkGlobalTruncated-8 530037 30536 -94.24%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 1765116216 1765305376 +0.01%
BenchmarkUpdateOneChanged-8 135085 93043 -31.12%
BenchmarkUpdateOneUnchanged-8 134976 92928 -31.15%
BenchmarkNeedHalf-8 44758752 44751791 -0.02%
BenchmarkHave-8 11845052 11967172 +1.03%
BenchmarkGlobal-8 80431136 80431065 -0.00%
BenchmarkNeedHalfTruncated-8 46526459 18243543 -60.79%
BenchmarkHaveTruncated-8 11348357 418998 -96.31%
BenchmarkGlobalTruncated-8 80977672 43116991 -46.75%
2015-10-21 23:49:10 +02:00
Jakob Borg
c1591a5efd
Only run benchmarks with -tags benchmark
...
Avoids creating temp database and stuff on a normal test run
2015-10-21 23:19:26 +02:00
Jakob Borg
918ef4dff8
Use batches in blockmap, speeds up and reduces memory usage on large Replace and Update ops
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2880834572 1868198122 -35.15%
BenchmarkUpdateOneChanged-8 236596 231852 -2.01%
BenchmarkUpdateOneUnchanged-8 227326 230624 +1.45%
BenchmarkNeedHalf-8 105151538 104601744 -0.52%
BenchmarkHave-8 28827492 29102480 +0.95%
BenchmarkGlobal-8 150768724 150547687 -0.15%
BenchmarkNeedHalfTruncated-8 104434216 102471355 -1.88%
BenchmarkHaveTruncated-8 27860093 28758368 +3.22%
BenchmarkGlobalTruncated-8 149972888 151192913 +0.81%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 555451 555577 +0.02%
BenchmarkUpdateOneChanged-8 1135 1135 +0.00%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374779 374780 +0.00%
BenchmarkHave-8 151996 151992 -0.00%
BenchmarkGlobal-8 530066 530033 -0.01%
BenchmarkNeedHalfTruncated-8 374702 374699 -0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530049 530037 -0.00%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5018351912 1765116216 -64.83%
BenchmarkUpdateOneChanged-8 135085 135085 +0.00%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44769400 44758752 -0.02%
BenchmarkHave-8 11930612 11845052 -0.72%
BenchmarkGlobal-8 81523668 80431136 -1.34%
BenchmarkNeedHalfTruncated-8 46692342 46526459 -0.36%
BenchmarkHaveTruncated-8 11348357 11348357 +0.00%
BenchmarkGlobalTruncated-8 81843956 80977672 -1.06%
2015-10-21 23:05:23 +02:00
Jakob Borg
0d9a04c713
Reuse blockkey, speeds up large Update and Replace calls
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2866418930 2880834572 +0.50%
BenchmarkUpdateOneChanged-8 226635 236596 +4.40%
BenchmarkUpdateOneUnchanged-8 229090 227326 -0.77%
BenchmarkNeedHalf-8 104483393 105151538 +0.64%
BenchmarkHave-8 29288220 28827492 -1.57%
BenchmarkGlobal-8 159269126 150768724 -5.34%
BenchmarkNeedHalfTruncated-8 108235000 104434216 -3.51%
BenchmarkHaveTruncated-8 28945489 27860093 -3.75%
BenchmarkGlobalTruncated-8 149355833 149972888 +0.41%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 1054944 555451 -47.35%
BenchmarkUpdateOneChanged-8 1135 1135 +0.00%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374777 374779 +0.00%
BenchmarkHave-8 151995 151996 +0.00%
BenchmarkGlobal-8 530063 530066 +0.00%
BenchmarkNeedHalfTruncated-8 374699 374702 +0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530021 530049 +0.01%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5074297112 5018351912 -1.10%
BenchmarkUpdateOneChanged-8 135097 135085 -0.01%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44759436 44769400 +0.02%
BenchmarkHave-8 11911138 11930612 +0.16%
BenchmarkGlobal-8 81609867 81523668 -0.11%
BenchmarkNeedHalfTruncated-8 46588024 46692342 +0.22%
BenchmarkHaveTruncated-8 11348354 11348357 +0.00%
BenchmarkGlobalTruncated-8 79485168 81843956 +2.97%
2015-10-21 23:05:23 +02:00
Jakob Borg
0c0c69f0cf
The GC runs are legacy and slows things down quite a bit
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2942370526 2866418930 -2.58%
BenchmarkUpdateOneChanged-8 7402489 226635 -96.94%
BenchmarkUpdateOneUnchanged-8 7298777 229090 -96.86%
BenchmarkNeedHalf-8 113608416 104483393 -8.03%
BenchmarkHave-8 29834263 29288220 -1.83%
BenchmarkGlobal-8 162773699 159269126 -2.15%
BenchmarkNeedHalfTruncated-8 111943400 108235000 -3.31%
BenchmarkHaveTruncated-8 29490369 28945489 -1.85%
BenchmarkGlobalTruncated-8 165841081 149355833 -9.94%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 1054942 1054944 +0.00%
BenchmarkUpdateOneChanged-8 1149 1135 -1.22%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374774 374777 +0.00%
BenchmarkHave-8 151995 151995 +0.00%
BenchmarkGlobal-8 530042 530063 +0.00%
BenchmarkNeedHalfTruncated-8 374697 374699 +0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530050 530021 -0.01%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5074294728 5074297112 +0.00%
BenchmarkUpdateOneChanged-8 141048 135097 -4.22%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44734813 44759436 +0.06%
BenchmarkHave-8 11911634 11911138 -0.00%
BenchmarkGlobal-8 80436854 81609867 +1.46%
BenchmarkNeedHalfTruncated-8 46514673 46588024 +0.16%
BenchmarkHaveTruncated-8 11348357 11348354 -0.00%
BenchmarkGlobalTruncated-8 81730740 79485168 -2.75%
2015-10-21 23:05:22 +02:00
Jakob Borg
943e80e26c
Make benchmarks more realistic
2015-10-21 23:04:29 +02:00
Jakob Borg
1eca4170f7
Add test for LocalSize/GlobalSize results
2015-10-21 21:58:48 +02:00
Jakob Borg
c268e4ad1b
Also keep GlobalSize in RAM
2015-10-21 21:58:48 +02:00
Jakob Borg
d4f81e8791
Keep LocalSize data in RAM
2015-10-21 21:58:48 +02:00
Audrius Butkevicius
4f0680c3c8
Add separate client for dynamic relays ( fixes #2368 )
...
Did some manual tests in the playground, such as kicking off two clients in parallel, first connecting,
second one getting a message about already being connected, falling back to the second address.
2015-10-21 20:08:14 +01:00
Jakob Borg
8c26fe44c3
Actually run protocol tests faster with -short (on Go 1.5...)
2015-10-21 14:45:18 +02:00
Jakob Borg
8c7d9f3dd2
Protocol tests should run faster with -short
2015-10-21 14:35:59 +02:00
Jakob Borg
f241b7e79a
Global discovery should time out ( fixes #2389 )
2015-10-21 14:24:55 +02:00
Matt Burke
c2a5e180b8
Emit warning when sync could overwrite configuration
...
Overwriting configuration files is likely to happen if a
user syncs their home directories across computers. In this
case, the biggest risk is that all nodes will end up with
the same certificate and thus Device ID.
When the model prepares a folder for syncing, it checks to
see if the configuration files this instance is using are
getting synced. If the are getting synced, and they aren't
getting ignored, a warning is emitted. The model is used
so that when a new folder is added dynamically, a warning
is also emitted.
This will not prevent a user from shooting themselves in
the foot, and will not cover all cases (e.g. symlinks).
It should provide _something_ for many users in this
situation to go on, though.
2015-10-20 12:22:27 -04:00
Jakob Borg
aa42aafe33
Don't panic on clean shutdown
2015-10-20 15:59:37 +02:00
Jakob Borg
32c1a9bc45
Docs & translation update
2015-10-20 09:59:50 +02:00
Jakob Borg
0f9fa9507e
Tests must use locking to avoid race ( fixes #2394 )
2015-10-20 08:51:31 +02:00
Jakob Borg
90e0141ac5
Request() should return protocol errors
2015-10-19 15:14:41 +02:00
Jakob Borg
8435a8678e
Don't validate requests against the database
2015-10-19 15:14:41 +02:00
Jakob Borg
6578ffe2c9
Merge pull request #2320 from AudriusButkevicius/proto
...
More proto changes
2015-10-18 08:47:30 +02:00
Jakob Borg
175340522f
Merge pull request #2375 from AudriusButkevicius/proxy
...
Add proxy support (fixes #271 )
2015-10-18 08:45:17 +02:00
Audrius Butkevicius
afc917b582
Fix tests
2015-10-17 09:48:41 +01:00
Audrius Butkevicius
9f4cd7716e
Add more information about the folders to ClusterConfig
2015-10-17 09:46:46 +01:00
Jakob Borg
29b0017445
Merge pull request #2386 from AudriusButkevicius/epoint
...
Change relaypoolsrv endpoint
2015-10-17 09:14:35 +09:00
Jakob Borg
910a7c619a
Merge pull request #2381 from AudriusButkevicius/maxcon
...
Allow limiting max conflicts (fixes #2282 )
2015-10-17 09:10:31 +09:00
Audrius Butkevicius
273fac2028
Change relaypoolsrv endpoint
...
Just incase we want to show some stats in the future, such as a Geo-IP based map of where relays are, their dot size being proportional to global rate limits,
together with potentially how much data in total has been transferred, and how many sessions there by crawling relay status pages etc ;)
2015-10-17 00:10:01 +01:00
Audrius Butkevicius
a323d85d32
Add more information about the device to ClusterConfig
2015-10-16 19:40:12 +01:00
Audrius Butkevicius
491a33de0b
Move device name into the protocol messages
2015-10-16 19:40:12 +01:00
Audrius Butkevicius
752533489a
Allow limiting max conflicts ( fixes #2282 )
2015-10-16 19:26:38 +01:00
Audrius Butkevicius
e4e3c19e96
Our dialer sets up TCP options
2015-10-16 19:18:22 +01:00
Jakob Borg
e15be5c2bf
Merge pull request #2354 from eipiminus1/issue1361
...
Add trailing folder seperator to allow symlinks as folder path (fixes #1361 )
2015-10-16 09:29:37 +09:00
Jakob Borg
cc436dc8cb
Merge pull request #2372 from calmh/fix2371
...
Option -gui-address should accept scheme prefixes
2015-10-16 09:25:41 +09:00
Audrius Butkevicius
abbcd1f436
Patch up HTTP clients
2015-10-15 21:02:17 +01:00
Audrius Butkevicius
985ea29940
Add proxy support ( fixes #271 )
2015-10-15 21:01:42 +01:00
Jakob Borg
368cd44558
Fix race conditions in model tests
2015-10-14 14:41:16 +09:00
Jakob Borg
ff9920cbdc
Add eipiminus1
2015-10-13 08:38:03 +09:00
Jakob Borg
953a67bc3a
Option -gui-address should accept scheme prefixes ( fixes #2371 )
2015-10-13 08:26:07 +09:00
Audrius Butkevicius
29343aec3a
Fix division by zero ( fixes #2373 )
2015-10-12 18:57:15 +01:00
Audrius Butkevicius
2972472179
Add missing close
2015-10-12 17:10:59 +01:00
Jakob Borg
240e7b0835
Log/error fields changed name
2015-10-12 14:18:53 +09:00
Jakob Borg
baf5191433
Add mateon1
2015-10-12 14:13:38 +09:00
Jakob Borg
ec8bc02d33
Silence spurious debug ( fixes #2369 )
2015-10-12 10:11:58 +09:00
Yannic A
054bc970e2
Add trailing folder seperator to allow symlinks as folder path ( fixes #1361 )
2015-10-10 19:38:59 +02:00
Audrius Butkevicius
d985ed553a
Make puller pause configurable
2015-10-10 11:36:09 +01:00
Jakob Borg
76af9ba53d
Implement facility based logger, debugging via REST API
...
This implements a new debug/trace infrastructure based on a slightly
hacked up logger. Instead of the traditional "if debug { ... }" I've
rewritten the logger to have no-op Debugln and Debugf, unless debugging
has been enabled for a given "facility". The "facility" is just a
string, typically a package name.
This will be slightly slower than before; but not that much as it's
mostly a function call that returns immediately. For the cases where it
matters (the Debugln takes a hex.Dump() of something for example, and
it's not in a very occasional "if err != nil" branch) there is an
l.ShouldDebug(facility) that is fast enough to be used like the old "if
debug".
The point of all this is that we can now toggle debugging for the
various packages on and off at runtime. There's a new method
/rest/system/debug that can be POSTed a set of facilities to enable and
disable debug for, or GET from to get a list of facilities with
descriptions and their current debug status.
Similarly a /rest/system/log?since=... can grab the latest log entries,
up to 250 of them (hardcoded constant in main.go) plus the initial few.
Not implemented in this commit (but planned) is a simple debug GUI
available on /debug that shows the current log in an easily pasteable
format and has checkboxes to enable the various debug facilities.
The debug instructions to a user then becomes "visit this URL, check
these boxes, reproduce your problem, copy and paste the log". The actual
log viewer on the hypothetical /debug URL can poll regularly for new log
entries and this bypass the 250 line limit.
The existing STTRACE=foo variable is still obeyed and just sets the
start state of the system.
2015-10-03 18:09:53 +02:00
Jakob Borg
2de364414f
Adopt calmh/logger into lib/logger
2015-10-03 18:09:53 +02:00
Jakob Borg
36c746bd9f
Create missing directories
2015-10-01 09:43:16 +02:00
Audrius Butkevicius
7476c583e7
Merge pull request #2343 from calmh/discoprio2
...
Add discovery source priorities (fixes #2339 )
2015-10-01 08:22:17 +01:00
Jakob Borg
89928ca8e4
Add discovery source priorities ( fixes #2339 )
...
Sources are given a priority, lower being better, when added to a
CachingMux.
2015-10-01 08:45:40 +02:00
Jakob Borg
38a3bf3ada
Merge pull request #2317 from simplypeachy/patch-1
...
Add missing parameter in disk space warning
2015-10-01 08:10:36 +02:00
Jakob Borg
362ae5c4bb
Add copyright
2015-09-30 21:40:27 +02:00
Jakob Borg
be2ca0ea22
Revert "Case insensitive renames, part 1"
2015-09-30 21:40:04 +02:00
Jakob Borg
ddfebb17cf
Case insensitive renames, part 1
2015-09-30 12:41:29 +02:00
Audrius Butkevicius
b614cfffcb
Merge pull request #2330 from calmh/eventids
...
Subscribing to events should not bump event ID (fixes #2329 )
2015-09-29 19:05:57 +01:00
Audrius Butkevicius
b58a52c7b4
Merge pull request #2332 from calmh/brokenignore
...
Correctly report errors encountered parsing ignores (fixes #2309 )
2015-09-29 17:15:07 +01:00
Jakob Borg
a80fc1b062
Correctly report errors encountered parsing ignores ( fixes #2309 , fixes #2296 )
...
An error on opening .stignore will satisfy os.IsNotExist() and not be
reported. Other errors will be reported and stop the folder, including
is-not-exist errors from #include as these are passed through fmt.Errorf.
Also fixes minor issue where we would not print cause of folder stopping
to the log.
Also fixes minor issue with capitalization of errors.
2015-09-29 18:04:18 +02:00
Jakob Borg
22a2e95126
CachingMux should return unique addresses only ( fixes #2321 )
2015-09-29 17:40:39 +02:00
Jakob Borg
11e1a99e14
Subscribing to events should not bump event ID ( fixes #2329 )
2015-09-29 17:17:09 +02:00
Jakob Borg
3c6bfb880d
Docs and translation update
2015-09-27 22:31:19 +02:00
Audrius Butkevicius
ad2c05c3f5
Merge pull request #2322 from calmh/colons
...
Don't naively join host and port using colon (fixes #2316 )
2015-09-27 20:52:29 +01:00
Jakob Borg
fa75f54a05
Don't naively join host and port using colon ( fixes #2316 )
2015-09-27 21:44:08 +02:00
simplypeachy
f42f20c70c
Update rwfolder.go
...
Revert copyright/grammar changes.
2015-09-27 09:50:54 +01:00
Jakob Borg
209bc59e8c
Don't check for free space on master folders ( fixes #2236 )
...
Also clean up the logic a little, I thought it was a bit muddled.
2015-09-27 09:33:11 +02:00
simplypeachy
ed7791d824
Add missing parameter in disk space warning
...
Plus copyright bump, minor grammatical fix.
2015-09-26 16:46:42 +01:00
Jakob Borg
47c7351b16
Clean up connection.Model interface a little
2015-09-26 13:19:22 +02:00
Jakob Borg
b158072a15
Merge pull request #2189 from burkemw3/lib-ify-connections
...
Decouple connections service from model
2015-09-26 13:18:23 +02:00
Matt Burke
2234c45c19
Decouple connections service from model
...
The connections service no longer depends directly on the
syncthing model object, but on an interface instead. This
makes it drastically easier to write clients that handle
the model differently, but still want to benefit from
existing and future connections changes in the core.
This was motivated by burkemw3's interest in creating a
FUSE client that can present a view of the global model,
but not have all of the file data locally.
The actual decoupling was done by adding a connections.Model
interface. This interface is effectively an extension of the
protocol.Model interface that also handles connections
alongside the modified service.
2015-09-25 12:19:30 -04:00
Jakob Borg
e0a16e08dd
Relax folder label restrictions
2015-09-25 13:45:58 +02:00
Jakob Borg
e522811a52
Encapsulate local discovery address in struct
...
The XDR encoder doesn't understart slices of strings very well. It can
encode and decode them, but there's no way to set limits on the length
of the strings themselves (only on the length of the slice), and the
generated diagrams are incorrect. This trivially works around this,
while also documenting what the string actually is (a URL).
2015-09-22 23:28:00 +02:00
Jakob Borg
6124bbb12a
There is no local discovery query packet
2015-09-22 23:10:05 +02:00
Jakob Borg
fbf911cf7e
Unbreak comments
2015-09-22 21:51:05 +02:00
Jakob Borg
7fdfa81fb8
Fix vet and lint complaints
2015-09-22 20:34:24 +02:00
Jakob Borg
4581c57478
Fix import paths
2015-09-22 19:38:46 +02:00
Jakob Borg
f177924629
Rejiggle lib/relaysrv/* -> lib/relay/*
2015-09-22 19:37:03 +02:00
Jakob Borg
633e888ba7
Add 'lib/relaysrv/' from commit '6e126fb97e2ff566d35f8d8824e86793d22b2147'
...
git-subtree-dir: lib/relaysrv
git-subtree-mainline: 4316992d95
git-subtree-split: 6e126fb97e
2015-09-22 19:34:52 +02:00
Jakob Borg
4316992d95
Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a'
...
git-subtree-dir: lib/protocol
git-subtree-mainline: 5ecb8bdd8a
git-subtree-split: f91191218b
2015-09-22 19:34:29 +02:00
Jakob Borg
5ecb8bdd8a
Correct success/error handling for multicast/broadcast sends
2015-09-22 16:04:48 +02:00
Jakob Borg
6e3b3dc4e7
Comment typo fix
2015-09-21 14:20:33 +02:00
Jakob Borg
8d421a62d2
Usage reporting should recognize new discovery server IP:s
2015-09-21 10:54:21 +02:00
Jakob Borg
185b0690c8
Further forgotten copyright notices
2015-09-21 10:43:36 +02:00
Jakob Borg
bd0e97023e
We don't need a separate subscription lock
...
We forgot to lock it during replace, so data rate. This is simpler.
2015-09-21 10:42:07 +02:00
Jakob Borg
34ff0706a3
Add missing copyright notice
2015-09-21 10:34:20 +02:00
Jakob Borg
acba61babb
Ping handling changes in protocol, removed from config here
2015-09-21 10:14:27 +02:00
Jakob Borg
24d2a93c0d
Change default discovery server names
2015-09-20 22:30:31 +02:00
Jakob Borg
b0cd7be39b
New global discovery protocol over HTTPS ( fixes #628 , fixes #1907 )
2015-09-20 21:10:53 +02:00
Jakob Borg
7e3c06191e
lib/relay need not depend on lib/model any more
2015-09-14 20:19:39 +02:00
Jakob Borg
596a49c112
Invert initialization dependence on relay/conns
...
This makes it so we can initialize the relay management and then give
that to the connection management, instead of the other way around.
This is important to me in the discovery revamp I'm doing, as otherwise
I get a circular dependency when constructing stuff, with relaying
depending on connection, connection depending on discovery, and
discovery depending on relaying.
With this fixed, discovery will depend on relaying, and connection will
depend on both discovery and relaying.
2015-09-14 10:21:55 +02:00
Jakob Borg
e6d5372029
Fix -no-upgrade
2015-09-13 18:04:58 +02:00
Jakob Borg
e694c664e5
Add external address tracker object
2015-09-13 07:56:13 +02:00
Jakob Borg
1f0f5c1e23
Don't require free disk space when we might only update metadata
...
Instead, make sure we do the check as part of CheckFolderHealth before
pulling, and individually per file to try to not run out of space at
that stage.
(The latter is far from fool proof as we may pull lots of stuff in
parallell, but it's worth a try.)
2015-09-12 23:00:43 +02:00
Jakob Borg
fa95c82daf
Add custom networks that are considered local (internal routing, VPN etc)
...
Allows things like this in the <options> element:
<alwaysLocalNet>10.0.0.0/8</alwaysLocalNet>
2015-09-11 15:10:41 +02:00
Jakob Borg
446a938b06
lib/symlinks need not depend on protocol
2015-09-11 12:55:25 +02:00
Jakob Borg
985a3436e2
Always show columns headers (accessibility)
2015-09-10 15:05:08 +02:00
Jakob Borg
9dae87c80c
Allow configuration of releases URL
2015-09-10 14:16:44 +02:00
Jakob Borg
46364a38c6
Allow configuration of usage reporting URL
2015-09-10 14:08:40 +02:00
Jakob Borg
148b2b9d02
Fix crash when relaying or global discovery is disabled ( fixes #2246 )
2015-09-09 12:58:57 +02:00
Jakob Borg
64354b51c9
Generate certs with SHA256 signature instead of SHA1
...
Doesn't matter at all for BEP, but the same stuff is used by the web UI
and modern browsers are starting to dislike SHA1 extra much.
2015-09-09 12:55:17 +02:00
Jakob Borg
baf231e3b6
Add interesting fields to usage report ( fixes #559 )
2015-09-06 18:17:30 +02:00
Jakob Borg
e26e85b6d6
Only check pull file size if check is enabled (ref #2241 )
2015-09-06 17:13:00 +02:00
Jakob Borg
2af3a92833
Allow fractional percentages ( fixes #2233 )
2015-09-05 12:39:15 +02:00
Jakob Borg
06f319a380
lib/stats need not depend on protocol
2015-09-04 13:23:18 +02:00
Jakob Borg
37ed5a01e0
Fix sudden nil pointer dereference in walk
2015-09-04 13:13:08 +02:00
Jakob Borg
4a9997e449
lib/db need not depend on lib/config
2015-09-04 12:01:00 +02:00
Jakob Borg
54269553c8
lib/scanner need not depend on lib/ignore
2015-09-04 11:50:47 +02:00
AudriusButkevicius
3d6ea23511
Clarify names
2015-09-02 22:00:51 +01:00
AudriusButkevicius
61130ea191
Add AcceptNoWrap to DowngradingListener
2015-09-02 21:25:56 +01:00
Jakob Borg
2581e56503
Use raw strings to describe regexes, avoids double escaping
2015-09-02 22:19:45 +02:00
Jakob Borg
fea0ae7f2f
Merge pull request #2225 from AudriusButkevicius/onerelay
...
Pick a single relay (fixes #2182 )
2015-09-02 22:15:00 +02:00
AudriusButkevicius
3299438cbd
Move TLS utilities into a separate package
2015-09-02 21:05:54 +01:00
Jakob Borg
e3e1036dda
Correctly handle (?i) in ignores ( fixes #1953 )
2015-09-02 21:12:41 +02:00
AudriusButkevicius
876d7ac85e
Pick a single relay ( fixes #2182 )
2015-09-02 18:05:34 +01:00
Jakob Borg
02493251d5
Adjust defaults for number of hashers based on OS
...
https://forum.syncthing.net/t/syncthing-is-such-a-massive-resource-hog/5494/19?u=calmh
2015-09-01 10:30:35 +02:00
Jakob Borg
0664c6b5b0
Translation & docs update
2015-08-30 14:38:47 +02:00
Jakob Borg
a4ebac147b
Harmonize rendering of identicons with other icons ( fixes #2212 )
2015-08-30 14:25:11 +02:00
AudriusButkevicius
cf802dc67e
Hide .stigore ( fixes #2114 )
2015-08-30 12:59:01 +01:00
Jakob Borg
37fb6473b3
Woops, fix scanner test
2015-08-28 08:57:37 +02:00
Jakob Borg
bc016e360e
Refactor: ints used in arithmetic should be signed
2015-08-27 21:37:12 +02:00
Jakob Borg
594918dd3c
Line height on headers to avoid cut off descenders
2015-08-27 21:28:07 +02:00
AudriusButkevicius
94c52e3a77
Add scan percentages ( fixes #1030 )
2015-08-27 19:20:43 +01:00
Audrius Butkevicius
e256d93b43
Merge pull request #2205 from calmh/mclisten
...
Bind to IPv6 multicast group instead of ::
2015-08-27 17:50:47 +01:00