Simon Frei and Audrius Butkevicius
cf312abc72
lib: Wrap errors with errors.Wrap instead of fmt.Errorf ( #6181 )
2019-11-23 15:20:54 +00:00
Simon Frei and GitHub
65d4dd32cb
lib/model: Also handle ServeBackground ( #6173 )
2019-11-22 21:30:16 +01:00
Simon Frei and GitHub
57d668ed1d
lib/config: Do introductions in a single config change ( #6162 )
2019-11-21 08:41:41 +01:00
Simon Frei and GitHub
90d85fd0a2
lib: Replace done channel with contexts in and add names to util services ( #6166 )
2019-11-21 08:41:15 +01:00
Simon Frei and GitHub
0d14ee4142
lib/model: Don't info log repeat pull errors ( #6149 )
2019-11-19 09:56:53 +01:00
Simon Frei and Jakob Borg
28edf2f5bb
lib/model: Keep fmut locked while adding/starting/restarting folders ( #6156 )
2019-11-18 21:15:26 +01:00
Simon Frei and Audrius Butkevicius
cd290d2d05
lib/model: Add initial deviceStatRefs on model creation ( fixes #6136 ) ( #6137 )
...
This is a regression introduced in PR #6005 / commit
f7b2e79fdc
2019-11-08 11:32:51 +00:00
Simon Frei and GitHub
bee7cce081
lib/model: Add folders on start in model ( #6135 )
2019-11-08 10:56:16 +01:00
Ruslan Yevdokymov and Audrius Butkevicius
3b5dff3f34
lib/model: Fix removal of a marker when there are still folders referencing it ( #6114 )
2019-10-30 15:11:07 +00:00
Simon Frei and Jakob Borg
f7b2e79fdc
lib/model: Use read-locks wherever possible ( #6005 )
2019-09-12 05:55:23 +01:00
Simon Frei and Jakob Borg
b677464dfa
lib/model: Optimise locking around conn-close and puller states ( #5954 )
2019-08-16 09:35:19 +02:00
Simon Frei and GitHub
b1c74860e8
all: Remove global events.Default (ref #4085 ) ( #5886 )
2019-08-15 16:29:37 +02:00
Simon Frei and Jakob Borg
6fa02d5081
lib/model: Fix a few more problematic locks (ref #5929 ) ( #5944 )
2019-08-13 09:04:43 +02:00
Simon Frei and Jakob Borg
86e35f1879
lib/model: Less locking in ClusterConfig ( #5943 )
2019-08-11 19:30:24 +02:00
Simon Frei and Jakob Borg
4a619e74f2
lib/model: Fix incorrect locking ( #5939 )
2019-08-11 16:10:30 +02:00
Jakob Borg and Audrius Butkevicius
669bcb748f
lib/config, lib/model: Don't save on every pending folder/device update ( fixes #5888 ) ( #5890 )
...
Wrapper methods generally don't save by themselves.
2019-07-27 11:05:00 +01:00
Simon Frei and Jakob Borg
35f40e9a58
lib/model: Create new file-set after stopping folder ( fixes #5882 ) ( #5883 )
2019-07-23 20:39:25 +02:00
Simon Frei and GitHub
6f08162376
lib/model: Remove incorrect/useless panics ( #5881 )
2019-07-23 10:51:16 +02:00
Simon Frei and Jakob Borg
b5b54ff057
lib/model: No watch-error on missing folder ( fixes #5833 ) ( #5876 )
2019-07-19 19:41:16 +02:00
Simon Frei and Jakob Borg
1cb55904bc
lib/model: Prevent panic in NeedFolderFiles ( fixes #5872 ) ( #5875 )
2019-07-19 19:39:52 +02:00
Simon Frei and Jakob Borg
2b622d0774
lib/model: Close conn on dev pause ( fixes #5873 ) ( #5874 )
2019-07-19 19:37:29 +02:00
Simon Frei and Jakob Borg
82b70b9fae
lib/model, lib/protocol: Track closing connections ( fixes #5828 ) ( #5829 )
2019-07-14 11:03:55 +02:00
Simon Frei and Jakob Borg
20c8dbd9ed
lib/model: Fix integer conversion ( fixes #5837 ) ( #5851 )
2019-07-12 16:37:12 +02:00
Simon Frei and Jakob Borg
9fef1552fc
lib/db, lib/model: Remove folder info from panics (ref #5839 ) ( #5840 )
2019-07-10 10:57:49 +02:00
Simon Frei and GitHub
ba056578ec
lib: Add util.Service as suture.Service template ( fixes #5801 ) ( #5806 )
2019-07-09 11:40:30 +02:00
Simon Frei and Jakob Borg
863fe23347
gui, lib/model: Fix download progress accounting ( fixes #5811 ) ( #5815 )
2019-06-30 09:23:47 +02:00
Simon Frei and Jakob Borg
1cf352a722
lib/model: NewFileSet outside fmut ( #5818 )
2019-06-29 08:49:30 +02:00
Simon Frei and Audrius Butkevicius
3c7e7e971d
lib/model: Make jobQueue.Jobs paginated ( fixes #5754 ) ( #5804 )
...
* lib/model: Make jobQueue.Jobs paginated (fixes #5754 )
* fix, no test yet
* add test
2019-06-27 19:25:38 +01:00
Simon Frei and Jakob Borg
13a746e0fb
lib/model: Prevent nil deref if folder stopped ( fixes #5780 ) ( #5778 )
2019-06-11 11:48:51 +02:00
Audrius Butkevicius and Jakob Borg
21f50e2f8f
lib/versioner: Use mtime for version cleanup ( fixes #5765 ) ( #5769 )
2019-06-11 09:16:55 +02:00
Simon Frei and GitHub
1054ce9354
lib/model: Refactor sending indexes as suture service ( #5757 )
2019-06-10 13:27:22 +02:00
Simon Frei and GitHub
64518b0f7e
lib/model: Close connections when model is stopped ( #5733 )
2019-05-25 16:00:32 +02:00
André Colomb and Jakob Borg
e4956358fb
lib/model: Remove superfluous check for IndexID in remote ClusterConfig ( #5717 )
...
The check in ClusterConfig() when iterating through announced devices
in a folder explicitly skips entries without a non-zero IndexID.
Therefore, the check for IndexID == 0 just below will never be true
and the intended cleanup of local index data will not happen.
Plainly remove that check to make the intended case distinction work.
2019-05-12 21:17:55 +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
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
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
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 Jakob Borg
c305265c62
lib/model: Request errors conforming to BEP specs ( #5642 )
2019-04-10 11:47:24 +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
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
e7ae851900
lib/model: Debug and test fixes ( #5613 )
2019-03-22 14:43:47 +01: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
Jakob Borg
9da3273eb8
lib/model: Clarify fileInfoBatch.flushIfFull criteria
2019-03-05 21:34:04 +01: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