Simon Frei
50d8c43e7c
lib/config: Set UseLargeBlocks to true by default ( fixes #5599 ) ( #5600 )
2019-03-12 12:59:26 +00:00
Evgeny Kuznetsov
90d9b2de2b
cmd/syncthing: Add a check for particular far-future version of config ( fixes #1101 )
2019-03-12 08:20:47 +00:00
Evgeny Kuznetsov
04f05f102d
cmd: Add check for newer config file and an option to override it ( fixes #4921 ) ( #5597 )
...
* Add check for newer config file and override option
* Expanded error message
* Polish previous commits
* Make it newER
2019-03-12 07:12:08 +00:00
Simon Frei
289a02e994
lib/model: Integrate stat refs in folder ( #5596 )
2019-03-11 16:57:21 +00:00
georgespatton
84fe285659
etc: Systemd unit should declare after=multiuser.target ( fixes #5346 ) ( #5593 )
2019-03-11 15:50:34 +01:00
Simon Frei
445637ebec
lib/model: Pass fset & ignores on folder creation ( #5592 )
2019-03-11 07:28:54 +01:00
Simon Frei
3f3d2c814b
lib/model: Remove unused code ( #5591 )
2019-03-10 17:05:39 +01:00
Simon Frei
189e44488e
lib/model: Introduce must test utility ( #5586 )
...
* lib/model: Introduce must test utility
* nice
2019-03-09 18:45:36 +00:00
Simon Frei
27ff20faa3
lib/model: Introduce waitForState test utility ( #5585 )
...
* lib/model: Introduce waitForState test utility
* folder id as param to waitForState
2019-03-09 10:36:55 +00:00
Simon Frei
b1564e53e4
lib/model: Improve test utilities ( #5584 )
2019-03-08 20:29:09 +00:00
Simon Frei
3a75b63776
lib/model: Use temp dir from osutils in tests ( #5581 )
2019-03-07 16:34:41 +01:00
Simon Frei
8e238c8e48
lib/model: Check before replacing existing file on pull ( fixes #5571 ) ( #5567 )
2019-03-07 15:15:14 +01:00
Jakob Borg
3d5af675db
gui, man, authors: Update docs, translations, and contributors
2019-03-06 07:45:23 +01:00
Jakob Borg
9da3273eb8
lib/model: Clarify fileInfoBatch.flushIfFull criteria
2019-03-05 21:34:04 +01:00
Simon Frei
bd37f6da17
lib/model: Optimize dbUpdaterRoutine ( #5576 )
2019-03-05 21:32:37 +01:00
Simon Frei
6940d79f5b
lib/model: Use errors.Wrap for pull errors ( #5563 )
2019-03-04 13:01:52 +00:00
Simon Frei
0f80318ef6
lib/scanner: Consistenlty use CreateFileInfo and remove outdated comment ( #5574 )
2019-03-04 13:27:33 +01:00
Simon Frei
d6622b1f68
lib/model: setUp -> setup ( #5573 )
2019-03-04 12:27:10 +00:00
Simon Frei
43bcb3d5a5
lib/model: Refactor conflict name handling ( #5572 )
2019-03-04 12:20:40 +00:00
Evgeny Kuznetsov
e2e8f6e940
gui: Update copyright notices ( fixes #5569 ) ( #5570 )
2019-03-03 13:15:17 +01:00
Jakob Borg
88b0ce892d
gui, man, authors: Update docs, translations, and contributors
2019-02-27 07:45:23 +01:00
otbutz
55cd4b3d9b
gui: Use handshake icon for "Introduced by" ( fixes #5560 ) ( #5561 )
2019-02-26 14:18:35 +01:00
Jakob Borg
f24676ba5a
lib/tlsutil: Enable TLS 1.3 when available, on test builds ( fixes #5065 ) ( #5558 )
...
* lib/tlsutil: Enable TLS 1.3 when available, on test builds (fixes #5065 )
This enables TLS 1.3 negotiation on Go 1.12 by setting the GODEBUG
variable. For now, this just gets enabled on test versions (those with a
dash in the version number).
Users wishing to enable this on production builds can set GODEBUG
manually.
The string representation of connections now includes the TLS version
and cipher suite. This becomes part of the log output on connections.
That is, when talking to an old client:
Established secure connection .../TLS1.2-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
and now potentially:
Established secure connection .../TLS1.3-TLS_AES_128_GCM_SHA256
(The cipher suite was there previously in the log output, but not the
TLS version.)
I also added this info as a new Crypto() method on the connection, and
propagate this out to the API and GUI, where it can be seen in the
connection address hover (although with bad word wrapping sometimes).
* wip
* wip
2019-02-26 11:49:02 +01:00
Simon Frei
722b3fce6a
all: Hide implementations behind interfaces for mocked testing ( #5548 )
...
* lib/model: Hide implementations behind interfaces for mocked testing
* review
2019-02-26 08:09:25 +00:00
Jonas Thelemann
8a05492622
docs: Correct Docker README ( #5480 ) ( #5545 )
...
Plus some formatting.
2019-02-26 00:37:59 +04:00
Jakob Borg
63c4e7f6d0
Merge branch 'release'
...
* release:
lib/scanner: Use standard adler32 when we don't need rolling (#5556 )
2019-02-25 19:36:41 +01:00
Audrius Butkevicius
f0f79a3e3e
lib/scanner: Use standard adler32 when we don't need rolling ( #5556 )
...
* lib/scanner: Use standard adler32 when we don't need rolling
Seems the rolling adler32 implementation is super slow when executed on large blocks, even tho I can't explain why.
BenchmarkFind1MFile-16 100 18991667 ns/op 55.21 MB/s 398844 B/op 20 allocs/op
BenchmarkBlock/adler32-131072/#00-16 200 9726519 ns/op 1078.06 MB/s 2654936 B/op 163 allocs/op
BenchmarkBlock/bozo32-131072/#00-16 20 73435540 ns/op 142.79 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/buzhash32-131072/#00-16 20 61482005 ns/op 170.55 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/buzhash64-131072/#00-16 20 61673660 ns/op 170.02 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/vanilla-adler32-131072/#00-16 300 4377307 ns/op 2395.48 MB/s 2654935 B/op 163 allocs/op
BenchmarkBlock/adler32-16777216/#00-16 2 544010100 ns/op 19.27 MB/s 65624 B/op 5 allocs/op
BenchmarkBlock/bozo32-16777216/#00-16 1 4678108500 ns/op 2.24 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/buzhash32-16777216/#00-16 1 3880370700 ns/op 2.70 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/buzhash64-16777216/#00-16 1 3875911700 ns/op 2.71 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/vanilla-adler32-16777216/#00-16 300 4010279 ns/op 2614.72 MB/s 65624 B/op 5 allocs/op
BenchmarkRoll/adler32-131072/#00-16 2000 974279 ns/op 134.53 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/bozo32-131072/#00-16 2000 791770 ns/op 165.54 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/buzhash32-131072/#00-16 2000 917409 ns/op 142.87 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/buzhash64-131072/#00-16 2000 881125 ns/op 148.76 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/adler32-16777216/#00-16 10 124000400 ns/op 135.30 MB/s 7548937 B/op 0 allocs/op
BenchmarkRoll/bozo32-16777216/#00-16 10 118008080 ns/op 142.17 MB/s 7548928 B/op 0 allocs/op
BenchmarkRoll/buzhash32-16777216/#00-16 10 126794440 ns/op 132.32 MB/s 7548928 B/op 0 allocs/op
BenchmarkRoll/buzhash64-16777216/#00-16 10 126631960 ns/op 132.49 MB/s 7548928 B/op 0 allocs/op
* Update benchmark_test.go
* gofmt
* fixup benchmark
2019-02-25 19:25:08 +01:00
Audrius Butkevicius
fafd30f804
lib/scanner: Use standard adler32 when we don't need rolling ( #5556 )
...
* lib/scanner: Use standard adler32 when we don't need rolling
Seems the rolling adler32 implementation is super slow when executed on large blocks, even tho I can't explain why.
BenchmarkFind1MFile-16 100 18991667 ns/op 55.21 MB/s 398844 B/op 20 allocs/op
BenchmarkBlock/adler32-131072/#00-16 200 9726519 ns/op 1078.06 MB/s 2654936 B/op 163 allocs/op
BenchmarkBlock/bozo32-131072/#00-16 20 73435540 ns/op 142.79 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/buzhash32-131072/#00-16 20 61482005 ns/op 170.55 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/buzhash64-131072/#00-16 20 61673660 ns/op 170.02 MB/s 2654928 B/op 163 allocs/op
BenchmarkBlock/vanilla-adler32-131072/#00-16 300 4377307 ns/op 2395.48 MB/s 2654935 B/op 163 allocs/op
BenchmarkBlock/adler32-16777216/#00-16 2 544010100 ns/op 19.27 MB/s 65624 B/op 5 allocs/op
BenchmarkBlock/bozo32-16777216/#00-16 1 4678108500 ns/op 2.24 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/buzhash32-16777216/#00-16 1 3880370700 ns/op 2.70 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/buzhash64-16777216/#00-16 1 3875911700 ns/op 2.71 MB/s 51970144 B/op 24 allocs/op
BenchmarkBlock/vanilla-adler32-16777216/#00-16 300 4010279 ns/op 2614.72 MB/s 65624 B/op 5 allocs/op
BenchmarkRoll/adler32-131072/#00-16 2000 974279 ns/op 134.53 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/bozo32-131072/#00-16 2000 791770 ns/op 165.54 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/buzhash32-131072/#00-16 2000 917409 ns/op 142.87 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/buzhash64-131072/#00-16 2000 881125 ns/op 148.76 MB/s 270 B/op 0 allocs/op
BenchmarkRoll/adler32-16777216/#00-16 10 124000400 ns/op 135.30 MB/s 7548937 B/op 0 allocs/op
BenchmarkRoll/bozo32-16777216/#00-16 10 118008080 ns/op 142.17 MB/s 7548928 B/op 0 allocs/op
BenchmarkRoll/buzhash32-16777216/#00-16 10 126794440 ns/op 132.32 MB/s 7548928 B/op 0 allocs/op
BenchmarkRoll/buzhash64-16777216/#00-16 10 126631960 ns/op 132.49 MB/s 7548928 B/op 0 allocs/op
* Update benchmark_test.go
* gofmt
* fixup benchmark
2019-02-25 13:29:31 +04:00
Simon Frei
ad5a046843
lib/fs: Rename fsFile* to basicFile* ( #5546 )
2019-02-24 18:02:02 +01:00
Jakob Borg
4b8853bfde
gui, man, authors: Update docs, translations, and contributors
2019-02-20 07:45:22 +01:00
Evgeny Kuznetsov
648fcf2c45
etc: Remove unnecessary quotes in .desktop ( #5540 )
2019-02-15 07:35:19 +00:00
Simon Frei
ca3ae64bbf
lib/db: Flush batch based on size and refactor ( fixes #5531 ) ( #5536 )
...
Flush the batch when exceeding a certain size, instead of when reaching a number
of batched operations.
Move batch to lowlevel to be able to use it in NamespacedKV.
Increase the leveldb memory buffer from 4 to 16 MiB.
2019-02-14 23:15:13 +00:00
Simon Frei
e2204d0071
build: Add option to get test coverage ( #5539 )
2019-02-14 22:38:47 +00:00
Simon Frei
d5ff2c41dc
all: Get rid of fatal logging ( #5537 )
...
* cleanup Fatal in lib/config/config.go
* cleanup Fatal in lib/config/folderconfiguration.go
* cleanup Fatal in lib/model/model.go
* cleanup Fatal in cmd/syncthing/monitor.go
* cleanup Fatal in cmd/syncthing/main.go
* cleanup Fatal in lib/api
* remove Fatal methods from logger
* lowercase in errors.Wrap
* one less channel
2019-02-14 20:29:14 +00:00
Simon Frei
7a40c42e8b
cmd/syncthing: Introduce exiter to handle termination ( #5532 )
2019-02-13 23:07:27 +00:00
Simon Frei
905c3594b0
lib/model: Various model test fixes and polish ( #5528 )
...
* lib/model: Various model test fixes and polish
Missing calls to m.Stop()
Don't fail test if temporary test dir cleanup fails
* drop lazyness
2019-02-13 18:54:04 +00:00
Jakob Borg
5fd333e4f7
gui, man, authors: Update docs, translations, and contributors
2019-02-13 07:45:23 +01:00
Simon Frei
225c0dda80
lib/model: Scan conflicts after creation ( #5511 )
...
Also unflakes and improve TestRequestRemoteRenameChanged.
2019-02-12 16:05:20 +01:00
Simon Frei
5fd2cab102
lib/model: Run more tests in tmp dir ( #5527 )
2019-02-12 16:04:04 +01:00
Simon Frei
4299af1c63
lib/config, lib/model: Use path from locations to check disk space for db ( #5525 )
2019-02-12 12:25:11 +00:00
Simon Frei
d85ef949be
lib/model: Introduce setupModel test utility ( #5524 )
2019-02-12 12:18:13 +00:00
Audrius Butkevicius
dc929946fe
all: Use new reflect based CLI ( #5487 )
2019-02-12 07:58:24 +01:00
Simon Frei
7bac927ac8
lib/model: Use functions to generate config ( #5513 )
2019-02-12 07:50:07 +01:00
Matt Robenolt
93b4597d1a
gui: Localize items counts ( #5520 )
2019-02-12 07:49:14 +01:00
Evgeny Kuznetsov
0928628e7b
etc: Add keywords to .desktop files ( fixes #5365 ) ( #5521 )
2019-02-11 14:33:05 +01:00
Audrius Butkevicius
c5a79bdfe6
Fix builds on Windows without CGO ( #5518 )
2019-02-10 15:58:29 +01:00
Jakob Borg
04fdafa280
lib/db, lib/model: Remove dead code ( #5517 )
2019-02-08 16:42:58 +01:00
Jakob Borg
cb49136269
gui: Add missing translation string ( fixes #5515 )
2019-02-07 07:30:22 +01:00
Simon Frei
2f415d8f09
lib/model: Don't use LocalDeviceID as normal id in tests ( #5512 )
2019-02-06 09:32:03 +01:00
Jakob Borg
b076031bfa
gui, man, authors: Update docs, translations, and contributors
2019-02-06 07:45:24 +01:00