Jakob Borg and GitHub
a2c5d901f2
cmd/syncthing, lib/config: Remove restartOnWakeup option & functionality ( fixes #8448 ) ( #8449 )
2022-07-26 16:53:10 +02:00
Eng Zer Jun and GitHub
bc27aa12cd
all: use T.TempDir to create temporary test directory ( #8280 )
...
This commit replaces `os.MkdirTemp` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.
Prior to this commit, temporary directory created using `os.MkdirTemp`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
defer func() {
if err := os.RemoveAll(dir); err != nil {
t.Fatal(err)
}
}
is also tedious, but `t.TempDir` handles this for us nicely.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com >
2022-04-15 07:44:06 +04:00
Simon Frei and GitHub
db72579f0e
lib: Get rid of buggy filesystem wrapping ( #8257 )
2022-04-10 20:55:05 +02:00
Simon Frei and GitHub
21d04b895a
lib, gui: Default ignores for new folders ( fixes #7428 ) ( #7530 )
2022-01-13 23:38:21 +01:00
Jakob Borg and GitHub
1754c93370
lib/config, lib/ignore: Write Windows line endings ( fixes #7115 ) ( #8052 )
2021-11-22 09:38:24 +01:00
Jakob Borg and GitHub
4b750b6dc3
all: Remove usage of deprecated io/ioutil ( #7971 )
...
As of Go 1.16 io/ioutil is deprecated. This replaces usage with the
corresponding functions in package os and package io.
2021-11-22 08:59:47 +01:00
André Colomb and GitHub
dec6f80d2b
lib/config: Move the bcrypt password hashing to GUIConfiguration ( #8028 )
...
What hash is used to store the password should ideally be an
implementation detail, so that every user of the GUIConfiguration
object automatically agrees on how to handle it. That is currently
distribututed over the confighandler.go and api_auth.go files, plus
tests.
Add the SetHasedPassword() / CompareHashedPassword() API to keep the
hashing method encapsulated. Add a separate test for it and adjust
other users and tests. Remove all deprecated imports of the bcrypt
package.
2021-11-08 13:32:04 +01:00
Simon Frei and GitHub
0126188ba7
lib/config: Set DisableTempIndexes to true on receive-encrypted ( #7701 )
2021-05-20 22:33:23 +02:00
Jakob Borg and GitHub
cdef503db6
all: Make config.Wrapper an actual suture.Service ( fixes #7451 ) ( #7452 )
2021-03-11 14:51:00 +01:00
Simon Frei and GitHub
ffc14a77c6
all: Add configurable defaults ( fixes #4224 , fixes #6086 ) ( #7131 )
2021-02-04 21:10:41 +01:00
Simon Frei and GitHub
e19d6e993d
lib/fs: Cache all real-case results ( fixes #7270 ) ( #7286 )
2021-01-27 19:25:34 +01:00
Simon Frei and GitHub
f63cdbfcfa
lib: Apply config changes sequentially (ref #5298 ) ( #7188 )
2021-01-15 15:43:34 +01:00
André Colomb and GitHub
7502997e7e
all: Store pending devices and folders in database ( fixes #7178 ) ( #6443 )
2020-12-17 19:54:31 +01:00
Simon Frei and GitHub
24af89c8e2
all: Refactor preparing configuration ( #7127 )
2020-11-20 14:21:54 +01:00
Simon Frei and GitHub
31559e908b
all: Add untrusted folders behind feature flag (ref #62 ) ( #7055 )
2020-11-09 15:33:32 +01:00
Simon Frei and GitHub
d0ccea0404
lib/config: Sanity checks on MaxConcurrentWrites (ref #7064 ) ( #7069 )
2020-11-03 19:09:32 +01:00
Audrius Butkevicius and GitHub
e027175446
all: Move remaining protos to use the vanity plugin ( #7009 )
2020-10-02 08:07:05 +02:00
Audrius Butkevicius and GitHub
b19b5c95d3
lib/connections: Announce LAN addresses by default ( fixes #6928 ) ( #6896 )
2020-08-25 11:48:14 +02:00
Audrius Butkevicius and GitHub
d507d932b8
all: Use protobuf to generate config structs ( fixes #6734 ) ( #6900 )
2020-08-25 08:11:14 +02:00
Simon Frei and GitHub
fc2c46e82f
lib/config, lib/fs: Make junction behaviour configurable (ref #6606 ) ( #6907 )
2020-08-19 19:58:51 +02:00
Jakob Borg
62cff26edf
lib/config: Repair versioning XML serialization ( fixes #6859 , ref #6693 )
2020-07-28 12:08:37 +02:00
Simon Frei and Jakob Borg
932d8c69de
lib/fs: Properly handle case insensitive systems ( fixes #1787 , fixes #2739 , fixes #5708 )
...
With this change we emulate a case sensitive filesystem on top of
insensitive filesystems. This means we correctly pick up case-only renames
and throw a case conflict error when there would be multiple files differing
only in case.
This safety check has a small performance hit (about 20% more filesystem
operations when scanning for changes). The new advanced folder option
`caseSensitiveFS` can be used to disable the safety checks, retaining the
previous behavior on systems known to be fully case sensitive.
Co-authored-by: Jakob Borg <jakob@kastelo.net >
2020-07-28 11:15:11 +02:00
Jędrzej Kula and GitHub
28d5c84599
gui, lib/config: Add GUI user and password notification ( fixes #4703 ) ( #6536 )
2020-06-02 12:08:22 +02:00
Jakob Borg and GitHub
d91c4b010b
lib/config, lib/model: Limit concurrent pulls ( fixes #5914 ) ( #6290 )
...
Adds a new folder state "Waiting to Sync" in the same vein as the
existing "Waiting to Scan". This vastly improves performances in the
rare cases when there are lots and lots of folders operating.
2020-01-27 17:31:17 +01:00
Simon Frei and Jakob Borg
b32821a586
lib/config, lib/connections: Remove ListenAddresses hack ( #6188 )
2019-11-26 17:07:25 +01: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
eed1edcca0
cmd/syncthing: Ensure myID is set by making it local ( fixes #5859 ) ( #5862 )
2019-07-17 07:19:14 +02:00
Simon Frei and Jakob Borg
def4b8cee5
lib/config: Error on empty folder path ( fixes #5853 ) ( #5854 )
2019-07-14 11:03:14 +02:00
Jakob Borg and GitHub
42ce6be9b9
lib/ur: Implement crash (panic) reporting ( fixes #959 ) ( #5702 )
...
* lib/ur: Implement crash (panic) reporting (fixes #959 )
This implements a simple crash reporting method. It piggybacks on the
panic log files created by the monitor process, picking these up and
uploading them from the usage reporting routine.
A new config value points to the crash receiver base URL, which defaults
to "https://crash.syncthing.net/newcrash " (following the pattern of
"https://data.syncthing.net/newdata " for usage reports, but allowing us
to separate the service as required).
2019-06-11 08:19:11 +02:00
Jakob Borg and GitHub
5ce5b2c94a
lib/config: Refactor migrations a bit ( #5750 )
...
This breaks out config migrations to a separate concept, making it
(imho) slightly easier to maintain and get an overview.
2019-05-29 11:37:44 +02:00
Audrius Butkevicius and Jakob Borg
e714df013f
lib/connections: Add QUIC protocol support ( fixes #5377 ) ( #5737 )
2019-05-29 09:56:40 +02: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
Jakob Borg
c2ddc83509
all: Revert the underscore sillyness
2019-02-02 12:16:27 +01:00
Jakob Borg and GitHub
df5c1eaf01
all: Bunch of more linter fixes ( #5500 )
2019-02-02 11:02:28 +01:00
Audrius Butkevicius and Simon Frei
710dba7f84
gui: Add arrays for pending/ignored folders ( fixes #5190 ) ( #5192 )
2018-09-13 22:52:16 +02:00
Audrius Butkevicius and GitHub
aec66045ef
lib/config: Rewrite pending notifications ( fixes #2291 )
2018-08-25 11:36:10 +01:00
Audrius Butkevicius and Jakob Borg
ef0dcea6a4
lib/model: Verify request content against weak (and possibly strong) hash ( #4767 )
2018-05-05 10:24:44 +02:00
Simon Frei and Audrius Butkevicius
a557d62c4a
all: Transition to using fs watcher by default ( fixes #4552 )
2018-03-25 21:05:47 +01:00
Simon Frei and Audrius Butkevicius
81bd428b25
review & forgotten fixes from other PR
2018-03-18 01:10:13 +00:00
Jakob Borg and GitHub
42cc64e2ed
lib/config, lib/model: Auto adjust pullers based on desired amount of pending data ( #4748 )
...
This makes the number of pullers vary with the desired amount of outstanding requests instead of being a fixed number.
2018-02-25 10:14:02 +01:00
Jakob Borg and GitHub
b97d5bcca8
Remove KCP ( fixes #4737 ) ( #4741 )
2018-02-09 11:40:57 +01:00
Jakob Borg
e0931e201e
lib/config: Reject empty folder IDs
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4698
LGTM: imsodin
2018-01-27 09:06:37 +00:00
Jakob Borg
4afe0f407a
lib/config: Verify that we reject invalid device IDs when deserializing JSON
2018-01-24 09:25:41 +01:00
Jakob Borg and Audrius Butkevicius
c554ffccc9
cmd/syncthing, lib/config, lib/osutil: Lower process priority ( fixes #4628 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4675
2018-01-15 17:11:14 +00:00
Audrius Butkevicius and Jakob Borg
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
Audrius Butkevicius and Jakob Borg
95a65bf0d0
lib/config: Support symlinked root ( fixes #4542 , fixes #4353 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4545
LGTM: imsodin, calmh
2017-11-26 07:51:22 +00:00
Jakob Borg and Audrius Butkevicius
9c855ab22e
lib/config, lib/model: Configurable folder marker name ( fixes #1126 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4483
2017-11-05 12:18:05 +00:00
Michael Ploujnikov and Audrius Butkevicius
f98c21b68e
all: Add filesystem notification support
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3986
2017-10-20 14:52:55 +00:00
Audrius Butkevicius and GitHub
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 and Jakob Borg
2760d032ca
cmd/syncthing: Add more stats to usage reports (ref #3628 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4347
2017-10-12 06:16:46 +00:00