Jakob Borg
c6334e61aa
all: Support multiple device connections ( fixes #141 ) ( #8918 )
...
This adds the ability to have multiple concurrent connections to a single device. This is primarily useful when the network has multiple physical links for aggregated bandwidth. A single connection will never see a higher rate than a single link can give, but multiple connections are load-balanced over multiple links.
It is also incidentally useful for older multi-core CPUs, where bandwidth could be limited by the TLS performance of a single CPU core -- using multiple connections achieves concurrency in the required crypto calculations...
Co-authored-by: Simon Frei <freisim93@gmail.com>
Co-authored-by: tomasz1986 <twilczynski@naver.com>
Co-authored-by: bt90 <btom1990@googlemail.com>
2023-09-06 12:52:01 +02:00
Jakob Borg
1103a27337
all: Grand test refactor ( fixes #8779 , fixes #8799 )
...
This fixes various test issues with Go 1.20.
- Most tests rewritten to use fakefs where possible
- Some tests that were already skipped, or dubious (invasive,
unmaintainable, unclear what they even tested) have been removed
- Some actual code rewritten to better support testing in fakefs
Co-authored-by: Eric P <eric@kastelo.net>
2023-05-09 10:01:57 +00:00
Dimitri Papadopoulos Orfanos
526e21ae26
all: Fix typos found by codespell ( #8833 )
2023-03-21 08:07:28 +01:00
greatroar
38f2b34d29
all: Use new Go 1.19 atomic types ( #8772 )
2023-02-07 12:07:34 +01:00
Simon Frei
21d04b895a
lib, gui: Default ignores for new folders ( fixes #7428 ) ( #7530 )
2022-01-13 23:38:21 +01:00
Jakob Borg
1754c93370
lib/config, lib/ignore: Write Windows line endings ( fixes #7115 ) ( #8052 )
2021-11-22 09:38:24 +01:00
greatroar
bf89bffb0b
lib/config: Decouple VerifyConfiguration from Committer ( #7939 )
...
... and remove 8/10 implementations, which were no-ops. This saves code
and time copying configurations.
2021-11-22 08:45:29 +01:00
greatroar
3746c899b7
build: List go:generate tools in tools.go ( #7599 )
2021-05-08 12:52:06 +02:00
Jakob Borg
cdef503db6
all: Make config.Wrapper an actual suture.Service ( fixes #7451 ) ( #7452 )
2021-03-11 14:51:00 +01:00
Simon Frei
3d91f7c975
lib: Use counterfeiter to mock interfaces in tests ( #7375 )
2021-03-03 08:53:50 +01:00
Simon Frei
ffc14a77c6
all: Add configurable defaults ( fixes #4224 , fixes #6086 ) ( #7131 )
2021-02-04 21:10:41 +01:00
Simon Frei
f63cdbfcfa
lib: Apply config changes sequentially (ref #5298 ) ( #7188 )
2021-01-15 15:43:34 +01:00
André Colomb
7502997e7e
all: Store pending devices and folders in database ( fixes #7178 ) ( #6443 )
2020-12-17 19:54:31 +01:00
Simon Frei
24af89c8e2
all: Refactor preparing configuration ( #7127 )
2020-11-20 14:21:54 +01:00
Simon Frei
31559e908b
all: Add untrusted folders behind feature flag (ref #62 ) ( #7055 )
2020-11-09 15:33:32 +01:00
Simon Frei
f0f60ba2e7
lib/api: Add /rest/config endpoint ( fixes #6540 ) ( #7001 )
2020-10-22 19:54:35 +02:00
Audrius Butkevicius
d507d932b8
all: Use protobuf to generate config structs ( fixes #6734 ) ( #6900 )
2020-08-25 08:11:14 +02:00
Simon Frei
8d67235a75
lib/config: Don't cache device map ( fixes #6816 ) ( #6817 )
2020-07-07 23:44:49 +02:00
Simon Frei
b784f5b9e3
lib/config, lib/model: Commit auto-accepted folders all at once ( #6684 )
2020-05-27 08:05:26 +02:00
Simon Frei
6fd5e78740
lib: Consistently unsubscribe from config-wrapper ( fixes #6133 ) ( #6205 )
2019-12-04 07:15:00 +01:00
Simon Frei
b32821a586
lib/config, lib/connections: Remove ListenAddresses hack ( #6188 )
2019-11-26 17:07:25 +01:00
Simon Frei
b1c74860e8
all: Remove global events.Default (ref #4085 ) ( #5886 )
2019-08-15 16:29:37 +02:00
Jakob Borg
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
Audrius Butkevicius
e714df013f
lib/connections: Add QUIC protocol support ( fixes #5377 ) ( #5737 )
2019-05-29 09:56:40 +02:00
Jakob Borg
f0f8bf7784
lib/config: Round times stored for pending folders/devices ( fixes #5554 )
2019-03-27 20:35:42 +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
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
82afe73a9a
cmd/syncthing, lib/config: Update default config creation ( #5492 )
...
Also remove dead code in config.Wrapper.
2019-02-02 12:43:57 +01:00
Jakob Borg
c2ddc83509
all: Revert the underscore sillyness
2019-02-02 12:16:27 +01:00
Jakob Borg
df5c1eaf01
all: Bunch of more linter fixes ( #5500 )
2019-02-02 11:02:28 +01:00
Simon Frei
714a47ffb0
lib/config: Add context to the home disk out of space error ( #5241 )
2018-10-05 08:21:39 +02:00
Simon Frei
49d5eae66a
lib/config: Actually modify config element ( fixes #5185 ) ( #5186 )
2018-09-12 12:16:52 +01:00
Boris Rybalkin
1b1741de64
cmd/syncthing: Add LDAP authentication for GUI ( fixes #5163 ) ( #5169 )
2018-09-11 23:25:24 +02:00
Audrius Butkevicius
aec66045ef
lib/config: Rewrite pending notifications ( fixes #2291 )
2018-08-25 11:36:10 +01:00
Simon Frei
cb0f4ce55a
lib/model: Don't stop folder if out of disk space ( fixes #2370 ) ( #5099 )
...
This removes the out of disk space check from CheckHealth. The disk space is now
only checked if there are files to pull, in which case pulling those files is
stopped, but everything else (dirs, links, deletes) keeps running -> can recover
disk space through pulling.
2018-08-25 10:16:38 +02:00
Audrius Butkevicius
5161f03f02
lib/config: Fix aliased append, copy config inputs and outputs ( fixes #5063 ) ( #5069 )
2018-07-26 23:14:12 +02:00
Simon Frei
f6458d1b8f
lib/config, lib/model: Include paused folders in cluster config ( fixes #4897 )
2018-04-22 17:01:52 +01:00
Jakob Borg
b97d5bcca8
Remove KCP ( fixes #4737 ) ( #4741 )
2018-02-09 11:40:57 +01:00
Audrius Butkevicius
445c4edeca
gui, lib/config, lib/model: Support auto-accepting folders ( fixes #2299 )
...
Also introduces a new Waiter interface for config changes and segments the
configuration GUI.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4551
2017-12-07 07:08:24 +00:00
Simon Frei
dc42db444b
lib/model, lib/config: Refactor folder health/error handling ( fixes #4445 , fixes #4451 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4455
LGTM: AudriusButkevicius, calmh
2017-10-24 07:58:55 +00:00
Audrius Butkevicius
fb7264a663
cmd/syncthing: Enable KCP by default
...
Also, use upstream library, as my changes have been merged.
2017-10-17 23:17:10 +01:00
Audrius Butkevicius
9d3f3847ed
lib/model: Fix removal of paused folders, improve tests ( fixes #4405 )
2017-10-12 08:23:33 +02:00
nrm21
b49bbe82dd
gui, lib/config, lib/model: Add ability to ignore folders offered by other nodes ( fixes #3993 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4179
LGTM: AudriusButkevicius, calmh
2017-05-31 18:04:00 +00:00
Audrius Butkevicius
91d37f35bc
lib/model: Use up to date device name, do not provide name to unknown devices ( fixes #4164 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4168
2017-05-22 19:58:33 +00:00
Jakob Borg
81af29e3e2
lib/config, lib/connections: Configurables for KCP, disable by default
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4030
2017-03-07 12:55:50 +00:00
Audrius Butkevicius
0da0774ce4
lib/connections: Add KCP support ( fixes #804 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3489
2017-03-07 12:44:16 +00:00
Simon Frei
416811a2a9
cmd/syncthing, lib/config: Pause/resume all devices whithout argument
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3989
LGTM: AudriusButkevicius, calmh
2017-03-04 07:54:13 +00:00
Jakob Borg
f7fc0c1d3e
all: Update license url to https (ref #3976 )
2017-02-09 08:04:16 +01:00
Audrius Butkevicius
bab7c8ebbf
all: Add folder pause, make pauses permanent ( fixes #3407 , fixes #215 , fixes #3001 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3520
2016-12-21 18:41:25 +00:00
Jakob Borg
8559e20237
lib/osutil: Don't chmod in atomic file creation ( fixes #2472 )
...
Instead, trust (and test) that the temp file has appropriate permissions
from the start. The only place where this changes our behavior is for
ignores which go from 0644 to 0600. I'm OK with that.
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3756
2016-11-23 14:06:08 +00:00