Simon Frei and Jakob Borg
79e67b7f79
lib/model: Remove individual pull errors on retry ( fixes #5659 ) ( #5690 )
2019-05-06 17:21:56 +02:00
Simon Frei and Audrius Butkevicius
5fa8467756
lib/model: Consistent use of locks ( #5684 )
2019-05-02 18:55:39 +01:00
Simon Frei and GitHub
5954b105cd
lib/model: Let fakeConnection call Model.Closed on close ( #5682 )
2019-05-02 14:24:55 +02:00
Simon Frei and GitHub
defc5dca65
lib/model: Use correct lock ( #5683 )
2019-05-02 14:09:42 +02:00
Simon Frei and GitHub
9f358ecae0
lib/protocol: Refactor to pass only relevant argument to writeMessage ( #5681 )
2019-05-02 14:09:19 +02:00
Simon Frei and GitHub
fe4daf242b
cmd, lib/db: Actually close goleveldb ( fixes #5505 ) ( #5671 )
2019-05-02 11:15:00 +02:00
Simon Frei and Audrius Butkevicius
ec7c88ca55
lib/protocol: Fix yet another deadlock ( fixes #5678 ) ( #5679 )
...
* lib/protocol: Fix yet another deadlock (fixes #5678 )
* more consistency
* read deadlock
* naming
* more naming
2019-05-02 09:21:07 +01:00
Simon Frei and Jakob Borg
19b51c9b92
lib/protocol: Don't close asyncMessage.done on success ( fixes #5674 ) ( #5675 )
2019-04-29 17:52:57 +02:00
Audrius Butkevicius and GitHub
0ca1f26ff8
lib/versioner: Restore for all versioners, cross-device support ( #5514 )
...
* lib/versioner: Restore for all versioners, cross-device support
Fixes #4631
Fixes #4586
Fixes #1634
Fixes #5338
Fixes #5419
2019-04-28 23:30:16 +01:00
Jakob Borg and Audrius Butkevicius
2984d40641
lib/ignore: Additional test case ( #5672 )
2019-04-28 21:20:11 +01:00
Simon Frei and Audrius Butkevicius
5da41f75fa
lib/model, lib/protocol: Wait for reader/writer loops on close ( fixes #4170 ) ( #5657 )
...
* lib/protocol: Wait for reader/writer loops on close (fixes #4170 )
* waitgroup
* lib/model: Don't hold lock while closing connection
* fix comments
* review (lock once, func argument) and naming
2019-04-28 11:58:51 +01:00
Simon Frei and Audrius Butkevicius
04b927104f
lib/protocol: Don't send any messages before cluster config ( #5646 )
...
* lib/model: Send cluster config before releasing pmut
* reshuffle
* add model.connReady to track cluster-config status
* Corrected comments/strings
* do it in protocol
2019-04-23 20:47:11 +01:00
Simon Frei and Audrius Butkevicius
110806842c
lib/model: Pass the old not new fileinfo to deleteItemOnDisk ( fixes #5654 ) ( #5655 )
2019-04-23 20:46:28 +01:00
Simon Frei and GitHub
e302ccf4b4
lib/fs: Improve IsParent ( #5658 )
2019-04-22 11:12:32 +02:00
Simon Frei and Audrius Butkevicius
926e9228ed
lib/scanner, lib/model: File -> item when logging error ( #5664 )
2019-04-21 16:19:59 +01:00
Simon Frei and Audrius Butkevicius
86e72d9973
lib/model: Use RLock and legacy polish ( #5663 )
2019-04-21 13:21:36 +01:00
Simon Frei and GitHub
3bea59b0d9
lib/model: Refactor progressEmitter to de-/activate by config ( fixes #4613 ) ( #5623 )
2019-04-13 14:20:51 +02:00
Simon Frei and Jakob Borg
fca895a632
lib/model: Fix block index calculation for recheckFile ( fixes #5649 ) ( #5648 )
2019-04-12 15:21:07 +02:00
Simon Frei and GitHub
79360e2205
lib/fs: Add test that symlinks are skipped on walk ( #5644 )
2019-04-10 22:36:37 +02:00
Simon Frei and GitHub
9b2a73f9ab
lib/model: Pause pull for at least as long as failed pull took ( fixes #5641 ) ( #5643 )
2019-04-10 16:22:23 +02:00
Simon Frei and Jakob Borg
c305265c62
lib/model: Request errors conforming to BEP specs ( #5642 )
2019-04-10 11:47:24 +02:00
Simon Frei and GitHub
ca823bd591
lib/fs: When watching remove \\?\ for drive letters ( fixes #5578 ) ( #5633 )
2019-04-09 09:02:04 +02:00
Simon Frei and Jakob Borg
395e524e2d
lib/model: Update db on scan/pull in folder ( #5608 )
2019-04-07 13:29:17 +02:00
Jakob Borg
f0f8bf7784
lib/config: Round times stored for pending folders/devices ( fixes #5554 )
2019-03-27 20:35:42 +01:00
Jakob Borg and GitHub
bf3834e367
lib/protocol: Use constants instead of init time hashing ( fixes #5624 ) ( #5625 )
...
This constructs the map of hashes of zero blocks from constants instead
of calculating it at startup time. A new test verifies that the map is
correct.
2019-03-27 20:20:30 +01:00
Simon Frei and Jakob Borg
8d1eff7e41
lib/model: Missing queue.Done and reset between pulls ( fixes #5332 ) ( #5626 )
2019-03-27 20:19:35 +01:00
Simon Frei and Audrius Butkevicius
0cff66fcbc
lib/model: Optimize puller for meta only changes ( #5622 )
2019-03-27 08:36:58 +00:00
Simon Frei and Jakob Borg
43a5be1c4b
lib/model: Send item finished even after deregistering ( fixes #5362 ) ( #5620 )
2019-03-26 21:31:33 +01:00
Simon Frei and Audrius Butkevicius
b50039a920
cmd/syncthing, lib/api: Separate api/gui into own package (ref #4085 ) ( #5529 )
...
* cmd/syncthing, lib/gui: Separate gui into own package (ref #4085 )
* fix tests
* Don't use main as interface name (make old go happy)
* gui->api
* don't leak state via locations and use in-tree config
* let api (un-)subscribe to config
* interface naming and exporting
* lib/ur
* fix tests and lib/foldersummary
* shorter URVersion and ur debug fix
* review
* model.JsonCompletion(FolderCompletion) -> FolderCompletion.Map()
* rename debug facility https -> api
* folder summaries in model
* disassociate unrelated constants
* fix merge fail
* missing id assignement
2019-03-26 19:53:58 +00:00
Simon Frei and Jakob Borg
d4e81fff8a
lib/model: Remove unnecessary arguments in pulling functions ( #5619 )
2019-03-25 12:59:22 +01:00
Simon Frei and Jakob Borg
e31a116e6e
lib/model: Pass correct file info to deleteItemOnDisk ( fixes #5616 ) ( #5617 )
2019-03-25 12:42:39 +01:00
Simon Frei and Jakob Borg
e7ae851900
lib/model: Debug and test fixes ( #5613 )
2019-03-22 14:43:47 +01:00
Simon Frei and Audrius Butkevicius
1a6d023ba8
lib/model: Run recvonly tests in temporary dirs ( #5587 )
2019-03-20 17:38:03 +00:00
Simon Frei and Audrius Butkevicius
50d8c43e7c
lib/config: Set UseLargeBlocks to true by default ( fixes #5599 ) ( #5600 )
2019-03-12 12:59:26 +00:00
Simon Frei and Audrius Butkevicius
289a02e994
lib/model: Integrate stat refs in folder ( #5596 )
2019-03-11 16:57:21 +00:00
Simon Frei and Jakob Borg
445637ebec
lib/model: Pass fset & ignores on folder creation ( #5592 )
2019-03-11 07:28:54 +01:00
Simon Frei and GitHub
3f3d2c814b
lib/model: Remove unused code ( #5591 )
2019-03-10 17:05:39 +01:00
Simon Frei and Audrius Butkevicius
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 and Audrius Butkevicius
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 and Audrius Butkevicius
b1564e53e4
lib/model: Improve test utilities ( #5584 )
2019-03-08 20:29:09 +00:00
Simon Frei and GitHub
3a75b63776
lib/model: Use temp dir from osutils in tests ( #5581 )
2019-03-07 16:34:41 +01:00
Simon Frei and GitHub
8e238c8e48
lib/model: Check before replacing existing file on pull ( fixes #5571 ) ( #5567 )
2019-03-07 15:15:14 +01:00
Jakob Borg
9da3273eb8
lib/model: Clarify fileInfoBatch.flushIfFull criteria
2019-03-05 21:34:04 +01:00
Simon Frei and Jakob Borg
bd37f6da17
lib/model: Optimize dbUpdaterRoutine ( #5576 )
2019-03-05 21:32:37 +01:00
Simon Frei and Audrius Butkevicius
6940d79f5b
lib/model: Use errors.Wrap for pull errors ( #5563 )
2019-03-04 13:01:52 +00:00
Simon Frei and GitHub
0f80318ef6
lib/scanner: Consistenlty use CreateFileInfo and remove outdated comment ( #5574 )
2019-03-04 13:27:33 +01:00
Simon Frei and Audrius Butkevicius
d6622b1f68
lib/model: setUp -> setup ( #5573 )
2019-03-04 12:27:10 +00:00
Simon Frei and Audrius Butkevicius
43bcb3d5a5
lib/model: Refactor conflict name handling ( #5572 )
2019-03-04 12:20:40 +00:00
Jakob Borg and GitHub
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 and Audrius Butkevicius
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